From 9035e5f0c2f0dbc5829492e1ae26b3aa370f0f8b Mon Sep 17 00:00:00 2001 From: Cristian Recoseanu Date: Fri, 24 Nov 2023 17:14:43 +0000 Subject: [PATCH 01/22] Update README.md --- README.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 7ab742f..96adb01 100644 --- a/README.md +++ b/README.md @@ -9,15 +9,15 @@ This repository holds the source for this Specification, part of the family of [ ### What does it do? -- x +Describes the specification for the NMOS Configuration API. ### Why does it matter? -- x +Sets out the rules and requirements for implementing the NMOS Device Configuration API in devices and controllers. ### How does it work? -- x +Describes a standard way of exposing [MS-05-02](https://specs.amwa.tv/ms-05-02/) models when using an HTTP API. From 7c663829fbc8398c32790493be5a09e020a3c31e Mon Sep 17 00:00:00 2001 From: Cristian Recoseanu Date: Fri, 24 Nov 2023 17:14:57 +0000 Subject: [PATCH 02/22] Update README.md With initial linked sections --- docs/README.md | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/docs/README.md b/docs/README.md index a3e4603..52ad0f6 100644 --- a/docs/README.md +++ b/docs/README.md @@ -1,3 +1,15 @@ ### Introduction - [Overview](Overview.md) + +### Specification + +- [Transport and message encoding](Transport%20and%20message%20encoding.md) +- [Security and authorization](Security%20and%20authorization.md) +- [API messaging](API%20messaging.md) +- [Data type marshalling](Data%20type%20marshalling.md) +- [IS-04 interactions](IS-04%20interactions.md) + +### Examples + +- [Getting block members](Getting%20block%20members.md) \ No newline at end of file From 235dc36f0a0e0e2919a7cdd8b4173eb7a24e3b80 Mon Sep 17 00:00:00 2001 From: Cristian Recoseanu Date: Fri, 24 Nov 2023 17:18:59 +0000 Subject: [PATCH 03/22] Update Overview.md --- docs/Overview.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/docs/Overview.md b/docs/Overview.md index c3820d9..9ec0624 100644 --- a/docs/Overview.md +++ b/docs/Overview.md @@ -10,12 +10,14 @@ _(c) AMWA 2023, CC Attribution-NoDerivatives 4.0 International (CC BY-ND 4.0)_ ## Introduction -> Provide an overview of the Specification. +This document aims to give a general description of the NMOS Device Configuration API. This API defines how NMOS Control models (described in the NMOS Control Framework) can be exposed and consumed in a standardized way when using HTTP. -Familiarity with the [JT-NM Reference Architecture](https://jt-nm.org/reference-architecture/) is assumed. +This document relies on previous familiarity with the following existing documents: -See also the [NMOS Technical Overview](https://specs.amwa.tv/nmos/main/docs/Technical_Overview.html). +* [AMWA MS-05-01 NMOS Control Architecture](https://specs.amwa.tv/ms-05-01) +* [AMWA MS-05-02 NMOS Control Framework](https://specs.amwa.tv/ms-05-02) +This API does not support subscriptions and notifications. For subscriptions and notifications support see [AMWA IS-12](https://specs.amwa.tv/is-12/). ## Use of Normative Language @@ -24,9 +26,7 @@ and "OPTIONAL" in this document are to be interpreted as described in [RFC 2119] ## Definitions -The NMOS terms 'Node', ... are used as defined in the [NMOS Glossary](https://specs.amwa.tv/nmos/main/docs/Glossary.html). - -> List as appropriate +The NMOS term 'Device' is used as defined in the [NMOS Glossary](https://specs.amwa.tv/nmos/main/docs/Glossary.html). This specification also defines the following terms. From bf96328c2830e9e211cb7261deab5088c866e9ab Mon Sep 17 00:00:00 2001 From: Cristian Recoseanu Date: Fri, 24 Nov 2023 17:19:25 +0000 Subject: [PATCH 04/22] Create Transport and message encoding.md --- docs/Transport and message encoding.md | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 docs/Transport and message encoding.md diff --git a/docs/Transport and message encoding.md b/docs/Transport and message encoding.md new file mode 100644 index 0000000..16c3c20 --- /dev/null +++ b/docs/Transport and message encoding.md @@ -0,0 +1,5 @@ +# Transport and message encoding + +Implementations MUST use `HTTP` as the communication transport. + +Implementations MUST use `JSON` as the message encoding data format. From b7f406752b2fd21f4a800ebd2a217f2e4b4a9474 Mon Sep 17 00:00:00 2001 From: Cristian Recoseanu Date: Fri, 24 Nov 2023 17:19:30 +0000 Subject: [PATCH 05/22] Create Security and authorization.md --- docs/Security and authorization.md | 10 ++++++++++ 1 file changed, 10 insertions(+) create mode 100644 docs/Security and authorization.md diff --git a/docs/Security and authorization.md b/docs/Security and authorization.md new file mode 100644 index 0000000..f4c8304 --- /dev/null +++ b/docs/Security and authorization.md @@ -0,0 +1,10 @@ +# Security and authorization + +Authorization and transport security features described in the BCP-03-XX suite and in IS-10 are used to secure and authorize this protocol. + +The relevant documents can be found here: + +- [AMWA BCP-003-01 Secure Communication in NMOS Systems](https://specs.amwa.tv/bcp-003-01) +- [AMWA BCP-003-02 Authorization in NMOS Systems](https://specs.amwa.tv/bcp-003-02) +- [AMWA BCP-003-03 Certificate Provisioning in NMOS Systems](https://specs.amwa.tv/bcp-003-03) +- [AMWA IS-10 NMOS Authorization Specification](https://specs.amwa.tv/is-10) From 2d948fb87a6789d1aae104e27101087013cc49a6 Mon Sep 17 00:00:00 2001 From: Cristian Recoseanu Date: Fri, 24 Nov 2023 17:19:36 +0000 Subject: [PATCH 06/22] Create API messaging.md --- docs/API messaging.md | 100 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 100 insertions(+) create mode 100644 docs/API messaging.md diff --git a/docs/API messaging.md b/docs/API messaging.md new file mode 100644 index 0000000..db30c95 --- /dev/null +++ b/docs/API messaging.md @@ -0,0 +1,100 @@ +# API messaging + +All message results MUST return a response which inherits from the base [NcMethodResult](https://specs.amwa.tv/ms-05-02/latest/docs/Framework.html#ncmethodresult) that contains a status of type [NcMethodStatus](https://specs.amwa.tv/ms-05-02/latest/docs/Framework.html#ncmethodstatus). If the method call encountered an error then the response result returned MUST inherit from [NcMethodResultError](https://specs.amwa.tv/ms-05-02/latest/docs/Framework.html#ncmethodresulterror) and include an errorMessage of type [NcString](https://specs.amwa.tv/ms-05-02/latest/docs/Framework.html#primitives). + +## Control session + +Concurrency control is left to specific device implementations, however devices MUST always return relevant error response messages and statuses when there are conflicts, errors or other noteworthy states (see [Error response messages](#error-response-messages)). + +## URL and query parameters usage + +The URL provided in the [IS-04 device](IS-04%20interactions) is used as the base URL for all subsequent requests. + +The device model of the device can be navigated by appending [NcObject roles](https://specs.amwa.tv/ms-05-02/latest/docs/NcObject.html) on top of the base URL starting from the `root block`. + +This means for a given base URL the `root` block can be targeted by using `{baseUrl}/root` as the URL. + +Query parameters MUST be used to target properties or methods for a particular object located by URL. + +This means using the base URL the [userLabel](https://specs.amwa.tv/ms-05-02/latest/docs/Framework.html#ncobject) of the `root` block can be targeted by using `{baseUrl}/root?level=1&index=6` as the URL. + +All HTTP requests map to invoking methods on the resources located by the URL. + +ALL HTTP responses MUST set the HTTP status code to the same code as the status property returned as part of [NcMethodResult](https://specs.amwa.tv/ms-05-02/latest/docs/Framework.html#ncmethodresult). + +## GET + +### Getting a property + +URL format: `{baseUrl}/{rolePath}?level={propertyLevel}&index={propertyIndex}` + +The URL MUST target a specific property of an object by locating the object using its role path and adding `level` and `index` query parameters. The response MUST be of type [NcMethodResultPropertyValue](https://specs.amwa.tv/ms-05-02/latest/docs/Framework.html#ncmethodresultpropertyvalue) with the contents of that property. + +This is equivalent to invoking the generic [Get method](https://specs.amwa.tv/ms-05-02/latest/docs/NcObject.html#generic-getter-and-setter) on the specific object for the required property. + +### Getting the members of a block + +URL format: `{baseUrl}/{rolePath}` + +The URL MUST target a specific block object in the device model and MUST NOT contain any query parameters. Devices MUST treat this as a request to retrieve the [members](https://specs.amwa.tv/ms-05-02/latest/docs/Blocks.html#device-model-discovery) property of that block. The response MUST be of type [NcMethodResultPropertyValue](https://specs.amwa.tv/ms-05-02/latest/docs/Framework.html#ncmethodresultpropertyvalue) with the contents of the `members` property. The response MUST be the same to the one received when appending the `level` and `index` query parameters and targeting the `members` property as described in [Getting a property](#getting-a-property). + +This is equivalent to invoking the generic [Get method](https://specs.amwa.tv/ms-05-02/latest/docs/NcObject.html#generic-getter-and-setter) on the specific object for the `members` property. + +`TBD`: What to return when using that URL format but the located object is not a block? Do we say devices MUST then return the class descriptor instead? + +### Getting the class descriptor of an object + +URL format: `{baseUrl}/{rolePath}?describe=true` + +The URL MUST target a specific object in the device model and include the `describe=true` query parameter. Devices MUST treat this as a request to retrieve the [class descriptor](https://specs.amwa.tv/ms-05-02/latest/docs/Framework.html#ncclassdescriptor) of that object. + +This is equivalent to invoking the [GetControlClass method](https://specs.amwa.tv/ms-05-02/latest/docs/Framework.html#ncclassmanager) on the [Class Manager object](https://specs.amwa.tv/ms-05-02/latest/docs/Managers.html#class-manager) and including all inherited elements. + +### Getting the datatype descriptor of a property + +URL format: `{baseUrl}/{rolePath}?level={propertyLevel}&index={propertyIndex}&describe=true` + +The URL MUST target a specific property of an object by locating the object using its role path and adding `level`, `index` and `describe=true` query parameters. Devices MUST treat this as a request to retrieve the [datatype descriptor](https://specs.amwa.tv/ms-05-02/latest/docs/Framework.html#ncdatatypedescriptor) of that property. + +This is equivalent to invoking the [GetDatatype method](https://specs.amwa.tv/ms-05-02/latest/docs/Framework.html#ncclassmanager) on the [Class Manager object](https://specs.amwa.tv/ms-05-02/latest/docs/Managers.html#class-manager) and including all inherited elements. + +## PUT + +URL format: `{baseUrl}/{rolePath}?level={propertyLevel}&index={propertyIndex}` + +The PUT verb MUST only be used for setting individual object properties. + +The URL MUST target a specific property of an object by locating the object using its role path and adding `level` and `index` query parameters. The response MUST be of type [NcMethodResult](https://specs.amwa.tv/ms-05-02/latest/docs/Framework.html#ncmethodresult). + +This is equivalent to invoking the generic [Set method](https://specs.amwa.tv/ms-05-02/latest/docs/NcObject.html#generic-getter-and-setter) on the specific object for the required property. + +## PATCH + +URL format: `{baseUrl}/{rolePath}` + +The PATCH verb MUST only be used for invoking object methods. + +The URL MUST target a specific object by locating the object using its role path. +The body of the request MUST include an object which includes a [methodId](https://specs.amwa.tv/ms-05-02/latest/docs/Framework.html#ncmethodid) with `level` and `index` followed by any arguments required by the method. + +```json +{ + "methodId": { + "level": ..., + "index": ... + }, + "arguments": { + ... + } +} +``` + +`TODO`: Link to schema? + +The response MUST be of type [NcMethodResult](https://specs.amwa.tv/ms-05-02/latest/docs/Framework.html#ncmethodresult) or a derived type. + +This is equivalent to invoking the specified method. + +## Error response messages + +When any request encounters an error, the response MUST be [NcMethodResultError](https://specs.amwa.tv/ms-05-02/latest/docs/Framework.html#ncmethodresulterror) or a derived datatype. From a563eaf89b0ff3c11c4d7fc69f88bb9ea4c84764 Mon Sep 17 00:00:00 2001 From: Cristian Recoseanu Date: Fri, 24 Nov 2023 17:19:41 +0000 Subject: [PATCH 07/22] Create Data type marshalling.md --- docs/Data type marshalling.md | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 docs/Data type marshalling.md diff --git a/docs/Data type marshalling.md b/docs/Data type marshalling.md new file mode 100644 index 0000000..dcd95dc --- /dev/null +++ b/docs/Data type marshalling.md @@ -0,0 +1,20 @@ +# Data type marshalling + +| Type | JSON representation | +| ---------------------------- | ---------------------------------------- | +| enums | Integer associated enum value | +| NcString | string | +| NcBoolean | boolean | +| NcInt16 | number | +| NcInt32 | number | +| NcInt64 | number | +| NcUint16 | number (must be unsigned) | +| NcUint32 | number (must be unsigned) | +| NcUint64 | number (must be unsigned) | +| NcFloat32 | number (must be floating point) | +| NcFloat64 | number (must be floating point) | +| struct types | object | +| sequences of primitive types | array of primitive types | +| sequences of struct types | array of objects | + +For specific datatype definitions consult the [NMOS Control Framework](https://specs.amwa.tv/ms-05-02/latest/docs/Framework.html#datatypes). From baeeb4336dbcd3592e0bd483e9d8beb04a042821 Mon Sep 17 00:00:00 2001 From: Cristian Recoseanu Date: Fri, 24 Nov 2023 17:19:46 +0000 Subject: [PATCH 08/22] Create IS-04 interactions.md --- docs/IS-04 interactions.md | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 docs/IS-04 interactions.md diff --git a/docs/IS-04 interactions.md b/docs/IS-04 interactions.md new file mode 100644 index 0000000..934427d --- /dev/null +++ b/docs/IS-04 interactions.md @@ -0,0 +1,38 @@ +# IS-04 interactions + +The API availability MUST be advertised through existing IS-04 practices inside the controls array of an NMOS Device. Devices MUST include the `urn:x-nmos:control:configuration` control type. + +```json +{ + ... + "senders": [ + "a65c15a4-a52e-4960-8cd2-e05c31196e5f", + "68f519a3-5523-4b2c-b72d-ec23cc80207d" + ], + "receivers": [ + "8a7bb1c1-4a82-4fd9-a4fb-96f68f560831", + "ab450c07-ce54-44da-9ea9-c3e62e7b06d0" + ], + "controls": [ + { + "type": "urn:x-nmos:control:configuration/v1.0", + "href": "http://192.168.10.3/x-nmos/configuration/v1.0/" + } + ], + "tags": {}, + "type": "urn:x-nmos:device:generic", + "label": "NMOS Device", + "version": "1529676926:000000000", + "node_id": "d1713110-7343-4d9e-b3f4-456c8f6ce765", + "id": "58f6b536-ca4c-43fd-880a-9df2501fc125", + "description": "NMOS Device" + ... +} +``` + +A given instance of the Configuration API MAY offer control of multiple Devices in a Node from a single URI. Alternatively there MAY be multiple instances of the API on one Node, for example, each corresponding to one Device. +In either case, the ‘control’ endpoint for each Device’s Configuration API instance MUST be advertised, even if the URI is the same. + +This flexibility is to accommodate different relationships between Devices and Nodes. For example, some Devices may be loosely coupled to the Node, for example cards in a card frame. +These Devices are more likely to have an instance of the API for each card. +Others may be tightly coupled, for example a media processing pipeline on a server, where it is likely to be preferable to have one instance of the API that is advertised for each pipeline. From 4836b18baa89576fd944278ff5ed5a5a29a33cf2 Mon Sep 17 00:00:00 2001 From: Cristian Recoseanu Date: Fri, 24 Nov 2023 17:19:48 +0000 Subject: [PATCH 09/22] Create Getting block members.md --- docs/Getting block members.md | 2 ++ 1 file changed, 2 insertions(+) create mode 100644 docs/Getting block members.md diff --git a/docs/Getting block members.md b/docs/Getting block members.md new file mode 100644 index 0000000..97caa32 --- /dev/null +++ b/docs/Getting block members.md @@ -0,0 +1,2 @@ +# Getting block members + From e169f9ef29a9824b853f43ea75fbd4d89cf03619 Mon Sep 17 00:00:00 2001 From: Cristian Recoseanu Date: Fri, 24 Nov 2023 17:34:26 +0000 Subject: [PATCH 10/22] Fix linting issues --- docs/API messaging.md | 2 +- docs/README.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/API messaging.md b/docs/API messaging.md index db30c95..d5b5514 100644 --- a/docs/API messaging.md +++ b/docs/API messaging.md @@ -8,7 +8,7 @@ Concurrency control is left to specific device implementations, however devices ## URL and query parameters usage -The URL provided in the [IS-04 device](IS-04%20interactions) is used as the base URL for all subsequent requests. +The URL provided in the [IS-04 device](IS-04%20interactions.md) is used as the base URL for all subsequent requests. The device model of the device can be navigated by appending [NcObject roles](https://specs.amwa.tv/ms-05-02/latest/docs/NcObject.html) on top of the base URL starting from the `root block`. diff --git a/docs/README.md b/docs/README.md index 52ad0f6..d6a3848 100644 --- a/docs/README.md +++ b/docs/README.md @@ -12,4 +12,4 @@ ### Examples -- [Getting block members](Getting%20block%20members.md) \ No newline at end of file +- [Getting block members](Getting%20block%20members.md) From ed8a2009570c91e00da8af76f36ff5310f0ef0de Mon Sep 17 00:00:00 2001 From: Cristian Recoseanu Date: Mon, 4 Dec 2023 16:25:21 +0000 Subject: [PATCH 11/22] Add URL format tables, diagrams and clarifications --- docs/API messaging.md | 67 +++++++++++++++++--- docs/images/getting-a-property.png | Bin 0 -> 51144 bytes docs/images/getting-block-members.png | Bin 0 -> 47347 bytes docs/images/getting-class-descriptor.png | Bin 0 -> 52817 bytes docs/images/getting-datatype-descriptor.png | Bin 0 -> 54224 bytes docs/images/invoking-a-method.png | Bin 0 -> 66615 bytes docs/images/putting-a-property.png | Bin 0 -> 51097 bytes 7 files changed, 57 insertions(+), 10 deletions(-) create mode 100644 docs/images/getting-a-property.png create mode 100644 docs/images/getting-block-members.png create mode 100644 docs/images/getting-class-descriptor.png create mode 100644 docs/images/getting-datatype-descriptor.png create mode 100644 docs/images/invoking-a-method.png create mode 100644 docs/images/putting-a-property.png diff --git a/docs/API messaging.md b/docs/API messaging.md index d5b5514..5e80fba 100644 --- a/docs/API messaging.md +++ b/docs/API messaging.md @@ -10,7 +10,9 @@ Concurrency control is left to specific device implementations, however devices The URL provided in the [IS-04 device](IS-04%20interactions.md) is used as the base URL for all subsequent requests. -The device model of the device can be navigated by appending [NcObject roles](https://specs.amwa.tv/ms-05-02/latest/docs/NcObject.html) on top of the base URL starting from the `root block`. +The device model of the device can be navigated by appending [NcObject roles](https://specs.amwa.tv/ms-05-02/latest/docs/NcObject.html) on top of the base URL starting from the `root block` and using `/` as the delimiter. + +Device model objects MUST not use the `/` character in their roles. Furthermore, device model objects roles MUST use `Unreserved Characters` as described in [RFC3986 - 2.3. Unreserved Characters](https://www.ietf.org/rfc/rfc3986.txt). This means for a given base URL the `root` block can be targeted by using `{baseUrl}/root` as the URL. @@ -22,11 +24,24 @@ All HTTP requests map to invoking methods on the resources located by the URL. ALL HTTP responses MUST set the HTTP status code to the same code as the status property returned as part of [NcMethodResult](https://specs.amwa.tv/ms-05-02/latest/docs/Framework.html#ncmethodresult). +The following subsections define use cases for the applicable HTTP verbs where resources are located using a URL format where the following variables are defined: + +- baseUrl - href advertised in the controls of the [IS-04 device](IS-04%20interactions.md) +- rolePath - string obtained by appending [NcObject roles](https://specs.amwa.tv/ms-05-02/latest/docs/NcObject.html) on top of the base URL starting from the `root block` and using `/` as the delimiter +- propertyLevel - number representing the inheritance level of the class containing the property (see [Control Classes](https://specs.amwa.tv/ms-05-02/latest/docs/Framework.html#control-classes)) +- propertyIndex - number representing the index level of the property within the specified inheritance level (see [Control Classes](https://specs.amwa.tv/ms-05-02/latest/docs/Framework.html#control-classes)) + ## GET ### Getting a property -URL format: `{baseUrl}/{rolePath}?level={propertyLevel}&index={propertyIndex}` +| ![Getting a property](images/getting-a-property.png) | +|:--:| +| _**Getting a property**_ | + +| URL format | Condition | Response type | +| -----------------------------------------------------------------| ----------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------ | +| {baseUrl}/{rolePath}?level={propertyLevel}&index={propertyIndex} | The URL and query parameter target a specific object and property | [NcMethodResultPropertyValue](https://specs.amwa.tv/ms-05-02/latest/docs/Framework.html#ncmethodresultpropertyvalue) with the contents of the property | The URL MUST target a specific property of an object by locating the object using its role path and adding `level` and `index` query parameters. The response MUST be of type [NcMethodResultPropertyValue](https://specs.amwa.tv/ms-05-02/latest/docs/Framework.html#ncmethodresultpropertyvalue) with the contents of that property. @@ -34,32 +49,58 @@ This is equivalent to invoking the generic [Get method](https://specs.amwa.tv/ms ### Getting the members of a block -URL format: `{baseUrl}/{rolePath}` +| ![Getting block members](images/getting-block-members.png) | +|:--:| +| _**Getting block members**_ | + +| URL format | Condition | Response type | +| ---------------------| ---------------------------------| ---------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| {baseUrl}/{rolePath} | The URL targets a specific block | [NcMethodResultPropertyValue](https://specs.amwa.tv/ms-05-02/latest/docs/Framework.html#ncmethodresultpropertyvalue) with the contents of the `members` property | The URL MUST target a specific block object in the device model and MUST NOT contain any query parameters. Devices MUST treat this as a request to retrieve the [members](https://specs.amwa.tv/ms-05-02/latest/docs/Blocks.html#device-model-discovery) property of that block. The response MUST be of type [NcMethodResultPropertyValue](https://specs.amwa.tv/ms-05-02/latest/docs/Framework.html#ncmethodresultpropertyvalue) with the contents of the `members` property. The response MUST be the same to the one received when appending the `level` and `index` query parameters and targeting the `members` property as described in [Getting a property](#getting-a-property). This is equivalent to invoking the generic [Get method](https://specs.amwa.tv/ms-05-02/latest/docs/NcObject.html#generic-getter-and-setter) on the specific object for the `members` property. -`TBD`: What to return when using that URL format but the located object is not a block? Do we say devices MUST then return the class descriptor instead? +`TBD`: What to return when using that URL format but the located object is not a block? Do we say devices MUST then return the class descriptor instead or should we just return an error response with 404 and leave it to them to add the required query parameters? ### Getting the class descriptor of an object -URL format: `{baseUrl}/{rolePath}?describe=true` +| ![Getting class descriptor](images/getting-class-descriptor.png) | +|:--:| +| _**Getting class descriptor**_ | -The URL MUST target a specific object in the device model and include the `describe=true` query parameter. Devices MUST treat this as a request to retrieve the [class descriptor](https://specs.amwa.tv/ms-05-02/latest/docs/Framework.html#ncclassdescriptor) of that object. +| URL format | Condition | Response type | +| -----------------------------------| ----------------------------------| -------------------------------------------------------------------------------------------------------------------------| +| {baseUrl}/{rolePath}?describe=true | The URL targets a specific object | [NcMethodResultClassDescriptor](https://specs.amwa.tv/ms-05-02/latest/docs/Framework.html#ncmethodresultclassdescriptor) | + +The URL MUST target a specific object in the device model and include the `describe=true` query parameter. Devices treat this as a request to retrieve the [class descriptor](https://specs.amwa.tv/ms-05-02/latest/docs/Framework.html#ncclassdescriptor) of that object's class and MUST return a response of type [NcMethodResultClassDescriptor](https://specs.amwa.tv/ms-05-02/latest/docs/Framework.html#ncmethodresultclassdescriptor) with a descriptor which includes all inherited elements. This is equivalent to invoking the [GetControlClass method](https://specs.amwa.tv/ms-05-02/latest/docs/Framework.html#ncclassmanager) on the [Class Manager object](https://specs.amwa.tv/ms-05-02/latest/docs/Managers.html#class-manager) and including all inherited elements. ### Getting the datatype descriptor of a property -URL format: `{baseUrl}/{rolePath}?level={propertyLevel}&index={propertyIndex}&describe=true` +| ![Getting datatype descriptor](images/getting-datatype-descriptor.png) | +|:--:| +| _**Getting datatype descriptor**_ | + +| URL format | Condition | Response type | +| -------------------------------------------------------------------------------| ----------------------------------| -------------------------------------------------------------------------------------------------------------------------------| +| {baseUrl}/{rolePath}?level={propertyLevel}&index={propertyIndex}&describe=true | The URL targets a specific object | [NcMethodResultDatatypeDescriptor](https://specs.amwa.tv/ms-05-02/latest/docs/Framework.html#ncmethodresultdatatypedescriptor) | -The URL MUST target a specific property of an object by locating the object using its role path and adding `level`, `index` and `describe=true` query parameters. Devices MUST treat this as a request to retrieve the [datatype descriptor](https://specs.amwa.tv/ms-05-02/latest/docs/Framework.html#ncdatatypedescriptor) of that property. +The URL MUST target a specific property of an object by locating the object using its role path and adding `level`, `index` and `describe=true` query parameters. Devices treat this as a request to retrieve the [datatype descriptor](https://specs.amwa.tv/ms-05-02/latest/docs/Framework.html#ncdatatypedescriptor) of that property and MUST return a response of type [NcMethodResultDatatypeDescriptor](https://specs.amwa.tv/ms-05-02/latest/docs/Framework.html#ncmethodresultdatatypedescriptor) with a descriptor which includes all inherited elements. This is equivalent to invoking the [GetDatatype method](https://specs.amwa.tv/ms-05-02/latest/docs/Framework.html#ncclassmanager) on the [Class Manager object](https://specs.amwa.tv/ms-05-02/latest/docs/Managers.html#class-manager) and including all inherited elements. ## PUT +| ![Putting a property](images/putting-a-property.png) | +|:--:| +| _**Putting a property**_ | + +| URL format | Condition | Response type | +| -----------------------------------------------------------------| -------------------------------------------------| -------------------------------------------------------------------------------------------| +| {baseUrl}/{rolePath}?level={propertyLevel}&index={propertyIndex} | The URL targets a specific property of an object | [NcMethodResult](https://specs.amwa.tv/ms-05-02/latest/docs/Framework.html#ncmethodresult) | + URL format: `{baseUrl}/{rolePath}?level={propertyLevel}&index={propertyIndex}` The PUT verb MUST only be used for setting individual object properties. @@ -70,7 +111,13 @@ This is equivalent to invoking the generic [Set method](https://specs.amwa.tv/ms ## PATCH -URL format: `{baseUrl}/{rolePath}` +| ![Invoking a method](images/invoking-a-method.png) | +|:--:| +| _**Invoking a method**_ | + +| URL format | Condition | Body | Response type | +| ---------------------| ----------------------------------| -------------------------------------------------------------------------------------------| -------------------------------------------------------------------------------------------| +| {baseUrl}/{rolePath} | The URL targets a specific object | [NcMethodResult](https://specs.amwa.tv/ms-05-02/latest/docs/Framework.html#ncmethodresult) | [NcMethodResult](https://specs.amwa.tv/ms-05-02/latest/docs/Framework.html#ncmethodresult) | The PATCH verb MUST only be used for invoking object methods. @@ -89,7 +136,7 @@ The body of the request MUST include an object which includes a [methodId](https } ``` -`TODO`: Link to schema? +For a full schema of the required body object see the [patch-body](https://specs.amwa.tv/is-device-configuration/branches/publish-CR/APIs/schemas/with-refs/patch-body.html) schema. The response MUST be of type [NcMethodResult](https://specs.amwa.tv/ms-05-02/latest/docs/Framework.html#ncmethodresult) or a derived type. diff --git a/docs/images/getting-a-property.png b/docs/images/getting-a-property.png new file mode 100644 index 0000000000000000000000000000000000000000..e9f60531ce41b2fa563b13d1e7fd2ae873ae5a4c GIT binary patch literal 51144 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 NRY?PurEux){{qnC1!4dI literal 0 HcmV?d00001 diff --git a/docs/images/getting-block-members.png b/docs/images/getting-block-members.png new file mode 100644 index 0000000000000000000000000000000000000000..ea9b0547c2655dd5dc7ee830f57114758c22079d GIT binary patch literal 47347 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 z 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 literal 0 HcmV?d00001 diff --git a/docs/images/getting-datatype-descriptor.png b/docs/images/getting-datatype-descriptor.png new file mode 100644 index 0000000000000000000000000000000000000000..e076095b352d93461b4b0bdbce3dd4287be04d01 GIT binary patch literal 54224 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

91vV2d@$c-|Zco9X!z=G8_q;XyHW+4{iTx6< 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ȕT2nypMm@MvVNrN^POY9wk!fz)$skKarIWgW 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 AAtO+3Lupn}ln9&s6>Fqgk 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 t@1f&7D(5i=R#!pzU)Jgmj}Y>8IaaZn<>5yorDM Date: Mon, 4 Dec 2023 16:25:32 +0000 Subject: [PATCH 12/22] Add patch-body schema --- APIs/schemas/patch-body.json | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 APIs/schemas/patch-body.json diff --git a/APIs/schemas/patch-body.json b/APIs/schemas/patch-body.json new file mode 100644 index 0000000..902fe54 --- /dev/null +++ b/APIs/schemas/patch-body.json @@ -0,0 +1,35 @@ +{ + "$schema": "http://json-schema.org/draft-04/schema#", + "type": "object", + "description": "PATCH request body for invoking a method", + "title": "PATCH request body", + "required": [ + "methodId" + ], + "properties": { + "methodId": { + "type": "object", + "description": "ID structure for the target method", + "required": [ + "level", + "index" + ], + "properties": { + "level": { + "type": "integer", + "description": "Level component of the method ID", + "minimum": 1 + }, + "index": { + "type": "integer", + "description": "Index component of the method ID", + "minimum": 1 + } + } + }, + "arguments": { + "type": "object", + "description": "Method arguments. Arguments are specified as nested properties inside this object and their types are dictated by the specific MS-05-02 model for the method targeted. Arguments only need to be included for methods which have arguments and MUST be omitted if the method does not require any arguments." + } + } +} \ No newline at end of file From 22c680005d9791bed0bdf654abf96a2110392eb0 Mon Sep 17 00:00:00 2001 From: Cristian Recoseanu Date: Mon, 4 Dec 2023 16:25:39 +0000 Subject: [PATCH 13/22] Add TODO --- docs/IS-04 interactions.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/docs/IS-04 interactions.md b/docs/IS-04 interactions.md index 934427d..2ea18c9 100644 --- a/docs/IS-04 interactions.md +++ b/docs/IS-04 interactions.md @@ -36,3 +36,5 @@ In either case, the ‘control’ endpoint for each Device’s Configuration API This flexibility is to accommodate different relationships between Devices and Nodes. For example, some Devices may be loosely coupled to the Node, for example cards in a card frame. These Devices are more likely to have an instance of the API for each card. Others may be tightly coupled, for example a media processing pipeline on a server, where it is likely to be preferable to have one instance of the API that is advertised for each pipeline. + +`TODO`: decide on `href` format and trailing slashes From 4b867c53440e357adf11ae1eabd23d713f4c08ea Mon Sep 17 00:00:00 2001 From: Cristian Recoseanu Date: Mon, 4 Dec 2023 16:31:32 +0000 Subject: [PATCH 14/22] Fix schema link --- docs/API messaging.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/API messaging.md b/docs/API messaging.md index 5e80fba..546ba58 100644 --- a/docs/API messaging.md +++ b/docs/API messaging.md @@ -136,7 +136,7 @@ The body of the request MUST include an object which includes a [methodId](https } ``` -For a full schema of the required body object see the [patch-body](https://specs.amwa.tv/is-device-configuration/branches/publish-CR/APIs/schemas/with-refs/patch-body.html) schema. +For a full schema of the required body object see the [patch-body](https://specs.amwa.tv/is-device-configuration/branches/publish-CR/APIs/schemas/patch-body.html) schema. The response MUST be of type [NcMethodResult](https://specs.amwa.tv/ms-05-02/latest/docs/Framework.html#ncmethodresult) or a derived type. From 090986f73c8b1472525db4635e7da1d76da61ba6 Mon Sep 17 00:00:00 2001 From: Cristian Recoseanu Date: Mon, 4 Dec 2023 17:10:03 +0000 Subject: [PATCH 15/22] Add link to path-schema for body column --- docs/API messaging.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/API messaging.md b/docs/API messaging.md index 546ba58..92de038 100644 --- a/docs/API messaging.md +++ b/docs/API messaging.md @@ -115,9 +115,9 @@ This is equivalent to invoking the generic [Set method](https://specs.amwa.tv/ms |:--:| | _**Invoking a method**_ | -| URL format | Condition | Body | Response type | -| ---------------------| ----------------------------------| -------------------------------------------------------------------------------------------| -------------------------------------------------------------------------------------------| -| {baseUrl}/{rolePath} | The URL targets a specific object | [NcMethodResult](https://specs.amwa.tv/ms-05-02/latest/docs/Framework.html#ncmethodresult) | [NcMethodResult](https://specs.amwa.tv/ms-05-02/latest/docs/Framework.html#ncmethodresult) | +| URL format | Condition | Body | Response type | +| ---------------------| ----------------------------------| --------------------------------------------------------------------------------------------------------------------| -------------------------------------------------------------------------------------------| +| {baseUrl}/{rolePath} | The URL targets a specific object | [patch-body schema](https://specs.amwa.tv/is-device-configuration/branches/publish-CR/APIs/schemas/patch-body.html) | [NcMethodResult](https://specs.amwa.tv/ms-05-02/latest/docs/Framework.html#ncmethodresult) | The PATCH verb MUST only be used for invoking object methods. From ad023ba0fd0e919c4ee94fb1f2b2e838c6847562 Mon Sep 17 00:00:00 2001 From: Cristian Recoseanu Date: Mon, 4 Dec 2023 17:14:08 +0000 Subject: [PATCH 16/22] Update getting-class-descriptor.png --- docs/images/getting-class-descriptor.png | Bin 52817 -> 52793 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/docs/images/getting-class-descriptor.png b/docs/images/getting-class-descriptor.png index 2da4d8325da913f8e0c4deeb033e06d05d9faf00..8bbf8749e898d48a59d43a35c60aeaa76e240ed8 100644 GIT binary patch literal 52793 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 literal 52817 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 From 2c62de0ae94622f73bd8f1da5faec64fcba1857b Mon Sep 17 00:00:00 2001 From: Cristian Recoseanu Date: Tue, 5 Dec 2023 14:49:24 +0000 Subject: [PATCH 17/22] Update API messaging.md As per feedback during meeting: - Centralised tables - Remove the restriction on using `Reserved Characters` in roles - add further todos --- docs/API messaging.md | 59 ++++++++++++++++++++----------------------- 1 file changed, 28 insertions(+), 31 deletions(-) diff --git a/docs/API messaging.md b/docs/API messaging.md index 92de038..9490d1c 100644 --- a/docs/API messaging.md +++ b/docs/API messaging.md @@ -12,7 +12,9 @@ The URL provided in the [IS-04 device](IS-04%20interactions.md) is used as the b The device model of the device can be navigated by appending [NcObject roles](https://specs.amwa.tv/ms-05-02/latest/docs/NcObject.html) on top of the base URL starting from the `root block` and using `/` as the delimiter. -Device model objects MUST not use the `/` character in their roles. Furthermore, device model objects roles MUST use `Unreserved Characters` as described in [RFC3986 - 2.3. Unreserved Characters](https://www.ietf.org/rfc/rfc3986.txt). +It is RECOMMENDED for Device model objects roles to use `Unreserved Characters` as described in [RFC 3986 - 2.3. Unreserved Characters](https://www.ietf.org/rfc/rfc3986.txt). When `Reserved Characters` are used in an object role, they MUST be URL encoded when included in a URL. + +Device model object roles are case sensitive and thus any URLs which include them are also case sensitive as described in [RFC 7230](https://datatracker.ietf.org/doc/html/rfc7230#section-2.7.3). This means for a given base URL the `root` block can be targeted by using `{baseUrl}/root` as the URL. @@ -22,15 +24,22 @@ This means using the base URL the [userLabel](https://specs.amwa.tv/ms-05-02/lat All HTTP requests map to invoking methods on the resources located by the URL. -ALL HTTP responses MUST set the HTTP status code to the same code as the status property returned as part of [NcMethodResult](https://specs.amwa.tv/ms-05-02/latest/docs/Framework.html#ncmethodresult). - -The following subsections define use cases for the applicable HTTP verbs where resources are located using a URL format where the following variables are defined: +The following subsections define use cases for the applicable HTTP verbs where resources are located using a URL format where the following are defined: - baseUrl - href advertised in the controls of the [IS-04 device](IS-04%20interactions.md) - rolePath - string obtained by appending [NcObject roles](https://specs.amwa.tv/ms-05-02/latest/docs/NcObject.html) on top of the base URL starting from the `root block` and using `/` as the delimiter - propertyLevel - number representing the inheritance level of the class containing the property (see [Control Classes](https://specs.amwa.tv/ms-05-02/latest/docs/Framework.html#control-classes)) - propertyIndex - number representing the index level of the property within the specified inheritance level (see [Control Classes](https://specs.amwa.tv/ms-05-02/latest/docs/Framework.html#control-classes)) +| Verb and scenario | URL format | Condition | Body | Response | +| ------------------------------------------------------------------------- | ------------------------------------------------------------------------------ | ------------------------------------------------------------------ | --------------------------------------------------------------------------------------------------------------------| ---------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| [GET a property](#getting-a-property) | {baseUrl}/{rolePath}?level={propertyLevel}&index={propertyIndex} | The URL and query parameters target a specific object and property | N/A | [NcMethodResultPropertyValue](https://specs.amwa.tv/ms-05-02/latest/docs/Framework.html#ncmethodresultpropertyvalue) with the contents of the property | +| [GET block members](#getting-the-members-of-a-block) | {baseUrl}/{rolePath} | The URL targets a specific block | N/A | [NcMethodResultPropertyValue](https://specs.amwa.tv/ms-05-02/latest/docs/Framework.html#ncmethodresultpropertyvalue) with the contents of the `members` property | +| [GET class descriptor](#getting-the-class-descriptor-of-an-object) | {baseUrl}/{rolePath}?describe=true | The URL targets a specific object | N/A | [NcMethodResultClassDescriptor](https://specs.amwa.tv/ms-05-02/latest/docs/Framework.html#ncmethodresultclassdescriptor) | +| [GET datatype descriptor](#getting-the-datatype-descriptor-of-a-property) | {baseUrl}/{rolePath}?level={propertyLevel}&index={propertyIndex}&describe=true | The URL and query parameters target a specific object and property | N/A | [NcMethodResultDatatypeDescriptor](https://specs.amwa.tv/ms-05-02/latest/docs/Framework.html#ncmethodresultdatatypedescriptor) | +| [PUT a property](#put) | {baseUrl}/{rolePath}?level={propertyLevel}&index={propertyIndex} | The URL and query parameters target a specific object and property | N/A | [NcMethodResult](https://specs.amwa.tv/ms-05-02/latest/docs/Framework.html#ncmethodresult) | +| [PATCH invoking a method](#patch) | {baseUrl}/{rolePath} | The URL targets a specific object | [patch-body schema](https://specs.amwa.tv/is-device-configuration/branches/publish-CR/APIs/schemas/patch-body.html) | [NcMethodResult](https://specs.amwa.tv/ms-05-02/latest/docs/Framework.html#ncmethodresult) | + ## GET ### Getting a property @@ -39,29 +48,25 @@ The following subsections define use cases for the applicable HTTP verbs where r |:--:| | _**Getting a property**_ | -| URL format | Condition | Response type | -| -----------------------------------------------------------------| ----------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------ | -| {baseUrl}/{rolePath}?level={propertyLevel}&index={propertyIndex} | The URL and query parameter target a specific object and property | [NcMethodResultPropertyValue](https://specs.amwa.tv/ms-05-02/latest/docs/Framework.html#ncmethodresultpropertyvalue) with the contents of the property | - The URL MUST target a specific property of an object by locating the object using its role path and adding `level` and `index` query parameters. The response MUST be of type [NcMethodResultPropertyValue](https://specs.amwa.tv/ms-05-02/latest/docs/Framework.html#ncmethodresultpropertyvalue) with the contents of that property. This is equivalent to invoking the generic [Get method](https://specs.amwa.tv/ms-05-02/latest/docs/NcObject.html#generic-getter-and-setter) on the specific object for the required property. +`TODO`: Capture possible HTTP status codes and NcMethodStatus values for successful response and error responses. + ### Getting the members of a block | ![Getting block members](images/getting-block-members.png) | |:--:| | _**Getting block members**_ | -| URL format | Condition | Response type | -| ---------------------| ---------------------------------| ---------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| {baseUrl}/{rolePath} | The URL targets a specific block | [NcMethodResultPropertyValue](https://specs.amwa.tv/ms-05-02/latest/docs/Framework.html#ncmethodresultpropertyvalue) with the contents of the `members` property | - The URL MUST target a specific block object in the device model and MUST NOT contain any query parameters. Devices MUST treat this as a request to retrieve the [members](https://specs.amwa.tv/ms-05-02/latest/docs/Blocks.html#device-model-discovery) property of that block. The response MUST be of type [NcMethodResultPropertyValue](https://specs.amwa.tv/ms-05-02/latest/docs/Framework.html#ncmethodresultpropertyvalue) with the contents of the `members` property. The response MUST be the same to the one received when appending the `level` and `index` query parameters and targeting the `members` property as described in [Getting a property](#getting-a-property). This is equivalent to invoking the generic [Get method](https://specs.amwa.tv/ms-05-02/latest/docs/NcObject.html#generic-getter-and-setter) on the specific object for the `members` property. -`TBD`: What to return when using that URL format but the located object is not a block? Do we say devices MUST then return the class descriptor instead or should we just return an error response with 404 and leave it to them to add the required query parameters? +`TODO`: When the located object is not a block we just return an error response with 502 PropertyNotImplemented. + +`TODO`: Capture possible HTTP status codes and NcMethodStatus values for successful response and error responses. ### Getting the class descriptor of an object @@ -69,56 +74,44 @@ This is equivalent to invoking the generic [Get method](https://specs.amwa.tv/ms |:--:| | _**Getting class descriptor**_ | -| URL format | Condition | Response type | -| -----------------------------------| ----------------------------------| -------------------------------------------------------------------------------------------------------------------------| -| {baseUrl}/{rolePath}?describe=true | The URL targets a specific object | [NcMethodResultClassDescriptor](https://specs.amwa.tv/ms-05-02/latest/docs/Framework.html#ncmethodresultclassdescriptor) | - The URL MUST target a specific object in the device model and include the `describe=true` query parameter. Devices treat this as a request to retrieve the [class descriptor](https://specs.amwa.tv/ms-05-02/latest/docs/Framework.html#ncclassdescriptor) of that object's class and MUST return a response of type [NcMethodResultClassDescriptor](https://specs.amwa.tv/ms-05-02/latest/docs/Framework.html#ncmethodresultclassdescriptor) with a descriptor which includes all inherited elements. This is equivalent to invoking the [GetControlClass method](https://specs.amwa.tv/ms-05-02/latest/docs/Framework.html#ncclassmanager) on the [Class Manager object](https://specs.amwa.tv/ms-05-02/latest/docs/Managers.html#class-manager) and including all inherited elements. +`TODO`: Capture possible HTTP status codes and NcMethodStatus values for successful response and error responses. + ### Getting the datatype descriptor of a property | ![Getting datatype descriptor](images/getting-datatype-descriptor.png) | |:--:| | _**Getting datatype descriptor**_ | -| URL format | Condition | Response type | -| -------------------------------------------------------------------------------| ----------------------------------| -------------------------------------------------------------------------------------------------------------------------------| -| {baseUrl}/{rolePath}?level={propertyLevel}&index={propertyIndex}&describe=true | The URL targets a specific object | [NcMethodResultDatatypeDescriptor](https://specs.amwa.tv/ms-05-02/latest/docs/Framework.html#ncmethodresultdatatypedescriptor) | - The URL MUST target a specific property of an object by locating the object using its role path and adding `level`, `index` and `describe=true` query parameters. Devices treat this as a request to retrieve the [datatype descriptor](https://specs.amwa.tv/ms-05-02/latest/docs/Framework.html#ncdatatypedescriptor) of that property and MUST return a response of type [NcMethodResultDatatypeDescriptor](https://specs.amwa.tv/ms-05-02/latest/docs/Framework.html#ncmethodresultdatatypedescriptor) with a descriptor which includes all inherited elements. This is equivalent to invoking the [GetDatatype method](https://specs.amwa.tv/ms-05-02/latest/docs/Framework.html#ncclassmanager) on the [Class Manager object](https://specs.amwa.tv/ms-05-02/latest/docs/Managers.html#class-manager) and including all inherited elements. +`TODO`: Capture possible HTTP status codes and NcMethodStatus values for successful response and error responses. + ## PUT | ![Putting a property](images/putting-a-property.png) | |:--:| | _**Putting a property**_ | -| URL format | Condition | Response type | -| -----------------------------------------------------------------| -------------------------------------------------| -------------------------------------------------------------------------------------------| -| {baseUrl}/{rolePath}?level={propertyLevel}&index={propertyIndex} | The URL targets a specific property of an object | [NcMethodResult](https://specs.amwa.tv/ms-05-02/latest/docs/Framework.html#ncmethodresult) | - -URL format: `{baseUrl}/{rolePath}?level={propertyLevel}&index={propertyIndex}` - The PUT verb MUST only be used for setting individual object properties. The URL MUST target a specific property of an object by locating the object using its role path and adding `level` and `index` query parameters. The response MUST be of type [NcMethodResult](https://specs.amwa.tv/ms-05-02/latest/docs/Framework.html#ncmethodresult). This is equivalent to invoking the generic [Set method](https://specs.amwa.tv/ms-05-02/latest/docs/NcObject.html#generic-getter-and-setter) on the specific object for the required property. +`TODO`: Capture possible HTTP status codes and NcMethodStatus values for successful response and error responses. + ## PATCH | ![Invoking a method](images/invoking-a-method.png) | |:--:| | _**Invoking a method**_ | -| URL format | Condition | Body | Response type | -| ---------------------| ----------------------------------| --------------------------------------------------------------------------------------------------------------------| -------------------------------------------------------------------------------------------| -| {baseUrl}/{rolePath} | The URL targets a specific object | [patch-body schema](https://specs.amwa.tv/is-device-configuration/branches/publish-CR/APIs/schemas/patch-body.html) | [NcMethodResult](https://specs.amwa.tv/ms-05-02/latest/docs/Framework.html#ncmethodresult) | - The PATCH verb MUST only be used for invoking object methods. The URL MUST target a specific object by locating the object using its role path. @@ -142,6 +135,10 @@ The response MUST be of type [NcMethodResult](https://specs.amwa.tv/ms-05-02/lat This is equivalent to invoking the specified method. +`TODO`: Capture possible HTTP status codes and NcMethodStatus values for successful response and error responses. + ## Error response messages When any request encounters an error, the response MUST be [NcMethodResultError](https://specs.amwa.tv/ms-05-02/latest/docs/Framework.html#ncmethodresulterror) or a derived datatype. + +`TODO`: Capture possible HTTP status codes and NcMethodStatus values for general error responses. From 0530baa4d1685b6e133dc0ffd672a134f9906e5f Mon Sep 17 00:00:00 2001 From: Cristian Recoseanu Date: Tue, 12 Dec 2023 13:45:59 +0000 Subject: [PATCH 18/22] Correct diagram --- docs/images/getting-class-descriptor.png | Bin 52793 -> 52938 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/docs/images/getting-class-descriptor.png b/docs/images/getting-class-descriptor.png index 8bbf8749e898d48a59d43a35c60aeaa76e240ed8..508c3233afdfeff13703a992aed622ac7f46b275 100644 GIT binary patch literal 52938 zcmeFZc|6o@+dnR;v|=P_u{D+`VeCQ}W{h>18EZ+FF~b-JgR!MjhDxKP$dV;nC~F99 zB0_}9k`h@8*>}F@P+j+RKiA!J|Ni>@^StVnF`v(zpYuG{_whcCiEd(q*tu=rHWn6^ zoq9;PDGLi5orQ&!#J(B4lV2h@1Ac7qG(~8!Z(R1OAbb z25-Z(z$Oi>D^0NxhYM`8>OL}azWYgdAc zBlv-Ew09vhKcekSA(Oy6x-zn0Vdfw3rkS0S9fk0(OXxV@|9%hil#X6@`1KR|8d|!M z&_>EecsS9@*3U`7$`ZAHGO8oRlR$R+DF|6987al}3toQij_dC_I8q7rU<D6Mo81Ti#U5Qw~Ok+a1++pjkN@d3pP-FXCng_P(YE6ClE)GV6;d;;3gF+&$%V zO{DEi6f6yNG@a#$D4344@)<9ABRy%_8DD8XtevbKT3g;+N72)XDy^p{>xb6Wb0!j$ zF&IBA6|I9NNP8*C$(#E+z|h*tj>@iv(j=H1LDN!B!PQyE(^y1SOWV^@hGed3hE#Nw zaW(h0$4Wa{X`MllTrBO4sOI)sCg2_)FJH2~u_pm;qOD|4Fmy%f8#q%CWP2AgjFz5^ zhc6j}cEu=Lobe@?c~ITV5hz!@A56~|jnbu3eaKqI1X+1aCmE`*u8*7>mZ=dB8q9!3 zaK__|z;DKmG<|!ro{o~M4vk2~>&okE8_H7UNLUk7UsnY!GhhNT4lrp)O)X`jvOUcL zY={6fr=^HAkOx1&3U1zJMi!1VKR_# zJ1cjpnK44o)kTK+Y$aV|1E44^eXJbG9Hnof=y0&1ba0jPlymg8 z)ON=^oWW?GArN%*$Uc5ndPrXvS9udpC89gcP|4HMl!TGS>Y`1g74&624d5_Wc{zDI zcZ!m}i!2G{WaOghgEKMm!sxny4fq&2_?asE7`rO@DKVw!Xy9l-0Y5!~UueO}epF8_ ztQ>-Bh-bxSJaLS)yI^;S?uxiWkn= zzzGJ|As}GR6bqz0(M%WTvLpdy*phQHOE8Ee0U5xcy z&O(!HZ=nE!gqEScgOv|S#|NRH;NaxrfHpS9TS_bV5^x?~jwB;jSrpNN2n6%N;LI|{PI@Ga8w$=eW$@R-k*t8!QMU5dbv5!Nq3kR@-Ay#je9su_StwY! z_)pDVqMat$l!C{|IcO@&68-S*1P`1&hHU0#p|53bB=2b_uP0+c zHKs5{iO?bH;ye`2P`q9BWn7$5@)mXqCJ3x0%1;4pN|bg%(u_=rnm#&k4-861S;-e? zPr*22T)n-G@Mt%CbF`bZl^w;^3ZrKRbHU5FdwBTzI4gKL5J7&>B_MreV8&Wxd8`{v z){SI_vp2&j>$%v;&`8GSj(U0&4?D#(ZYX=0ucMrwvzeKqm!qDKm%R>xYNYSt09+L=4K${H9FNX~daxD}iT!k{i5W{LzZt3?9Bl#%yV#2Q*sEgk-q^&z$6ntTqoYZn=-b;F=%UE72J$EwPiee~w2y_HA(84Jt*r+Z1RvH#S|SK; z^4gA?Xk%ARqKU#82Qw7h0_B4A)Algc!|K7^$TYOQ6$LA8;b7`Y_B2t%IvHsbwG|u< z42(@t%0^@tKW7s?Z;Gs=m!_7xubvY{&sbX9jf|rL&oS52wj=qt`4U9ZUI1n&( zWqc8u7>bFRCeBY8hxJB)qsp7PTk3k8aiUq6Sy7x&B#NIUxY5Ky$(zb_mosQtX|$D# ztg9UbZR$$(H8#ikI#Cr}&EPH=Wqk})Q&G#&-P{?4ClKV$7-4lW7H&*2$tueuTuF+q zu1H6FM`MzuGtM2vI4wh6Q$=Hac{mkEMz|^1Q&1EKUkjA0yB1Z+9ImZQgljw5xguan zIy$~2JCORdTdEBd-CS`slNMLh~xp6chTW9LWl^fWqycJy{< z+PNYeVF!%H!_C*q*&S)&p-XYZ%2?4fz2tm+%*jkeBP`EQU1cebMxF*BFj$_^lcV7< zWVn@^wtARM^mIT&Ck$W+sh9jtwi*4H&fI!#gOF8 z4fKJ0Cm=Q@)N!G#9#FJ)c!Ay(>K1{sC{JR!^){*Nv@B;V#1h_Dr?~mz7 z78XGkJ-8;u_tf`_?XB20?^(49p<7}1euN{>U!a&>_Ep^Me7Wf9smlkOwbb2$jzXU6 zNWeEbYhLiZE7KcsP6V}YQ$Xl3yTWl&Xoj=ItyW2J)|a{Jj{vAVg-%zn@_J>J64H<}i+bzQ#$vweg?M&ccd; z-2VFHB`L4&ZJaIRWL~AvSmkVGrlI8C>5(Nf<@8RR@=BO_zqDT-PnqlRm)zoA`IA2y zCp!GcUM-SH_Z0TZ8+{6U9(iN5CjQ94Oqq$%H;+?ac8&kLh^yHjbl-n@HgDyl{zPwm z)lJXMGdB{tHG~oT9=;KVjEQbiXNApG-^oqNpZkn!FGY@tTsjy8wSo7QA6q^_U7|%! zsSX7UwU?%6xIc~F5i4(pS7?L+Gr37pI^Y8z(($M=Fjp zCvb*$qBLTQ(5`BwqKcWz2gbA8TKwM(a9uiM6SP!+aAK@H2&%nhNxs+QiS0FsJ!%z! zMN1w%RY}R>pOiTF{bejb)V2H@;K>s9#i#oxDa1tnmPL+o2eL!lEssuPa@456@}mQb zTLNSEiumWQ4uvB6QpD~Y6+76Y>i=rs$QSdOu^YDE1JNr^KVm%FVPzZtzTqT4=7t}{ zm;LDJ-)?Smf(N}dW%krw$z=_hP>E!SREc^8MoMjxm=zW~yIA+#GMmotxAKkhJn@)p z$y3h1?egr2Z0-}#EZL2@mOpM7@F^Fz4b%!P2m8E5Dm$|C>`OcSHE`@3Wxmwx*0IAv zKSow<#0yp^dZ>J%o&RRVLtIl!j-6?np?46T7 zoX{Qy4}*If$Fl6?q_dt7gZ|Cot`S(*FQ0}B!;{Oz49|kKHY9OF{eK z(cRZYPi%xIv%J~5^>5;Gh&`b#-2B*Y(qZQNhy0*r8sBkW_YE(?c_baC2AlH(<|%yg z#2b$i>lqYL6!y&!bs@iBw>8r4-9 z;!HKcwoopw{%c8U^2VuA5i%{h5b1E`I|LQ^^N4VLgAcv2O$qGT*5>Po( zkm^nR2>sB6ZvP+xBpl;R#4<9xsNiB{&x3ypac@v;5FUCjR(qS@^NTxW9cnpmtNP@= zj+L*+=wUKxnSAGQ*-?Y{Jv9!mE(&~w-__8V*-m-hm8Vy8H9k2}QEl;Zz)C@|4bo*W zUE`3g^<#spt4LlCteUaLeD~mD)#AjR}-vJQls3zv3{T0A-exfQfB!Ed?vV)oFY?`zsuY!OP>yt?4?tDP;ur-S*H zGL7rv$d%X(Xn1g*Oy2xNpH`@G(O4@G#y#U$uC%Pms+sA$S2Zgc=2P=7{92-) zdaf=7*pF-IEH6I4zWN{|Hmk5D)2ipl7cCJ+C`94kqH>Ti3nQb>HA4hKFcVwK5T6_l zu7YgUu@0Vl{Q9=C<;v{4)yRPFkqf+VA)e@$hD%XhDvSD*#(C|&f|$q~Ju5ROnwumz zk6QhRKG&02QF!uew{Ontvi{s!b2Z`Sd#eFoIqm9d_LLHZn=?Fu1?Vbni?_nnuUE=d z3GRqqIlxPwQeF0|Zpnk6i44~;%U#VnvNSx+$Z+7I@9CLc<-zhOH^17d(Jw)-T#ok+ zU7A{STpj4yrrbJNpB#nkd%@97n~sTDOMxlM>OW624t~It)JC8GrJ|i`#H3y;NbwHn_y@gG%lu_ZpXCcP#ha zmL<+5@|5l4z1UTi7bh#4e{gcXN*uF`aQ;z-nGuvCL-W$O`@K{*O}VYZ4JTpH2J4Za z!~0)cdBid?SEVkxIz1806TdSxxvn=)D(ahCnbC^J)2MSu%yC(Cc z^+P3cPEfSWiVle8m7A)!jkVA&a$2+ZU3_AQ@3|3I`G)JSP#)69&c;K}ty~~lJ~$oX zH9YlnPtK8eJ+H~vhh_U0KA^oLPxZt1@?2dR-M$*>+BxyO_9aO&f-Dw6Hk0hWxF>OQ zF6kyb*)-(kw3t+@62rN7uIehAXi2~1$5~2eb#G6M>Z7u$Yu|{`@Zox_y1X`2!UtKj z4PkU){%dbABxmq&#pYm|J4R@#AaTV&H<)TLkWB`-@?C;3Zx05q$(qtbCvNXTn377L|KTp5U3B%z?}sTZEyDHvcEMx!>Lm-~&4 zPP}Ainn2~qkyAQ1#2ABzPL}O{A>@;AEgKqM6@5fXIFns&m@L{F;9~VrN7y_RGpe3d z*nPz9+l#w)!4%CxM}s_HZ?iCza0D{dubozZt200C89iYLXna1PS)s_(=}I`f?PFzo z!idu}29k-y5N*fCa1!)kk&A)+?63XYt_ni>?Vv*&e(B~T}f9<8cao+V??hWR$)`A?Ea28cHF1dWw@RWcdPAIhL?QwOFROq-_MVe zDP~%v)p_gsh+VI6mC{=&hZx5_~wq@K!?x|jC~#VL~2Q^i24i71Zr9%@PZu8{xe7RJgBvn!%N?`>xT zEuhdG+CG?e3GJggo;tWgFlXk&oWQs3T31&Bx>FxEQwu0~klqgRg!EoI6~pg3@*<%= zckjW20VBC{Pd_YNERqX@$68lxF|Xk$l~Q|~ffGSzRxJ9xQpE9owAhmzl`-{T2(`t$ z{Cv(A)}|sw8%dvTnt5}n_V~tB{U+7$#N~qiPyzEm|62?5qgCp-DFwN1)^zJG73%Qr zc%Rmh7u?%;jHVA9AOV4FaV#%+IJ8I6=UQ>Njg)}ejq>)HvX-9xVeroa(hk>-037Jx z$G!76bm?ONK*C_9N2u+(Hhur@&ix9t*MziRkW@P#d8AzCS1UU*P)LW-1;H$AAzb4i^>Al5qojab)-^b{DM?7RW5LU?5T$1*OALLw)T1WojXh2-KTEC0?RFH zt|E9p`hIQvL{C)P-Q#qx5@oAnTQ)5zm5=fFzZDLz2^idKx!StQL<2*9S4Vd2az`McdaAcGqCdLbG?z z6H=f)11L<5!LdSglsx%RGS2_@wr|xrQhyeyXhywmHj)y<-5Tmj5b+f`^&jX z1p3bzeBG1jv}6j%=uQ% zu9Q#IPTI!oUkO0}utBo0>T#WbqQd1o{)&P@TLmFlzRpdOi7{r2Q`bHQzZa>3B^^|A zSsXHKSxym%v0qIxR<#-^d8JYDBP?L*LP3A(7yp5h>wH5WBo}?^j?Gkx2gBy-`Ci?U z6MCZr#P*V}cf)UYC{$tU19tjLvAN?&LDjXUlgGn|$$Qg_-z6{(1r=G*I2Mk#!DXa0 zR{D3%&z{tXy1Q{DmY96D%CabYaA+jEKXP#;^iKPi$7gSY66_TOZ2zWW^IzNN2itGk z+t$|OuXie7{vD<9NkU7(B7!qw<&t^lXg}pe+_BoNV!>MK0RhKeB(Hv+=#B{zR1K;? zEW~?NdVTBSeklI5Cstxt#X{W4iR)_n)0(!Xzrq_We`8DG-p2YFtR5<`QT8u5Z3!wN zhrOCP;xyW%Wd64{#lG&@kBWuPJFi#92TKfibxPC-jAtDX9ZO4o>u=kMu1#@C8gVc0 zP^oQvu3GOhRv|W4Qj~U1UlMv3uj#EZ>Y!ZmE)>IA^z7{08f|7_fB5&=SlIRf+iDfp z>_`uPQj90Z@FrHAG*TvC+@VC)&7vIQV_IVlc<$`N=nw@>y{oNh=_k2_@_S38IZ9w5GvE~ zM{3!ACmM(76X01Jx9qBI%`|g-6(#bE40>^To$|P*70Sp~YRMAL*(2c-y-nZ9ogx$T zN)_7Aq zl8Ivv$85|CG{L6E;P|{3HriU2ToiyOx9`Q%06TR6#li@)-0&MY2)+?#>c>N~7P~Nr zPkV-r5@x*g=|#gpRiQIA;1jX*c~iA^QqOeRkJ-dS5P21yZ!VEYjKHz`AaXBpo`BXh zS+sEf4&I#MOn{lqLg6{yL2o(gYy_2fr|FY`E-JWK7~hu5ht*E=tMWh5H_j(q^?{T< zm08?jJWG;N}VF#B;7=z{+QUl{=DO*Y5po<*8TB0(q0-g%jJE*r3ebxJl^EFgTf2;N~~M zzis3f4inM=mrUjMrh-F5fmw>9yV!uHenN~=CLFG}BXt`IL5fD-zx8BaLup6I7oSeKZE!E;n+rVg;?fX|7S z!%pzp+x)hNq#Gx!t*v`aIO!0C(Gw@I3Q_cA06-N4QLvM*&6x>tQZKcRuomcFe*F_q z&x>&q1Hr}B(l%2yIFy+A`Cb8#%w>R(sp;AoI;W|0hVuG>1XtO#ayU5Y6B;E}S(n1# zN9DV`_OLSjr}_YU5&P>+$5nnhW$ob*lW%}czGIYu8`&d_&c1ql8Tdp7v~G0mPAM7L zpV+%E@kGY-24VEd08W3J6ZC#A#x-g&8z%i{c3rSy`^w56{}UVb-B`cVNDT9@cnJe> z^kLrV6tnj>I4DyT6UKtA3qUxlp4n-%Fl4Lgb3;5htpuGSvqkGDtLKJDqn~Xb3Tpk% zbnYx{c_^|q>yUBP+MW5T%sc;AF@fe%>8*`-_k@(5MTq@W)=tPRMRLOH1hw+oU#Vhb z=CR%L&6dTkw~tsnIHBS_+$yDUw|z?(d}N>0zO-l{YAeLW$AT;&PTWaR86Pgh4QR9q zKk!p~2Ky;^RW=N?rJk;}W!HggnP%yzNPe|_knnvXYpQDg5KMP`t~j_@_YQ=B8OK|899qxnmdZrf&TmC zM2Apd2e2Eq&;u05wC~rV)O4_h-b8QAXB{@r&$EP)DcC@=0m*19c zUf&q6nlc7h8L{hP#y6Eczt)21ZWl&(=~jy_uO#@7GO8nZ5%F(|%hX6Mse1X8{yOB1 z7D=X}YkRt$nQdbxtkaxGP#Ljn0Rga6k7;TjWvzfl{*3G=UT$p#;n$y-(x!c~%!{5C ze&*o1~24bddQ%hwoyuaXQuwm?e)b z<}T519(jD(hDA2gC#$F<9l}-hF~=f1zVR^qu#fEa`S2#DGNsv5L3e^p2vompAsmfd%UEi>=3}kjva*RerC%9Y?!L85v)4=QB+Uk8aN zA_6|F-E$7Nu&1D&0c@+g40(p(4~OJ+ZD7M1+Hk$LA|;ybaj^@5cEh|j@pMHmh)x)t%!&=EGl6C!A-uP1bPU-fuK1wItH+fV^shj(L6#AcsPj7JFjx(oV}1p$3CNVr=RU!+_wM_hhT!+J{+b0yI^frODYfUr+thcN_I+YaN3Z=V zai`Q4t^E8zZ}Qd4yjSI8l}BT2N_DP&|M9tNBFP>&u?y&H){V~n-HHDStdj54x>gcx zqjOe0^jmAL)_7h2QkEc^H%ikgn|_R(8C!mMAYd`3*(W_AIAuy>cEP3~$@9Njbtx%! zP|k1Q(@OaA@!`QQ{ZW#^20Z9oJZn5itDN*d#O3Hk{^1!}wTO%s9Uk;(I?KTeENpN# zkRsm-{wHH89s8`h#Wn^}vJ38!H2Bkm>;SE!TUcLXR~&WsMTac$i%2BdC!7A4_beR8uNqy>(lOCS^%73 z=k0PM<=}felzeFQQ;AoBS>zZpLBJOQBG;{xXB>W#X|)>b*>|Za=jPDe%Fo}=6O&6W zNF?9nqpED%z`n%6j9o^df3V?_l~0oSfnN?jvjj>0J2T0D8gaUvz|3^FFX~SGauDuy z2bq6CEE=ttEbpo1mTZiPK#*@7id-Ul7-b!Xgy2b z_*|%}1I;gZCd;IhA1u*#g;)WLB66X|X2H3JM6{gN&$WSl&6_tR_=mwmww(Rp1R|yr zX0MhYJNTU7`wF(5MeI{i$Bll0Gv{sV;=Z>dz5B2*BcA7`9h24SH}+z01?&$d!h}|p zSH!+lJrhkilc(R8krJs-7OUOy3jyY_5py^mZ;nvbh7$K!rt~<`;nu~j3^o6m+G<`~ z8wKv=mBpUbN*nJs>`Q~U_SDto*?N%}8(|RfqrJbi%gaBEkSartmXE1hK0Fi31RjSU z#&#z%GkCI2MBjV+$ms5JA6}2Qe(uAW>AK6bUb>h>BkwXlBjfP%NHccdLm=(!bnLxK zJjx2XI-mXD=_P7%r#A6jCx+`ZSXo1NT|E0s-wG)p_R>=XG?6G@I0YYRST8OKiJz)7D|=wul33NITfqjcyqrI#89?f*P zY(FJx7z+(toQWQKo34Lp*TKFkiXS&3cTTY2?^7B}Emu+XXa0hEoF#SCrWx zOf)a;9{Kr5#FLYq{5J>qSI-C$yOq+HU`IkB%Y>hd`AhL;P;hp{ySbnQYvN(zpr2i z1e=?92yykY((6QxDnYM7DlF$h%X^~-6xPm@KHVb5YSWmI8u@oNW-snxlrmpv^F?z% zX=zU+zBTZSm$o}+5T|f7*33h9e8dw2;d8?o2wtNAFFY)eBr#;UCxkRsCE0T_sQB@6 zTuj7qo)^h5v3m4D6$Icg9DSs&t(Pl(iQxQ^ps?{Xd3Xs-MPLTsX!K?;GlE<6#CYNx zxbq;lW$bl7!01`=56!F`A-u7@e$I~9JI|%DUhT}sWM20`>w2nxzQElVxiT2p2gs8c zfJ)&5%Y#_G*KZVzl1%R&IyDX&sLS^SshRI#r=OgCc3ZX44KOXT0O3EonQh9*u=?1~ z_MmV&y<@~oK5c-fdim;HK}yQQ-gBU;*Z-7hUMXfg;%6%LeT7i^Bh@%f z5iP5F;p|FK(bCoK)og*fgv4cQ%X1Q()5@MvQ+#sht11f{A7(^Lt=QuwuP6kDf{ODR zi3#lZtM1`#jiBKXB5A>WHJieXgC?%)BqMEVGocWyYGlTg>m8IZBYf+q^g#WwsxB{< z;_O=G$=9&{q4dO?8q04rqRD~ZtebBh%V7^Um&oMANW6H#kwxV(wz}d4!p5G)?UXZ! zfHz)}w{hZ`Rdaik9s7%aU?GUCc*Kq36-;bKJ4%>jE0GWS`iE8?+rJ&#!n%eqPuR1m z1P#JVC(07*@=p0z$sio9-gVsku6Fw1E-w1;+0eslz?N;T*Au*O{vCuKU=E2^wXZ?v zhr=a$Gm?HVA_L%M-rt;5SgZpRDRqY_OXD>N9yo2Zg&e%tIfz$ND*YIw(mV(Pp%liT zx@lW@jLiR262Vx2Mg}_AvORbI9A?l8C|6=D{MXOHHdblix*(j^;oq8sGR3xf7_8 zrx3D3!{yAEl^vZ8sOpDvaZPpeeN`>(vHbxY zArIJ;u8SX8)lIhE6R~iyU`$GN@*0f3OXKnRseQg_Q>y-1UJF0;(EEf=g*PKt0}K24 z`p*liujMJht*kc(D*Y2K`Br+kdqWD6P?xQQ8Qjoezw!@2s>vt;HN5BwwZQ5bLQNQ* zGkm8-DkhvKEn2&6!7|o-sLA8up_O9A*>>4(Biw>+@mzZ$rL!T6RR7lIEz@n^Z@p5( z@BdwBU{|KJ7cxcIv>*&Xo5Ac`m zKJYA3ZEt43~|2XNJT zUrUDMrPVh3Fs~7r)LezVOwynh7UDPgRp%Hv-1hwDol((}=FHl-v)g;R69oUke*JNm z#hH=jh(n{L1N@-fuHWplU%@r(RTtDtdX2r`;)b>n3(YweP6(n;nvfrA-ZbAkBkk%X?le%};X7>vWzH1)P8g zLX{oLr26<88^TOoxaJ~8B>O|t@9B+2M#fa)m*c$#=NMUp)-2PRWz)+}(wXlDhRY+f zOZ40qHw-jfGi!|FI?e%MvL@H|uu6O#ly_;ruZ3C=bqyRx`@h&X048iJxpbjfkug5s zz!pCWeUjz|KuA``0Q%wC8pfUj&EL*fiJ6CYDYF*AlWDelWCG^gZ_5#)Ff>o%zFK@{ zl=IkVy5rdB&U45c7jJ9t0(dQ!{RTH3l}(u%;5wvR3%GGdCLJyumCf2RoG7HNp7G`} zC@2rv5vGURWWmt~3jlA_)KX3b%uqkfd>;WI<_;&bwI{2WgcE7*Bv&2W zD!Xvt?P_Giv2yB2_=^;sh&`_?@$o!#m9kE)?5Hd(gb)WJ=kfdq^P{AW!psNV-><5U ziiaIvC|$Y4-Oc(AGz7%2eoaYc6!(;RrVj?&cyzwsbL><=El%;9XAg0}{{a_0fIH`{ zfG|4#i8P0_Q;~xt!^4 zW|V>U8g43j2a7C}aGvOU#dz{%srwhvaUls{F!-}KZ|-XM-|=ib?0*maSZk<3vFAvK zdb&qWQ($)d7y;nJIOq5kFn7v!(NCJy((3G%^YGK`Y=GX}%^7t5Zs0LiYY!454Zm9$ zeO_@#1EAHrAYtZ^>gv5dpS*15nvXhppz&W`UeUqxR&Pop3Zs`k4O4^}xV=~QD@s9V zU3*~Ww_CH#^UiVdXv}qx=;af2l81zbZ(6$@R@vLR&{fhgpTHRgucWsR&NMx2aXn~yq3ypb!9 z5wIuDfu9aPT;v!D9 zXJaG~pZLnpa$y4?B{rQMJ)AnGBM9>O@ z22a@h@_gLMPJx@VJ!;}=#(ak_2?SyK9^OGttt^h!=JJ}?av`Wukuw6Hg=D4HQ$!Bi z{WX0D3I9nJ#~=C4`jG2lw`{IsAOevK@oI*&cop4Zjgk|^YX0S*cYbk7^`FTFI}V1& zIzvnlIlXp*S#E&S(My`^#4VFc-p0~xhU|$r0T(vj_~li@%<58>>vE*EF!^BQkZ62) zf@oFO^o2WbCWZY1$0GYbbyi)jRGnVhpSD{1&ObbS|C$1kk{i~vTAs+XnO=@{Kn!Xa zVKmENf)X%{JTzkjl5TuTH>BXLo=CgGu3seC2+iUUHvW3Dbp6814@K zSpzX?2-Xv`yJcI2-0<5H3nn0J~p1BIoAKrdbap|@GV~+#bk1ulHI)(6I;ZM^!wlcvQ^3K`m zQpcjnZZJIahwa~-8?tVkBH>5D25!rK>Kb~=7q#B`fFhnObme!2R z;&WXj2w)hFEc!94$gVu=d-u|@!9Qjq~)jP4vQ~UFBJTL|Lp&uD%^vh>x1C0 zAnO`0K>SJL;u=yv;F{wHU5$k0hjpE_Tz2}QZFYc0t{ z+l+;QhFjsj5R)cb7aI^`J+%MyL_vs%B3l^z)k9GTo8X%O*1HK+?T@b7X@Qra!?uf~FA%QH;zb3Z;) zzCWy~YtONE{PZLw-?4trhXQ=0O~80HT7W-zX?$?CyD9D9ewfqcuAilL-S-a#hZdRr ziT4lf553(Y5MToO{D+t&@zfZ<8V#O!>|_}xw`^FV`EhQ=OvkxSK)<{K48itjcx;nL z%|YJz@*mH(J1$HOwcOR-;`il>q627Epan*&R#!3v5CVaPOT*?>QJc2!VfN6sKTPoL zrH9Wi?iGg%3+x^Tkuf#&w~~ziq$ERS26EHQ^u!<)hyf-5FdC7d&eo{IhQ^kUmgyU* z3_(l#qV%^3HwDgii-Ea?Ft#LA%)-LTY?T0Ay-98Mj@P$#CSAjKyNB9IYOcb+zJ=!W z*S&h+u!L0U``DOpH6uBI?+dSR-){|SPS(jMwq?~yN%2=NE8orXpB-fkrj6L_YUrrE zh}<1eb{)9=C&sUxABw8w`Ny;bNVbF)j?sH}z+hz(MJqge^TLpEuoWkEVP-@!MfXb7 z_?Map+#IH?kcQN`?UGxn3qU0A?TWeHh~`yW_othh2Xd2MTbI)J#-UZrCsuz`*O{upUdpwSWX#zQF0tNvE@j$zR3YK=r$H`s__A2e%Z2>A7J@u_%a z9A90U?Cr>E*vN6*1hXkMv6MuTfK+p2;cTrer@jcRJ~CnS72g1WDK{+J?e<$@s_*o5 z?t<3U%=CnPAIft`4f}S(lbsklznDu7P)EBC7dSP9Lrgpn1N}*w=lj0Kk*~5P%&@DE z5Z>|wzZ|)%8>jSZ|6^#KKlzuOFoe+7n69xrl)+I{9GiIsx49b_)L<`;eenn<3 z`2QlC(#hbU$+#Xko*Uaq{Hl_L=Ng)kQ-dKnGI7mF9pMseP79w_M`aW;wWqq|X>}8{ z1tq?G$fD#H7zBTGcDF`A9E^U>xcaq7QtvB6#crroX*(z)o>h6fWea9)smgwm;;CPq z^vEKg@b;dwQI>B?%r+Gja$6%7(oLy9N&!)3Plu|EUP&(D@gv{evm+Noc+HoGDuyHy z4mg*n8HHLc8*SoOi!i9pR2_Yk@*q0b^rO@k-Wn`!=%!K071DTbwT|_KtYR(HCi<5T z&q^QqCkV(#bx4a?nJ4+rq_otkEn1?>BCr&?VHQjfeYF!+c7ICm#I}Bv=~wU_U7($q2(5s-hJzqbJ_$`;L?Vy``_ej zlazS#c>Lvl$_K|79oB2O31`R11mo0bx$(&`8*gI*nBzzGeRSK?GlQj>P#<@;ebmJb z34U)uCC@dfOVFos2!Jg(tkR|W$%LzHE1Q;DaE?a~wX*pi%cEcR&>;!gWPJQQ=z2K1 zzagf6Zxm_qEbZli(Q+fV!D;G|s?ud0w}Im(pDd^HG|o0}y!)lIrFW(GjOk-xr2RXU z>w^p5@**$X|5;9L0 zllv^h_%f&N3tq{2W-x@iPb4d5Lm@*Sw8yt4ulJt2>#!hLy^?B7n;LP7Uc&kV!?n6c zMrTh^3sBJpdRMs~#%c?;PQKgsjyMpv>rYv2Gef*o2#`@%ejL_bE6c!FabJT%!;SMNq~5jGwC5}krKDc*YM&E=q>(l=H~{L+0@BgA z&osswjz3|@>+(TipqAOOR?CF3U!Vn9Fd-y|*q_uV>aqmBJ7CPWR)jFW3b0EM;&FbB zx@KXcFe|t6^S9&~he)Xf%oCGfVF5r)I3T8ZJ0?0-1JC?Ztu?L<-KOpcz8?UT1P2!N zoM}=1N`Lfs%P*Gzx~jXjR#br*e@`%bvj68i=CzH$;XfRFai4yGa44R6VnUo|9~k~A zl=!U#@XXw^6~Vt|0sa7>|E3UO5RL@as*C6JKiTf9eH!rOPi7a_iVyG=hua&&;9Y`0 zi{t~$sjyK&C&NDE{-OI|C#cRH!UDj?vA{yt6%r}%Un_)@3%Jt*raSQ){Sg*3?PXJ< z?0Pi^zT$b{1hjYa&#%7pG0T7I78w^|Lm^APv{-b2FR*sov^N0I$!#kK`-3HhpFmfXrMx++W)Y*9F0yJc-k=a&+I5&Q#t z^sAtJwXX`tP4^0T#AI-whDkX&IZn0fUU;(MYCB-=Fk;fbM*RrPam1JChyA;WT+a1U z%Q)tNZmcLrV=ms*ICH%&REe{e8xRjqL9n|5j+VlF@u z+n*dE74@soGe7Aatx+Rm>^ac*t4r+gtvyH9{nL|VrG@1STe%%N3JLkHAM(p6Amnc6 zeaR^eC?ekb)UQu;wV8oW=KhDv=d&9!q`^!FQzNM{V9&IgdpIXh{1i>p)y*j~4^u#Sqr)FKg;rjkdJ78L4&BiB`N@HLGh;QL4>NskCwOZ zktgxaT1pTzj}^yls#xB-DYH6kUQoTJ}xq zwwgb+t#p6h0n^W08RCOEM(*slwyyb!=joKY%qX(A-Sy?|wK0=*Dzt?;K3-vOCRqT+ zbgcXw`xozzyLf}D{|=b6INGt|UCm=&Yagj5s(oo!^gv>;dPi|uv_@L*)=6_R>6lBQ35A?y3Jugl@7R(uBcG0~WuW|cH&|$ez8G!vxEYhl_YwY{ds5*AT zAB-?uBi^MIU&5+hM@mLaW!2aYU3u2oaBgK-(D&-P5PCBH+hDQq$tD@rsHA<$_jBl= zt1!Av%N&ofEket>)m2o(*zA)jEK-HI%R45ZNw=Iu1O9&r=29c zZjk$n{yT#Vg9~7KUNmhoZO#C+M>7uQ13;ps2$*;|Xs(G_pu)O|_s(G|qBV?84})fn zYj;_ZI0AgJu|)kT7~E`4Reo|C;PMFTpWr46n0!>~h$5~XzN@N&+-1#7Sn}#${l=eA z3m#vFE+hA^@2@;~-9ix}406^lf*%S-oy6@v@jqt{_I}qgF<(naUS+#CMVfDoc1pvG zUOA|W>-wPGP`i(jv5YAJqrRSBUo-qiOA%#WLlEUyFqrK6{(&a$z6E;fc95b=`w_DT zKflqD^1Nva2fr)PUZ$mMibVUDHfTgFp;6UmRBnJk|4^sUK5!0Di25MforFy=NlTtz z#P|h(|3!9m**^jVZ{$h#VTmgPw9N4NO@hIbw=UYR?SIi1s zMt9RXEn$|;E5V`$f=~YGr>q|e31(2I>d+(0vxChkDLL10GTFG-xYdvAwn|vHRe-rN zf3f@5qyhVRA;fi7iMv1=e zy*yUs9uK-~eUvI9P^}kc=4wZk6+2Gl+|1UGTv)6_i3_oOe7^5`C@c~s zdA7IL7*Mwc{n+8ThF@|myb%=rH+f$539@9*8d`dqXe zJC+^a!+ael_AA|UiZjOp%HImN3d@(j2!}N>q4?w1k6$h@iu^h)$Z_wiHr)k7z1C6{ zQ!UTQhQC841}+IZWIcS(4(E84q-u{l&XqX z^_if;jLoWP!ImS()3EOL|6OJPAvRr~cn(kccyF_fo^Tp|W$<0}u1mQypqK_GsElL`#tyj z?)}aDG0%+lIaQ~^uD#b@Yu7?EHQuHWkURxu^yz>FrDfO)qwCetSijxa)cD3$U2lbT zR&l{YNpPmGMuBYC%0IA}$*1mik6By33nL*S!#z%s$4w2{G^6*2YUlxZa1ZH@Y~TgN zLv?k`K;d|(ztV^Q=2zgB>j7wu(BEMpB-l$ZwRNkI*DtH_6L4L1bne_g7b&}6@i{*J zY=@LS)6AMe2rOlnqeT?5tPAHC>8BLHXWXcK%|{f@dbJV(a+UeTIM12=zd652FFRQI z-skh%UfKIZmhmbh_VI_IPSH@bJV|PEHYL1n&w-sm=!FKs(~lhmtSev||H>fz($Tg1 zL;&s|<2AgTOcAO(P!OU%ipC0avIG~Q;GvD)`jB1(2pcU7^f~HNldZ zY0cuHz}q$2HF%lXYO(0;U^^tBe=}$T!k@1OU>IM7!6JXvhw5kiXkNUxrbS zuzM5AKD*=2=vU#t5`j^RS}pSPeN!YN+>d?Sj6^Rg05W+w-}VDO6Itk4d>EY^2SS=& zg*1CF5Nmv8)sA(Ae3;Q&V|?8qS-6zy!1XtnTQiS|F+zr@97p#GpagKtq$(Tf%t9ALyJqMr)# zpnz_J7o8=Cfp4H!sD5?@gdSYwO9oh9VFN{T45HLa{RRgV{C^J)_z9Dd{S7el|4Wv| zZ;AMy0W+wY9Wg~fi4=a#3jtEe(*dcb7j%2&7bR)!iW_Sj?QpZ?h`@*!!8Df1kg=K_3kl{to(JxciNubh@bT=2%lS1hOce zr5E=o0U!w5##c8um7dZyV&4rcx>UZA)KgRhnT9923Hz8dJS*Pd%X1`$gVn}#YFsoZ(il+lfx!lqzMr5OGJ%*2mr8yuy zS0QO;(yUWZ6e;iDA|T0(-_pJ%NA*@$zbcv4zxSjlXfsRm+=yQ)L<%r%jkm6XQ3Nyr za7xk$i-TaD9pE*IK*voQ4$#7iZG9ap^0CUp!zbBWB`_6+fGVIds+KM|T;y3A$mpV8 zNNw(z!61599Rfqf=gd!2opk^4RxW=n;B@?>PibpM@+>3ogy5 zuVx9s883PrfZoub-kMQ828(HCo_s5Q5IW91+pG+jsk%)4_TdraW#AB8mXM{T2Be=R z?sKw96gPSXT{EVYd9rDQhadBfJUD9ni0B9wDAB%a@Z5dc<27$ULx8Nl6ph51u-7S# zeiK8LjO9~#%C-XKAXqtQD{Pf3nXEz)Al-EHdJ!SP)GP-;%uI3Kb?y7E-9zq3S*F*- zVwvWhAlf$1j4m&DVcuV2*A@a?e~^4jPa9@`q>Qvl0aDn{>8at0H$;5X0fLnWh%{$v z*UaYYX9r)JR>CO)vXbB2m-NIfQ|O~1cgj*BtM#68(#G9uhj5fSMOJVUfRbly=>T%L zVt?!`gz6@dsbu(FmSs^Uxo}PY2@VoI^!Xn+gh}5b+3$7MY4KzmfSmdPW~xHiG|(mA zYKaxH2izG&U?`Xr7RQ<+pweStTLy}E%mOy)EmG%i?+BuWoh%*K)&VK#k~OFNi#|Xp zy7l>`6p$+`PaqNAaI-DLT%fe39krPcy5tIodJvjohV#_^SEDKVe?(Iz%m8PGnid}C z^E#o2*}N;TuK@{#w<1VRD98H`u==#OL+To@U1kT*TXvplYhV(i&QMDbUzp6ymH!Y# zsw6OY_fXHwG|T~`UgJSXyip+_6M?dv+CY#6OnZ)5YrIBeTR7{* zq)$D$Ca?evdiRE>Y;9&6n`eyclM|{JJ7X{8jOpm7C%=vL8OeA>&)iv-osETY!~Z!t zke2qH-L4b?Vj&o9lR` z5TaNTphIQhoa33Q8plMSz*86$q_7dasKbta`a6&^&tYtrJYUkQh6Pj$B_bBM{`t5* zO1M~Xcm8_mcv28kn*xwy$ISEF^waHA{|6|_krsM;vCPgKO&0qu#Ziw7^67k7976<2 z^UphU2SpKlLg+FBU@1il+Fie95KStte{00=RS8A1Mxmt{KvBNSGC@YxyE6r3PO!v- zz7Mfq@`1EHDcPy7R|pmBPzUdAsk^L{OsMf%Ik|?U(8davW=j5lj;eIDXJ5slDyIT} z0ac+v7L5(weWu;5*U*TKQC0_Vrs2P4i+&22b66;8^=7IzZAzEgFCH{Qm&jxRg#rhV zIfm$`J=X+zmg90LjFM zi8|qmrNs}lgin+KjS#4AI*HVxh^!iDs)T2QLoDUTb#nR(XWXv5&_0xY_W}@FBryO( z^&_^gmzDM{!^bRjqje$(g_wDrpF9e>Qn%@jsJ zvlE(KfI_pyam`k)KZRyEXv*S{@67|)m(2e7CyVj_C-Ldu4Z^RXt-DS{I?H*<4?FY# zXW*S!z!DqQfA>!89#XCDZ~;KtH!8YES0az!_V^T6HXKyhgb=93xJul9{BOy{e*vtW z+{?cJ7L;Ro@lDva6yiNmnp;_APKe_86gv5@oaoh+eu04?_YfcoRusP>3S9qN5e48w z7Bn+10KiKhVnpIt9suO}3xUx8WFAy*mn_ps7*-0QL=DaRvGYI8JE$6ZfDB(>Mv@+i z;OsPS3juS~n|Bcb_z8g6<*mvZnFumm$@cKWL<_RGJhUl3+rU0sJb$r4K!1lj5)M@Z zIAMhh1MsisD)UnWmOH|CrTu6W0s$2;drFS?rfL77H?7=tCsgGLp0;BCYnkZAGQ}lG zmifszs!l@zW=8J57zwFe7~>!;S%~{t78p^k(p&EV2QH7Bs<5zjOM^)5KlxH*j8%cDH>4i2?HRl zuse44s?TGPiUx3qS(WwQV-6tF{_x=3uHBi4{Zcr6&2?s;=SYeI-`g|XRFT@-JFFII z+LmWr1~*&d#q6QVcU}TE{Uv8=0I!9aK%R%zQrP*&8Bpmd3-X10x9 zU+BD|CRZfpw)ChM|G_DA;W%^sI!;$Zv1s1Czo zIXWgwz1@)e(@Qy(5Af2EquqGcnXvR~C>pq#Qz&<-uiEojpnlFGD1`Ry=svb08a&_>|7(B~sJbNe zzU!C=h;EZG4n5l@Tk0$5AIJtb4d1lZ=!oRjmjU*jZLmjjGl2(r^nDk1hkt0={{;Vh z@B5@l0uqcs51_264-Xo6Aa?-@i8G9Y1@Qu>5J zOn9Sski1)z>zu*Y8Z2eN^w%f@3Dg1iq%WSiTT32y#(TTCFDPjOhAbX%Heksxw5z6F z0L4`5A*t*-Dk171cL`$#nvK@1-haNZD<@snXb1$!MdeBLa-cw{AE}REPE_1?l-9+jY~s{cP+*azChc7Z!~0Y*Ys+Qn z2QPubNB;Jt?t=k|tZS%ad*esyHtr^?yE>(Rwrv`_J*5nBl{354?o$A&+ zdp3(3&`*v;#$oh}IQ&mK`^9=p(g^`2U;Bj2X@={I{SK{iD6$DxDg8Fy8#Rx|W8tS4 zG^xxCA^tcvVNLCQ;ai-`AlvGo`z*XmdN~$$Q!Jt`Kr81%y>Jx}>|Y+8*1SCd3eT`) znBNK`<@VfI3IkFNzKl8z_(aWd+ouLLrK}m8_FbZr*6RzS8X~7jr;!MWj5!Us205r7 zDytuzjMAQP0cCI=`^7?XkOPn$gzD9W6(Dj>YF%2@s0de*2tuU`Sr|6w7F<^9o9-`- zuuQ5+k-K(+b5#d_aPQ4yIvNYOa(@!w?ocRwP0q_upt5WQH)ryA$%P`u=RS%k=KAU= zBl1&~Q^^xF*KTBAkogHsD+*3G@60w3h!%1%bvzvAUisIETEhki_}stw5(mnjaiJ@^ zbYI?344?#H7iZaVTel%$40>o@`A3{i< zO`bMZO4c;oRE-msyB=c99Zwyy#EZ(+Tw}{tv6qO_CezvwjbWx1$A#483OGqig;MiW}>8EL=aco~%gSwO*(^dys! z-LpJe`%xOBmKtl=*mt6o!zYF7fTceuR3o7yvbs{>Ccifq+K_AQmsxbhwY5F(i6e& z=IdW-Yn8zK*0;r#J-d_~tN2uxv0S4Dtk&bR`-i`%Dph{V?sk| zOBJxQFN30JzTyF&u@SyN+YbyYBw7~t%MVPHv!+JAyM_M@S ziERb`@AP*Y6pLE;aHS)8wYK&mGJjiD*b%MRMbyp-j=#OtB1u@P7e5vK3n#!IQ`N4H zFCKKe==|dg<;gwSeIGP$w@p8ET}uVB zs}aTVN+T`&>^fncg6Z80IO=Uj{x2W{-=fI2OB6e&M_M~+{0+4&js%3mb%aQnG=`a9 z-upb@g5-)acC#4DzWNjMgpvIepa25qNiwaho$qO{Q(-j#TdJ;3wx^W@HxZ-|$JMrq z2KJ?YsqXT^dU82i(NArE#caRlIfkAdg{}?gY&xbtV|^|1uX0gLx2phepz+6EwO@b~Y0=^Dk;X016PeE{R*A9@xqy7} z6%wn0q(30G|2=6B+IsFn%-{wCaH$`-Oih-_#6i;A76`7A0suoED-mD>;k)lUcapwA zi7GL_mInvdSa~1gKJjT287nF9+&r40Ct2q4mz$A5ML!wQ`(=t(LuU7X97_>GhaXcG z+#DrSLx|4r_Z7qi_?I9l3*biY%8VfOs{iJnZ_+Zi)JSa$i2Mrz#NhX}RBCuP=PGFa zUZSnwS#M7MhZJ7H^Z7*&^CO=&ACBi&)s=cFhGo>`hzV(0{R(qvAL8cR$FDqQcQ-}@ z1V}#Nz#-eRUz`VWGeqprMAYd)kf$E8J^W^%33gEwUryj2xQl`GVb#z(^xH3V(rbJ* zt-bUu+L!r7?)C~^+vmH2ti67NWT=Nu!pcg}K~O4=n4Dig zg#Wl?fHW;;?`?s_{|yTigQ#@(EzZoC5fi7bgTEA|t_UWVWcQ0=s!?D~WY-+G^V7aY(45LF5XBouCW0f`gcq3h}HS@HNeoyfH+wfm(>FK^?Zi_CTgLTu*) z_K^fo-RE#NbD~TuIhb;3DC!~1%m`H$@3lExORPhhD$-#G1?Em|4iVMS-A;m`;I!knby zO`n|3*IjZi+vl2N-t#ome9M|L?1>0fbP+et79sSL^^+YC$}^`0(*wI0NR1lFA8Hmjr4#V<&a|jHF^`*qOe2Ww0ap z18-&be&jiHp{14qM9av$?*VAUShYnQP( zc7wbOw)Ndaq}z&iPKAl9UbGL+!ofc$mL0FI>^(1#uN0cy*F5hItRP!oi4efVMc+H@3RB-spN0 zRSpn(S&Wfm=YCq62@yE{S}V7VV|#t(`e$*H7uzdw{p}_a2I#D>?94U-9dRc5$H8PW zv3$2Bz|Y8IB9ef|-)PISH?L`2BM}=Q^0G+5y)Roj$@E$Xc|b~~wSUcIqA4G=8ZKJ- z$xc5Z0BPI;)y=z$TTdKX4v~|STNPh&$8RgrH31>xEw0bxJv`b+eYfmyev2|aW!LSL zGxe37Wr6(7p#ArhSMhQ*HUi}{?>GDNOeCgA0vu823s&YZo?iymy{ksY;sjbR#g-^_ zsA^Z0w8x2?#T%dps$Y3wN;^DZH&y;F6sJ!WOo= z=74Y%;M9XjYwA#GVWw9fN6Idv1WvKM@LZU;$z7e*axAm#vYH9!G5jt*U+dkurnl8r zr_abjkJ4$Zdqb0%4DGDyMA}PWqXywNsw6+5wr$SWJxlA78@IeRZ%Jew7C^Vx4MSTb zUr%uaCh1vMK8UKqbmnQ8xWnR=3f54KL33#dz$LvO%`AQ{^LeaHh-iUs^Z_i$?vL(yamde2iZXr~V&E(9L0d&xI)aJs6T$)U; z-Y(CH+$zni4{ZLjUZUb_rOO)zL2n1{q7KRJq1oW^m)%}9DMfS4WcMMurnhIr`X88? zd|7+BT`d%wL2;O)V+8iA5rt}>g>S?M{=Y2>V# zIntjQGwd=rGE*{Y8?+^6I&*F&5hmKHdtlVc7BRu^@?pZkAm{PqlFobOq%rAsgtvuJ zs_UaIF}Ow+-7K_`BNfJY% zi>?z7mek7@FLdb`mMnAr(BjEqA@!}*I~qHhQgKU}vSID>M}H}Cx`o_hn=N;cB{Roo zyjz6I){1kZSA17X_DXoZsPB+sVBu({JlSq zo7IPSRY(agBaRyBbZ)#|n;S>-Vk*q7rmTzDZ3H;{Wka}7PZ@^RYK>-MNY>%GKTmn6m2B}aJT1_KQnhz0{My0`#9LAj5XHR;A6}`>2 zcw9<--8rv#c4;N0m4#GFO{ipHn1my?rE2`g^=0+-)hY=@J6jefX`utE+39Gk)3uIm zPZC-}9;DZ@GcSzW^J)!of6i=gvn%30ImR*DjFuAE?%;`#m|(o=ekM5(G-neWjSXEwv?7j|>(4wl~4I2CWzPAnJ;oQjhF@dFGy$4;=pcErT zO~Ju{2B&H1q{)xzo)jZG{92$Srprru()Iag_g|WBJ=n^8DBHZTTAW`5#^=1ysx@6JD)Cy8jXMf^~RN-e*&xb`}%R?9Z)F*8YE9!s^&Odx>$AirV+hfPOKWd#lpO*in5BDsI_Yb zxPz^8-=wi$Ci$cNTKjNgqj_2&=^UErjpftthI@1CQ=G&O1oWpFa zQee1OXTc34#o=`!uh62WX7y2W|D-b^p=qqfae&0#wlIBTNIQRXwh}RKZCaI5;Z}p; z?oTTE*6z?xEwQdQ-?i8^m)tRJYTJK(@q0|8{=neaCYN`)-rX_vAIeE*x3!Tr&Wk-Z z+_y19PizIM2AU-j(lYZUJkYr(Tua`^gmpDua=-JZ zcWTd~|A9B+f;&cBO`B?>#lN6%a$3KAx=cgIOWkGQY^ta@B77W}w89d(+!<&Yq|KcB z1a3NkUY17MSxKUEk}Np=;8G)crO_)*?ado0w4XX(zK}EO@7ZH_3LKpo4(K;rxO0Az(23_m7qRU948n7Z<@U?UE~pNdGG-U?%T8qU z!PP(f<-NDM_j_5G(wG^Ui7JS;V#m?gm+JZ*koCyCoFbA+WPe!04D zKb-Vh8=3*x1nyHmN`{{}96ZYH7-LhG4(J`x2H>95^2vGHylV{@Uwkl~|{^ zc@~y-v809D!C-XGv@%C%V4XU$EXkImLvTh=+*zBFW<84hCg@5P(;2t1Xfu)k;S;6P zW2*w0Uc=m8BiD<^=jCj=rZW3QithRw@H<2wm$310_9hpCrGCA}cZ>pj`2pz54+J=d zq=_0Z|H1Ft%MrRLcUOpFfx{m?)um(NbUMK!Z}EK_z=IVY$X0DXVt#UFa;4uv&83m6 zxCC7IA&mHL2GTFpt*c0HOie?AwgeB1tSeG>8ws?Jjv?Y3X(F=~i-AS%)~s#$xuOPs zGCk-Y^sBv7xqQy68zF`XqwGu)?_xtbj0IhRPx6fPr8e6R7vN5}Qw?xhS06RxV;wHh z5Ec0ckV!uKhOpGw&;P7>g6E1w7E^}mWubR^Ku4HnfIwSc-R3iEIU(RO)6b-`;2TEn zh@SGBw#`G{4rW+$-R3=I^srYY<%tl zK$24yJ7!#^#L3)1sabxK0BM07>H)>GEwZ(`d!k~+A}R@{?Z*)NEZ7!Jf3pjc&>Wgpy@8OP{mm1xKIxf zeEnBsW@@gkJLlV^jdh%YQ^GaG6_}Z&u--D`qFLny_fugB7rbM7sy1gtfSm?#tIn`* z_x8HnHP$flfQH;J39BEKla89Ww;64J8J!7CFdQ;AUbOER-o7H@(J=kCnZf1@ruEJ| zBB*Q*IhqjVJ=Q3n(POK#HJieRm}c%g;#p|%v9<4-|H*C-(eQJaqLfi_rQS2aLS0_& zQ>r&+Zle0;G9RG@_7ufrzHJdWeVM52l%%5OXDTYEX_CgIYmlAeJS+<;G+;-Cq7ED} zFq2F`L>+o~Jdh&IV^c?n#cecFC(w*|y|44I*wW`i3^vn!UbF7Vz9rOjyb_Hz#{(40 zaxZUyc8>Aa^PDfrx-?fm!PVwelElUMM$j&UY9oSEEvMp{Z?G|I%w)sCYNsNL1G+Uw@KZhHkq%1M;=b9vlO+?*}M4A8A)!z#N@<_*Jz zX7(d(v>mkVF(SF8?q6>|$)C~uRw~ZY9{IYkpJ)tLvaP+Yc_U)mQ)#N8mJ1j2uBWmb z_Gd-(p8Sjte6=BmT6+6?awzC|`&6t=>VJyo+t5>TLJK@NpNj0Xua1$sE0 zz4q*fMf_kPvl_gmRlqe&J;)8l(0YUpgIg9+}j|+eVm$eIvcKjBoy0Qr`KD` zQ)TDGrJ1a?dS#%MS10{$vY9U^4(22EscAM)i=$r*QC54hY&h|2{ih!a&i7ldN&+iP z1Xr^2o{Q$j;OGk$o(M_hcQ9&c>tuojSRN&DR}2*4{*A>9<_9E@TnU|ve` zUkXA=?bqO{Gq89#iLwR_^S`VU(8=Q3?1KB7(7XQjWetSw2p)^LqMQN~3nPIV5SV4- z12a8rVD@%#@7YIqZ&&6p&fEQK#3uT{9m@ExerL#2O~#5%R%Be=s+)&Sr(|e7a^R{u z#9wozC!(8zk)>T^KNw9;iv!qM?Y}xK*a-*2n2(?CCTO~EOF#AR;92bB*-R9z{602EeWi>2Q|S@p z{^LK5h@Y(6vjRWJScFFVct;F(AqhWz{3wRF@1dI|@ZcBLe93^yPmtN2nQ(`Jd#nfh z?^zt|7wTwH>K7U4qI^?ElEpg~TU7mP>s^xZEx=H&->II-;wGeZd0)VWZl42T?oSKu zPI+`ZD;FL&0tWD=yh-^Dan5e$Pr304j#ja+FXsu1-cr?spFM&dR2$A4=EcFdMN2kdU z)`_aYV}Myc#bcId!HPXEsWaI=$)s+vHr5Or6Vf}X!zw&rdR5;|R-6KcFqKRGcQ^yk zPbsL5z2tDR0NCFJk44kDi@f^;Q|(fY0s!>%RVU*JVA(p3fTef@w?helx|bw?>~myU zK^ciAeU&ROusnpZ9fBPP2}zQv-w5X_ZANxm1pN+M>;dveKiU1`%0~J|MC^x<6~_R4 zMbKgqJF$;|sQrL$Tu(AEcm>tKc*^07=N_Qmm1f%O_?kPLn=taB?I0OIk@lc2v@G4* zLpVW{)nWzht={Xuhq^vKzI)(d1Z9__07#_#QNVUT;=&al2YNF%DNxa#P#eVu&{JXS zbHJu*;A|>TMEZo*?J-Kf2;kk0Tm< z9{T%7%!V&{Uer&m+`HSSNG!5l-GhxaC<)tFxh#xidy+0oGf`5@VgHb1gbM)GtLTE` zab0p(X9I&7guJ%SNBkfLd-^OL_KCP6`rW>x)q|7{=Pvm9K>az|R+#oQRPmE6C1la} z5V`{Vaa2rVS{?wzU&^n)Qg~v5XkyufTnw^@*e6o6cU@Dw355HxaTf)g(GwZoE$7I^ z&dNe{P6KOrd?W|K0sD{s>?B3jA$G9EVE!^2ze1+{%2_k=~}t_!Lu)rSBZjLDKH zB8!uqD2;-Y4+O}n(BLdYXfd!SgNq$Dj$nCIa`3y2tSvXH%6QPuIRiM&Mt>@A!7}xf+ zx63;M;u7W%(e?pQgNS|e&Y&x*6kPIAibRhIyy^uU1@w0U4RG+Z(xGgTr($QzZT`Hr$ms1C*-#P%`7{hTy$IZO(v!X95^ zs-17*KfTLJ>(=ktj5RRd%&^d zQchQ^XE1ppbeVL?Y6VIx_-u{s>cFg5F^RW_;)u!U{5pk2l#w&rB)Gfh&G#chu-<-; z#b&wCMNpx*wAFLQq1s#EIBH=OBpAlQ$6MbX-kh8ET>A*KSz4}~^|Zae;?W1Eh)`jH zhsg%e6H$!Q{x6*5k>z@|^Dr8Q!0&Z_`=}1*`foc~~#%~NaVPcLFZn0lo-sXV( zB{7Lzj)s&L<)nqlxHrtB1{EHP`ADx#S_HeqTG`ju#^U@qyP9Lwfk`Kwza)~lLS^XW z*G6mwIFL1CeTR#E*F)3LlGFBznw4@~j~zf!FB^KIb1u$Pipix9B?t!5fix{AAZ#;mlb)_%7?1Tz5RUOQ+>G zRG46aP+g%JQ1AP;Xhfa2;!377I$K|ylP&i%oA*JzyDb`gnrs-f4q~G#&5Xfwgc)WR zb30Fo@{oPh>{Ln<@G?2< z*TC@rT-IVpqySyzMtSxjfY?w##B2V;(5bo&x~~j91GtNv_fp>KG_IElpc=e95ALTYZgz*15v6Q@>p;t;8x1>_xU=X`Z>n4{zHh{#Un8|2DmiyNpx{J=Hov z;f8bm99cX?vZf3Z!rlyEcWewtrgg^se5(D~hoWV(y=FEK6_-vIbg0@4R=Ca-_84>@s{PMhqt$St z0B{I;Z>O5*ysQgAXpRg8A;$pD#PK8%z$F7>KsGP;eE5E9eyez&5fEg{o$dXB@~Xak z7l0=~-#-JI=eWlz5f7@_Ws_V(b1dm?&st(6w&z2F<{JF@uPsM-Q*421;`)BV+qPee zr#DHb*SFGho-cT=ZOxO%kvnZmEmj5FyKf_8?%X@p{q7l7~IAaufsgXY2syQPN1_*#S2J5 zTzp=_OYh<3}Bo=_9*@!O!=_Hpn{W>zzWOUn8 zQS)%Q{_@n`tj~jstr8|#&)9QMkYZLgsR`e_$w;fnWA{@%6(OH$^xN@K1K-8eW=k_I z`W`# z_j;fq^o`A5Se(VO3jy##U$xTUNiNGF?F+CZ{)6{EG^8!uuh`OsFzN4o`?u)shPn*a zF6+vh;cSt>Gf&&%L%aC$$Cg6ta<48F7acluh}MCU;hxd9Jb$(lK!U;xtW&#q13c~w z@1?|iTL$C>iS`A{IPJ{PjQ6TvK59!uJ(TqtRmW?W2e&-w5}hA4qv8Vh9#6Dpwz4b~M>v7<(T4*vwl0FbmJ3lH=PQ^ecmqC=o`RKW z!$t-Mq7#>&5^B#PurZ+NE_?T3=$Qc;3aZ!ns%;VEY7NCYT8OwNV)-H8&)YE#Xf6X( zyt~c(rRzfm)gF>GRZ^V&Hb=DCwY-f7PfsW(&Fz^m-2!)06pVs|lILRIhGhDNwY8Tw zI)fQgZi=)Sv*lZy_PZ0<*L?Xzq{ZgW`KHdODNqGlz_88~RZnXx9#~r%DpW=Jq3tl3CYY1DpN$>HU zIjCESQHJ96i@Szb|C8hOf8mq=qu`T&r{mYBqqKC994W!wOvExi8aZ)5IPoB_ujkRj zG0SmQwL6fQ$u71W3yGCFDPFMFe<3t(%5(9VVDVHyj8p!>UVa+gyb)Rj#eyNC9RQD< z>%YA!I`m9)m^{w_04XhVEb-W)xan>oF9iIVNhe)Ups#e4@qtpyV>5q0J4-U3PA({Lqv4A*1B@bW^QD6c()M;=t;%`Og7$0|70AF< zpC|-v>Vx~Sv1ooefV@(und!P;daNB$f1FN)IQLf0_JU$dkA!Qb$fUah-{al~a&a~S ziCT^cfLn@m~^HYRezI(Qa6H)&#I2^8Z`pXGc9cxLj?;7xOLcWMLjPasP$7?r|n^^77j`}X0QX1vNo zAa~duetR0=#=vwj{lstEFt3DX6e$ZX3PWR zmdM}%Ie+rf0GS&SU#jlb(ieY>sVS9N9n|fw%jjx}bM3GcaM-AsS#@Uk8Uhn9Z8>>o zJ461sH=lc2TMA}?E2yWNA@i=!J!yz?`u+FWGN0OvaULXU#b-6qp^5ux=Zh zKJ;RdnS;U3MbuN_%H!Y~>yam4N9kN<3LFMHVDasatQucF=TZo}zI8a5Dzb{s*ghN} zeaF5B9q{VI(~GmZ!#Q!hBSo&SOkzHxwGIVHOI~oOkq@35?I!LngK-+@aCo$l1fad* zHWLMuI{#acsM9hc-!pSXxm2#lVT}GP3z1GOACaH zO(#i`hoZx@L^fM5V%k49#Bwp;#MlVkpNsx#vv3zB^U4Hq;m6?WlXTz$Ch;uD)?}Dl%(6~wJ#(l=IY~!5#Q2a?ck1bq4)Pc3x5qZC=8D4X zl)a2mJb)VH3~F&F>#Cqb^ICf+Y|Im*r6|% z_ z!nsn_3?zA^lT>RJ*H?csT)=uY5JJWyI>-Dl!Y0k;%h*f7O)c5-{<0v0?RI+syH^1= zD>nH9(e7~*MR6t8SH_)@HqT5=9o_WuK9w4&_1|s^j?`&i>ubnprC#805#PuO4m2Z+ zbN=l2-ML_);bk1M;+mqS*M4=Ut6kd}1S;!C1iWKan(lUaw+2F}Gbl%z)Wl6&O)GG}A>|k%mF` z1NnT|KlF@zkUn%SLWiTI-c@j-apVI6{J{db^85C&8=>RFeV!FJ1Zkd=1jw`K192%P z=LD4&;ytIJHq3Bf65dsnjYL|%I;6c+P!`#k+aC5%Hat=`8xV+Vy|)E=O4j{V%ta%{ zm(*16I3UWrMm6(o?{M^K>8SE;Y8SrU{z{EKheZA~oeN+(gG18{UhZX}s?MXL%06lZ zu3p{F{Qgnr6JQ%cld5{S_LQfpFAeeEhZw+E#`;Mo!EfeL%fUI z1EyE~$hVI!V(RG0b*17O;G?ndHC5)c6vvEK+1?ii+!3%I5Cs3RI0?i(diGZDB*-iE zTxRQs`wJ{$mdCywb5g+W#wWx|>A)ZQ!!q(AM=ne5NLn;)yD6!b$10Q*ApRALn6}5s zpPU>en&Wqd7{(+9JdStgrZBc8l~$g^%)z*kVj`wGBKag>5yuKu?# z2hLh@n%vH`l`+2apLI*yAthu80II*6!(j3&h)5aEzyX%sWxV?XtcVc>G(wuV5z=Gt zigEIjtrW6t*MJtOQV1;=95%cU2<#{~$=pym1H0EUI@w^DGjg&S=vxM31t!uC0FN=b z7T`*cY4DyLNDv<-TAMQ>r$xAVwP)KsQ(iU&gJ9bd8iw_jk?q|7mya$|e9SQx%uaAS^x>;+d{YdIWvIaZcAxQyrWGJ996aS$N}aa<6w5lVdm3jto!W;07=Pp zeLm7xg84d=a|-wo+pJ6AI0u+QQ`kjCnpeM{%r7}1_v0nb{c!M5)HK=$6lCPcq5jpw z_BOfo%$bk9<`)zN3vR!5ILdu&eO8HDVb$qm0W1`D6hP~Y?pQNBCP> zy9_XRV;Z-=s8?YqVt`ZBuk4EANbz!U(g2#cWx68LF{MU3N|;5zu(y=gR)0FD+{OCF zJAe_?oh)-fr8;=eKjE|S7YOFCjFKpCIqBJDx!PgY&DZ<&M)~|qS*eUoD%)`1^@=%@ zk23|ixz1)ML=&yE3v6yLSQIf~XR00eaep^c3iX2> zhqA@uZ@Raxeie3U8+ZueCMKu1qK4wANSL8fRb}>-0SSruvdvCnes&u^k*RNCDE9S8*{-?9kPd&@ zp`y|^JnjBgR?jzqxCU&8C#<^!X9qyUp`2Q#-O7^jP<9kW9ohF3Bq!sQmZC#!3`Nb( z^iOtKK2TqN_Qshb06p7+8GG^lc-tx4p}@Yej3J$Mq&P^VR%s=?@2po^1lS4~`C95- zi~|(1yuM;oZY$7d(`P65e8HBZTOy*)|J*2Q&9Q7C3q5VxHCIclsk6P+`#q+$p*Tiq z3ayK73_-OJo7j5X*C%;^p3NAx?Ox$pMZ_-+bwN$WZF4swPXGN;5)DOzic<}(ObdNa z5r>*E#G2s0 zvFO+-Kjv2kG>~52F=C-2r-^Z}O4#4W!>Dd}Sm)W*GJra9uEJl0J z9eePw-HqOL{^PqI@2Pf0lcR$XwWSsvBmr6I@&O(oK0j!HXGVwo%$57AKt{Wgf=aJG zbs`G8tQDF6e$f9S4Bl->@-_db#MlaooiU52PV#|sA8dR$OJEp2!vs8_@p}-Yk@yp& zu?VNk-9GZgW$2Fg>^HiV796o&;GvOidBAK>0wth!3z-+#?XcOwD_B5?{l&tta={(l z-bC|nIEl@e{2RajryAp5z~nFFBY%p9c9p06CqngK^%j2&+VbKV_G7Cjs8fbk*#eOo zfa-tOrThWuxg{n>b{In1LELm>2crbIJG*2ZJkrwGAK-mO^3b0va$r>t79sKA4q$w7 z1`x0Pj4}P&?7xEyz{CGDmlSFXtC0r4@$rGf*pInh4zzKxF--tnZ$eC$M zE@o(D13P9!kU6ziI;o7e7GEa;{MjMsNAxnLSMWKi@jRcdWxz&@I{j=6$Ho8{urq|} zHj(1rJi>9+$rCUqX3xE^!zZ?`?t$_o#6HiAa0#84X8W>o$U!P#CG^@id@BAkIrNsT ztF_`-SrFsrTte+0Vn5j}H`%u)JHMfZek11lkrCH6ojR_|1Y+O5SmS$GCj+6~A(dt{ zI}fS6o7?~!ewY&4`Oxk@O9Qaq3;nmsuzMYRz+qfdCthG5X}mU^zGu%~Q6*U^s6v!a zA^^l+4smzz;Xjaq%8m@zM`++Q0YgRb6#hdQqo($1Q`vFi7#-lR9|HX6;hJMGZiG{C z?L;$BkO3JX_L==qcki5a{CW}h|87^Xy-gDcIVz8PY7e0&6Xc7W_V}?M*8@*B>Nh7|)dk9YwVJAxP!p>w9$bc0g`OzrF3O|^PEZ^yH=}Ty6(?ESMI~Dxs zNOJcOXR&kkCi!#c6}dq- zVq*{gHi^G=#}^H>p$jq8@;F`JAHIO)C?Ex^s`~%l#Lj<7dJzVL(MUY^7vHtV_bDNU ZT-}XL(_-V@-aX(SB{@~u9O_`v)$mlv0s)VUR7mvCB4N77W8!OFh;xm>Fi6v1_-5CM4NPWD6A%LK`Vr zvy^OEk}YN5{l6piyw7`{_xZiQbN=W2&;Oj?IUUA5_x;_j>-t>R^|`LQP-6^Y*N($G zSXfwgp^z{W78bTp78X__`&Mw}Q8E84__c{@g3w{ft3Nu-!m?x16K?5A^mZb+IkE`L z>;C*CEGOekrg{p?!-VDJY~9_Z90;~}iY<{UMRN26m%#T#vID`1;OOx49yu8~c}ZD0 zNf`y4tdg+2wyZq(0hN`4%E?&&yx$h@NZJ_CknBrvbF&qe(}POMfT2V!2qXtGoeDl; zaNvim47e<>13rN-6cv7c^j1_516Q=&-Q6559PRW8U>$l;c_k@%MQ~YEABi(G5SG&g zpWO(qj^G!<(cYEJd_>ooLMDPMda|-AQef!yIZbVyY$=3)9Rluv|LZ->T{?Q&;(zW? zh3sLeOGceFfw?uDaS-}M@50_D~^MqnhGQM`+GCpRua<*7qs0Cb!>O_-4q2zq9dMIZX zf(j1jV@AWmu>=`UWd*2(w}U)ZSH)4q%}|CYuRzeYQc!erhEt7%<#cqZRllN3=$_tWdm}0VW~{4hPcU>t>l-*z5M+B-Q=AS; z*29~O!@A*AEbY7rrXDns1p@7c_mM|=W6^pv8l9|TM394OJIT_#_2>#DGp0m5eB}*% z3C?(P4EW2)(O2J|jDjn>!F^q5cs;1TuAv-FfoNuI;_arWV+vG2)WbGT8JH6s;4pbx6L(W57zRdG^pzuE zWo)h8X{JU9l$)z8b8cllBLg5P9epzeq6J#tSjpYV%$tD27@B*5s}}B9XAhE<8<_yp zu~SCDpr&YdFQlg&fv!teL?PUL3~X^Idle(*?r~&q8bQeus-))&{<1KH<4ovwBp5JD z9R$V5K?!SRO0Y-k(-nPjG_0>Z3}u0Zskr0p^sPzm+GqnyIu+&ZWrk65a8sZvIC@*@ zy5k+}aN2eR0vtuA`&grp-mY#?W2&-?yRV@#)yjm3lQGl78p|l^%TWzr@@`NCsI5Ci zS>IKTh<3ubYSYb)F`hU*SFiv&#=*x#g>K}g?4!&)MMnci0}A*}MS~wOvJZ`_W2S(h zS$olRWl2TY7>V}*6qhf$m?D4yod22S!Y zH~}H=OtC~lT}<`Not$jpdT2dM3uTxQQC@~-t|IG+RdR+p8M#q>-5e~Cdb)B(rZPH; zXw&tTn-X=wM)aW0DmXV|A3U5Yt7}ZtMj%u?bluH8mF#^fBwb%qxUB-t+SpA+Pu~oO zL(sew=wz^TZ6#|tH+`%E*2P4bVyIvSBPhF|EmUlMyIkbzV3s59ITUV?hNg06# zQZYy1ficS(IiZL+5*o%-W$@3#k*tV>t5|#KxnZb8w5=7@-B{by+s+VWsc7x$P4keI zBP(0uttdc%P`rndzJWDeM#otjjn+0%bTKi*%EG-+2KHF0Hqk@}hcQz|$T<^C%&lFO z06^=Ion&D00B?1inK0^XsiI)%V(5VLU`~#*aFVqoNVQ!Bjn|fO6>sVl*R9h%Y){#n)MXZU7j4RR?W8$Jshr>K@Xjv6yZ*zMJ&Kc+C z<%PjxN%j_4l8m)2#myRrGL?75%es4bc+;H~Jsn(tf6yZ!y=CQ%bjVOMlCKW1D0!826)<6$UmNS5&WvMcFV;Q=of}sn|K}Ht^1_Tf5A*~Pu5>(ew8*AjI z?P9EG=U|G4S)yH$KDr(zC^Hm{ME1qnTT{$rEFDbT$W&t`GbfC$i>{)hfq{_;S_MOP z^>H>vc~RsXJ+*b*y-`jSl#z@siEK^-mScg^wI$NseN6D)1{e>bIRH#OS#N|kj$&-8 zZSJFDZsvsmTZNjsTj_b&Ir&>!-NG4-ClD0uFlKrf88`9C<(THf} zZ0-&)PRCHsM9D}W3Zt2m5hO)>3Yy~JZHabs*P$s}z;snyV7gAWZU}j0INY0P3tYdB zo2?AV*<9bmN8d+*W@oM_Yv8TqDTlyWbbDJ_BOG1EQeOd1msgfCqne^A zSbGyi4;^n^4>=1fGEv!C$=hAY$^}PMLQ%+2nvXZ!)`vo+V(hSvUhYgiSArpIfzo)8 zyse$xk(M5M6h|{zYhP_o1v=e=%oH@j%8uqHM{&eZ4FE7$*`XAC&2eOyHA&aNNeSVo zVo23iptz|3eAjc*BkCB*c$<2fQk*bUXBrV>qD(b$H3bKwM=^#|uy~XXQ(MtY|Ei0p z+e5vYgE^a6QN5wowip#A^3l=C z0Gh$NXuj66OfmRk-0h7OXdui27k@=s>tPr8dn3G+hX?70!dY1OSx_)-ocEcra*h_W zRD6z`s4u9O@i9WUtxZTnA&FL&A3b>vVt4+=%*5-+Wjt0Gw zpxk`=X@{<2gonkcZ6AHS@jf$M^uhASitnKZp_tx~mr*g_UI)PHhrP}xcJy~v^Y(4} z^K_XrX@&3oqs%H|``MN91A~|20wwXg$HX+sf{>Bwec$&>FeYCTKb4=3^zQdj`7D@n zZTGPreNMGya%|lJ6TCiyN@W8gev0T6ZcJ=L z;-u0Ww&OegD%g|qQzYlftbUQ*uI-!eP$p7JW+Tz^741#vXYW8sH1 zy(VaEk+GBayHbemrXcNX%juTc)=80owd;|o=ccrr|DrDZer$U}v)_HZ5ZmxZEWj5z zq5184c|6gsny6WhDh-cN>+!4_-^b@aleu1=|3?hoKkT0Yb3fNSjyxc zRR#3(cPriPgU!_ArqW^p-^bUiMdjCAQ0PYjyZ*9S7S>^rbI40b96c7o6^pn6K8QhQ zSYfI6`l?j^viNJdtRb)vm{%MWvKNBwf^+wRyI2~xZ~u$pIox7d|9Z>S^+B81p0F@P zSv+-gek&w%`uO8N=iDU7CBW5cqp(RzOK1m6(zUH%#PW9D8g0*qdaZPs-;Y%e)#qf7iV$U47<(7UiXKu|m#h=h;8Lu$NH}H8pz+oVw$7({~q*z(73I!}H3+9_um;$drZpVlmrR~iiEi1iA?A0E=Wi|kIF>{%OK znH&s#KaeeUHb%Z)Lw9vJGAK-Hsjo%aS}MQxOL3)!=oG##uHg*LW1qw;4u&Y3m)&0v z#OnB-(?TZR7zZ7pY#Vg06j#-jV+j4r$z6Vd1g52 zPiUWw?hc=qS9Zxc)a;3u$49H0N8Q}FDmrv{O0#s@rXG>kNUbbXzwT$>zAt-syu%C}e_ zv`_WMeMnQPS_Q;r%|glQN1b2lL29LM)QRPhx-+FI;$B?ielyS#k9x>(PjQ?2W; zFRpg9S03kEvCRLvVlh`CKAO_We|Rp%yi>6D+o>}xsOh(B%O3MUF z2jY_&cAe~|L#D%CQwO?^Z#L32GtZx=4GbL#UsE~U!xuCV6<(T!R!ho`sFRcSai=Th5BjuY3&uZ; zrY9fQm~n^dMXd!RTRc9!#!bghr!Q==&72;3f=o*pZjiVUD9q)DTaNc%v2grsksk#U z4o4QwcdzAV=G25@F!N&VsOj;E`w{~gDbh=tYiDZiB%j?M3xkLRer?OCES=6Dz)P>5 zu9&_o{pNPTR(NVHdG}G#j;&u{Hwx<2Or@4Y`b*?mTG-z{^-AXBiZvXcq--lwq1vX zBrNh`R#%o1R70;PKC^~kPrHlpP|;Jky{NP45Nv1tcD#a!boq6hk0zuejV&rL$8=|#|~XPqe-q-kM~|l%QVgE z$eA{P@HR*)bwiZimECbC7A>Fbn7iv}pJklRi^Mo*-+0+NDivomQ}!fT?A3nO5&`%3 zR!W0TCw8*^c|`mwtlIEYiTtM~`%hT%C#jZK!X@gi%;M>p0#JPKP=`2=!da-}bs#G|)IX_zup4wmLFFNwLqr!1XK)`e9mYI-m z-wZx_iHH_rPrLMNtiXu_f<+&{sPH>D(yC?`66cCNIewxW9wWl|s%ula@09>O`P!&Z zm}cw=DM%K(!Xi08d!eQ9X*ev8Bdc>Rvzb=#B$qq*%G&Tk(+$~xs|I99?Y~sO2gXtQ267lSUFdmQ18&uqk!b!`HO=ofTt^h*chg99${h#Ur zrXfh$mKJd(lc9SyEb62mo1eS!{LfTUtSLE+L)O zxFjP%Hrs<#R`tZE1OQTs$7)Tds z7I>{4!EWtG&W@`@XKJ)OIbO>~3Y>M)7J56m^Sat^|Ico8TY%xbG&?Rw89;t~>N6!E zc<7|RcVWPN{WvMdVn$U}S~KTeie;kVtz=SL|I2d7L%p-U2fd29jl$|#nn@`UYb6!@ z179234G$jx#z8-hJ>7`iD;oIKYxsE^W~^l3k!;iR_HR6z%BNBu+}O%MQgh~dN9G0E z)A5H}M})+S=$g_C)gv#sYk^E+k15&=_qxy@c%AMonZ4pVSbyr<301mi;5pA>AH zpvUTK{n<&sR zULGyJfiOCMIIsyXw zw%eqRJ1;6I1VE<@ATxYHSId*33Ii9OH<{K?4?FRy9kcQ7i&wiS5;$w@pAf$&9S!d{}U`WOc0CDKrY{aOaX?GCM!lAVKjE$DfL%d)t;FYS8fpmOJfP z;ECs-AxnEOjU5u-Nb0&&Pmp8$?uPLVH8^gpNqvVmZLi zwdEY9<~A7SLZ688?{(E|*#v{YQcF1wG1wWI-%_``Z-QW1zFyji2H~q{;DtYjJPlF~ z=8)I^-yJerF2Z#GYOw$3M^l3}f}9Oi4oin$l{G{~ucq8Q5zHHyCLLGuomy+EKiDUq z7bDoq<$tn=nIvtb2cq6mLM-RgzQJid z@Pp>a`^cOrzc-qiYY+VAFBJ@=_4^IcuN^w{v3806R(iIAKS*u9_RyP~3IdJF;DD5B3-I;uoLL-#rMK=^Ov3C zmK_@OhN&;ICgV+4k3au<>4KIwNN7F}o!j{*M7Mzz9C9*N3rp@;el+Gg=;briHMi5E z@CvG@UNg3!j2PP=Mdg)GO zx^Ff`@DMXksuMbgY%wUEzw(>1$khfm0sT_qs27TCku$B+5@0#c1@;lc_FI?FY25|K zc38M(CJO@aD|?t9jK!}FZrc9h_`ct_)rbMvC1TuiI5`-ZX82?epyMI1mftghtp5MT z`M>k|KmGat+%C@3!eJ8T_pgEYq9##=>hR@VJly+BeUe0hQ{DB!+Bn2Sj!jAX_s=ik zD_>owzcxLhjd$q2OEip=vT^9C2smDr_GP59QhIWteIH_JzzdQQxVn2{WnO@hL6%Nw z`cV#(T3uX9(OBNXSkaUww^JX~TrLhh`cW*4;i$w3!P15z-vN}V2KWW7j>`ELb`;hj z$wlm`u+fV=DkhTbZ6`FH8FE)zWZ-M%%nH=C4X`&^DZlaza`}uooFPhT&oZ5AjhQJ9 zb6cS;aH$TOFa+eg*LE^QKjt5TU>`jV-MWcAEf_FczF#gF{E5uw+Y3(#sk--`Gl-Xi z-#B3f+2Df^I~CnN@ataLDdu^wBvNo(yqR=|l5b-BW;;fzdUxRW%~mCpbkFgQqTaiS zGBcWMQ<@B$wbhj>FZn9!6cm+rF|+>%B&ftPO~2AkTXeO8I~1*UReX@r+d5YkHl1#x zm$X`A(U$uegd5N=@mRpx1OwPk75}|57PiB}jU4V$24Cc=*KSPco;bS4$E~!6O#7r7kWEwyC+kx^z6!aF zkxk5en402{gk|ja*62_rf^eRpJ;#Qu=2~ds) z+@XObgS$`Fb^4VlE(>ITI&%ftaz9>l;s8U`svCBZg{@f^45>lYKK|#BIc$gbhjt!< zrK~M4MNRvDzI-6;(k+k?nQDF`;D2Ofn5mX!;_hdA&NA{*;$0-Cy`jp{H3wEk0{4Vo z|7@@ic%=Z~shX8U9N2#E|B)Vu5HkzQUMCq1B+IlNV<30u(Tt2fJ@uh}{$s2#1QyGg z*Y-wQ<6?+>==Bx!uZTg*7pP}CUaIELMAso!>m`K2sa}zOfBN)omrr$_vk%ZllGJui zzLV-U` z{$v@_E}uKVsPS4!^zIA2oDp8KNfE-utL%RJd!a%XP0^$8RTu<2>;tRYAL{9!cUSae zeEO%i*-5B<2cq|cF8d3EAMUR}OnglPNdIGkyxgDeogml?7ear!U6bJjW-a>GDNkWv z53zJe&V*#9IB#SOFgrybpxR=q872fMUNU3L*oT2lvk3oWa0#FppG5k=M4% z$d*!SLybV=2zc(%sZFH^`?vgF7J7SOQIRkw$b3Bp*xZhTQJk8ql)!*aV55ZOq>++g zyA!V>M~ZCfEEq`Et9te#9O|X8OH^=KwW4 zxdv02lT$ZEX>SyZC}{qcMPO4ITUxVU>Ik{C#^XDI@RDF3bI%)xKO5r`q;5>Ux-og> zV{4a7AT@$^?cBdU`GNJxIlOnW{uEUs|M?Q?(A)b~1z}I$#mgg{>JvYb8jdKsU309x z@#ex7jx^H@%=jcXbJHz(!+oiR0L;*%@2(wS<8O2Wi-ab)Pb~*qvni5c-Wyu!5PU8S zwn#~BJimFH!`m3K=DUcfE0QMdHf`Fyj zH?0TScArWJJq2|w75wzW2!_C4Y;uM{R$HY%N zQidzLRA32;#IV(XTFK&?T}qwCEyT1{oN*Y3kq7pzm+)n#-Z?(KjjFr}N-I1-#|y>5 z6l3-NKtpMvjEySIGrsc_KySWkLNcA<4rS-Y+nJ*ofMUA*?T%TFIs8-|ZrNj-g=<{n z{EvPP8)SXxR3(TLAeEqw5|!6(kvX#o!l>+cVY-6}q-S3QkJH1HiDt!~ls|L|V7Kf`aGOa}zpKg7592aZ%Q##(-(Sfoc zxfTa1>TJdYyrhM{X!kiy)*^trrBH+7q+xTp;uV7}0^~Wi7XH^{~qPZT8aEg_-W`wExwjU!|yjxgv+JPXw%Z{`~v8PILM8O#?6?je!m# zPk1?hmbq2Q;J<8D z>+cO2U>bbaC2O`Xtj8{H6n6$0Z9ef`pX*i;)i63H9LyJpQy8E?n*1ipCCkoO z3LuVtM4jvma*()fdlfi94lX9nMIZZ5+a@9A>nFOeLFaa-Ayx!_^#a5QMlGJ3R&&js zR&~6;Jn(VL(sXE0SjNhP-CXId~{#sG&(%y=I?@*tC1d-Y@ za-~;|rIp{X4||KRA37g*C8S3FOa~$ z_EX}MXHQAW>Wm+^o~k=PS^tT=uUh{AR^LG5;w2WgKqKa{r2j`BR(sVrg>uhGjhY|b zkRY(RKE6$^AAcJtg)28u+iy%?@wXdnl@n|cNi6R%oW9oxZ;^Xn&m<~(n9q>J{?nnf znh16-Ud*qVjVR{8?=5O6TzAG9367;q&ndqvVqn8Z3Vc zyD@c6D`!{A58!bn4S*jX!vy~Ak+8Pkz_3VHvSH@$z8s9puNZ0<>rTtf-L(VkEDQuv z>E0BVwEcgp@Xv}aBlmf;vXcQSIOts#V7mYq!5tU6^c#)CwWQzl{|Z3Q-`leuueiMR z>_~!eeYCPYbOS_DmaDK}ElHr^MeONwQ$WY3xdh~Y0xQc;aj~`^gJ65N^FNJefiMp7 zT=@?$%))j{XI-5##oiO>VMqu3Wk*XeuI&OhFKZD1@m5GocY~`WYtX}h^u!ON5S5Xy z{mp9ZazLBcozgRj^VXxA^Pk(*?+LvHZ~Izo1!=k=dCH+7S%U&X`5SdG&9&9JN@N54Z?sh6Rl+lL3Xl!@}Ww_!XI4sG|X3`1MTeq7~MGv6<1 zE%f@B-~F-f^0JVGw&!9QiCht*KVI|YTS_mgK(MCw_%il<*JEMS9C`bSx7C_08#%o^ zmlu8VV&3(W8AjP+`=PExhVntyjVd_>{cN(>EO$n`pb;dY;rE-!1^X$jFbK~s5=blK zW$mw=IQ975O@i;cTawwY5UTk4qlYwn3k`0{+#y`R$-lk}Y2UnCo&VEgVmKRrE=Rzw zqsqn#-xh{a_*On`N9CC3W{V!R4rHWfph5nSi(r}r^^EJ@4{fu_>W}-5`q;09QwFen zF<@=?#n;#7^rG`_v%1;<$X0=4@L(@yx!t2Xpl6g$uJ0nwvp* z!q}lB&N|Gun)k9l9-l1cdEqF%(}SVa2jeLU`2Kub_^azKLEm#~?&LS;I%C{T_Es&7 zc9u|u&;cW+DPflmugnd`ojoJ8*fN3+3pcqn^(vHma5y97Mnm9iK_8`LZFT9cBzCY` z#ib=P<9N8)(-MKvz7@$t``&>6@yTzZh8~w9OkVkt4l&yD z@axr_!A#DiyA4eDz_F16EQtJ3G9kz{Sjj0K`M^Ykv4eLJ;a{XVX{0)wmRjJ`X9Ibk zVI=K$99tw$Lzfx!>6ohT9(SXhdVqW8aq5QnE;*^U&h;XR?ic*W?D?WUk;)968j^XF z=I-XB?XH~ZXA|d9?c+7lT>99s!!9mNWAoOXqKPH_W6WZ%={*B6w-Rxl(Ck4Q42%9J z@9cm8^iW|UGOe?4>i+c8)F(ZRpg>Ori>DxAoaXYL9GrL)?U#Iwqcq4`N_p6H*f8cD zr@-yXvyzqeb892PkB0DTXKviy0Sl{pM79+!+^DmQP*- zi5}I5CRuHvjJ)3G^ zFRWy_H05pnnSgv*gkxS_k>p3eXR1dbT&%L#8{^dsb(Qn;LxGDdqj1sZBQYF0-#U z!%}$mrTEajsi%d)g3b(=x_oMER!^S)Faip!9X@bRuJkqf_Cq>M-_&-lDEezrx#sma z`s%5V=a11o?44woR=<5SRCf)-r~FV%1_1K~o{V+7YGmfb)^0CGc}bFtnz?vbD`$Kj zLWq*2tVSCPfhAi@7qu6JOrIkJnA{|pE{#^Mx-P^8EyUfzOJ@-YB8(-g24zZ;Md>a~ zl}NFf(d+CXrIK-{9|hrkUDkuI06jA4d7p6D2s+yef^qT4suX|odXcr*$L6t9Dr_&f zdJR$^EFTFaS)CZ+uCFK?yQ*6+q`Lf_v)Q$GuzBLXSo82j5jf$Jx2T?A|D1>9oG9PE zA3xJ^)Sd^Ob6qRyuT~;1=0s;+5SMiU$=J2bp<$=dw%l;lfa%0|5RJQR=bHgev6PAq zJ}qt@L*q0%f+w6w*L++%lXH2(_EtjylgJY0ylhKo%^O5oizRZ-n?t$ZS6;tLG*A>Wl&jgUZCIH zH(m{YvDJ=>0Ke(pkg|!2Q>C86Cet6U>^hQ~p*xxvgGo|tqBJ)wb@qC{D!UMq<~vkh7h>YNcRqYvVsJqu13eLCbgcrvTJHIE{!TWbWyEB5 z#rUd|Oji5QNLggg-1Xks&GkuAA}MMb-p7QP)Cyo5aqpVi0SCb$HXQw6<~d?~uWKTh zW6|j#BlF~$?%V=VE}!6YFAYHO^!Akk!+~Qxo*Xy@OC|9w7#Mog?9CMBYF&B|!gOkB zsOYrjXw&yvC-swHesoP?KRS62EL8!=sRFE=05Qf0iI2Z+N+K>`Ro7{@W+?^XTNowYPplv-+WgivC(X_g0C_qc>V}ruD=(vf*)*q zx()bWNsCe`2LUWzK*n@I9!Txa6}%4+B~bJVG~cPiaroE_GYJCaK3yRfC+%K9A=L<- zw@!jF*>RzouK@;Yno<>G9YqpcQOp<$pX}o#H1d_iF^0a`_8F9*d7(K?A{vsY!5pUh@5|UtM1Ynwl=O%1)I5;W)P`__%&WkF29{W zzkhOGch_5ueRrSV@hel;pA&^a$nPTsft2xVZvm}2v0uF1Ou=W;!Rm?o9p^dB@=k$q zHj^On&KPc&eMyVd_R)Am2ao4Ws|A8JYKs1g=Gb$A^QiKk?Yg?boUsKBC(Fj-^?q=s zgPy&+&P$2aMe9qh1tH@9wB*Nq9T4WCQnyyhoCYl1zzwaZ(V|k-Pc~=tzlb8qhKH+y z?u-+vWuj7|pf9d(n?)RVXyHre<@q0s#{S1QOX}0kl>72r%A9}RPSWoLF~+g&*r_jd z5~>G3`SuidEJ(4#AU&|r>Gm*=64kx7$y}^f*5@+V4iU8Yu>f5{`(_Wnn}a;yY2R;E ziV)!PSy}7_X>85j^UdQ<7`G-#2k}OQvS`t6tAV@G$dp@;K|8B6hxM`yX*8h6WvC3` zx<7Xn-_M{NMCQz{T8+!o` zEv@%DR5F@hIwD>&{`eCN4hblcbSq6aJlnQZ(ON(EN|0;ec$nq}al~}iT8D?UL*TLH5V@xSQ{yYrvy0!lv9}M$P7U>|3+Ph(?25u>+L^x&=1bna9_{{L&;3>S+(Z&HP1ozFlyev z@}?B5R91+eTBDvB$nBTyN~5-$4#t%oi{tj?jBcM@wdAarsr_1DT3?1;Ore%%WIh4x zCjj(9t_SOy`#SXR&c`7Wemi6OVi`)Ua;_{C6I;CdTYk+*=G~~caH%y}8`$%l&~-gf zNI5rC;aD`4B+JYv<~LF{CfmJ_r8MIj;0BVLcYiz1vD~Qwi~XYszVGQ(B(q6I%Z}~- zoMcYY#H+o3r&K!uCm9n6UeD>Bn|p3`FJIq9QRbB&jBOa%NluSp+yhi5A9 zFUSl1ycHR_ac(OAcy9X3)7$YAbnbF7&%IludAXRZ+n!4sbFW+bf1JB*p1AVd!eOcU z)8zuNZqD^}v+F$b?RnI(aE$FAr*&QKUhN_e{NNdSbJde@IV51sbIj8dpn>3Po6iPJL`HnCy8wG&#D*( zqkehE$jK{3-@_z{*WQrisBZ!VE5>CmMPL!;zc)Ii_jd*_*8*uYU3}gJs%J`DLSSzm z9_Ipe1b@~$-zwXl0D+|aEj<6Sq;wEzHGV8|jZ5_T5cTyWPt)4u- zgHf{$?$3;(1on)qx<jwm^E%ijfQt&AO=A~Yv z$K{>gg}ehnPutfXW-=V2aaS*bizn{1Tb+K@F_FU{Gx3e!zTXnqlnQ_3(wbc(C3UQ7 zMdeO52#OhB)7wjq-YN>%#Srx_i3XP2%h1YP%7^BGT=04g&p#>iJcOYhd+$`I9o^72z+1&s*D@P(fp6bfd*yo^Nk(?>7KPWM|X~Z2v{K!4XXV7 zW)GS)Gx-ANZ4aq>W~$G1Qv34E5|$<^D>FHeJ=9Mfph18Sms?R-@b$Iks>dC{H$<@` znt}d%ExP0~x{yDc=}vOhMi8knruk$hN`T z+7}1DB#3hal5z)KXTbGw#Z^bhzA8>^S7v zZbN?)E?pt|`Y6?)h1YX9JuZyKIy_@^a>1b$lWM}KS@B;Oj6?9EJNBljln~w1Z46sa zO7J|pB`XV7dHZlZKC33RODQ9Xc1wM_Q5PE=N#i8gjOtf4ZQjNS!~Y>^^+?E8r(`UL8vIBY8fy=#=V4;l#*wwxB1c=|fwdjl|2~-BHzLfaXi( z6rL#p`f-o0cRA-$Tg1@~O9WjGe-{q@a>9Br2z|AI95|Km)h*QpNL6d*1f(nZ9)9bv zK&$xSEabrBY%^6|WPZL7*D(GE(fx;fXdyRxjlE6MskG~a6o1w3o-YQez3Deg*l_A4 z!}k(kYVE$WV^;IUZI5@P`hG9lp>BOjd@Epe3=* z2uHh`EUGw<@broIzPa&B!Urr?hUxFU)KwZueu+DZ7UOrQ`|ghqGiBx~wh}h!Pi;7* zB1i8xOD2(yeCn$T4}U!1NV<-CBK}LECkX!t(+UtS!eqLUN)GgPv;0MLK7D9UtY4{> zFr$VjPh~Y;9(E$-#3$S1I#2^JsQ{ORiVq}n*V*}}G3Q2~G}ZIw@^v}gV+A(OErPiU zJI3QzNR^U0Sn};?7cHy3x1T1?tVK){{o7sVqI_VrAAiZ#yl#LyiEyheW}s3 zLj;RPP$lNwt}YJR&Gl23I)}2q*nBg%>mA&Dg#6SaL>bOA82k&7=C1Pplg9&el`j|C zF5FyWA+77ixDz4e4tQh6Mpc}&x;&&A#m38n!pSse3=@hIcOaNa;&gnNa))GE{*!0> z4xH+|A=h=|vHk1F7YlmgToH%l?}?&{t8xnMGddL?G{4N!FRqQ{4#j!r#uO)u+_P_d z+E-x{e4VtpH7EyZez+{K`7}fCx1V$S$B=EDC$#fjK3ujP36Xycui0{zYMsQagy zFX$3XKw4qQdZaOThlF_J)78aM${XQ080$6Kq%%G$*(fbZ;m1_SX}S?X1PfF$nY6!W z*38$K=KrBJSYNuK+Zg1)K-w4t4k4M-c!L`Lm{UWnT z$GzDlZLD6nnOf4vEAN{ZwFBmRGD=ORv?CrC3rn>rqw& zBQSC%!&cgdPhF00&b4H+YAB)Rg5W-0*pG~al3b_K*qp-X%`pw z3{p~=J@B!r@z)at?V!KaNQw7-^L991MjHFAO0L+|2bK_`^ML2K0O2c1yZ}>R#dR*zn8Me~Jy?9Ij+0 zYtrh}ghc;uo`>AOP4_O}-|i4m;C1=~vr?|TFp_`iQB1ZL*K!U&OO-$=f<0q^ukE!2uzrCCqabs6-gnQIS#H~0#f==5{+ zg?|+O|1IhFDH(izhWgbD@Hct({|WK`_j+|UClsct2}((u*o6#l=jP@*)%>&)o4WID z1b_=7GQS$_2+X#yYO9BX`&{-q*GjFJTlEJcV^(jW#dT}>9-;$PN?V2CWox#@V+he8<`Da`O_~qHRaP>4NMm*b=HfzY zy%GU=vL2b29fNR6C5B{ zbiNOg+`5|G0CvrOgIyX61(PW zStDj13%FfWFek4AD2~Xv_dZKiUR>CyOvZvHzSh{y5UkA;nJeew*N;nno8n<+7Jt>Y z>lBBC{W1os#1(2T<0mrc@-yQN(^f*24T`!(mMrBq+Akjp01@;o&3aCWuv$ORV~Q z??ncG5%H5^$@do=ceRx_4fj63C`V`(0ymq6i?A!ep81}A&;gAxh!1C`@O3p&7)TH9 z7e9goO=;K{&or)pX{MDg-OhVdogWL{hQtn4EPaax-2FZ_&{OcZ29VQ`y?UC=6ase& zguFLA`m5n<=6CLa=mk`w5BLl)5CetpF%q6!!%*?DcPW}@ll>>()I4V9zFr{rjVO)4 zeJGjjaOHrWGVBx^=kgtU_}T#^%vdRqJBHci+LW2sYp(gLhF)0R&#%lD2KW@FNc?{; z`hOCMt0M!+0l&OIAZyP6ERO8oe}s|wD}zmK@CuJ3^-y@#^UG&%F{{Un?|0YQh-W>T zQ28ZaQ^O&f@E{vcy%1f|!c0^H+B;J3wO0k)2(umuA9vEOTxAQ^vf5Bir~ghlt!+Sq zwzT+zr;8&w%&y3q_ePqM8;L5+Ms@Jjp{~XBE;Uju;Ihy74hs*r=byckAW~syaQXI= zo70oE(ugD&z1t__-7RR2%Xqa~FwR>?Xvd-%cvEKk9FTQi5 zyJndA)?;@`R;(3hoymRrXws)`zNi$u4qcyH+2Xb5! z`F9chk9yS#he+N4`IVw79@)Ur9GN`)J_9kdQ-zUnUAbR16b*;0SgBn~oWCpk?MXjp z2}rv*hxcdW{Va<>+Eai$J2Nk_lKS1V;C7`dd$Rq8JjDMydF%=8){Of){oW{UC?)8m zY622|m)ZDu^^kljHKfz@rFaqwhY@P#Oa(;*kY%mMm$`_xcHdI)RzqX{$>##bjGy=x z(eV@C0Ig*DoAtK^A@ugma|fjW8P&h%Lg`yztf_Nl?ANnjFMCIY9Hu%Ep01vLG zjVqbA!8j}Lk~>c^F${Wg$mhp1TEWwILjA}ifP#PSGUVs~69Ew-4085w@HGJ7YukJ5 zB>-RFqdLYG>)=~>I_$#hvPTxN`KAVVk44niNHal&dQa@bMn`ee=b?++b}QQ0%QkmT6MQdj-E}=y!U7Fm(+HP( zpGg1KNvMC%RS--33D7tGmjLau<~jDM*eI`JaRe!9@*G~3lt3y)DU!R7hRTY6FGPGN zG(d~=?yxqR8fge~>_2ghnd;h^pRQ>RiaI2JykiG}r@*DkZKff2-9IG%Z>M)t#kmc4 zl@(t-reR%J;0%bI<_se~pTSrQ$V2$$G>|f4ztklh@Y-KOIu=ptzcBe#RbJCj%UJhA)r55U0^KB6nso@tQD^9D692@qlKRdj?sJUKfZmRK)uHeI(@(-jh#n0B| z+B4RDfLpRBi0QfSM*mO#bBDE5)(+Bwpsd;Uj1%$mB{0yReZ%(U6?keCNewuer*553 zWZzm=-Sk$9su*HR8O--w69)We4HgLToWXP5vrm4rA~X-Sn0;* zfwC+~)@t2xd}O-STMRzHC;pFSV8U~hk@;}geP~a_VJP|-VAbN4J?v~x#qZGTa2&XF z_sO0#tj$m)cW9?}D`pv+P@kk$D;#&4i^xH>YXC`S`1LlTD?qkcfnaAfLDkU13H`HY zh~?6j;~fcz^wIw=s&IueM4dg-l)c+V6mvz*#(aRJ9A8KBHtm=1+JEmS{(&DbcO4uFQJNow9GG`cf71eJ>7ae%muz z5wP_3(su6DUhx+=wdhPh!E)Z9^_eUiKq5ZZ3xtKEe6?u9Ic@LjP6w*dzYPpKC8Mhr zR~~ivpmTaRV!^NfO(^Gb0iR1U-JB=HXqFF}?nejfTKojel`_s$(9~Tbk_P@Of#$^1 zW8kGHxDk33G+Hzv!O*8{+a}^#>&Y}vu7xk58^uxoli0OOG$>5o_FA zSGS{9IiITaYFqapZ=9Q1VixJj0r#ADXrT!h*8dnYwy-r=cir21G*s)E)-&cd59zcy z+5yYVk$CdlvLC{ANXvHPZ7`%fIBJCk%uFW;9SijDD^D>)$G7@}P{qjmtwj5~gD&hs z`s;%%)OY{4Ugh@S^;^AQ3oYja_p%>kx2!yCuBKa4YQR)7uPsUk-=iGPUE018MUFG0 z$dkIUQy{#1C-t!JT|xD3hNyIG`v>Jm=EV^aH*y57o!B%wSL-sQ=J(T+{&&W^J-MjV zaF;UI`E%#j4^jTo{n}Sx3liGYs%N6&v$2%DLG&kvJghJ!Vf z@1U((o>v4aQ-W;LV*l2){yho6%>O+J{}(4A-@+Nf-q@NtIy76I)3yR2n=mFbEdUz6 zQPKa@un9nVtKrNaHpB&l`S+qdu*u*h&npoiZEIoxh^I7k49ks4_5b_;WKYWRWQsXVqybY%o_ViGbkmvjzCkYVLiKZi69Wl(=w z6#T>0|CbC2_*=wy08q|>#v73Ev7PidF2>3bZ4x^Q`iwcGI( z05DL)grj_r8I;wyv^li2uC+Pl`*`UBHc>~vft-n%0@xzuZ+{YLei66n0FS_$@Pghw z2s&-DQPQxIPgcJ|P&4vqFFDzBxc@#m0mdVJ04Mvap}=JhCqi(35Y+hJ{Nfx{fJdi1 zGIvfl?PAhb7`}ZJw0U=G?*Zw+(x*dY-(CosjRbLLFN}+fnKs0Uo;U9nn8c+s8b^+u zq<42gxv$qilC@_51jrI60G$bykE_6LdE~p}4q3zcQ(LQoeMmCUL}8+o^DZX8H~dvMfjjX#Y+BMo#AOaYbMi%iZV6r!{Ft;F&2Q>uRP=;iUcNL8uhU27A~ zY=GdkX=2<|(5bJJHgmrsv|Hc4T?23y+YlJ%UkC`minuo(1uL!E3BV}t4bYLEHhO|v z(4(JmaRCUl_l->oauKiml4XO-)d_8q>x9b}K^j-Q-tP*jGMmRgR$cZx-uZdC+bpL> zuv3?cNP5$JPHN|#k)1kIkI zxAvqmQ>?e3pmvJb;%p&s)lldo%YlWnAnp_p{zn2dNo>68i3Zp$r;5(}xEo@S5iD;# zc(E!<%fMYDRCJ8qd2=%L9_Vs#{&ofaal!lQ+SUq19;Th47U*jcHG%ScWh+ls0DZG* z@p^X`6}pcI2*Se#|_bxG85`D7Q9+a!46*kv^idytn8hSQbYokbov zllczlqOhZZ^g8!b-x%EixSt?Z-J=V8KuBo9cuEhFw`AtL^GdVgy@{rmOMt^s1L;ZZ zcb*3ETl7Rv6WS1Hhn6;?Ww zy-@pB)CG8YH2oU+JDedXOmpA{0ad(YZarnhw`wBpy*xf0QYX2%q_cyg3}nYuF~-;_ z5_4^o+RB^|m2=S#cL06Lq$I_RzXeJ}eL3E#q|QY-+1L#m`NAAx{gu)2n^%ljW&nhAty1B_u1CB6xl=62?mRsBIAhxdmj@!Q? zAG-I2Q~|T{)k=~vO~^;bc_wo~TfSL#27ooL7(&IhKzXjI57-=FQj?#?ZfX+V^5Yk3 zB3OHFN56EVkE$)x08qdF?6@aI0^0J8Jt5yUB@mQGwcfeJ1@M}ux{SOflBVx>=Ck zr1UBtKq*&(q^1Er)pjrcZp{UY zYLyNnh8OQkW35@|j&iMm>3K;B5wU49G7>Or-QQtkgIG*7W0pY4lX{W6kSv z1GatkoflansLbOYrFbNO&KDIiimw@EtQR4Xxf(|^(DaiSA1#j1_?WE@x9LNSx(O(} z70fBbF7)aDe4+ORQwq$C0Zn5F@LwRfx$O3VOdm|vw_WICz&4wN?Jjj5{q z*c?3~LSKV=zB;@mu|V#dg3dVh*+=WTEmryQd-TFOzjI-nNJKtXo*me{l5o@B(h7SG}zjT#U!`W&uS( zo^^Fz>=EFEk0peI4#SA+4(~z3Rcgu8S4#ZVB^daPl$#&{mkq*3_i<6*~lF2@W9e4<0#)g=olgd8weIr}z12H3MkDa)9_}Pl6Ya zTXc3vAIFJyA-4!3Tz#&b_ttl_EKZ!@(UM~UB^U_jaa{WkAl!Z7n&&F4hu}Y(6q$nF zDo@vrr^gv!703S!jp;%i?yztRs!IolE&dg^pmb#cfIas=MG)eX;%B1xGU8!(_1K|D z`1tU|<4O2=nTkEhakvAhA^-+aEgGQo|IaY1zcLASwUom@xd6Xmh5w5uwtQs7UqB?L4CpUF#~ED{m`BZO6Xlo3_3JO1(Wz!!2r#ogJu?0SKj^{2N*dwx`$UfHty-c@0+=*GU-@{mcHM;D7utJb_onelO{O#3}wh(I|)z; zeL}$Oc9!xLluQ)$+64E4b~U+os)!+kL1OKP;rUyi4jdP@h|AO|YQPj+fS*sPAU|l2 zOT?hU2IO-|VbkY9o=rkmy$9UbLBP#;>5W_nkR5q;I5u;!4saa=-<$QwEzKAjoO!A! z_@0xOGRk467ZCB!-}&-LmagGpUZRZYggh3stJF z4*OlRf=l9o>L$(6#1~ZT(AC1_6oF#d;)>FpJo;SUKO9Q{og%Je7mvL_Y&3gL7v_AJ z0J2lN=8Jw7Of+#TuN|xxIp<0`XaymVN4?F)CpD7u5Rwz|{`DROY5`ZQ44XCD7k)I* zg%cBJHw=JYTeRDWuCu%CWcL~ycgiy9XdZ3Gom1K*eZi^7xLtl@L?56(;#T_Zs~VzX z&kaYQh7aJiA9bLjc(*N0?Oqi`go&5^IC}XaI}jMIv|Mhi>{f8@6p3@ApMW*b&N4&2E?5tt=Bd!F^c z5JI}#u)xy4k9QjbG5>8j4 zq|D^9wr*)40pQwvWjn`J?w83xYzAo8ocF4N5qD47r}cqq?8sC`PN**{jjnnx#QDDq zw5}2KDF;2o^9m0N5xR`MV@wQK`WgD3lTlB;Wz&yqcx*V==n59PAb?Mt=rHaLHsd^}TCWNR*$|Cngx z#6qPwBF8)WGBWQCB9$ybeZw$IKyH>=3`mVe0k#-c7y`IJSvta?-;ILZu?W{vx7YlE zptD`~1#0OHF%NdNUISg_^wn>hAmJ+k-B5z%IUVT>?~&-l`HhDCxN9UFtET>`Iko2P zz|c+>0jScSob7HF?KqYIR6&Zn4vZ3j!|^yl*KsVySfL_}_}LUkztSu9-qm<9`=BpO z?!`_j5-sa-$ZLbC`TRB8y4~m0C$}FoC~st9nKAPe+J7Ob`OJ45W8F|vC=G9v+6+jI zW%Q6IKu^5&~5S-5B$NXw^xGG6jE#0P2R7&ZrVkdFv)$Duw6(0j)% z8!!}-&Gl6>)ug+-#{P*5azn)I+dZAhkKlDF2Rp-Ia(4l67GMVxR7kVm!!wlr3ZAiW z`3Q12Q%^oDOGL5%$8PdT>o3hq&0%5DkZw6e+@2>EAsWFM^SG7yFkp{}+KiJ=UKl5n z#=KLG6M6qGOZhMxc;7+==p-s_VFqY^y=&*e-Zui;{%4nYi{ah0V_y;q%sOdLW%YD4 zNNvr?9cy+_=ulxT(0czZUTfr7zs2LL(>NB1TO@>U|2s1@5KZdw6;0QpRlBUJ64lR~ z$l~6Jah+^hl+&O>^vZi328pW^yOk zLbxq2aHt|e9EnJI=0F(*nn&h25EgT!O$sjhOU-AYSe05vT$1xtFTtzCGpShTiX3 zCl^W~cx1)00q}rNcc8R1#XV!n=4<`}BJLRR%Tit!> zA>13Me3%wEo0LYvP9^M(?lUwxIh56{of{8GVHk#C<1&T@&1*v9 zPTeB64|{{+3B&`Lt$Eokh>L*tCozHpDjm0NB{fR z$N%Fa%7BA$=z;L^S4!2rIQB>MX-Q?K2rJ!ioAQt#YVHf6v1U6s%$h*0=CJ@x{dW{)JifRwpO4x4lv|pu-Ya z`rT5$nj(D!m`Z1ntx-}{q{QM8z@+dL{N%vzd1evU$NDteCsv7jR70Zi*v}6-yVTDO z7%Q}g!{Sa|bofoMTX>k1Ll~Ui5u#e4GxG z6A|_W>OTK&H@(+uvUu@^+DBuHJGP6ORNr7p-`GC)Y#fk>Nl<^; zNQ0{%)uex>8ANB|tRF<^jllC>_z>ayRG4z$j({KFZfP!5B>m7dIb1;AMnXaU**E`D zFISqp?Bqa%Z=Cqf^y7lOhT8ru%((upDzdE~YYlYaC`57QCrLi_60j>ryjPGXbY@_hS_kKG;x_I>os zu!sV#S(w*>gM@9epQh^zXgQ=0_)J8jXQP)FK8`G0W(&*9;!h|{$oD@0i|7;lG;8GW zEZ-M=oaHJ%9_^rDEcx)@N*!jc&Y4~{=c6d5O+AX(I{Qme&1a`>mllSDzVZ&8;G6NM zcyKpS26J1_{>4cIH@fQ942xsZf*P-7!H$}ZF2XBKMSZ`X|D6{^);PO^Urw1Lc=g88#iNK4u z7k7dyBj&|&?-z}IHEXCWZI!xDjueOt%*(RXXtY7tZ8D#vcko<(s^+7Mye;>^b<}WB zCrnymY+%wG9Z66b=CL?$*r7wSpv=l$<5DOGCPKZDJ5mk1B}g-6+Alf@ z4=#C4JU0xjdB}>6kQoD_mAZ$?pzV@>xXEK86JaFMW3+QHNHK>nn8|=z-+jCNU5`+S zUn1j9-dT^{4GR@BMe|Oy*zANaC9|&qgH@b)e1=OXXzNy?dh*FpryXh3xv@{DSj4QR zTq`z@<^&*JHv)X+4TIE@XjtH^@D_dUHtb+n!sVe=iS;>iL^jtJ;h_)s;a1hhjq!;> z*#X0w3;tv?B}_^zqX(3pN{(1~w<2 zW8!RTPu~VTF|?n$IDVCF`BUf2AK+4DmVdHu*YQ%*;G<=gdDGs;!$T&^IH!?J{x;9q>6 z3EQp#n`D3H@lfbXpfM5Vv0N`@A@WH8W$i1n$)&L3s4RM>0tVIhVL%Mx(bn*qx>25? z&NS0A8tpzeI$lvax?FKox&&4#g>h+>+p!y$KDwpcZJasQyQ3#7g_iaZqxzJ?U-Toz zDwM{|zyNDAKEw)5zS91|25ZhQn(zG~*_P=a{>{O|)Lh;x{89KLFcK@ba?$gO!zV`$$m`Q*fImy2AOb>Lo=M+i9UKDViV%2M=v z(FYh$(x;z_WLv`#Ot;GFzwjtZ26H0&X5J9YlW==3KVX4RHAF2f?7EBeqCLxL#&iWZ zl;b{JY*pzfea9YWTO0Rorld|`duzNQhEYXod1Q_>^Ge3~gy6;!kvN;Rw}XuHy8$?d+{2n?yWJ*@=vG z#?uq(9VoB3FF&=y5Ui1fNw3$vyNj+SPcDs2!=P-8X5i^k$aApfOn#MPTOL-Z%vL}m z;?dpltE)`JtV>&9vNuiac*rS3B6ZU3Zuo0-uf8p8urkrU4s87&ENuIM{7r|vQ zF_joazBB1GcR0#@%s{QqQmBs3kSSQb-oBee(0)gJ{;>2cy>-W>$*FV~Ay@VY39rp} zWzyv3yKS{<2Cj+HktSV@;6pX8 zTvthg)S;5v?P?5&3dEydO>5kfWck7ki2}mbyEm(3Z&c zF{`gUo{91EM0u)&WZMHTt5rDPmbp)w54PDF74;q$>}YRLNgk60Tn+QS8_VQd^S<)H zSg=6>!pdW>&e#lEPO_l6a@Uc;C-v^j z$G%LIN0iROrTL8-2vHv4_5Lpiqie?xJ^{BLIT|>!-xfw&(5Av1qFR;Jw`>bG;+yz ztnz1H&E{GoWHd;l?nbLgWgAGZ$0~SIhU@LTu4CAJwtjlpvcpqq=gt;-*64iUP?mA= z%axuX1AhE?N5TRi*qmRQh>rPp#$zx;SS5(x0~ram#VC04Lgm*gB?%~ z>kAvV!#Zt*DLPFHNNAAvJ-SnVZcviIo2$AW>=72ers=fI4sK4E;zWnG7+-p48Mej) zT=OI77Mjig8r4kF)Hu;WNZs^HQ~ykv4koLj*GnzB!zYcdM?sJr`qp z;=*&CoaC?D!4WzXE!(<;8 zlXH=kzS>@zHKOEoH>nP&U~-*5{$;)?MM`f{`=YPBuRPX_W#aA9iVlx)!GM5%;>L9MU zc%h}Lr*%Z8xSk8e122jly{%jlo_3=XcuDEFn-5vKy3|2y7YT10PWUj-kqh;kb&WYE zDFvquER4+rcQDV2nfrEAtOin#rMqRs#Ll%tIdTw#|go|^HM@%9|f z+a8(C>v><>c!+Br-r_G`6)!RxFNs!3&KNW3S~*d9Q!;!{LW(5J zBz`TT^~ub}L_<|J`Rr5&H<8bX=39)j; zJva6Ue15d8|58uAzG=VgPcA?$S+)fY<>@8}FkiiHG6E)CO?=BeeB-ypiYY<{>AW>wQjZfm`O5Pwrq95i zC<C}!aGlDRs`zOq6Fi{%#YrvL`qmYaelw;qUAV8ZUK87Q1KHyiCK$p31e zlD&~MmwsEt+ATM7!dx7@eBolw6d4p~x0^j0#(B`QG$51`W+V-XA;BdF&sE>$UcfxP zN>gW*O?X4BG(GhsicdP;qa@}ldfgWBbe@Z{bEvXBLxc*1WE#aDBD7GvegMxF1ngGJ zc+E*~Wsu)3k#PZ&BMJik2KbtO*W$Pb1VyPEDV`qQwYs*kLZFgY^}3*&kQ`i~eeBL% z7F4F8VQ#iJ>RCb?fjA z-}Uvjb!_(Mq-Tyxm5!^*vi5MNCtxGd_T}2U>ex{q;{L>1icBrv%Z~2vWk*hwlwJC2 zs}DjzY?YRv#hxMyWi|9S@U(rGTTur=FevHy(CtR1kl%*Jaw}6vp5`U30Pv)9mnLVq zpyBkFKRhmpJ1CN8&U&ITXD!jCXDz!+tp@W+TsM@DSWZA+AO9;~mqE0ZM1BpZx^Ej` zASgZCEMoTB&K`_#GW%(NHY+%lQ?uO9o3Xx-rKu96wq@eZ(8V2pck%J+a0G{fMh@|J zNhj;2muA>xn{mDka}mXS4Gy+Ih5sewyX4|sn8_YeGhv}E}vK10Gov+EnL2SK8G zTvbQ)rkq#!w>gIJP7YaCan+mH8I}2T5&Y4w@6~mwGn$59a$Y2^nZy-b`zR)1uc8iX z3iMi=zpT?)L*LDqf*UFYrFKRO6K-My4-*Db`kZhW2b_9|!<}yyE?53S1^!z@9B|+l zzx;E6SHJ*6%5A=a8C7`nyZN7rOOs8a!ka}!7iLGE%NJMZ$tlb}F>J{33%Otkzu^_m zdG5n)NBv-#%Ij9<#7F@Qv~NwPmCOjK59fOtbc>nknIpSDT09O5|8_HK4I9IgBhJVm zp3?We6VJJrGmA2gn>3^H*O9f`ysM#FEv{9hmE<7dE2;$-y;fj3 z@@U!MxwJTd5D)((*v2QDLO!kl!*LWD-RDGoWw8H?}YYyW)(0_dpOzwJOVsfRsy>e-ZENm zg-S=uBS?YkUbYOzE*B1X+a1);F@wOzjyt~c9m)9tkfZkU@&O>>p^s|O-~^`(mI(V8 zyg2vYI~;h(*oeubz4!t~y4a zT!tmyt8@BAp@DgP0sU`*Hp>8u3}VE~qV07jYm>>wTs=Tph^~0D*#|3f7PyU!@KlQ#g^7UMy3xXA{=*`v)^F(W$q^g_s~_J0TWQRr@EZ(B zC<2_dXwnJ$Nnk1&%3b-vavc1Rm&03R*$2wEV!_&5EnROZw=|v3R0WUw=L54%Ja_~f z@{q%l+)*tZ7wxjRPQkC8Q^P{FUNU9CgilFI&nf^LKBM=(neA(ifzgv?2+24iC$m)! zoQ&qao1{0@3l9q73FQe*P(}In6nYt#hyvA>srQ0sOFR%7G^&;~JM$cL)q1eLM=aY18ovPwQW9wXo9< z{?t!%Led7ad5>L`3<^Zf;^)unfb9X|lRw`cjqb$s*sUhx>$T>7S%ni# zTh4W_yPNC1{wyH+e4o8R7}#>f`)j~kJ7YyvLYA{82leNXSQEIspY8CKpL_%2ns`A; zn3v4@;nIH30?5$5-sc$khjaE(lT*IVd&2>IN4Zz$Ru0w-Qtx91!N+3{$|l=&tN>fl zN4Maz3q_lG&shK5XT)g2ngN4{UPWZkw|WC204*$rc}i?qqKkZviE%A`yBYSva@`x;9cc0ao;*Vq=efbiNV>)#uN%!Rx`TRP+r+?Z}0C@Y<`~q%<8^Ga#igfrhRpfOw~k&<8FdHv05> zMN`w&4`VOPK=77Bk2R8yL5&P|k4BJ6`~+hD$v-@mOSWNoN_MpZi*JE0F8ppIY|N%J zaF=Nv6hrySYd$~Fh)ImweJGHlLf>^ZYI`0M6wZL@NJov&N-uxs2W^Y>O=fOxHaM13 z6@oViy&Db{_viCO*J&fv`$t!VJ(qNbVT13&@q)1&^?KrcMY$wiw9Oy4xuPylA`f{ZjgGSKlj9M zPEsn}U=w%gp6#x2q~y{4a29&`4-9o%U1E*L()ltQ;z?xbp#O;q&9 zXR?Z|{`GPNdbY3b>m{iA3TC3fkyH^Wq6h~d3eMd5#uoP7A|kSBY}#Pgg?6NLV<>pg zHgQXL4H+9^3pBpkPIl8-MM9wwQm@LwJXTUd%FEZw=FM9Y^5Y5aya)dy)!i)AG7OjF6*UziMkE;~wK-9JYaY3~bJl%xWdR7>?hd}yHC{qtSekNvJH~SRj90^flE!g< zgyULi)n(ZihmMJ`Y^4riivv#LJz%fI&T@8xS7PObkLT9$n)#~QlxQys37Lu`k1ES1 z4;?B9hN+=x3*6$s%Qp>LSr84N^5KR-qalW6R|6Z-fjL07nGq76C4)t1rtjEOk}Hv) z-Ziig)dfv~!ewmddW*YML}ZgU8)0mjyn8dOrFX}UWS{UW#hpFEmo-}7#Z+XzbeW+M z{)DV1*G$o({mHvmALLRucqjKV4hr-u`Sf@P8#E- zsy^A#c=>u+R-%|Co!Z*rGxJUW6uVzY^|l@TSTF`u--uSLk#vV%4yn8Z%;kHZn?Wa@ zCx;)SLFH^4)YBL^wEC^{ofd~?P!{Fru`?#Mj;v9h25sO);@D#5#sGozb4iW|pj%H( z_Tpg@T3@K}iJ0K>j>6F+qrs%Y9Bi!3V(uE07?>=;}Xu{*Nz3= z9d7`IwnWJ@HytKM@Pd80(ENcnxAiycEp2=3JM}8TYvU_G+xTaGSC_7rhVYODj#R#t zFhh7O>0Nmdo+hF)%OAMJsJwJ_8l$Z|1GhoC=^bGi4DvmP=1pE=2`Y-MIn<^qKAUd^ zG=TR8gHPIm^LMYaX|@Q(1Qo^3e2*BId`QAeNN3Gz4dOlc`cFGNV-i|wBFFw=G} zy5e!U1H1x|91yZoXXGq)229YmIHdtpj^>S9nhyq;?w~5uB^pQ0QL^x7!=um6bxke| zl6g8sTIxj_6Vg};bN3Hvo;2RcGO@{S>6asud>ZfLtAe(DWJ6Hgt}L73=H@Fu7oAgg zV2M!)oI`$`?RD7dX;H7PmG*5wdBeMc`a_gG^%K(@f8id!!QIO8PtPIZ~E! zPJ4Q!w}){*Tjaw;S#ylNxWL@Rgfli61N%{Bc{lF`T$Ytv3FQF5X~e@5MDin_r@^kh z`>Lu>EXx5FDg=ixEHOLEAwVU z88nKZ1tn>)j5gw3H^c)0=v(Y*j)0H5fYxnBjp8j*k({W{@Rw%j3;liZ$8V~h{^>@{ z|4MXaACv%>INh(WvEy)_=BN0nUkkOyn1WdrQOW58RkE(4*hhAm-cZnzeS4niZTvo8Lhui41&gx z^=<$DS68$%(@jnXF_2ayywPeYg2ZX3w(U4 zs!c?CABeu|ip+F4>WQ!I!G>$6{yYW5!G>9K$)>F>-!BNeYL`p+N~-jv$Lci|rhHl& z9crF+?IwUU8TvLECO|iQK{YI-zH|*~-(4 zjGy=elRvm*KgZrD`P5&zPyg9c*o?>Y-0k+@jEWAb!egn(@s+~cYNBu#n=6FES%iZm z^UN@*X>W2P<;gQ65nd)cJ}|dcuZGaDn7gvc^jZBGr$FHAW>h%Q6Q~b_+_+KqZ z2aEfLrj>m30Ns_2W;~yfQjf~bcRf6S&xc%DR?~F8v4Sp>W-dJ5&AwFxA~>eC5pj?u zZcZ@5+~&i{*Wx88@wbOwM_8GRz98q-mRdq`Th~XSCVeuNWe^S|qo2bt+4T4{hggcQ%q9oOesDMfQ=2JJ+Wv8H2DB?3IbK0Z zMiwS&oiKcYPL{rd)aH9$61K_*e(2&ag@1c(D+VpVk*l|AHLq7BBi)5C&21eV2BiLX zi^6*?9NIl#4~m@$x9KUfTpZ*?b~XzJQyU+AyV_qiykXTk^YY#F(?#=~aMX6EmB?0x zS!Hp6ib-4TyozqVQ19}O>8|%*8+#>mUD~cb7imLRIaD!DS2S2M(H%os+S;?_WFH+Y zeQj1r(JD-aMD~1h#w^qv9ZWi$Bh%g0 z^F}HViT_~-QBp3p#vb%3l&f@kwvb0_-rt`jDxJF-VfD4uQK0I_gI=RS-#%5s<*GbZl#7=_?Fap@`&X=4J}o1v_pAkL zPR@AFFi&B_X8O={C7Gs08g=;%UwNAZV|ROVHcYMDD>7Ba#E__P&U&*a7x@yz?FC}( zB))!CVGZVfEQG7>0i5m_ekrXtBWc0201&6#JW``wJ~*R?a_VGngflQmQ>*k2f3cc# zZ9Hn}TG?}cV+kZ*0oTV%{6;>vuS<*Px=sv^ZwbS>2u`6jwEO)cch|41XE$DgUv-&p z7|x3qTPkrIZ?2R^y;EXQx5)TlHtDtgpo1_O{;GJ;pyS>wYOS(Uu>jr0ms9V-C+_JG zCn1F}S&5|!s3hnYlp;xFa&{R$_R?+qN!z%1;L`gs@2egO=bzPC7|>-)Sa3?9GX|?w zlA}9A`;Xf1q;mM$9*YTQWOp~P>G>uih|F1vhKO1&d&Lxu>=2``xsksaOYrc7csUnu zeIYl~3o>{yc^p1|D&v{2A=351A&21lLPCytYn$iG{h}8v&T;PuxLOt9%YE(Rzor4? zYsh{Jc34f^sp*Q*uMbM~GP|Nqe}05PT)oyC!EZWk9nw?ZFJ%fB;37CzwN@)0@~Y3+ zfS!qFh5At1>7J0f%` ziRofWJD;CIIDFi`W_G&b9CO#1{LSqfMbjaxTo6}UphNH)#t|4Xp8Gfo2B=mTdSBRF zFjtNi3@{K@7dE%O8h4Mbd9G-VNwe$&mvZleJI@QoGp+i|$Nd=D=bETL_7%mxjyWEy z|BR39c35lS)Q9&&Dh$P0nHULJSMl;v%%EL4b$3ZZL=&uQhH5`)F-I% z##BeveXJ+)>;>-VW*d%&0=!Z6L7%0;p66N3Cq4R}F!s$QiJ(fS#?DUfXb-lPsT>`j zu~qru5j@*-kcu*7As=vq=KE{pk}((BL?1A*jFM${%)o08#bLA+XAeFHCUFt3b<~(? z^g`Q1HpKvW!`bItMB9`IU)iZxLd&!pEm z$zp3^5xyFo+ryhPI?W@Wd(qF~q_v4kZBy$Kk(_IM*R|$xSyigIjynx3qCe=;uMz2f z0<}I5R+Xbe(MOoZ#~OU)Q}k*ZS-JZ4PeqM_B(O3Cvre|t<6o^+7v00<;S-bJKG#!! z(@!3qrHcj(!Rc4^5))5$`#=^5hjVq-c+w%`Ge59RHUtRuUvsE8AoWvB><^dhN!tjq zuyN~x?XDGJ)-`r(K`yP^gsVYjPpzs+CHyY%`Ny;TIR==$Co-^o~;F$buG(l%_|g^|eNO>Zd#`e59nX>wpB+x<4E%JSjJ=LsdU%A!XW*^T&rP z@=bMC#|DnCKF0=EhWc@B&qqiH8T6 z%QIdMY1ON`3N+k&+n)(`YrS)8=nD`&AzZV_DXS1_!Ptr(_+fX!iwxC%brA~j7>u*j zEjuVESI0_C6|Vq8@~TV|%+Ra7=m*TuN0v_k^Y_z!ayZh3rvVGcwm(0G9n2@t0)V4? z?YE<=M?O&LD5#D}N1KLKYjd~9+5_f~sAabrMC>xnp#cwh`j>_B<|SMhEMegCXvgF$ z4rfM9)q_dsj}x9vBLcjv{7zzU5UKY9R8ZTd!-v-D7qN5Ih!Lh{*%0f{1|8dOGe2-# zf_@#BB$9(}8`=IrKglsJc`CB39-BJ1#wrGPq&^>OXxQ68KG!W>AFXibKx}$l@FJDH zB0HF;$EOAg2v3^nmMzVL()8*5OVgl|E(?wW{kbnUqlco6T=p-P|I;qrw|oy)ffaJj z6mpsNrvagWV1GgZKKUc^g`4;ar0+XkgMl;sJ#bth@((`#^WQTL5gPv9D*w!6`TKDG zE1J@ObE{a)VJgW&FZ1IOxi~w!JXD#exB^V^?V|GO?)N_lNPNF5FoQ6V;vk@}Jc4z6 zq(%y~`q)l~n{?+3*f!Pw3Q&#c@@F~UxuNU4!%bR=eiFFK^M7CT|EFOS1-9s#uCyEl zUVSY6C%vkZbiZ5k!_;1Ihv~20^9^uXgO*h6yc#!b)Yc`0md?#CLpIE^j)*NXj`@!@gp@GvbqRdy4|Bdg$c**_O za^c}h9wW~s&IXywp?VOfU}~8+EZZT!T&4T|9|LgUJCE%7&S}|Xn<#uK)$Q?b7Rdw& zB)2CcVWp;=zI;-Y6&(Fc73fx3k=b%`k6ba|9Hu4-GzX38i>JSD_Rv$*U=KMXb_?tC}8nNOdAC_potXz+pcTNmu7dpQnwMLp`}i1 zLslEK1grWy5bgZC#^pbsWm{d4Im_niaFTh9I99PBDiZbj1#(>x7S~HAUXo|WpA&;~ zF{i}m`~Z>1jraZOke(o@_|ESDpnnV!LrDUcrtW-W1DP)`ZlA&Ap`R?zlfK7O84WjeXWAg?*mY7#1-@ zE@r4rNRk?`fXUblMy|3lrAR%6J=ufN{-7EA+V&J_*cH#jv>5_5#Br7rPe}b?AoUKR&}EaW8&{_yO;6mKF;4 zuI`03JRt#3Inf0;%H-1+0G_v#=4x3KT!Fa~0(0HIKIkKGkZ z{}Z1hd?g8ZoCLW=JjTYfx8upO$P%}gx@R17mrYQPkI6>E5kQ9oM@InhOwye5%<7Ee zxTg!)aFJ9D;xS9{ijjp((SBO9Q!3I<%kLgkRll!Od2zN5m`i2&#~u-ZK>kw6M+Z=h{H(HA zm|I$g5#lM1&)684G6K2zvqHs$ey5%n`5L8Vnc#0jv*w2F+tXAz0n*z|MqOD(1dHlK{rgj{8VNiU{VwvM(IYovvrRM`^^*<+iYlHECG3^qiBi$d9_V0fLEZ0 zoeunmv>ZyNWcHFNS=QNt^O|}<#MfgTV6FXpX;;${$cTK;RgG^vwg+UDp8DFsFno1v zx*gjHND8LYch4-b4Hqwe?mU4?dKMtNWI4JhY_|1m%RqH=;XZWB_dC47yDERaJ^7*h zvAKgL@gn>yHDJQ*lsIi^EuQ!cpNOy&sRLr!jpSE(8^9XD@YrL_>!v+2ujQ@|uqu3rau*-DqV@fsGSciQK z%W>1u-l;bQ1cmFZ%?I{~(_&(1A%fqttqEDkVIWC+On)cqGEo0Z0>bgy)M!6{wV!D# zVPGkyq>oQL@CC^pBV5}6$g+OXs6mD&Pw2#Rkj?+b^ff^2CIiIoG8Y(p>4|D9-@i4s zd7A%}313tE^ELVxAOHU*aSjbn6CS@J4(&y-y=4*9Y`=vxO@|>gMDBNJ$RA;ie}_{< zhCfQ&p?zL#^#Q5+4!pA(S52E9XzO8O-LB=XSXekq7b3`ulYc^$DnlZ$WM3Jyaxmf^ zrbfhnXTnet_c!+N&zgt7L6d(aX!-AL6$)byh|%pqMbE^f;&BPm9)MmmzvmwR!60X> zuACKt&|>c=SQ&xwQRUwea{!{}>($A6_RgaM-m09A*2)2FDT*-g!x8K+*dO@^eNWze zJ7y1ZrePE8rSh?ohxpZrE~Q@`WkAL9Uta4H?z4ht|1`V1sY>R9l^3$WhZwMc2=+%4 zF}aP&>ldAaTJ>Qm*n&z6F;>dakzx$AbbE4i$R7PJN&R&#P9ofAKmDnsm>0+-DE{o`m_Y7X(O- zvZ34W-8$<4EI>2enGxi$A`Do2l7(9^Nf#i@`=xFA*Vp=caltnDeJJs3LH_mPa(G~% zjYG)NbQ#j@8XoI3bN{50d@j}h;LjCFa)qFexp)d5oPgF#MguQr6%RQMXC2z^5dC-0x8fCW$8JW5?|!gCus!A|njkTn!p3-P=S- z91ub+>0QZ!t3T3T#g4eyOW!I^Xzx~Sa$qnw!t#tk8$a9(C}Z#SW%Us>AJCsfh=F@& zRE^2rt76_F#a@OYn*HY!4RC^h&ragrN9_3kJNOS<**g~?FP->5Z+H*PENk}OlYtr< z;H`Y4NZh-4+FP&AO^EhFhhK>k{zCdI@TAB5d5r_HBa*SiJ*msG%k8$GgXVx1M{00b zfLta|h4k=&0|&E|AMgNRnHauggxKyq zgLgL+h?*VxB(pc0x2SNBO~>|UkL`U9AG?&gFZPDz<&^^N)3o?>5_^KdX#QwPYe8X3 zmum0BSEE<)!~;Lj{;Cx#f@xHA+ndv*HwX2n56LFK&?hG)+1p$|`9^EFw{gKj-SZwC z930{Fm9MFpB;WhUFLQ!Vo(2Fgwe2xq3Y_8%yVyT})Bt(ilgL)s&nNr&chDtG8h~<} z^+arYtMU8mJ|Q8eJjIbJ_jC8}SuXIONgm+IR%59YaPqyMI|;j;;B+kTODZY>Kj-MT z|0%N#=4VQn<1yjy?}B>-1TT;}$Hg7{H9Nm<>b(iPUAv_U{hko+_ty>A1p*{dQN~|o z?BD+9DizSnq2kW6{<_ewo3a#xnX<7FlmG33e*QMaA%jpyir$w0?Lt3)ld%CaH8NuN x>)h-eaPWL>s!5;&f~Cp7dN3K5*PnI?4!k{lv7WOQb^!cSx~L+bEqm+X{{fl;E#?3K From 6e6f848d5516091f6c45dd4bb94addb212244c15 Mon Sep 17 00:00:00 2001 From: Cristian Recoseanu Date: Tue, 12 Dec 2023 15:21:27 +0000 Subject: [PATCH 19/22] Rename existing schema and add modify-property schema --- .../{patch-body.json => invoke-method.json} | 2 +- APIs/schemas/modify-property.json | 37 +++++++++++++++++++ 2 files changed, 38 insertions(+), 1 deletion(-) rename APIs/schemas/{patch-body.json => invoke-method.json} (96%) create mode 100644 APIs/schemas/modify-property.json diff --git a/APIs/schemas/patch-body.json b/APIs/schemas/invoke-method.json similarity index 96% rename from APIs/schemas/patch-body.json rename to APIs/schemas/invoke-method.json index 902fe54..5d07368 100644 --- a/APIs/schemas/patch-body.json +++ b/APIs/schemas/invoke-method.json @@ -2,7 +2,7 @@ "$schema": "http://json-schema.org/draft-04/schema#", "type": "object", "description": "PATCH request body for invoking a method", - "title": "PATCH request body", + "title": "Invoke method body", "required": [ "methodId" ], diff --git a/APIs/schemas/modify-property.json b/APIs/schemas/modify-property.json new file mode 100644 index 0000000..aaa7221 --- /dev/null +++ b/APIs/schemas/modify-property.json @@ -0,0 +1,37 @@ +{ + "$schema": "http://json-schema.org/draft-04/schema#", + "type": "object", + "description": "PUT request body for modyfing a property", + "title": "Modify property body", + "required": [ + "value" + ], + "properties": { + "value": { + "description": "New property value. The actual type is determined by the property's MS-05-02 datatype.", + "anyOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "integer" + }, + { + "type": "object" + }, + { + "type": "array" + }, + { + "type": "boolean" + }, + { + "type": "null" + } + ] + } + } +} \ No newline at end of file From 497435a8cd5a0837759d2693a9db8980babc2ab0 Mon Sep 17 00:00:00 2001 From: Cristian Recoseanu Date: Tue, 12 Dec 2023 15:22:17 +0000 Subject: [PATCH 20/22] Rename API messaging to API requests - split Verb and Scenario into 2 columns - add initial HTTP status mapping tables for each section --- docs/API messaging.md | 144 ------------------------------- docs/API requests.md | 194 ++++++++++++++++++++++++++++++++++++++++++ docs/README.md | 2 +- 3 files changed, 195 insertions(+), 145 deletions(-) delete mode 100644 docs/API messaging.md create mode 100644 docs/API requests.md diff --git a/docs/API messaging.md b/docs/API messaging.md deleted file mode 100644 index 9490d1c..0000000 --- a/docs/API messaging.md +++ /dev/null @@ -1,144 +0,0 @@ -# API messaging - -All message results MUST return a response which inherits from the base [NcMethodResult](https://specs.amwa.tv/ms-05-02/latest/docs/Framework.html#ncmethodresult) that contains a status of type [NcMethodStatus](https://specs.amwa.tv/ms-05-02/latest/docs/Framework.html#ncmethodstatus). If the method call encountered an error then the response result returned MUST inherit from [NcMethodResultError](https://specs.amwa.tv/ms-05-02/latest/docs/Framework.html#ncmethodresulterror) and include an errorMessage of type [NcString](https://specs.amwa.tv/ms-05-02/latest/docs/Framework.html#primitives). - -## Control session - -Concurrency control is left to specific device implementations, however devices MUST always return relevant error response messages and statuses when there are conflicts, errors or other noteworthy states (see [Error response messages](#error-response-messages)). - -## URL and query parameters usage - -The URL provided in the [IS-04 device](IS-04%20interactions.md) is used as the base URL for all subsequent requests. - -The device model of the device can be navigated by appending [NcObject roles](https://specs.amwa.tv/ms-05-02/latest/docs/NcObject.html) on top of the base URL starting from the `root block` and using `/` as the delimiter. - -It is RECOMMENDED for Device model objects roles to use `Unreserved Characters` as described in [RFC 3986 - 2.3. Unreserved Characters](https://www.ietf.org/rfc/rfc3986.txt). When `Reserved Characters` are used in an object role, they MUST be URL encoded when included in a URL. - -Device model object roles are case sensitive and thus any URLs which include them are also case sensitive as described in [RFC 7230](https://datatracker.ietf.org/doc/html/rfc7230#section-2.7.3). - -This means for a given base URL the `root` block can be targeted by using `{baseUrl}/root` as the URL. - -Query parameters MUST be used to target properties or methods for a particular object located by URL. - -This means using the base URL the [userLabel](https://specs.amwa.tv/ms-05-02/latest/docs/Framework.html#ncobject) of the `root` block can be targeted by using `{baseUrl}/root?level=1&index=6` as the URL. - -All HTTP requests map to invoking methods on the resources located by the URL. - -The following subsections define use cases for the applicable HTTP verbs where resources are located using a URL format where the following are defined: - -- baseUrl - href advertised in the controls of the [IS-04 device](IS-04%20interactions.md) -- rolePath - string obtained by appending [NcObject roles](https://specs.amwa.tv/ms-05-02/latest/docs/NcObject.html) on top of the base URL starting from the `root block` and using `/` as the delimiter -- propertyLevel - number representing the inheritance level of the class containing the property (see [Control Classes](https://specs.amwa.tv/ms-05-02/latest/docs/Framework.html#control-classes)) -- propertyIndex - number representing the index level of the property within the specified inheritance level (see [Control Classes](https://specs.amwa.tv/ms-05-02/latest/docs/Framework.html#control-classes)) - -| Verb and scenario | URL format | Condition | Body | Response | -| ------------------------------------------------------------------------- | ------------------------------------------------------------------------------ | ------------------------------------------------------------------ | --------------------------------------------------------------------------------------------------------------------| ---------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| [GET a property](#getting-a-property) | {baseUrl}/{rolePath}?level={propertyLevel}&index={propertyIndex} | The URL and query parameters target a specific object and property | N/A | [NcMethodResultPropertyValue](https://specs.amwa.tv/ms-05-02/latest/docs/Framework.html#ncmethodresultpropertyvalue) with the contents of the property | -| [GET block members](#getting-the-members-of-a-block) | {baseUrl}/{rolePath} | The URL targets a specific block | N/A | [NcMethodResultPropertyValue](https://specs.amwa.tv/ms-05-02/latest/docs/Framework.html#ncmethodresultpropertyvalue) with the contents of the `members` property | -| [GET class descriptor](#getting-the-class-descriptor-of-an-object) | {baseUrl}/{rolePath}?describe=true | The URL targets a specific object | N/A | [NcMethodResultClassDescriptor](https://specs.amwa.tv/ms-05-02/latest/docs/Framework.html#ncmethodresultclassdescriptor) | -| [GET datatype descriptor](#getting-the-datatype-descriptor-of-a-property) | {baseUrl}/{rolePath}?level={propertyLevel}&index={propertyIndex}&describe=true | The URL and query parameters target a specific object and property | N/A | [NcMethodResultDatatypeDescriptor](https://specs.amwa.tv/ms-05-02/latest/docs/Framework.html#ncmethodresultdatatypedescriptor) | -| [PUT a property](#put) | {baseUrl}/{rolePath}?level={propertyLevel}&index={propertyIndex} | The URL and query parameters target a specific object and property | N/A | [NcMethodResult](https://specs.amwa.tv/ms-05-02/latest/docs/Framework.html#ncmethodresult) | -| [PATCH invoking a method](#patch) | {baseUrl}/{rolePath} | The URL targets a specific object | [patch-body schema](https://specs.amwa.tv/is-device-configuration/branches/publish-CR/APIs/schemas/patch-body.html) | [NcMethodResult](https://specs.amwa.tv/ms-05-02/latest/docs/Framework.html#ncmethodresult) | - -## GET - -### Getting a property - -| ![Getting a property](images/getting-a-property.png) | -|:--:| -| _**Getting a property**_ | - -The URL MUST target a specific property of an object by locating the object using its role path and adding `level` and `index` query parameters. The response MUST be of type [NcMethodResultPropertyValue](https://specs.amwa.tv/ms-05-02/latest/docs/Framework.html#ncmethodresultpropertyvalue) with the contents of that property. - -This is equivalent to invoking the generic [Get method](https://specs.amwa.tv/ms-05-02/latest/docs/NcObject.html#generic-getter-and-setter) on the specific object for the required property. - -`TODO`: Capture possible HTTP status codes and NcMethodStatus values for successful response and error responses. - -### Getting the members of a block - -| ![Getting block members](images/getting-block-members.png) | -|:--:| -| _**Getting block members**_ | - -The URL MUST target a specific block object in the device model and MUST NOT contain any query parameters. Devices MUST treat this as a request to retrieve the [members](https://specs.amwa.tv/ms-05-02/latest/docs/Blocks.html#device-model-discovery) property of that block. The response MUST be of type [NcMethodResultPropertyValue](https://specs.amwa.tv/ms-05-02/latest/docs/Framework.html#ncmethodresultpropertyvalue) with the contents of the `members` property. The response MUST be the same to the one received when appending the `level` and `index` query parameters and targeting the `members` property as described in [Getting a property](#getting-a-property). - -This is equivalent to invoking the generic [Get method](https://specs.amwa.tv/ms-05-02/latest/docs/NcObject.html#generic-getter-and-setter) on the specific object for the `members` property. - -`TODO`: When the located object is not a block we just return an error response with 502 PropertyNotImplemented. - -`TODO`: Capture possible HTTP status codes and NcMethodStatus values for successful response and error responses. - -### Getting the class descriptor of an object - -| ![Getting class descriptor](images/getting-class-descriptor.png) | -|:--:| -| _**Getting class descriptor**_ | - -The URL MUST target a specific object in the device model and include the `describe=true` query parameter. Devices treat this as a request to retrieve the [class descriptor](https://specs.amwa.tv/ms-05-02/latest/docs/Framework.html#ncclassdescriptor) of that object's class and MUST return a response of type [NcMethodResultClassDescriptor](https://specs.amwa.tv/ms-05-02/latest/docs/Framework.html#ncmethodresultclassdescriptor) with a descriptor which includes all inherited elements. - -This is equivalent to invoking the [GetControlClass method](https://specs.amwa.tv/ms-05-02/latest/docs/Framework.html#ncclassmanager) on the [Class Manager object](https://specs.amwa.tv/ms-05-02/latest/docs/Managers.html#class-manager) and including all inherited elements. - -`TODO`: Capture possible HTTP status codes and NcMethodStatus values for successful response and error responses. - -### Getting the datatype descriptor of a property - -| ![Getting datatype descriptor](images/getting-datatype-descriptor.png) | -|:--:| -| _**Getting datatype descriptor**_ | - -The URL MUST target a specific property of an object by locating the object using its role path and adding `level`, `index` and `describe=true` query parameters. Devices treat this as a request to retrieve the [datatype descriptor](https://specs.amwa.tv/ms-05-02/latest/docs/Framework.html#ncdatatypedescriptor) of that property and MUST return a response of type [NcMethodResultDatatypeDescriptor](https://specs.amwa.tv/ms-05-02/latest/docs/Framework.html#ncmethodresultdatatypedescriptor) with a descriptor which includes all inherited elements. - -This is equivalent to invoking the [GetDatatype method](https://specs.amwa.tv/ms-05-02/latest/docs/Framework.html#ncclassmanager) on the [Class Manager object](https://specs.amwa.tv/ms-05-02/latest/docs/Managers.html#class-manager) and including all inherited elements. - -`TODO`: Capture possible HTTP status codes and NcMethodStatus values for successful response and error responses. - -## PUT - -| ![Putting a property](images/putting-a-property.png) | -|:--:| -| _**Putting a property**_ | - -The PUT verb MUST only be used for setting individual object properties. - -The URL MUST target a specific property of an object by locating the object using its role path and adding `level` and `index` query parameters. The response MUST be of type [NcMethodResult](https://specs.amwa.tv/ms-05-02/latest/docs/Framework.html#ncmethodresult). - -This is equivalent to invoking the generic [Set method](https://specs.amwa.tv/ms-05-02/latest/docs/NcObject.html#generic-getter-and-setter) on the specific object for the required property. - -`TODO`: Capture possible HTTP status codes and NcMethodStatus values for successful response and error responses. - -## PATCH - -| ![Invoking a method](images/invoking-a-method.png) | -|:--:| -| _**Invoking a method**_ | - -The PATCH verb MUST only be used for invoking object methods. - -The URL MUST target a specific object by locating the object using its role path. -The body of the request MUST include an object which includes a [methodId](https://specs.amwa.tv/ms-05-02/latest/docs/Framework.html#ncmethodid) with `level` and `index` followed by any arguments required by the method. - -```json -{ - "methodId": { - "level": ..., - "index": ... - }, - "arguments": { - ... - } -} -``` - -For a full schema of the required body object see the [patch-body](https://specs.amwa.tv/is-device-configuration/branches/publish-CR/APIs/schemas/patch-body.html) schema. - -The response MUST be of type [NcMethodResult](https://specs.amwa.tv/ms-05-02/latest/docs/Framework.html#ncmethodresult) or a derived type. - -This is equivalent to invoking the specified method. - -`TODO`: Capture possible HTTP status codes and NcMethodStatus values for successful response and error responses. - -## Error response messages - -When any request encounters an error, the response MUST be [NcMethodResultError](https://specs.amwa.tv/ms-05-02/latest/docs/Framework.html#ncmethodresulterror) or a derived datatype. - -`TODO`: Capture possible HTTP status codes and NcMethodStatus values for general error responses. diff --git a/docs/API requests.md b/docs/API requests.md new file mode 100644 index 0000000..0208ed6 --- /dev/null +++ b/docs/API requests.md @@ -0,0 +1,194 @@ +# API requests + +All request results MUST return a response which inherits from the base [NcMethodResult](https://specs.amwa.tv/ms-05-02/latest/docs/Framework.html#ncmethodresult) that contains a status of type [NcMethodStatus](https://specs.amwa.tv/ms-05-02/latest/docs/Framework.html#ncmethodstatus). If the method call encountered an error then the response result returned MUST inherit from [NcMethodResultError](https://specs.amwa.tv/ms-05-02/latest/docs/Framework.html#ncmethodresulterror) and include an errorMessage of type [NcString](https://specs.amwa.tv/ms-05-02/latest/docs/Framework.html#primitives). + +## Control session + +Concurrency control is left to specific device implementations, however devices MUST always return relevant error response messages and statuses when there are conflicts, errors or other noteworthy states (see [Error response messages](#error-response-messages)). + +## URL and query parameters usage + +The URL provided in the [IS-04 device](IS-04%20interactions.md) is used as the base URL for all subsequent requests. + +The device model of the device can be navigated by appending [NcObject roles](https://specs.amwa.tv/ms-05-02/latest/docs/NcObject.html) on top of the base URL starting from the `root block` and using `/` as the delimiter. + +It is RECOMMENDED for Device model objects roles to use `Unreserved Characters` as described in [RFC 3986 - 2.3. Unreserved Characters](https://www.ietf.org/rfc/rfc3986.txt). When `Reserved Characters` are used in an object role, they MUST be URL encoded when included in a URL. + +Device model object roles are case sensitive and thus any URLs which include them are also case sensitive as described in [RFC 7230](https://datatracker.ietf.org/doc/html/rfc7230#section-2.7.3). + +This means for a given base URL the `root` block can be targeted by using `{baseUrl}/root` as the URL. + +Query parameters MUST be used to target properties or methods for a particular object located by URL. + +This means using the base URL the [userLabel](https://specs.amwa.tv/ms-05-02/latest/docs/Framework.html#ncobject) of the `root` block can be targeted by using `{baseUrl}/root?level=1&index=6` as the URL. + +All HTTP requests map to invoking methods on the resources located by the URL. + +The following subsections define use cases for the applicable HTTP verbs where resources are located using a URL format where the following are defined: + +- baseUrl - href advertised in the controls of the [IS-04 device](IS-04%20interactions.md) +- rolePath - string obtained by appending [NcObject roles](https://specs.amwa.tv/ms-05-02/latest/docs/NcObject.html) on top of the base URL starting from the `root block` and using `/` as the delimiter +- propertyLevel - number representing the inheritance level of the class containing the property (see [Control Classes](https://specs.amwa.tv/ms-05-02/latest/docs/Framework.html#control-classes)) +- propertyIndex - number representing the index level of the property within the specified inheritance level (see [Control Classes](https://specs.amwa.tv/ms-05-02/latest/docs/Framework.html#control-classes)) + +| Verb | Scenario | URL format | Condition | Body | Response | +| ----- | ------------------------------------------------------------------------- | ------------------------------------------------------------------------------ | ------------------------------------------------------------------ | ----------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| GET | [Get a property](#getting-a-property) | {baseUrl}/{rolePath}?level={propertyLevel}&index={propertyIndex} | The URL and query parameters target a specific object and property | N/A | [NcMethodResultPropertyValue](https://specs.amwa.tv/ms-05-02/latest/docs/Framework.html#ncmethodresultpropertyvalue) with the contents of the property | +| GET | [Get block members](#getting-the-members-of-a-block) | {baseUrl}/{rolePath} | The URL targets a specific block | N/A | [NcMethodResultPropertyValue](https://specs.amwa.tv/ms-05-02/latest/docs/Framework.html#ncmethodresultpropertyvalue) with the contents of the `members` property | +| GET | [Get class descriptor](#getting-the-class-descriptor-of-an-object) | {baseUrl}/{rolePath}?describe=true | The URL targets a specific object | N/A | [NcMethodResultClassDescriptor](https://specs.amwa.tv/ms-05-02/latest/docs/Framework.html#ncmethodresultclassdescriptor) | +| GET | [Get datatype descriptor](#getting-the-datatype-descriptor-of-a-property) | {baseUrl}/{rolePath}?level={propertyLevel}&index={propertyIndex}&describe=true | The URL and query parameters target a specific object and property | N/A | [NcMethodResultDatatypeDescriptor](https://specs.amwa.tv/ms-05-02/latest/docs/Framework.html#ncmethodresultdatatypedescriptor) | +| PUT | [Modify a property](#put) | {baseUrl}/{rolePath}?level={propertyLevel}&index={propertyIndex} | The URL and query parameters target a specific object and property | [modify-property schema](https://specs.amwa.tv/is-device-configuration/branches/publish-CR/APIs/schemas/modify-property.html) | [NcMethodResult](https://specs.amwa.tv/ms-05-02/latest/docs/Framework.html#ncmethodresult) | +| PATCH | [Invoke a method](#patch) | {baseUrl}/{rolePath} | The URL targets a specific object | [invoke-method schema](https://specs.amwa.tv/is-device-configuration/branches/publish-CR/APIs/schemas/invoke-method.html) | [NcMethodResult](https://specs.amwa.tv/ms-05-02/latest/docs/Framework.html#ncmethodresult) | + +## GET + +### Getting a property + +| ![Getting a property](images/getting-a-property.png) | +|:--:| +| _**Getting a property**_ | + +The URL MUST target a specific property of an object by locating the object using its role path and adding `level` and `index` query parameters. The response MUST be of type [NcMethodResultPropertyValue](https://specs.amwa.tv/ms-05-02/latest/docs/Framework.html#ncmethodresultpropertyvalue) with the contents of that property. + +This is equivalent to invoking the generic [Get method](https://specs.amwa.tv/ms-05-02/latest/docs/NcObject.html#generic-getter-and-setter) on the specific object for the required property. + +The following table explains the HTTP status and NcMethodStatus codes and the relevant scenarios. + +| Scenario | HTTP status code | NcMethodStatus code | +| ---------------------------------------------------------------------------------------------------------------- | ---------------- | ------------------- | +| Request is successful | 200 | 200 | +| Object cannot be found using the offered baseUrl and rolePath | 404 | 404 | +| Object is located successfully via rolePath but the desired property located via query parameters does not exist | 404 | 502 | +| The property and object are located successfully but the value cannot be retrieved for any reason | 500 | 500 | + +### Getting the members of a block + +| ![Getting block members](images/getting-block-members.png) | +|:--:| +| _**Getting block members**_ | + +The URL MUST target a specific block object in the device model and MUST NOT contain any query parameters. Devices MUST treat this as a request to retrieve the [members](https://specs.amwa.tv/ms-05-02/latest/docs/Blocks.html#device-model-discovery) property of that block. The response MUST be of type [NcMethodResultPropertyValue](https://specs.amwa.tv/ms-05-02/latest/docs/Framework.html#ncmethodresultpropertyvalue) with the contents of the `members` property. The response MUST be the same to the one received when appending the `level` and `index` query parameters and targeting the `members` property as described in [Getting a property](#getting-a-property). + +This is equivalent to invoking the generic [Get method](https://specs.amwa.tv/ms-05-02/latest/docs/NcObject.html#generic-getter-and-setter) on the specific object for the `members` property. + +The following table explains the HTTP status and NcMethodStatus codes and the relevant scenarios. + +| Scenario | HTTP status code | NcMethodStatus code | +| -------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------- | ------------------- | +| Request is successful | 200 | 200 | +| Object cannot be found using the offered baseUrl and rolePath | 404 | 404 | +| Object is located successfully via rolePath but the desired property located via query parameters does not exist for example because the object is not a block | 404 | 502 | +| The property and object are located successfully but the value cannot be retrieved for any reason | 500 | 500 | + +### Getting the class descriptor of an object + +| ![Getting class descriptor](images/getting-class-descriptor.png) | +|:--:| +| _**Getting class descriptor**_ | + +The URL MUST target a specific object in the device model and include the `describe=true` query parameter. Devices treat this as a request to retrieve the [class descriptor](https://specs.amwa.tv/ms-05-02/latest/docs/Framework.html#ncclassdescriptor) of that object's class and MUST return a response of type [NcMethodResultClassDescriptor](https://specs.amwa.tv/ms-05-02/latest/docs/Framework.html#ncmethodresultclassdescriptor) with a descriptor which includes all inherited elements. + +This is equivalent to invoking the [GetControlClass method](https://specs.amwa.tv/ms-05-02/latest/docs/Framework.html#ncclassmanager) on the [Class Manager object](https://specs.amwa.tv/ms-05-02/latest/docs/Managers.html#class-manager) and including all inherited elements. + +The following table explains the HTTP status and NcMethodStatus codes and the relevant scenarios. + +| Scenario | HTTP status code | NcMethodStatus code | +| ------------------------------------------------------------------------------------- | ---------------- | ------------------- | +| Request is successful | 200 | 200 | +| Object cannot be found using the offered baseUrl and rolePath | 404 | 404 | +| Object is located successfully via rolePath but class descriptor cannot be retrieved | 500 | 500 | + +### Getting the datatype descriptor of a property + +| ![Getting datatype descriptor](images/getting-datatype-descriptor.png) | +|:--:| +| _**Getting datatype descriptor**_ | + +The URL MUST target a specific property of an object by locating the object using its role path and adding `level`, `index` and `describe=true` query parameters. Devices treat this as a request to retrieve the [datatype descriptor](https://specs.amwa.tv/ms-05-02/latest/docs/Framework.html#ncdatatypedescriptor) of that property and MUST return a response of type [NcMethodResultDatatypeDescriptor](https://specs.amwa.tv/ms-05-02/latest/docs/Framework.html#ncmethodresultdatatypedescriptor) with a descriptor which includes all inherited elements. + +This is equivalent to invoking the [GetDatatype method](https://specs.amwa.tv/ms-05-02/latest/docs/Framework.html#ncclassmanager) on the [Class Manager object](https://specs.amwa.tv/ms-05-02/latest/docs/Managers.html#class-manager) and including all inherited elements. + +The following table explains the HTTP status and NcMethodStatus codes and the relevant scenarios. + +| Scenario | HTTP status code | NcMethodStatus code | +| ---------------------------------------------------------------------------------------------------------------- | ---------------- | ------------------- | +| Request is successful | 200 | 200 | +| Object cannot be found using the offered baseUrl and rolePath | 404 | 404 | +| Object is located successfully via rolePath but the desired property located via query parameters does not exist | 404 | 502 | +| The property and object are located successfully but datatype descriptor cannot be retrieved for any reason | 500 | 500 | + +## PUT + +| ![Putting a property](images/putting-a-property.png) | +|:--:| +| _**Putting a property**_ | + +The PUT verb MUST only be used for setting individual object properties. + +The URL MUST target a specific property of an object by locating the object using its role path and adding `level` and `index` query parameters. The response MUST be of type [NcMethodResult](https://specs.amwa.tv/ms-05-02/latest/docs/Framework.html#ncmethodresult). + +The body of the request MUST include an object which includes the new value of the property as per the [modify-property](https://specs.amwa.tv/is-device-configuration/branches/publish-CR/APIs/schemas/modify-property.html) schema. + +This is equivalent to invoking the generic [Set method](https://specs.amwa.tv/ms-05-02/latest/docs/NcObject.html#generic-getter-and-setter) on the specific object for the required property. + +The following table explains the HTTP status and NcMethodStatus codes and the relevant scenarios. + +| Scenario | HTTP status code | NcMethodStatus code | +| ---------------------------------------------------------------------------------------------------------------- | ---------------- | ------------------- | +| Request is successful | 200 | 200 | +| Object cannot be found using the offered baseUrl and rolePath | 404 | 404 | +| Object is located successfully via rolePath but the desired property located via query parameters does not exist | 404 | 502 | +| The property and object are located successfully but the value cannot be set because it is readonly | 500 | 405 | +| The property and object are located successfully but the value cannot be set because it is not valid | 500 | 417 | +| The property and object are located successfully but the value cannot be set for any other reason | 500 | 500 | + +`TODO`: Figure out how we map deprecation statuses for properties and methods. + +`TBD`: Do we say for any other error status codes just use 500 as the HTTP status code? + +## PATCH + +| ![Invoking a method](images/invoking-a-method.png) | +|:--:| +| _**Invoking a method**_ | + +The PATCH verb MUST only be used for invoking object methods. + +The URL MUST target a specific object by locating the object using its role path. +The body of the request MUST include an object which includes a [methodId](https://specs.amwa.tv/ms-05-02/latest/docs/Framework.html#ncmethodid) with `level` and `index` followed by any arguments required by the method. + +```json +{ + "methodId": { + "level": ..., + "index": ... + }, + "arguments": { + ... + } +} +``` + +For a full schema of the required body object see the [invoke-method](https://specs.amwa.tv/is-device-configuration/branches/publish-CR/APIs/schemas/invoke-method.html) schema. + +The response MUST be of type [NcMethodResult](https://specs.amwa.tv/ms-05-02/latest/docs/Framework.html#ncmethodresult) or a derived type. + +This is equivalent to invoking the specified method. + +The following table explains the HTTP status and NcMethodStatus codes and the relevant scenarios. + +| Scenario | HTTP status code | NcMethodStatus code | +| ------------------------------------------------------------------------------------------------------------------- | ---------------- | ------------------- | +| Request is successful | 200 | 200 | +| Object cannot be found using the offered baseUrl and rolePath | 404 | 404 | +| Object is located successfully via rolePath but the desired method does not exist | 404 | 501 | +| The method and object are located successfully but the method cannot be invoked because the arguments are not valid | 500 | 417 | +| The method and object are located successfully but the method cannot be invoked because of any other reason | 500 | 500 | + +`TODO`: Figure out how we map deprecation statuses for properties and methods. + +## Error response messages + +When any request encounters an error, the response MUST be [NcMethodResultError](https://specs.amwa.tv/ms-05-02/latest/docs/Framework.html#ncmethodresulterror) or a derived datatype. + +`TODO`: Capture possible HTTP status codes and NcMethodStatus values for general error responses. diff --git a/docs/README.md b/docs/README.md index d6a3848..7b65248 100644 --- a/docs/README.md +++ b/docs/README.md @@ -6,7 +6,7 @@ - [Transport and message encoding](Transport%20and%20message%20encoding.md) - [Security and authorization](Security%20and%20authorization.md) -- [API messaging](API%20messaging.md) +- [API requests](API%20requests.md) - [Data type marshalling](Data%20type%20marshalling.md) - [IS-04 interactions](IS-04%20interactions.md) From d324b7d260004c21723d6e383d2672091c7214d1 Mon Sep 17 00:00:00 2001 From: Peter Brightwell Date: Wed, 13 Dec 2023 17:16:08 +0000 Subject: [PATCH 21/22] Assign AMWA_ID IS-14 --- .render/_config.yml | 4 ++-- README.md | 4 ++-- docs/Overview.md | 2 +- spec.yml | 10 +++++----- 4 files changed, 10 insertions(+), 10 deletions(-) diff --git a/.render/_config.yml b/.render/_config.yml index 6b057b1..3d0fcf0 100644 --- a/.render/_config.yml +++ b/.render/_config.yml @@ -5,10 +5,10 @@ plugins: spec_server: specs.amwa.tv # AMWA ID -amwa_id: IS-DEVICE-CONFIGURATION +amwa_id: IS-14 # Base name for site (typically lower case version of AMWA ID, or the repo name) -baseurl: /is-device-configuration +baseurl: /is-14 # Which release or branch appears in header links and on the home page default_tree: branches/v1.0-dev # alternatively e.g. releases/v1.0 diff --git a/README.md b/README.md index 96adb01..eac786b 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,7 @@ # \[Work In Progress\] AMWA NMOS Device Configuration Specification -[![Lint Status](https://github.com/AMWA-TV/is-device-configuration/workflows/Lint/badge.svg)](https://github.com/AMWA-TV/is-device-configuration/actions?query=workflow%3ALint) -[![Render Status](https://github.com/AMWA-TV/is-device-configuration/workflows/Render/badge.svg)](https://github.com/AMWA-TV/is-device-configuration/actions?query=workflow%3ARender) +[![Lint Status](https://github.com/AMWA-TV/is-14/workflows/Lint/badge.svg)](https://github.com/AMWA-TV/is-14/actions?query=workflow%3ALint) +[![Render Status](https://github.com/AMWA-TV/is-14/workflows/Render/badge.svg)](https://github.com/AMWA-TV/is-14/actions?query=workflow%3ARender) This repository holds the source for this Specification, part of the family of [Networked Media Open Specifications](https://specs.amwa.tv/nmos) from the [Advanced Media Workflow Association](https://amwa.tv) diff --git a/docs/Overview.md b/docs/Overview.md index 9ec0624..72aedcd 100644 --- a/docs/Overview.md +++ b/docs/Overview.md @@ -1,4 +1,4 @@ -# AMWA NMOS Device Configuration Specification: Overview +# AMWA IS-14 NMOS Device Configuration Specification: Overview {:.no_toc} * A markdown unordered list which will be replaced with the ToC, excluding the "Contents header" from above diff --git a/spec.yml b/spec.yml index c636548..b296043 100644 --- a/spec.yml +++ b/spec.yml @@ -1,10 +1,10 @@ -amwa_id: IS-DEVICE-CONFIGURATION -url: https://specs.amwa.tv/is-device-configuration -name: AMWA NMOS Device Configuration Specification +amwa_id: IS-14 +url: https://specs.amwa.tv/is-14 +name: Device Configuration status: Work In Progress -repo_name: is-device-configuration +repo_name: is-14 alt_repo_name: nmos-device-configuration -repo_url: https://github.com/AMWA-TV/is-device-configuration +repo_url: https://github.com/AMWA-TV/is-14 releases: default_branch: v1.0-dev show_in_index: false From 98f97743c0f247a9b666948936da13038434de15 Mon Sep 17 00:00:00 2001 From: Peter Brightwell Date: Wed, 13 Dec 2023 17:51:29 +0000 Subject: [PATCH 22/22] Show in index --- spec.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/spec.yml b/spec.yml index b296043..1f0c7fc 100644 --- a/spec.yml +++ b/spec.yml @@ -7,4 +7,4 @@ alt_repo_name: nmos-device-configuration repo_url: https://github.com/AMWA-TV/is-14 releases: default_branch: v1.0-dev -show_in_index: false +show_in_index: true