aws-sdk-fsx 1.62.0 → 1.64.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 71bea9630d2e3b62ca8e06a67ab9a6441b24cc658dac607961965954060657d8
4
- data.tar.gz: f2eab074493ddd6554907d452257552a8b514defe856e8661d7fc3c90a40cc2c
3
+ metadata.gz: 732f4df9cc23c7857422e6619e9c6f3141b77896df860abc022f6e7799d5a557
4
+ data.tar.gz: b9b6417505727d7f96a42538c04a97798c162b6e67d60ee179e6f5d83ba8568f
5
5
  SHA512:
6
- metadata.gz: 573f0a412e0a0ea90878ce5a3eeab99ae4eee2715e3c1246d37a720789649e164aef479639c8be00fd47cfd0d67d103fcf027ff80525ed7cc433d4312bc3c222
7
- data.tar.gz: 2c40b304ec6ab5f38c69ce9538efc06d903ef02a84030c9912fd7330568e7529f3d2d7079cbcd48759c8fad029f66421cc39001d9d84dcd6dbccf24dfb07d25d
6
+ metadata.gz: ed5c7de840b9c3f72dbcedee07262348b4a10217b0f9c005e88ff493c3379dce075f26fbd5f5bd49a507ca050c72039284ade07e294bf593aa4c5e6b1b0f9358
7
+ data.tar.gz: 4eba9ccd3c4db42e07f1ba0d329cfb283edd42a15aa6579cdf970468e0068a7e2b0f06609a3cef53d009b2460652d745f578bd536c622434e114350633ee218a
data/CHANGELOG.md CHANGED
@@ -1,6 +1,18 @@
1
1
  Unreleased Changes
2
2
  ------------------
3
3
 
4
+ 1.64.0 (2023-01-18)
5
+ ------------------
6
+
7
+ * Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
8
+
9
+ * Issue - Replace runtime endpoint resolution approach with generated ruby code.
10
+
11
+ 1.63.0 (2022-12-23)
12
+ ------------------
13
+
14
+ * Feature - Fix a bug where a recent release might break certain existing SDKs.
15
+
4
16
  1.62.0 (2022-11-29)
5
17
  ------------------
6
18
 
@@ -320,4 +332,4 @@ Unreleased Changes
320
332
  1.0.0 (2018-11-28)
321
333
  ------------------
322
334
 
323
- * Feature - Initial release of `aws-sdk-fsx`.
335
+ * Feature - Initial release of `aws-sdk-fsx`.
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.62.0
1
+ 1.64.0
@@ -3376,6 +3376,7 @@ module Aws::FSx
3376
3376
  # resp.storage_virtual_machine.name #=> String
3377
3377
  # resp.storage_virtual_machine.resource_arn #=> String
3378
3378
  # resp.storage_virtual_machine.storage_virtual_machine_id #=> String
3379
+ # resp.storage_virtual_machine.subtype #=> String, one of "DEFAULT", "DP_DESTINATION", "SYNC_DESTINATION", "SYNC_SOURCE"
3379
3380
  # resp.storage_virtual_machine.uuid #=> String
3380
3381
  # resp.storage_virtual_machine.tags #=> Array
3381
3382
  # resp.storage_virtual_machine.tags[0].key #=> String
@@ -5723,6 +5724,7 @@ module Aws::FSx
5723
5724
  # resp.storage_virtual_machines[0].name #=> String
5724
5725
  # resp.storage_virtual_machines[0].resource_arn #=> String
5725
5726
  # resp.storage_virtual_machines[0].storage_virtual_machine_id #=> String
5727
+ # resp.storage_virtual_machines[0].subtype #=> String, one of "DEFAULT", "DP_DESTINATION", "SYNC_DESTINATION", "SYNC_SOURCE"
5726
5728
  # resp.storage_virtual_machines[0].uuid #=> String
5727
5729
  # resp.storage_virtual_machines[0].tags #=> Array
5728
5730
  # resp.storage_virtual_machines[0].tags[0].key #=> String
@@ -7447,6 +7449,7 @@ module Aws::FSx
7447
7449
  # resp.storage_virtual_machine.name #=> String
7448
7450
  # resp.storage_virtual_machine.resource_arn #=> String
7449
7451
  # resp.storage_virtual_machine.storage_virtual_machine_id #=> String
7452
+ # resp.storage_virtual_machine.subtype #=> String, one of "DEFAULT", "DP_DESTINATION", "SYNC_DESTINATION", "SYNC_SOURCE"
7450
7453
  # resp.storage_virtual_machine.uuid #=> String
7451
7454
  # resp.storage_virtual_machine.tags #=> Array
7452
7455
  # resp.storage_virtual_machine.tags[0].key #=> String
@@ -7720,7 +7723,7 @@ module Aws::FSx
7720
7723
  params: params,
7721
7724
  config: config)
7722
7725
  context[:gem_name] = 'aws-sdk-fsx'
7723
- context[:gem_version] = '1.62.0'
7726
+ context[:gem_version] = '1.64.0'
7724
7727
  Seahorse::Client::Request.new(handlers, context)
7725
7728
  end
7726
7729
 
@@ -346,6 +346,7 @@ module Aws::FSx
346
346
  StorageVirtualMachineName = Shapes::StringShape.new(name: 'StorageVirtualMachineName')
347
347
  StorageVirtualMachineNotFound = Shapes::StructureShape.new(name: 'StorageVirtualMachineNotFound')
348
348
  StorageVirtualMachineRootVolumeSecurityStyle = Shapes::StringShape.new(name: 'StorageVirtualMachineRootVolumeSecurityStyle')
349
+ StorageVirtualMachineSubtype = Shapes::StringShape.new(name: 'StorageVirtualMachineSubtype')
349
350
  StorageVirtualMachines = Shapes::ListShape.new(name: 'StorageVirtualMachines')
350
351
  SubDirectoriesPaths = Shapes::ListShape.new(name: 'SubDirectoriesPaths')
351
352
  SubnetId = Shapes::StringShape.new(name: 'SubnetId')
@@ -1443,6 +1444,7 @@ module Aws::FSx
1443
1444
  StorageVirtualMachine.add_member(:name, Shapes::ShapeRef.new(shape: StorageVirtualMachineName, location_name: "Name"))
1444
1445
  StorageVirtualMachine.add_member(:resource_arn, Shapes::ShapeRef.new(shape: ResourceARN, location_name: "ResourceARN"))
1445
1446
  StorageVirtualMachine.add_member(:storage_virtual_machine_id, Shapes::ShapeRef.new(shape: StorageVirtualMachineId, location_name: "StorageVirtualMachineId"))
1447
+ StorageVirtualMachine.add_member(:subtype, Shapes::ShapeRef.new(shape: StorageVirtualMachineSubtype, location_name: "Subtype"))
1446
1448
  StorageVirtualMachine.add_member(:uuid, Shapes::ShapeRef.new(shape: UUID, location_name: "UUID"))
1447
1449
  StorageVirtualMachine.add_member(:tags, Shapes::ShapeRef.new(shape: Tags, location_name: "Tags"))
1448
1450
  StorageVirtualMachine.add_member(:lifecycle_transition_reason, Shapes::ShapeRef.new(shape: LifecycleTransitionReason, location_name: "LifecycleTransitionReason"))
@@ -9,133 +9,64 @@
9
9
 
10
10
  module Aws::FSx
11
11
  class EndpointProvider
12
- def initialize(rule_set = nil)
13
- @@rule_set ||= begin
14
- endpoint_rules = Aws::Json.load(Base64.decode64(RULES))
15
- Aws::Endpoints::RuleSet.new(
16
- version: endpoint_rules['version'],
17
- service_id: endpoint_rules['serviceId'],
18
- parameters: endpoint_rules['parameters'],
19
- rules: endpoint_rules['rules']
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 (partition_result = Aws::Endpoints::Matchers.aws_partition(region))
18
+ if Aws::Endpoints::Matchers.set?(endpoint)
19
+ if Aws::Endpoints::Matchers.boolean_equals?(use_fips, true)
20
+ raise ArgumentError, "Invalid Configuration: FIPS and custom endpoint are not supported"
21
+ end
22
+ if Aws::Endpoints::Matchers.boolean_equals?(use_dual_stack, true)
23
+ raise ArgumentError, "Invalid Configuration: Dualstack and custom endpoint are not supported"
24
+ end
25
+ return Aws::Endpoints::Endpoint.new(url: endpoint, headers: {}, properties: {})
26
+ end
27
+ if Aws::Endpoints::Matchers.boolean_equals?(use_fips, true) && Aws::Endpoints::Matchers.boolean_equals?(use_dual_stack, true)
28
+ 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"))
29
+ return Aws::Endpoints::Endpoint.new(url: "https://fsx-fips.#{region}.#{partition_result['dualStackDnsSuffix']}", headers: {}, properties: {})
30
+ end
31
+ raise ArgumentError, "FIPS and DualStack are enabled, but this partition does not support one or both"
32
+ end
33
+ if Aws::Endpoints::Matchers.boolean_equals?(use_fips, true)
34
+ if Aws::Endpoints::Matchers.boolean_equals?(true, Aws::Endpoints::Matchers.attr(partition_result, "supportsFIPS"))
35
+ if Aws::Endpoints::Matchers.string_equals?(region, "prod-ca-central-1")
36
+ return Aws::Endpoints::Endpoint.new(url: "https://fsx-fips.ca-central-1.amazonaws.com", headers: {}, properties: {})
37
+ end
38
+ if Aws::Endpoints::Matchers.string_equals?(region, "prod-us-east-1")
39
+ return Aws::Endpoints::Endpoint.new(url: "https://fsx-fips.us-east-1.amazonaws.com", headers: {}, properties: {})
40
+ end
41
+ if Aws::Endpoints::Matchers.string_equals?(region, "prod-us-east-2")
42
+ return Aws::Endpoints::Endpoint.new(url: "https://fsx-fips.us-east-2.amazonaws.com", headers: {}, properties: {})
43
+ end
44
+ if Aws::Endpoints::Matchers.string_equals?(region, "prod-us-west-1")
45
+ return Aws::Endpoints::Endpoint.new(url: "https://fsx-fips.us-west-1.amazonaws.com", headers: {}, properties: {})
46
+ end
47
+ if Aws::Endpoints::Matchers.string_equals?(region, "prod-us-west-2")
48
+ return Aws::Endpoints::Endpoint.new(url: "https://fsx-fips.us-west-2.amazonaws.com", headers: {}, properties: {})
49
+ end
50
+ if Aws::Endpoints::Matchers.string_equals?(region, "prod-us-gov-east-1")
51
+ return Aws::Endpoints::Endpoint.new(url: "https://fsx-fips.us-gov-east-1.amazonaws.com", headers: {}, properties: {})
52
+ end
53
+ if Aws::Endpoints::Matchers.string_equals?(region, "prod-us-gov-west-1")
54
+ return Aws::Endpoints::Endpoint.new(url: "https://fsx-fips.us-gov-west-1.amazonaws.com", headers: {}, properties: {})
55
+ end
56
+ return Aws::Endpoints::Endpoint.new(url: "https://fsx-fips.#{region}.#{partition_result['dnsSuffix']}", headers: {}, properties: {})
57
+ end
58
+ raise ArgumentError, "FIPS is enabled but this partition does not support FIPS"
59
+ end
60
+ if Aws::Endpoints::Matchers.boolean_equals?(use_dual_stack, true)
61
+ if Aws::Endpoints::Matchers.boolean_equals?(true, Aws::Endpoints::Matchers.attr(partition_result, "supportsDualStack"))
62
+ return Aws::Endpoints::Endpoint.new(url: "https://fsx.#{region}.#{partition_result['dualStackDnsSuffix']}", headers: {}, properties: {})
63
+ end
64
+ raise ArgumentError, "DualStack is enabled but this partition does not support DualStack"
65
+ end
66
+ return Aws::Endpoints::Endpoint.new(url: "https://fsx.#{region}.#{partition_result['dnsSuffix']}", headers: {}, properties: {})
21
67
  end
22
- @provider = Aws::Endpoints::RulesProvider.new(rule_set || @@rule_set)
23
- end
68
+ raise ArgumentError, 'No endpoint could be resolved'
24
69
 
25
- def resolve_endpoint(parameters)
26
- @provider.resolve_endpoint(parameters)
27
70
  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
- Ijp7InVybCI6Imh0dHBzOi8vZnN4LWZpcHMue1JlZ2lvbn0ue1BhcnRpdGlv
77
- blJlc3VsdCNkdWFsU3RhY2tEbnNTdWZmaXh9IiwicHJvcGVydGllcyI6e30s
78
- ImhlYWRlcnMiOnt9fSwidHlwZSI6ImVuZHBvaW50In1dfSx7ImNvbmRpdGlv
79
- bnMiOltdLCJlcnJvciI6IkZJUFMgYW5kIER1YWxTdGFjayBhcmUgZW5hYmxl
80
- ZCwgYnV0IHRoaXMgcGFydGl0aW9uIGRvZXMgbm90IHN1cHBvcnQgb25lIG9y
81
- IGJvdGgiLCJ0eXBlIjoiZXJyb3IifV19LHsiY29uZGl0aW9ucyI6W3siZm4i
82
- OiJib29sZWFuRXF1YWxzIiwiYXJndiI6W3sicmVmIjoiVXNlRklQUyJ9LHRy
83
- dWVdfV0sInR5cGUiOiJ0cmVlIiwicnVsZXMiOlt7ImNvbmRpdGlvbnMiOlt7
84
- ImZuIjoiYm9vbGVhbkVxdWFscyIsImFyZ3YiOlt0cnVlLHsiZm4iOiJnZXRB
85
- dHRyIiwiYXJndiI6W3sicmVmIjoiUGFydGl0aW9uUmVzdWx0In0sInN1cHBv
86
- cnRzRklQUyJdfV19XSwidHlwZSI6InRyZWUiLCJydWxlcyI6W3siY29uZGl0
87
- aW9ucyI6W10sInR5cGUiOiJ0cmVlIiwicnVsZXMiOlt7ImNvbmRpdGlvbnMi
88
- Olt7ImZuIjoic3RyaW5nRXF1YWxzIiwiYXJndiI6W3sicmVmIjoiUmVnaW9u
89
- In0sInByb2QtY2EtY2VudHJhbC0xIl19XSwiZW5kcG9pbnQiOnsidXJsIjoi
90
- aHR0cHM6Ly9mc3gtZmlwcy5jYS1jZW50cmFsLTEuYW1hem9uYXdzLmNvbSIs
91
- InByb3BlcnRpZXMiOnt9LCJoZWFkZXJzIjp7fX0sInR5cGUiOiJlbmRwb2lu
92
- dCJ9LHsiY29uZGl0aW9ucyI6W3siZm4iOiJzdHJpbmdFcXVhbHMiLCJhcmd2
93
- IjpbeyJyZWYiOiJSZWdpb24ifSwicHJvZC11cy1lYXN0LTEiXX1dLCJlbmRw
94
- b2ludCI6eyJ1cmwiOiJodHRwczovL2ZzeC1maXBzLnVzLWVhc3QtMS5hbWF6
95
- b25hd3MuY29tIiwicHJvcGVydGllcyI6e30sImhlYWRlcnMiOnt9fSwidHlw
96
- ZSI6ImVuZHBvaW50In0seyJjb25kaXRpb25zIjpbeyJmbiI6InN0cmluZ0Vx
97
- dWFscyIsImFyZ3YiOlt7InJlZiI6IlJlZ2lvbiJ9LCJwcm9kLXVzLWVhc3Qt
98
- MiJdfV0sImVuZHBvaW50Ijp7InVybCI6Imh0dHBzOi8vZnN4LWZpcHMudXMt
99
- ZWFzdC0yLmFtYXpvbmF3cy5jb20iLCJwcm9wZXJ0aWVzIjp7fSwiaGVhZGVy
100
- cyI6e319LCJ0eXBlIjoiZW5kcG9pbnQifSx7ImNvbmRpdGlvbnMiOlt7ImZu
101
- Ijoic3RyaW5nRXF1YWxzIiwiYXJndiI6W3sicmVmIjoiUmVnaW9uIn0sInBy
102
- b2QtdXMtd2VzdC0xIl19XSwiZW5kcG9pbnQiOnsidXJsIjoiaHR0cHM6Ly9m
103
- c3gtZmlwcy51cy13ZXN0LTEuYW1hem9uYXdzLmNvbSIsInByb3BlcnRpZXMi
104
- Ont9LCJoZWFkZXJzIjp7fX0sInR5cGUiOiJlbmRwb2ludCJ9LHsiY29uZGl0
105
- aW9ucyI6W3siZm4iOiJzdHJpbmdFcXVhbHMiLCJhcmd2IjpbeyJyZWYiOiJS
106
- ZWdpb24ifSwicHJvZC11cy13ZXN0LTIiXX1dLCJlbmRwb2ludCI6eyJ1cmwi
107
- OiJodHRwczovL2ZzeC1maXBzLnVzLXdlc3QtMi5hbWF6b25hd3MuY29tIiwi
108
- cHJvcGVydGllcyI6e30sImhlYWRlcnMiOnt9fSwidHlwZSI6ImVuZHBvaW50
109
- In0seyJjb25kaXRpb25zIjpbeyJmbiI6InN0cmluZ0VxdWFscyIsImFyZ3Yi
110
- Olt7InJlZiI6IlJlZ2lvbiJ9LCJwcm9kLXVzLWdvdi1lYXN0LTEiXX1dLCJl
111
- bmRwb2ludCI6eyJ1cmwiOiJodHRwczovL2ZzeC1maXBzLnVzLWdvdi1lYXN0
112
- LTEuYW1hem9uYXdzLmNvbSIsInByb3BlcnRpZXMiOnt9LCJoZWFkZXJzIjp7
113
- fX0sInR5cGUiOiJlbmRwb2ludCJ9LHsiY29uZGl0aW9ucyI6W3siZm4iOiJz
114
- dHJpbmdFcXVhbHMiLCJhcmd2IjpbeyJyZWYiOiJSZWdpb24ifSwicHJvZC11
115
- cy1nb3Ytd2VzdC0xIl19XSwiZW5kcG9pbnQiOnsidXJsIjoiaHR0cHM6Ly9m
116
- c3gtZmlwcy51cy1nb3Ytd2VzdC0xLmFtYXpvbmF3cy5jb20iLCJwcm9wZXJ0
117
- aWVzIjp7fSwiaGVhZGVycyI6e319LCJ0eXBlIjoiZW5kcG9pbnQifSx7ImNv
118
- bmRpdGlvbnMiOltdLCJlbmRwb2ludCI6eyJ1cmwiOiJodHRwczovL2ZzeC1m
119
- aXBzLntSZWdpb259LntQYXJ0aXRpb25SZXN1bHQjZG5zU3VmZml4fSIsInBy
120
- b3BlcnRpZXMiOnt9LCJoZWFkZXJzIjp7fX0sInR5cGUiOiJlbmRwb2ludCJ9
121
- XX1dfSx7ImNvbmRpdGlvbnMiOltdLCJlcnJvciI6IkZJUFMgaXMgZW5hYmxl
122
- ZCBidXQgdGhpcyBwYXJ0aXRpb24gZG9lcyBub3Qgc3VwcG9ydCBGSVBTIiwi
123
- dHlwZSI6ImVycm9yIn1dfSx7ImNvbmRpdGlvbnMiOlt7ImZuIjoiYm9vbGVh
124
- bkVxdWFscyIsImFyZ3YiOlt7InJlZiI6IlVzZUR1YWxTdGFjayJ9LHRydWVd
125
- fV0sInR5cGUiOiJ0cmVlIiwicnVsZXMiOlt7ImNvbmRpdGlvbnMiOlt7ImZu
126
- IjoiYm9vbGVhbkVxdWFscyIsImFyZ3YiOlt0cnVlLHsiZm4iOiJnZXRBdHRy
127
- IiwiYXJndiI6W3sicmVmIjoiUGFydGl0aW9uUmVzdWx0In0sInN1cHBvcnRz
128
- RHVhbFN0YWNrIl19XX1dLCJ0eXBlIjoidHJlZSIsInJ1bGVzIjpbeyJjb25k
129
- aXRpb25zIjpbXSwiZW5kcG9pbnQiOnsidXJsIjoiaHR0cHM6Ly9mc3gue1Jl
130
- Z2lvbn0ue1BhcnRpdGlvblJlc3VsdCNkdWFsU3RhY2tEbnNTdWZmaXh9Iiwi
131
- cHJvcGVydGllcyI6e30sImhlYWRlcnMiOnt9fSwidHlwZSI6ImVuZHBvaW50
132
- In1dfSx7ImNvbmRpdGlvbnMiOltdLCJlcnJvciI6IkR1YWxTdGFjayBpcyBl
133
- bmFibGVkIGJ1dCB0aGlzIHBhcnRpdGlvbiBkb2VzIG5vdCBzdXBwb3J0IER1
134
- YWxTdGFjayIsInR5cGUiOiJlcnJvciJ9XX0seyJjb25kaXRpb25zIjpbXSwi
135
- ZW5kcG9pbnQiOnsidXJsIjoiaHR0cHM6Ly9mc3gue1JlZ2lvbn0ue1BhcnRp
136
- dGlvblJlc3VsdCNkbnNTdWZmaXh9IiwicHJvcGVydGllcyI6e30sImhlYWRl
137
- cnMiOnt9fSwidHlwZSI6ImVuZHBvaW50In1dfV19
138
-
139
- JSON
140
71
  end
141
72
  end