aws-sdk-iotwireless 1.28.0 → 1.30.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG.md +12 -0
- data/VERSION +1 -1
- data/lib/aws-sdk-iotwireless/client.rb +53 -7
- data/lib/aws-sdk-iotwireless/client_api.rb +12 -0
- data/lib/aws-sdk-iotwireless/endpoint_parameters.rb +0 -3
- data/lib/aws-sdk-iotwireless/endpoint_provider.rb +53 -96
- data/lib/aws-sdk-iotwireless/types.rb +78 -2367
- data/lib/aws-sdk-iotwireless.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 3d9a3099381e5e0df41a43711fb5563375ce43c2410deeb62cde2f2d58a2224b
|
4
|
+
data.tar.gz: f5676df5cc1a4ac3642840a18ceabb015ac182be5c5f1e239005c87cddca57ab
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 443f50e83defec76ebf872cc7980907ccc326f11aa2f31bdf4d7cec57dc2efe3c5dc24d34e5227470f02888d058e5feaedbad3d0a1b02518cf087ef59327dace
|
7
|
+
data.tar.gz: dfcb37b0b3daa471d792bbd22853458a3e5f4c796740f2e4323e0244e0db4105bfd2b62b4ed00eb4bf0f3606b0ae082d04816aff1ff74f479803a28859d87bc3
|
data/CHANGELOG.md
CHANGED
@@ -1,6 +1,18 @@
|
|
1
1
|
Unreleased Changes
|
2
2
|
------------------
|
3
3
|
|
4
|
+
1.30.0 (2023-02-23)
|
5
|
+
------------------
|
6
|
+
|
7
|
+
* Feature - In this release, we add additional capabilities for the FUOTA which allows user to configure the fragment size, the sending interval and the redundancy ratio of the FUOTA tasks
|
8
|
+
|
9
|
+
1.29.0 (2023-01-18)
|
10
|
+
------------------
|
11
|
+
|
12
|
+
* Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
|
13
|
+
|
14
|
+
* Issue - Replace runtime endpoint resolution approach with generated ruby code.
|
15
|
+
|
4
16
|
1.28.0 (2022-11-28)
|
5
17
|
------------------
|
6
18
|
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
1.
|
1
|
+
1.30.0
|
@@ -758,6 +758,23 @@ module Aws::IoTWireless
|
|
758
758
|
# The tag to attach to the specified resource. Tags are metadata that
|
759
759
|
# you can use to manage a resource.
|
760
760
|
#
|
761
|
+
# @option params [Integer] :redundancy_percent
|
762
|
+
# The percentage of added redundant fragments. For example, if firmware
|
763
|
+
# file is 100 bytes and fragment size is 10 bytes, with
|
764
|
+
# `RedundancyPercent` set to 50(%), the final number of encoded
|
765
|
+
# fragments is (100 / 10) + (100 / 10 * 50%) = 15.
|
766
|
+
#
|
767
|
+
# @option params [Integer] :fragment_size_bytes
|
768
|
+
# The size of each fragment in bytes. Currently only supported in fuota
|
769
|
+
# tasks with multicast groups.
|
770
|
+
#
|
771
|
+
# @option params [Integer] :fragment_interval_ms
|
772
|
+
# The interval of sending fragments in milliseconds. Currently the
|
773
|
+
# interval will be rounded to the nearest second. Note that this
|
774
|
+
# interval only controls the timing when the cloud sends the fragments
|
775
|
+
# down. The actual delay of receiving fragments at device side depends
|
776
|
+
# on the device's class and the communication delay with the cloud.
|
777
|
+
#
|
761
778
|
# @return [Types::CreateFuotaTaskResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
|
762
779
|
#
|
763
780
|
# * {Types::CreateFuotaTaskResponse#arn #arn} => String
|
@@ -780,6 +797,9 @@ module Aws::IoTWireless
|
|
780
797
|
# value: "TagValue", # required
|
781
798
|
# },
|
782
799
|
# ],
|
800
|
+
# redundancy_percent: 1,
|
801
|
+
# fragment_size_bytes: 1,
|
802
|
+
# fragment_interval_ms: 1,
|
783
803
|
# })
|
784
804
|
#
|
785
805
|
# @example Response structure
|
@@ -1794,6 +1814,9 @@ module Aws::IoTWireless
|
|
1794
1814
|
# * {Types::GetFuotaTaskResponse#firmware_update_image #firmware_update_image} => String
|
1795
1815
|
# * {Types::GetFuotaTaskResponse#firmware_update_role #firmware_update_role} => String
|
1796
1816
|
# * {Types::GetFuotaTaskResponse#created_at #created_at} => Time
|
1817
|
+
# * {Types::GetFuotaTaskResponse#redundancy_percent #redundancy_percent} => Integer
|
1818
|
+
# * {Types::GetFuotaTaskResponse#fragment_size_bytes #fragment_size_bytes} => Integer
|
1819
|
+
# * {Types::GetFuotaTaskResponse#fragment_interval_ms #fragment_interval_ms} => Integer
|
1797
1820
|
#
|
1798
1821
|
# @example Request syntax with placeholder values
|
1799
1822
|
#
|
@@ -1813,6 +1836,9 @@ module Aws::IoTWireless
|
|
1813
1836
|
# resp.firmware_update_image #=> String
|
1814
1837
|
# resp.firmware_update_role #=> String
|
1815
1838
|
# resp.created_at #=> Time
|
1839
|
+
# resp.redundancy_percent #=> Integer
|
1840
|
+
# resp.fragment_size_bytes #=> Integer
|
1841
|
+
# resp.fragment_interval_ms #=> Integer
|
1816
1842
|
#
|
1817
1843
|
# @overload get_fuota_task(params = {})
|
1818
1844
|
# @param [Hash] params ({})
|
@@ -2118,7 +2144,7 @@ module Aws::IoTWireless
|
|
2118
2144
|
#
|
2119
2145
|
# @option params [Time,DateTime,Date,Integer,String] :timestamp
|
2120
2146
|
# Optional information that specifies the time when the position
|
2121
|
-
# information will be resolved. It uses the
|
2147
|
+
# information will be resolved. It uses the Unix timestamp format. If
|
2122
2148
|
# not specified, the time at which the request was received will be
|
2123
2149
|
# used.
|
2124
2150
|
#
|
@@ -2367,7 +2393,7 @@ module Aws::IoTWireless
|
|
2367
2393
|
end
|
2368
2394
|
|
2369
2395
|
# Get the position information for a given wireless device or a wireless
|
2370
|
-
# gateway resource. The
|
2396
|
+
# gateway resource. The position information uses the [ World Geodetic
|
2371
2397
|
# System (WGS84)][1].
|
2372
2398
|
#
|
2373
2399
|
#
|
@@ -2376,8 +2402,8 @@ module Aws::IoTWireless
|
|
2376
2402
|
#
|
2377
2403
|
# @option params [required, String] :resource_identifier
|
2378
2404
|
# The identifier of the resource for which position information is
|
2379
|
-
# retrieved. It can be the wireless device ID or the wireless gateway
|
2380
|
-
# depending on the resource type.
|
2405
|
+
# retrieved. It can be the wireless device ID or the wireless gateway
|
2406
|
+
# ID, depending on the resource type.
|
2381
2407
|
#
|
2382
2408
|
# @option params [required, String] :resource_type
|
2383
2409
|
# The type of resource for which position information is retrieved,
|
@@ -4062,6 +4088,23 @@ module Aws::IoTWireless
|
|
4062
4088
|
# @option params [String] :firmware_update_role
|
4063
4089
|
# The firmware update role that is to be used with a FUOTA task.
|
4064
4090
|
#
|
4091
|
+
# @option params [Integer] :redundancy_percent
|
4092
|
+
# The percentage of added redundant fragments. For example, if firmware
|
4093
|
+
# file is 100 bytes and fragment size is 10 bytes, with
|
4094
|
+
# `RedundancyPercent` set to 50(%), the final number of encoded
|
4095
|
+
# fragments is (100 / 10) + (100 / 10 * 50%) = 15.
|
4096
|
+
#
|
4097
|
+
# @option params [Integer] :fragment_size_bytes
|
4098
|
+
# The size of each fragment in bytes. Currently only supported in fuota
|
4099
|
+
# tasks with multicast groups.
|
4100
|
+
#
|
4101
|
+
# @option params [Integer] :fragment_interval_ms
|
4102
|
+
# The interval of sending fragments in milliseconds. Currently the
|
4103
|
+
# interval will be rounded to the nearest second. Note that this
|
4104
|
+
# interval only controls the timing when the cloud sends the fragments
|
4105
|
+
# down. The actual delay of receiving fragments at device side depends
|
4106
|
+
# on the device's class and the communication delay with the cloud.
|
4107
|
+
#
|
4065
4108
|
# @return [Struct] Returns an empty {Seahorse::Client::Response response}.
|
4066
4109
|
#
|
4067
4110
|
# @example Request syntax with placeholder values
|
@@ -4075,6 +4118,9 @@ module Aws::IoTWireless
|
|
4075
4118
|
# },
|
4076
4119
|
# firmware_update_image: "FirmwareUpdateImage",
|
4077
4120
|
# firmware_update_role: "FirmwareUpdateRole",
|
4121
|
+
# redundancy_percent: 1,
|
4122
|
+
# fragment_size_bytes: 1,
|
4123
|
+
# fragment_interval_ms: 1,
|
4078
4124
|
# })
|
4079
4125
|
#
|
4080
4126
|
# @overload update_fuota_task(params = {})
|
@@ -4371,7 +4417,7 @@ module Aws::IoTWireless
|
|
4371
4417
|
end
|
4372
4418
|
|
4373
4419
|
# Update the position information of a given wireless device or a
|
4374
|
-
# wireless gateway resource. The
|
4420
|
+
# wireless gateway resource. The position coordinates are based on the [
|
4375
4421
|
# World Geodetic System (WGS84)][1].
|
4376
4422
|
#
|
4377
4423
|
#
|
@@ -4380,7 +4426,7 @@ module Aws::IoTWireless
|
|
4380
4426
|
#
|
4381
4427
|
# @option params [required, String] :resource_identifier
|
4382
4428
|
# The identifier of the resource for which position information is
|
4383
|
-
# updated. It can be the wireless device ID or the wireless gateway ID
|
4429
|
+
# updated. It can be the wireless device ID or the wireless gateway ID,
|
4384
4430
|
# depending on the resource type.
|
4385
4431
|
#
|
4386
4432
|
# @option params [required, String] :resource_type
|
@@ -4530,7 +4576,7 @@ module Aws::IoTWireless
|
|
4530
4576
|
params: params,
|
4531
4577
|
config: config)
|
4532
4578
|
context[:gem_name] = 'aws-sdk-iotwireless'
|
4533
|
-
context[:gem_version] = '1.
|
4579
|
+
context[:gem_version] = '1.30.0'
|
4534
4580
|
Seahorse::Client::Request.new(handlers, context)
|
4535
4581
|
end
|
4536
4582
|
|
@@ -189,6 +189,8 @@ module Aws::IoTWireless
|
|
189
189
|
Fingerprint = Shapes::StringShape.new(name: 'Fingerprint')
|
190
190
|
FirmwareUpdateImage = Shapes::StringShape.new(name: 'FirmwareUpdateImage')
|
191
191
|
FirmwareUpdateRole = Shapes::StringShape.new(name: 'FirmwareUpdateRole')
|
192
|
+
FragmentIntervalMS = Shapes::IntegerShape.new(name: 'FragmentIntervalMS')
|
193
|
+
FragmentSizeBytes = Shapes::IntegerShape.new(name: 'FragmentSizeBytes')
|
192
194
|
FuotaDeviceStatus = Shapes::StringShape.new(name: 'FuotaDeviceStatus')
|
193
195
|
FuotaTask = Shapes::StructureShape.new(name: 'FuotaTask')
|
194
196
|
FuotaTaskArn = Shapes::StringShape.new(name: 'FuotaTaskArn')
|
@@ -427,6 +429,7 @@ module Aws::IoTWireless
|
|
427
429
|
RSRQ = Shapes::FloatShape.new(name: 'RSRQ')
|
428
430
|
RSS = Shapes::IntegerShape.new(name: 'RSS')
|
429
431
|
RaAllowed = Shapes::BooleanShape.new(name: 'RaAllowed')
|
432
|
+
RedundancyPercent = Shapes::IntegerShape.new(name: 'RedundancyPercent')
|
430
433
|
RegParamsRevision = Shapes::StringShape.new(name: 'RegParamsRevision')
|
431
434
|
RegistrationZone = Shapes::IntegerShape.new(name: 'RegistrationZone')
|
432
435
|
ReportDevStatusBattery = Shapes::BooleanShape.new(name: 'ReportDevStatusBattery')
|
@@ -765,6 +768,9 @@ module Aws::IoTWireless
|
|
765
768
|
CreateFuotaTaskRequest.add_member(:firmware_update_image, Shapes::ShapeRef.new(shape: FirmwareUpdateImage, required: true, location_name: "FirmwareUpdateImage"))
|
766
769
|
CreateFuotaTaskRequest.add_member(:firmware_update_role, Shapes::ShapeRef.new(shape: FirmwareUpdateRole, required: true, location_name: "FirmwareUpdateRole"))
|
767
770
|
CreateFuotaTaskRequest.add_member(:tags, Shapes::ShapeRef.new(shape: TagList, location_name: "Tags"))
|
771
|
+
CreateFuotaTaskRequest.add_member(:redundancy_percent, Shapes::ShapeRef.new(shape: RedundancyPercent, location_name: "RedundancyPercent"))
|
772
|
+
CreateFuotaTaskRequest.add_member(:fragment_size_bytes, Shapes::ShapeRef.new(shape: FragmentSizeBytes, location_name: "FragmentSizeBytes"))
|
773
|
+
CreateFuotaTaskRequest.add_member(:fragment_interval_ms, Shapes::ShapeRef.new(shape: FragmentIntervalMS, location_name: "FragmentIntervalMS"))
|
768
774
|
CreateFuotaTaskRequest.struct_class = Types::CreateFuotaTaskRequest
|
769
775
|
|
770
776
|
CreateFuotaTaskResponse.add_member(:arn, Shapes::ShapeRef.new(shape: FuotaTaskArn, location_name: "Arn"))
|
@@ -1057,6 +1063,9 @@ module Aws::IoTWireless
|
|
1057
1063
|
GetFuotaTaskResponse.add_member(:firmware_update_image, Shapes::ShapeRef.new(shape: FirmwareUpdateImage, location_name: "FirmwareUpdateImage"))
|
1058
1064
|
GetFuotaTaskResponse.add_member(:firmware_update_role, Shapes::ShapeRef.new(shape: FirmwareUpdateRole, location_name: "FirmwareUpdateRole"))
|
1059
1065
|
GetFuotaTaskResponse.add_member(:created_at, Shapes::ShapeRef.new(shape: CreatedAt, location_name: "CreatedAt"))
|
1066
|
+
GetFuotaTaskResponse.add_member(:redundancy_percent, Shapes::ShapeRef.new(shape: RedundancyPercent, location_name: "RedundancyPercent"))
|
1067
|
+
GetFuotaTaskResponse.add_member(:fragment_size_bytes, Shapes::ShapeRef.new(shape: FragmentSizeBytes, location_name: "FragmentSizeBytes"))
|
1068
|
+
GetFuotaTaskResponse.add_member(:fragment_interval_ms, Shapes::ShapeRef.new(shape: FragmentIntervalMS, location_name: "FragmentIntervalMS"))
|
1060
1069
|
GetFuotaTaskResponse.struct_class = Types::GetFuotaTaskResponse
|
1061
1070
|
|
1062
1071
|
GetLogLevelsByResourceTypesRequest.struct_class = Types::GetLogLevelsByResourceTypesRequest
|
@@ -1937,6 +1946,9 @@ module Aws::IoTWireless
|
|
1937
1946
|
UpdateFuotaTaskRequest.add_member(:lo_ra_wan, Shapes::ShapeRef.new(shape: LoRaWANFuotaTask, location_name: "LoRaWAN"))
|
1938
1947
|
UpdateFuotaTaskRequest.add_member(:firmware_update_image, Shapes::ShapeRef.new(shape: FirmwareUpdateImage, location_name: "FirmwareUpdateImage"))
|
1939
1948
|
UpdateFuotaTaskRequest.add_member(:firmware_update_role, Shapes::ShapeRef.new(shape: FirmwareUpdateRole, location_name: "FirmwareUpdateRole"))
|
1949
|
+
UpdateFuotaTaskRequest.add_member(:redundancy_percent, Shapes::ShapeRef.new(shape: RedundancyPercent, location_name: "RedundancyPercent"))
|
1950
|
+
UpdateFuotaTaskRequest.add_member(:fragment_size_bytes, Shapes::ShapeRef.new(shape: FragmentSizeBytes, location_name: "FragmentSizeBytes"))
|
1951
|
+
UpdateFuotaTaskRequest.add_member(:fragment_interval_ms, Shapes::ShapeRef.new(shape: FragmentIntervalMS, location_name: "FragmentIntervalMS"))
|
1940
1952
|
UpdateFuotaTaskRequest.struct_class = Types::UpdateFuotaTaskRequest
|
1941
1953
|
|
1942
1954
|
UpdateFuotaTaskResponse.struct_class = Types::UpdateFuotaTaskResponse
|
@@ -50,9 +50,6 @@ module Aws::IoTWireless
|
|
50
50
|
|
51
51
|
def initialize(options = {})
|
52
52
|
self[:region] = options[:region]
|
53
|
-
if self[:region].nil?
|
54
|
-
raise ArgumentError, "Missing required EndpointParameter: :region"
|
55
|
-
end
|
56
53
|
self[:use_dual_stack] = options[:use_dual_stack]
|
57
54
|
self[:use_dual_stack] = false if self[:use_dual_stack].nil?
|
58
55
|
if self[:use_dual_stack].nil?
|
@@ -9,104 +9,61 @@
|
|
9
9
|
|
10
10
|
module Aws::IoTWireless
|
11
11
|
class EndpointProvider
|
12
|
-
def
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
12
|
+
def resolve_endpoint(parameters)
|
13
|
+
region = parameters.region
|
14
|
+
use_dual_stack = parameters.use_dual_stack
|
15
|
+
use_fips = parameters.use_fips
|
16
|
+
endpoint = parameters.endpoint
|
17
|
+
if Aws::Endpoints::Matchers.set?(endpoint)
|
18
|
+
if Aws::Endpoints::Matchers.boolean_equals?(use_fips, true)
|
19
|
+
raise ArgumentError, "Invalid Configuration: FIPS and custom endpoint are not supported"
|
20
|
+
end
|
21
|
+
if Aws::Endpoints::Matchers.boolean_equals?(use_dual_stack, true)
|
22
|
+
raise ArgumentError, "Invalid Configuration: Dualstack and custom endpoint are not supported"
|
23
|
+
end
|
24
|
+
return Aws::Endpoints::Endpoint.new(url: endpoint, headers: {}, properties: {})
|
21
25
|
end
|
22
|
-
|
23
|
-
|
26
|
+
if Aws::Endpoints::Matchers.set?(region)
|
27
|
+
if (partition_result = Aws::Endpoints::Matchers.aws_partition(region))
|
28
|
+
if Aws::Endpoints::Matchers.boolean_equals?(use_fips, true) && Aws::Endpoints::Matchers.boolean_equals?(use_dual_stack, true)
|
29
|
+
if Aws::Endpoints::Matchers.boolean_equals?(true, Aws::Endpoints::Matchers.attr(partition_result, "supportsFIPS")) && Aws::Endpoints::Matchers.boolean_equals?(true, Aws::Endpoints::Matchers.attr(partition_result, "supportsDualStack"))
|
30
|
+
return Aws::Endpoints::Endpoint.new(url: "https://api.iotwireless-fips.#{region}.#{partition_result['dualStackDnsSuffix']}", headers: {}, properties: {})
|
31
|
+
end
|
32
|
+
raise ArgumentError, "FIPS and DualStack are enabled, but this partition does not support one or both"
|
33
|
+
end
|
34
|
+
if Aws::Endpoints::Matchers.boolean_equals?(use_fips, true)
|
35
|
+
if Aws::Endpoints::Matchers.boolean_equals?(true, Aws::Endpoints::Matchers.attr(partition_result, "supportsFIPS"))
|
36
|
+
return Aws::Endpoints::Endpoint.new(url: "https://api.iotwireless-fips.#{region}.#{partition_result['dnsSuffix']}", headers: {}, properties: {})
|
37
|
+
end
|
38
|
+
raise ArgumentError, "FIPS is enabled but this partition does not support FIPS"
|
39
|
+
end
|
40
|
+
if Aws::Endpoints::Matchers.boolean_equals?(use_dual_stack, true)
|
41
|
+
if Aws::Endpoints::Matchers.boolean_equals?(true, Aws::Endpoints::Matchers.attr(partition_result, "supportsDualStack"))
|
42
|
+
return Aws::Endpoints::Endpoint.new(url: "https://api.iotwireless.#{region}.#{partition_result['dualStackDnsSuffix']}", headers: {}, properties: {})
|
43
|
+
end
|
44
|
+
raise ArgumentError, "DualStack is enabled but this partition does not support DualStack"
|
45
|
+
end
|
46
|
+
if Aws::Endpoints::Matchers.string_equals?(region, "ap-northeast-1")
|
47
|
+
return Aws::Endpoints::Endpoint.new(url: "https://api.iotwireless.ap-northeast-1.amazonaws.com", headers: {}, properties: {})
|
48
|
+
end
|
49
|
+
if Aws::Endpoints::Matchers.string_equals?(region, "ap-southeast-2")
|
50
|
+
return Aws::Endpoints::Endpoint.new(url: "https://api.iotwireless.ap-southeast-2.amazonaws.com", headers: {}, properties: {})
|
51
|
+
end
|
52
|
+
if Aws::Endpoints::Matchers.string_equals?(region, "eu-west-1")
|
53
|
+
return Aws::Endpoints::Endpoint.new(url: "https://api.iotwireless.eu-west-1.amazonaws.com", headers: {}, properties: {})
|
54
|
+
end
|
55
|
+
if Aws::Endpoints::Matchers.string_equals?(region, "us-east-1")
|
56
|
+
return Aws::Endpoints::Endpoint.new(url: "https://api.iotwireless.us-east-1.amazonaws.com", headers: {}, properties: {})
|
57
|
+
end
|
58
|
+
if Aws::Endpoints::Matchers.string_equals?(region, "us-west-2")
|
59
|
+
return Aws::Endpoints::Endpoint.new(url: "https://api.iotwireless.us-west-2.amazonaws.com", headers: {}, properties: {})
|
60
|
+
end
|
61
|
+
return Aws::Endpoints::Endpoint.new(url: "https://api.iotwireless.#{region}.#{partition_result['dnsSuffix']}", headers: {}, properties: {})
|
62
|
+
end
|
63
|
+
end
|
64
|
+
raise ArgumentError, "Invalid Configuration: Missing Region"
|
65
|
+
raise ArgumentError, 'No endpoint could be resolved'
|
24
66
|
|
25
|
-
def resolve_endpoint(parameters)
|
26
|
-
@provider.resolve_endpoint(parameters)
|
27
67
|
end
|
28
|
-
|
29
|
-
# @api private
|
30
|
-
RULES = <<-JSON
|
31
|
-
eyJ2ZXJzaW9uIjoiMS4wIiwicGFyYW1ldGVycyI6eyJSZWdpb24iOnsiYnVp
|
32
|
-
bHRJbiI6IkFXUzo6UmVnaW9uIiwicmVxdWlyZWQiOnRydWUsImRvY3VtZW50
|
33
|
-
YXRpb24iOiJUaGUgQVdTIHJlZ2lvbiB1c2VkIHRvIGRpc3BhdGNoIHRoZSBy
|
34
|
-
ZXF1ZXN0LiIsInR5cGUiOiJTdHJpbmcifSwiVXNlRHVhbFN0YWNrIjp7ImJ1
|
35
|
-
aWx0SW4iOiJBV1M6OlVzZUR1YWxTdGFjayIsInJlcXVpcmVkIjp0cnVlLCJk
|
36
|
-
ZWZhdWx0IjpmYWxzZSwiZG9jdW1lbnRhdGlvbiI6IldoZW4gdHJ1ZSwgdXNl
|
37
|
-
IHRoZSBkdWFsLXN0YWNrIGVuZHBvaW50LiBJZiB0aGUgY29uZmlndXJlZCBl
|
38
|
-
bmRwb2ludCBkb2VzIG5vdCBzdXBwb3J0IGR1YWwtc3RhY2ssIGRpc3BhdGNo
|
39
|
-
aW5nIHRoZSByZXF1ZXN0IE1BWSByZXR1cm4gYW4gZXJyb3IuIiwidHlwZSI6
|
40
|
-
IkJvb2xlYW4ifSwiVXNlRklQUyI6eyJidWlsdEluIjoiQVdTOjpVc2VGSVBT
|
41
|
-
IiwicmVxdWlyZWQiOnRydWUsImRlZmF1bHQiOmZhbHNlLCJkb2N1bWVudGF0
|
42
|
-
aW9uIjoiV2hlbiB0cnVlLCBzZW5kIHRoaXMgcmVxdWVzdCB0byB0aGUgRklQ
|
43
|
-
Uy1jb21wbGlhbnQgcmVnaW9uYWwgZW5kcG9pbnQuIElmIHRoZSBjb25maWd1
|
44
|
-
cmVkIGVuZHBvaW50IGRvZXMgbm90IGhhdmUgYSBGSVBTIGNvbXBsaWFudCBl
|
45
|
-
bmRwb2ludCwgZGlzcGF0Y2hpbmcgdGhlIHJlcXVlc3Qgd2lsbCByZXR1cm4g
|
46
|
-
YW4gZXJyb3IuIiwidHlwZSI6IkJvb2xlYW4ifSwiRW5kcG9pbnQiOnsiYnVp
|
47
|
-
bHRJbiI6IlNESzo6RW5kcG9pbnQiLCJyZXF1aXJlZCI6ZmFsc2UsImRvY3Vt
|
48
|
-
ZW50YXRpb24iOiJPdmVycmlkZSB0aGUgZW5kcG9pbnQgdXNlZCB0byBzZW5k
|
49
|
-
IHRoaXMgcmVxdWVzdCIsInR5cGUiOiJTdHJpbmcifX0sInJ1bGVzIjpbeyJj
|
50
|
-
b25kaXRpb25zIjpbeyJmbiI6ImF3cy5wYXJ0aXRpb24iLCJhcmd2IjpbeyJy
|
51
|
-
ZWYiOiJSZWdpb24ifV0sImFzc2lnbiI6IlBhcnRpdGlvblJlc3VsdCJ9XSwi
|
52
|
-
dHlwZSI6InRyZWUiLCJydWxlcyI6W3siY29uZGl0aW9ucyI6W3siZm4iOiJp
|
53
|
-
c1NldCIsImFyZ3YiOlt7InJlZiI6IkVuZHBvaW50In1dfSx7ImZuIjoicGFy
|
54
|
-
c2VVUkwiLCJhcmd2IjpbeyJyZWYiOiJFbmRwb2ludCJ9XSwiYXNzaWduIjoi
|
55
|
-
dXJsIn1dLCJ0eXBlIjoidHJlZSIsInJ1bGVzIjpbeyJjb25kaXRpb25zIjpb
|
56
|
-
eyJmbiI6ImJvb2xlYW5FcXVhbHMiLCJhcmd2IjpbeyJyZWYiOiJVc2VGSVBT
|
57
|
-
In0sdHJ1ZV19XSwiZXJyb3IiOiJJbnZhbGlkIENvbmZpZ3VyYXRpb246IEZJ
|
58
|
-
UFMgYW5kIGN1c3RvbSBlbmRwb2ludCBhcmUgbm90IHN1cHBvcnRlZCIsInR5
|
59
|
-
cGUiOiJlcnJvciJ9LHsiY29uZGl0aW9ucyI6W10sInR5cGUiOiJ0cmVlIiwi
|
60
|
-
cnVsZXMiOlt7ImNvbmRpdGlvbnMiOlt7ImZuIjoiYm9vbGVhbkVxdWFscyIs
|
61
|
-
ImFyZ3YiOlt7InJlZiI6IlVzZUR1YWxTdGFjayJ9LHRydWVdfV0sImVycm9y
|
62
|
-
IjoiSW52YWxpZCBDb25maWd1cmF0aW9uOiBEdWFsc3RhY2sgYW5kIGN1c3Rv
|
63
|
-
bSBlbmRwb2ludCBhcmUgbm90IHN1cHBvcnRlZCIsInR5cGUiOiJlcnJvciJ9
|
64
|
-
LHsiY29uZGl0aW9ucyI6W10sImVuZHBvaW50Ijp7InVybCI6eyJyZWYiOiJF
|
65
|
-
bmRwb2ludCJ9LCJwcm9wZXJ0aWVzIjp7fSwiaGVhZGVycyI6e319LCJ0eXBl
|
66
|
-
IjoiZW5kcG9pbnQifV19XX0seyJjb25kaXRpb25zIjpbeyJmbiI6ImJvb2xl
|
67
|
-
YW5FcXVhbHMiLCJhcmd2IjpbeyJyZWYiOiJVc2VGSVBTIn0sdHJ1ZV19LHsi
|
68
|
-
Zm4iOiJib29sZWFuRXF1YWxzIiwiYXJndiI6W3sicmVmIjoiVXNlRHVhbFN0
|
69
|
-
YWNrIn0sdHJ1ZV19XSwidHlwZSI6InRyZWUiLCJydWxlcyI6W3siY29uZGl0
|
70
|
-
aW9ucyI6W3siZm4iOiJib29sZWFuRXF1YWxzIiwiYXJndiI6W3RydWUseyJm
|
71
|
-
biI6ImdldEF0dHIiLCJhcmd2IjpbeyJyZWYiOiJQYXJ0aXRpb25SZXN1bHQi
|
72
|
-
fSwic3VwcG9ydHNGSVBTIl19XX0seyJmbiI6ImJvb2xlYW5FcXVhbHMiLCJh
|
73
|
-
cmd2IjpbdHJ1ZSx7ImZuIjoiZ2V0QXR0ciIsImFyZ3YiOlt7InJlZiI6IlBh
|
74
|
-
cnRpdGlvblJlc3VsdCJ9LCJzdXBwb3J0c0R1YWxTdGFjayJdfV19XSwidHlw
|
75
|
-
ZSI6InRyZWUiLCJydWxlcyI6W3siY29uZGl0aW9ucyI6W10sImVuZHBvaW50
|
76
|
-
Ijp7InVybCI6Imh0dHBzOi8vYXBpLmlvdHdpcmVsZXNzLWZpcHMue1JlZ2lv
|
77
|
-
bn0ue1BhcnRpdGlvblJlc3VsdCNkdWFsU3RhY2tEbnNTdWZmaXh9IiwicHJv
|
78
|
-
cGVydGllcyI6e30sImhlYWRlcnMiOnt9fSwidHlwZSI6ImVuZHBvaW50In1d
|
79
|
-
fSx7ImNvbmRpdGlvbnMiOltdLCJlcnJvciI6IkZJUFMgYW5kIER1YWxTdGFj
|
80
|
-
ayBhcmUgZW5hYmxlZCwgYnV0IHRoaXMgcGFydGl0aW9uIGRvZXMgbm90IHN1
|
81
|
-
cHBvcnQgb25lIG9yIGJvdGgiLCJ0eXBlIjoiZXJyb3IifV19LHsiY29uZGl0
|
82
|
-
aW9ucyI6W3siZm4iOiJib29sZWFuRXF1YWxzIiwiYXJndiI6W3sicmVmIjoi
|
83
|
-
VXNlRklQUyJ9LHRydWVdfV0sInR5cGUiOiJ0cmVlIiwicnVsZXMiOlt7ImNv
|
84
|
-
bmRpdGlvbnMiOlt7ImZuIjoiYm9vbGVhbkVxdWFscyIsImFyZ3YiOlt0cnVl
|
85
|
-
LHsiZm4iOiJnZXRBdHRyIiwiYXJndiI6W3sicmVmIjoiUGFydGl0aW9uUmVz
|
86
|
-
dWx0In0sInN1cHBvcnRzRklQUyJdfV19XSwidHlwZSI6InRyZWUiLCJydWxl
|
87
|
-
cyI6W3siY29uZGl0aW9ucyI6W10sInR5cGUiOiJ0cmVlIiwicnVsZXMiOlt7
|
88
|
-
ImNvbmRpdGlvbnMiOltdLCJlbmRwb2ludCI6eyJ1cmwiOiJodHRwczovL2Fw
|
89
|
-
aS5pb3R3aXJlbGVzcy1maXBzLntSZWdpb259LntQYXJ0aXRpb25SZXN1bHQj
|
90
|
-
ZG5zU3VmZml4fSIsInByb3BlcnRpZXMiOnt9LCJoZWFkZXJzIjp7fX0sInR5
|
91
|
-
cGUiOiJlbmRwb2ludCJ9XX1dfSx7ImNvbmRpdGlvbnMiOltdLCJlcnJvciI6
|
92
|
-
IkZJUFMgaXMgZW5hYmxlZCBidXQgdGhpcyBwYXJ0aXRpb24gZG9lcyBub3Qg
|
93
|
-
c3VwcG9ydCBGSVBTIiwidHlwZSI6ImVycm9yIn1dfSx7ImNvbmRpdGlvbnMi
|
94
|
-
Olt7ImZuIjoiYm9vbGVhbkVxdWFscyIsImFyZ3YiOlt7InJlZiI6IlVzZUR1
|
95
|
-
YWxTdGFjayJ9LHRydWVdfV0sInR5cGUiOiJ0cmVlIiwicnVsZXMiOlt7ImNv
|
96
|
-
bmRpdGlvbnMiOlt7ImZuIjoiYm9vbGVhbkVxdWFscyIsImFyZ3YiOlt0cnVl
|
97
|
-
LHsiZm4iOiJnZXRBdHRyIiwiYXJndiI6W3sicmVmIjoiUGFydGl0aW9uUmVz
|
98
|
-
dWx0In0sInN1cHBvcnRzRHVhbFN0YWNrIl19XX1dLCJ0eXBlIjoidHJlZSIs
|
99
|
-
InJ1bGVzIjpbeyJjb25kaXRpb25zIjpbXSwiZW5kcG9pbnQiOnsidXJsIjoi
|
100
|
-
aHR0cHM6Ly9hcGkuaW90d2lyZWxlc3Mue1JlZ2lvbn0ue1BhcnRpdGlvblJl
|
101
|
-
c3VsdCNkdWFsU3RhY2tEbnNTdWZmaXh9IiwicHJvcGVydGllcyI6e30sImhl
|
102
|
-
YWRlcnMiOnt9fSwidHlwZSI6ImVuZHBvaW50In1dfSx7ImNvbmRpdGlvbnMi
|
103
|
-
OltdLCJlcnJvciI6IkR1YWxTdGFjayBpcyBlbmFibGVkIGJ1dCB0aGlzIHBh
|
104
|
-
cnRpdGlvbiBkb2VzIG5vdCBzdXBwb3J0IER1YWxTdGFjayIsInR5cGUiOiJl
|
105
|
-
cnJvciJ9XX0seyJjb25kaXRpb25zIjpbXSwiZW5kcG9pbnQiOnsidXJsIjoi
|
106
|
-
aHR0cHM6Ly9hcGkuaW90d2lyZWxlc3Mue1JlZ2lvbn0ue1BhcnRpdGlvblJl
|
107
|
-
c3VsdCNkbnNTdWZmaXh9IiwicHJvcGVydGllcyI6e30sImhlYWRlcnMiOnt9
|
108
|
-
fSwidHlwZSI6ImVuZHBvaW50In1dfV19
|
109
|
-
|
110
|
-
JSON
|
111
68
|
end
|
112
69
|
end
|