aws-sdk-transfer 1.62.0 → 1.64.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 857ed78b6dafe702313bda0273329c2f0ee7626c545d0f80604fa956813f35fa
4
- data.tar.gz: 22b746147bad0214fd012238471f4fa5ebb57dfe5a95b205bfccf3e8b3ea736a
3
+ metadata.gz: 660c06db09099136074772186c2efa4ca6cb8c133d084775723a86fad401292c
4
+ data.tar.gz: c9d082025c7a0a83f050035c803b3abdd8639e2c49a578583b384408b5417fa2
5
5
  SHA512:
6
- metadata.gz: 8079548fe63dc708e3799acdb378d45e924aa6b1b9412f325bae9ee6522861cfbaaa0b7a626730229af113712ed49b0fde5458d0ad35daa1b002f969c6138c49
7
- data.tar.gz: 0de6e30cb7c9cd64b0a170656809614985e841b943c10999a71dd19d671e72094a1762522edec0882fcf529c207d1f80ac2d669efaedae9b6a550a347806acb4
6
+ metadata.gz: 8d42ce4dccca62bb2f6b7cae67f81491ac8cc088fcfde46d5e79e52f609805233a6012f2124c9c1ebd29d9e3a8db2cbb16a7c97777775e7289fb7cfe09763758
7
+ data.tar.gz: 2922990bf8c68c6c44f0558ce27bb2ce214e34270e31f4c97ae4282e1c823c81cb7a6e1f67f0e8aeda6e8003443a24accd0b45850951832122a4152c7d3f29e0
data/CHANGELOG.md CHANGED
@@ -1,6 +1,16 @@
1
1
  Unreleased Changes
2
2
  ------------------
3
3
 
4
+ 1.64.0 (2022-12-21)
5
+ ------------------
6
+
7
+ * Feature - This release adds support for Decrypt as a workflow step type.
8
+
9
+ 1.63.0 (2022-11-18)
10
+ ------------------
11
+
12
+ * Feature - Adds a NONE encryption algorithm type to AS2 connectors, providing support for skipping encryption of the AS2 message body when a HTTPS URL is also specified.
13
+
4
14
  1.62.0 (2022-11-16)
5
15
  ------------------
6
16
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.62.0
1
+ 1.64.0
@@ -672,7 +672,7 @@ module Aws::Transfer
672
672
  # partner_profile_id: "ProfileId",
673
673
  # message_subject: "MessageSubject",
674
674
  # compression: "ZLIB", # accepts ZLIB, DISABLED
675
- # encryption_algorithm: "AES128_CBC", # accepts AES128_CBC, AES192_CBC, AES256_CBC
675
+ # encryption_algorithm: "AES128_CBC", # accepts AES128_CBC, AES192_CBC, AES256_CBC, NONE
676
676
  # signing_algorithm: "SHA256", # accepts SHA256, SHA384, SHA512, SHA1, NONE
677
677
  # mdn_signing_algorithm: "SHA256", # accepts SHA256, SHA384, SHA512, SHA1, NONE, DEFAULT
678
678
  # mdn_response: "SYNC", # accepts SYNC, NONE
@@ -1308,7 +1308,7 @@ module Aws::Transfer
1308
1308
  # description: "WorkflowDescription",
1309
1309
  # steps: [ # required
1310
1310
  # {
1311
- # type: "COPY", # accepts COPY, CUSTOM, TAG, DELETE
1311
+ # type: "COPY", # accepts COPY, CUSTOM, TAG, DELETE, DECRYPT
1312
1312
  # copy_step_details: {
1313
1313
  # name: "WorkflowStepName",
1314
1314
  # destination_file_location: {
@@ -1344,11 +1344,27 @@ module Aws::Transfer
1344
1344
  # ],
1345
1345
  # source_file_location: "SourceFileLocation",
1346
1346
  # },
1347
+ # decrypt_step_details: {
1348
+ # name: "WorkflowStepName",
1349
+ # type: "PGP", # required, accepts PGP
1350
+ # source_file_location: "SourceFileLocation",
1351
+ # overwrite_existing: "TRUE", # accepts TRUE, FALSE
1352
+ # destination_file_location: { # required
1353
+ # s3_file_location: {
1354
+ # bucket: "S3Bucket",
1355
+ # key: "S3Key",
1356
+ # },
1357
+ # efs_file_location: {
1358
+ # file_system_id: "EfsFileSystemId",
1359
+ # path: "EfsPath",
1360
+ # },
1361
+ # },
1362
+ # },
1347
1363
  # },
1348
1364
  # ],
1349
1365
  # on_exception_steps: [
1350
1366
  # {
1351
- # type: "COPY", # accepts COPY, CUSTOM, TAG, DELETE
1367
+ # type: "COPY", # accepts COPY, CUSTOM, TAG, DELETE, DECRYPT
1352
1368
  # copy_step_details: {
1353
1369
  # name: "WorkflowStepName",
1354
1370
  # destination_file_location: {
@@ -1384,6 +1400,22 @@ module Aws::Transfer
1384
1400
  # ],
1385
1401
  # source_file_location: "SourceFileLocation",
1386
1402
  # },
1403
+ # decrypt_step_details: {
1404
+ # name: "WorkflowStepName",
1405
+ # type: "PGP", # required, accepts PGP
1406
+ # source_file_location: "SourceFileLocation",
1407
+ # overwrite_existing: "TRUE", # accepts TRUE, FALSE
1408
+ # destination_file_location: { # required
1409
+ # s3_file_location: {
1410
+ # bucket: "S3Bucket",
1411
+ # key: "S3Key",
1412
+ # },
1413
+ # efs_file_location: {
1414
+ # file_system_id: "EfsFileSystemId",
1415
+ # path: "EfsPath",
1416
+ # },
1417
+ # },
1418
+ # },
1387
1419
  # },
1388
1420
  # ],
1389
1421
  # tags: [
@@ -1865,7 +1897,7 @@ module Aws::Transfer
1865
1897
  # resp.connector.as_2_config.partner_profile_id #=> String
1866
1898
  # resp.connector.as_2_config.message_subject #=> String
1867
1899
  # resp.connector.as_2_config.compression #=> String, one of "ZLIB", "DISABLED"
1868
- # resp.connector.as_2_config.encryption_algorithm #=> String, one of "AES128_CBC", "AES192_CBC", "AES256_CBC"
1900
+ # resp.connector.as_2_config.encryption_algorithm #=> String, one of "AES128_CBC", "AES192_CBC", "AES256_CBC", "NONE"
1869
1901
  # resp.connector.as_2_config.signing_algorithm #=> String, one of "SHA256", "SHA384", "SHA512", "SHA1", "NONE"
1870
1902
  # resp.connector.as_2_config.mdn_signing_algorithm #=> String, one of "SHA256", "SHA384", "SHA512", "SHA1", "NONE", "DEFAULT"
1871
1903
  # resp.connector.as_2_config.mdn_response #=> String, one of "SYNC", "NONE"
@@ -1927,12 +1959,12 @@ module Aws::Transfer
1927
1959
  # resp.execution.posix_profile.secondary_gids[0] #=> Integer
1928
1960
  # resp.execution.status #=> String, one of "IN_PROGRESS", "COMPLETED", "EXCEPTION", "HANDLING_EXCEPTION"
1929
1961
  # resp.execution.results.steps #=> Array
1930
- # resp.execution.results.steps[0].step_type #=> String, one of "COPY", "CUSTOM", "TAG", "DELETE"
1962
+ # resp.execution.results.steps[0].step_type #=> String, one of "COPY", "CUSTOM", "TAG", "DELETE", "DECRYPT"
1931
1963
  # resp.execution.results.steps[0].outputs #=> String
1932
1964
  # resp.execution.results.steps[0].error.type #=> String, one of "PERMISSION_DENIED", "CUSTOM_STEP_FAILED", "THROTTLED", "ALREADY_EXISTS", "NOT_FOUND", "BAD_REQUEST", "TIMEOUT", "INTERNAL_SERVER_ERROR"
1933
1965
  # resp.execution.results.steps[0].error.message #=> String
1934
1966
  # resp.execution.results.on_exception_steps #=> Array
1935
- # resp.execution.results.on_exception_steps[0].step_type #=> String, one of "COPY", "CUSTOM", "TAG", "DELETE"
1967
+ # resp.execution.results.on_exception_steps[0].step_type #=> String, one of "COPY", "CUSTOM", "TAG", "DELETE", "DECRYPT"
1936
1968
  # resp.execution.results.on_exception_steps[0].outputs #=> String
1937
1969
  # resp.execution.results.on_exception_steps[0].error.type #=> String, one of "PERMISSION_DENIED", "CUSTOM_STEP_FAILED", "THROTTLED", "ALREADY_EXISTS", "NOT_FOUND", "BAD_REQUEST", "TIMEOUT", "INTERNAL_SERVER_ERROR"
1938
1970
  # resp.execution.results.on_exception_steps[0].error.message #=> String
@@ -2229,7 +2261,7 @@ module Aws::Transfer
2229
2261
  # resp.workflow.arn #=> String
2230
2262
  # resp.workflow.description #=> String
2231
2263
  # resp.workflow.steps #=> Array
2232
- # resp.workflow.steps[0].type #=> String, one of "COPY", "CUSTOM", "TAG", "DELETE"
2264
+ # resp.workflow.steps[0].type #=> String, one of "COPY", "CUSTOM", "TAG", "DELETE", "DECRYPT"
2233
2265
  # resp.workflow.steps[0].copy_step_details.name #=> String
2234
2266
  # resp.workflow.steps[0].copy_step_details.destination_file_location.s3_file_location.bucket #=> String
2235
2267
  # resp.workflow.steps[0].copy_step_details.destination_file_location.s3_file_location.key #=> String
@@ -2248,8 +2280,16 @@ module Aws::Transfer
2248
2280
  # resp.workflow.steps[0].tag_step_details.tags[0].key #=> String
2249
2281
  # resp.workflow.steps[0].tag_step_details.tags[0].value #=> String
2250
2282
  # resp.workflow.steps[0].tag_step_details.source_file_location #=> String
2283
+ # resp.workflow.steps[0].decrypt_step_details.name #=> String
2284
+ # resp.workflow.steps[0].decrypt_step_details.type #=> String, one of "PGP"
2285
+ # resp.workflow.steps[0].decrypt_step_details.source_file_location #=> String
2286
+ # resp.workflow.steps[0].decrypt_step_details.overwrite_existing #=> String, one of "TRUE", "FALSE"
2287
+ # resp.workflow.steps[0].decrypt_step_details.destination_file_location.s3_file_location.bucket #=> String
2288
+ # resp.workflow.steps[0].decrypt_step_details.destination_file_location.s3_file_location.key #=> String
2289
+ # resp.workflow.steps[0].decrypt_step_details.destination_file_location.efs_file_location.file_system_id #=> String
2290
+ # resp.workflow.steps[0].decrypt_step_details.destination_file_location.efs_file_location.path #=> String
2251
2291
  # resp.workflow.on_exception_steps #=> Array
2252
- # resp.workflow.on_exception_steps[0].type #=> String, one of "COPY", "CUSTOM", "TAG", "DELETE"
2292
+ # resp.workflow.on_exception_steps[0].type #=> String, one of "COPY", "CUSTOM", "TAG", "DELETE", "DECRYPT"
2253
2293
  # resp.workflow.on_exception_steps[0].copy_step_details.name #=> String
2254
2294
  # resp.workflow.on_exception_steps[0].copy_step_details.destination_file_location.s3_file_location.bucket #=> String
2255
2295
  # resp.workflow.on_exception_steps[0].copy_step_details.destination_file_location.s3_file_location.key #=> String
@@ -2268,6 +2308,14 @@ module Aws::Transfer
2268
2308
  # resp.workflow.on_exception_steps[0].tag_step_details.tags[0].key #=> String
2269
2309
  # resp.workflow.on_exception_steps[0].tag_step_details.tags[0].value #=> String
2270
2310
  # resp.workflow.on_exception_steps[0].tag_step_details.source_file_location #=> String
2311
+ # resp.workflow.on_exception_steps[0].decrypt_step_details.name #=> String
2312
+ # resp.workflow.on_exception_steps[0].decrypt_step_details.type #=> String, one of "PGP"
2313
+ # resp.workflow.on_exception_steps[0].decrypt_step_details.source_file_location #=> String
2314
+ # resp.workflow.on_exception_steps[0].decrypt_step_details.overwrite_existing #=> String, one of "TRUE", "FALSE"
2315
+ # resp.workflow.on_exception_steps[0].decrypt_step_details.destination_file_location.s3_file_location.bucket #=> String
2316
+ # resp.workflow.on_exception_steps[0].decrypt_step_details.destination_file_location.s3_file_location.key #=> String
2317
+ # resp.workflow.on_exception_steps[0].decrypt_step_details.destination_file_location.efs_file_location.file_system_id #=> String
2318
+ # resp.workflow.on_exception_steps[0].decrypt_step_details.destination_file_location.efs_file_location.path #=> String
2271
2319
  # resp.workflow.workflow_id #=> String
2272
2320
  # resp.workflow.tags #=> Array
2273
2321
  # resp.workflow.tags[0].key #=> String
@@ -3674,7 +3722,7 @@ module Aws::Transfer
3674
3722
  # partner_profile_id: "ProfileId",
3675
3723
  # message_subject: "MessageSubject",
3676
3724
  # compression: "ZLIB", # accepts ZLIB, DISABLED
3677
- # encryption_algorithm: "AES128_CBC", # accepts AES128_CBC, AES192_CBC, AES256_CBC
3725
+ # encryption_algorithm: "AES128_CBC", # accepts AES128_CBC, AES192_CBC, AES256_CBC, NONE
3678
3726
  # signing_algorithm: "SHA256", # accepts SHA256, SHA384, SHA512, SHA1, NONE
3679
3727
  # mdn_signing_algorithm: "SHA256", # accepts SHA256, SHA384, SHA512, SHA1, NONE, DEFAULT
3680
3728
  # mdn_response: "SYNC", # accepts SYNC, NONE
@@ -4225,7 +4273,7 @@ module Aws::Transfer
4225
4273
  params: params,
4226
4274
  config: config)
4227
4275
  context[:gem_name] = 'aws-sdk-transfer'
4228
- context[:gem_version] = '1.62.0'
4276
+ context[:gem_version] = '1.64.0'
4229
4277
  Seahorse::Client::Request.new(handlers, context)
4230
4278
  end
4231
4279
 
@@ -57,6 +57,7 @@ module Aws::Transfer
57
57
  CustomStepTarget = Shapes::StringShape.new(name: 'CustomStepTarget')
58
58
  CustomStepTimeoutSeconds = Shapes::IntegerShape.new(name: 'CustomStepTimeoutSeconds')
59
59
  DateImported = Shapes::TimestampShape.new(name: 'DateImported')
60
+ DecryptStepDetails = Shapes::StructureShape.new(name: 'DecryptStepDetails')
60
61
  DeleteAccessRequest = Shapes::StructureShape.new(name: 'DeleteAccessRequest')
61
62
  DeleteAgreementRequest = Shapes::StructureShape.new(name: 'DeleteAgreementRequest')
62
63
  DeleteCertificateRequest = Shapes::StructureShape.new(name: 'DeleteCertificateRequest')
@@ -108,6 +109,7 @@ module Aws::Transfer
108
109
  EfsFileSystemId = Shapes::StringShape.new(name: 'EfsFileSystemId')
109
110
  EfsPath = Shapes::StringShape.new(name: 'EfsPath')
110
111
  EncryptionAlg = Shapes::StringShape.new(name: 'EncryptionAlg')
112
+ EncryptionType = Shapes::StringShape.new(name: 'EncryptionType')
111
113
  EndpointDetails = Shapes::StructureShape.new(name: 'EndpointDetails')
112
114
  EndpointType = Shapes::StringShape.new(name: 'EndpointType')
113
115
  ExecutionError = Shapes::StructureShape.new(name: 'ExecutionError')
@@ -434,6 +436,13 @@ module Aws::Transfer
434
436
  CustomStepDetails.add_member(:source_file_location, Shapes::ShapeRef.new(shape: SourceFileLocation, location_name: "SourceFileLocation"))
435
437
  CustomStepDetails.struct_class = Types::CustomStepDetails
436
438
 
439
+ DecryptStepDetails.add_member(:name, Shapes::ShapeRef.new(shape: WorkflowStepName, location_name: "Name"))
440
+ DecryptStepDetails.add_member(:type, Shapes::ShapeRef.new(shape: EncryptionType, required: true, location_name: "Type"))
441
+ DecryptStepDetails.add_member(:source_file_location, Shapes::ShapeRef.new(shape: SourceFileLocation, location_name: "SourceFileLocation"))
442
+ DecryptStepDetails.add_member(:overwrite_existing, Shapes::ShapeRef.new(shape: OverwriteExisting, location_name: "OverwriteExisting"))
443
+ DecryptStepDetails.add_member(:destination_file_location, Shapes::ShapeRef.new(shape: InputFileLocation, required: true, location_name: "DestinationFileLocation"))
444
+ DecryptStepDetails.struct_class = Types::DecryptStepDetails
445
+
437
446
  DeleteAccessRequest.add_member(:server_id, Shapes::ShapeRef.new(shape: ServerId, required: true, location_name: "ServerId"))
438
447
  DeleteAccessRequest.add_member(:external_id, Shapes::ShapeRef.new(shape: ExternalId, required: true, location_name: "ExternalId"))
439
448
  DeleteAccessRequest.struct_class = Types::DeleteAccessRequest
@@ -1201,6 +1210,7 @@ module Aws::Transfer
1201
1210
  WorkflowStep.add_member(:custom_step_details, Shapes::ShapeRef.new(shape: CustomStepDetails, location_name: "CustomStepDetails"))
1202
1211
  WorkflowStep.add_member(:delete_step_details, Shapes::ShapeRef.new(shape: DeleteStepDetails, location_name: "DeleteStepDetails"))
1203
1212
  WorkflowStep.add_member(:tag_step_details, Shapes::ShapeRef.new(shape: TagStepDetails, location_name: "TagStepDetails"))
1213
+ WorkflowStep.add_member(:decrypt_step_details, Shapes::ShapeRef.new(shape: DecryptStepDetails, location_name: "DecryptStepDetails"))
1204
1214
  WorkflowStep.struct_class = Types::WorkflowStep
1205
1215
 
1206
1216
  WorkflowSteps.member = Shapes::ShapeRef.new(shape: WorkflowStep)
@@ -1249,7 +1259,6 @@ module Aws::Transfer
1249
1259
  o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
1250
1260
  o.errors << Shapes::ShapeRef.new(shape: ResourceExistsException)
1251
1261
  o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
1252
- o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
1253
1262
  end)
1254
1263
 
1255
1264
  api.add_operation(:create_connector, Seahorse::Model::Operation.new.tap do |o|
@@ -1263,7 +1272,6 @@ module Aws::Transfer
1263
1272
  o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
1264
1273
  o.errors << Shapes::ShapeRef.new(shape: ResourceExistsException)
1265
1274
  o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
1266
- o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
1267
1275
  end)
1268
1276
 
1269
1277
  api.add_operation(:create_profile, Seahorse::Model::Operation.new.tap do |o|
@@ -1276,7 +1284,6 @@ module Aws::Transfer
1276
1284
  o.errors << Shapes::ShapeRef.new(shape: InternalServiceError)
1277
1285
  o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
1278
1286
  o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
1279
- o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
1280
1287
  end)
1281
1288
 
1282
1289
  api.add_operation(:create_server, Seahorse::Model::Operation.new.tap do |o|
@@ -1935,7 +1942,6 @@ module Aws::Transfer
1935
1942
  o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
1936
1943
  o.errors << Shapes::ShapeRef.new(shape: ResourceExistsException)
1937
1944
  o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
1938
- o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
1939
1945
  end)
1940
1946
 
1941
1947
  api.add_operation(:update_agreement, Seahorse::Model::Operation.new.tap do |o|
@@ -1949,7 +1955,6 @@ module Aws::Transfer
1949
1955
  o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
1950
1956
  o.errors << Shapes::ShapeRef.new(shape: ResourceExistsException)
1951
1957
  o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
1952
- o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
1953
1958
  end)
1954
1959
 
1955
1960
  api.add_operation(:update_certificate, Seahorse::Model::Operation.new.tap do |o|
@@ -1962,7 +1967,6 @@ module Aws::Transfer
1962
1967
  o.errors << Shapes::ShapeRef.new(shape: InternalServiceError)
1963
1968
  o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
1964
1969
  o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
1965
- o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
1966
1970
  end)
1967
1971
 
1968
1972
  api.add_operation(:update_connector, Seahorse::Model::Operation.new.tap do |o|
@@ -1976,7 +1980,6 @@ module Aws::Transfer
1976
1980
  o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
1977
1981
  o.errors << Shapes::ShapeRef.new(shape: ResourceExistsException)
1978
1982
  o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
1979
- o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
1980
1983
  end)
1981
1984
 
1982
1985
  api.add_operation(:update_host_key, Seahorse::Model::Operation.new.tap do |o|
@@ -2002,7 +2005,6 @@ module Aws::Transfer
2002
2005
  o.errors << Shapes::ShapeRef.new(shape: InternalServiceError)
2003
2006
  o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
2004
2007
  o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
2005
- o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
2006
2008
  end)
2007
2009
 
2008
2010
  api.add_operation(:update_server, Seahorse::Model::Operation.new.tap do |o|
@@ -50,6 +50,9 @@ module Aws::Transfer
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
53
56
  self[:use_dual_stack] = options[:use_dual_stack]
54
57
  self[:use_dual_stack] = false if self[:use_dual_stack].nil?
55
58
  if self[:use_dual_stack].nil?
@@ -29,82 +29,82 @@ module Aws::Transfer
29
29
  # @api private
30
30
  RULES = <<-JSON
31
31
  eyJ2ZXJzaW9uIjoiMS4wIiwicGFyYW1ldGVycyI6eyJSZWdpb24iOnsiYnVp
32
- bHRJbiI6IkFXUzo6UmVnaW9uIiwicmVxdWlyZWQiOmZhbHNlLCJkb2N1bWVu
33
- dGF0aW9uIjoiVGhlIEFXUyByZWdpb24gdXNlZCB0byBkaXNwYXRjaCB0aGUg
34
- cmVxdWVzdC4iLCJ0eXBlIjoiU3RyaW5nIn0sIlVzZUR1YWxTdGFjayI6eyJi
35
- dWlsdEluIjoiQVdTOjpVc2VEdWFsU3RhY2siLCJyZXF1aXJlZCI6dHJ1ZSwi
36
- ZGVmYXVsdCI6ZmFsc2UsImRvY3VtZW50YXRpb24iOiJXaGVuIHRydWUsIHVz
37
- ZSB0aGUgZHVhbC1zdGFjayBlbmRwb2ludC4gSWYgdGhlIGNvbmZpZ3VyZWQg
38
- ZW5kcG9pbnQgZG9lcyBub3Qgc3VwcG9ydCBkdWFsLXN0YWNrLCBkaXNwYXRj
39
- aGluZyB0aGUgcmVxdWVzdCBNQVkgcmV0dXJuIGFuIGVycm9yLiIsInR5cGUi
40
- OiJCb29sZWFuIn0sIlVzZUZJUFMiOnsiYnVpbHRJbiI6IkFXUzo6VXNlRklQ
41
- UyIsInJlcXVpcmVkIjp0cnVlLCJkZWZhdWx0IjpmYWxzZSwiZG9jdW1lbnRh
42
- dGlvbiI6IldoZW4gdHJ1ZSwgc2VuZCB0aGlzIHJlcXVlc3QgdG8gdGhlIEZJ
43
- UFMtY29tcGxpYW50IHJlZ2lvbmFsIGVuZHBvaW50LiBJZiB0aGUgY29uZmln
44
- dXJlZCBlbmRwb2ludCBkb2VzIG5vdCBoYXZlIGEgRklQUyBjb21wbGlhbnQg
45
- ZW5kcG9pbnQsIGRpc3BhdGNoaW5nIHRoZSByZXF1ZXN0IHdpbGwgcmV0dXJu
46
- IGFuIGVycm9yLiIsInR5cGUiOiJCb29sZWFuIn0sIkVuZHBvaW50Ijp7ImJ1
47
- aWx0SW4iOiJTREs6OkVuZHBvaW50IiwicmVxdWlyZWQiOmZhbHNlLCJkb2N1
48
- bWVudGF0aW9uIjoiT3ZlcnJpZGUgdGhlIGVuZHBvaW50IHVzZWQgdG8gc2Vu
49
- ZCB0aGlzIHJlcXVlc3QiLCJ0eXBlIjoiU3RyaW5nIn19LCJydWxlcyI6W3si
50
- Y29uZGl0aW9ucyI6W3siZm4iOiJhd3MucGFydGl0aW9uIiwiYXJndiI6W3si
51
- cmVmIjoiUmVnaW9uIn1dLCJhc3NpZ24iOiJQYXJ0aXRpb25SZXN1bHQifV0s
52
- InR5cGUiOiJ0cmVlIiwicnVsZXMiOlt7ImNvbmRpdGlvbnMiOlt7ImZuIjoi
53
- aXNTZXQiLCJhcmd2IjpbeyJyZWYiOiJFbmRwb2ludCJ9XX0seyJmbiI6InBh
54
- cnNlVVJMIiwiYXJndiI6W3sicmVmIjoiRW5kcG9pbnQifV0sImFzc2lnbiI6
55
- InVybCJ9XSwidHlwZSI6InRyZWUiLCJydWxlcyI6W3siY29uZGl0aW9ucyI6
56
- W3siZm4iOiJib29sZWFuRXF1YWxzIiwiYXJndiI6W3sicmVmIjoiVXNlRklQ
57
- UyJ9LHRydWVdfV0sImVycm9yIjoiSW52YWxpZCBDb25maWd1cmF0aW9uOiBG
58
- SVBTIGFuZCBjdXN0b20gZW5kcG9pbnQgYXJlIG5vdCBzdXBwb3J0ZWQiLCJ0
59
- eXBlIjoiZXJyb3IifSx7ImNvbmRpdGlvbnMiOltdLCJ0eXBlIjoidHJlZSIs
60
- InJ1bGVzIjpbeyJjb25kaXRpb25zIjpbeyJmbiI6ImJvb2xlYW5FcXVhbHMi
61
- LCJhcmd2IjpbeyJyZWYiOiJVc2VEdWFsU3RhY2sifSx0cnVlXX1dLCJlcnJv
62
- ciI6IkludmFsaWQgQ29uZmlndXJhdGlvbjogRHVhbHN0YWNrIGFuZCBjdXN0
63
- b20gZW5kcG9pbnQgYXJlIG5vdCBzdXBwb3J0ZWQiLCJ0eXBlIjoiZXJyb3Ii
64
- fSx7ImNvbmRpdGlvbnMiOltdLCJlbmRwb2ludCI6eyJ1cmwiOnsicmVmIjoi
65
- RW5kcG9pbnQifSwicHJvcGVydGllcyI6e30sImhlYWRlcnMiOnt9fSwidHlw
66
- ZSI6ImVuZHBvaW50In1dfV19LHsiY29uZGl0aW9ucyI6W3siZm4iOiJib29s
67
- ZWFuRXF1YWxzIiwiYXJndiI6W3sicmVmIjoiVXNlRklQUyJ9LHRydWVdfSx7
68
- ImZuIjoiYm9vbGVhbkVxdWFscyIsImFyZ3YiOlt7InJlZiI6IlVzZUR1YWxT
69
- dGFjayJ9LHRydWVdfV0sInR5cGUiOiJ0cmVlIiwicnVsZXMiOlt7ImNvbmRp
70
- dGlvbnMiOlt7ImZuIjoiYm9vbGVhbkVxdWFscyIsImFyZ3YiOlt0cnVlLHsi
71
- Zm4iOiJnZXRBdHRyIiwiYXJndiI6W3sicmVmIjoiUGFydGl0aW9uUmVzdWx0
72
- In0sInN1cHBvcnRzRklQUyJdfV19LHsiZm4iOiJib29sZWFuRXF1YWxzIiwi
73
- YXJndiI6W3RydWUseyJmbiI6ImdldEF0dHIiLCJhcmd2IjpbeyJyZWYiOiJQ
74
- YXJ0aXRpb25SZXN1bHQifSwic3VwcG9ydHNEdWFsU3RhY2siXX1dfV0sInR5
75
- cGUiOiJ0cmVlIiwicnVsZXMiOlt7ImNvbmRpdGlvbnMiOltdLCJlbmRwb2lu
76
- dCI6eyJ1cmwiOiJodHRwczovL3RyYW5zZmVyLWZpcHMue1JlZ2lvbn0ue1Bh
77
- cnRpdGlvblJlc3VsdCNkdWFsU3RhY2tEbnNTdWZmaXh9IiwicHJvcGVydGll
78
- cyI6e30sImhlYWRlcnMiOnt9fSwidHlwZSI6ImVuZHBvaW50In1dfSx7ImNv
79
- bmRpdGlvbnMiOltdLCJlcnJvciI6IkZJUFMgYW5kIER1YWxTdGFjayBhcmUg
80
- ZW5hYmxlZCwgYnV0IHRoaXMgcGFydGl0aW9uIGRvZXMgbm90IHN1cHBvcnQg
81
- b25lIG9yIGJvdGgiLCJ0eXBlIjoiZXJyb3IifV19LHsiY29uZGl0aW9ucyI6
82
- W3siZm4iOiJib29sZWFuRXF1YWxzIiwiYXJndiI6W3sicmVmIjoiVXNlRklQ
83
- UyJ9LHRydWVdfV0sInR5cGUiOiJ0cmVlIiwicnVsZXMiOlt7ImNvbmRpdGlv
84
- bnMiOlt7ImZuIjoiYm9vbGVhbkVxdWFscyIsImFyZ3YiOlt0cnVlLHsiZm4i
85
- OiJnZXRBdHRyIiwiYXJndiI6W3sicmVmIjoiUGFydGl0aW9uUmVzdWx0In0s
86
- InN1cHBvcnRzRklQUyJdfV19XSwidHlwZSI6InRyZWUiLCJydWxlcyI6W3si
87
- Y29uZGl0aW9ucyI6W10sInR5cGUiOiJ0cmVlIiwicnVsZXMiOlt7ImNvbmRp
88
- dGlvbnMiOltdLCJlbmRwb2ludCI6eyJ1cmwiOiJodHRwczovL3RyYW5zZmVy
89
- LWZpcHMue1JlZ2lvbn0ue1BhcnRpdGlvblJlc3VsdCNkbnNTdWZmaXh9Iiwi
90
- cHJvcGVydGllcyI6e30sImhlYWRlcnMiOnt9fSwidHlwZSI6ImVuZHBvaW50
91
- In1dfV19LHsiY29uZGl0aW9ucyI6W10sImVycm9yIjoiRklQUyBpcyBlbmFi
92
- bGVkIGJ1dCB0aGlzIHBhcnRpdGlvbiBkb2VzIG5vdCBzdXBwb3J0IEZJUFMi
93
- LCJ0eXBlIjoiZXJyb3IifV19LHsiY29uZGl0aW9ucyI6W3siZm4iOiJib29s
94
- ZWFuRXF1YWxzIiwiYXJndiI6W3sicmVmIjoiVXNlRHVhbFN0YWNrIn0sdHJ1
95
- ZV19XSwidHlwZSI6InRyZWUiLCJydWxlcyI6W3siY29uZGl0aW9ucyI6W3si
96
- Zm4iOiJib29sZWFuRXF1YWxzIiwiYXJndiI6W3RydWUseyJmbiI6ImdldEF0
97
- dHIiLCJhcmd2IjpbeyJyZWYiOiJQYXJ0aXRpb25SZXN1bHQifSwic3VwcG9y
98
- dHNEdWFsU3RhY2siXX1dfV0sInR5cGUiOiJ0cmVlIiwicnVsZXMiOlt7ImNv
99
- bmRpdGlvbnMiOltdLCJlbmRwb2ludCI6eyJ1cmwiOiJodHRwczovL3RyYW5z
100
- ZmVyLntSZWdpb259LntQYXJ0aXRpb25SZXN1bHQjZHVhbFN0YWNrRG5zU3Vm
101
- Zml4fSIsInByb3BlcnRpZXMiOnt9LCJoZWFkZXJzIjp7fX0sInR5cGUiOiJl
102
- bmRwb2ludCJ9XX0seyJjb25kaXRpb25zIjpbXSwiZXJyb3IiOiJEdWFsU3Rh
103
- Y2sgaXMgZW5hYmxlZCBidXQgdGhpcyBwYXJ0aXRpb24gZG9lcyBub3Qgc3Vw
104
- cG9ydCBEdWFsU3RhY2siLCJ0eXBlIjoiZXJyb3IifV19LHsiY29uZGl0aW9u
105
- cyI6W10sImVuZHBvaW50Ijp7InVybCI6Imh0dHBzOi8vdHJhbnNmZXIue1Jl
106
- Z2lvbn0ue1BhcnRpdGlvblJlc3VsdCNkbnNTdWZmaXh9IiwicHJvcGVydGll
107
- cyI6e30sImhlYWRlcnMiOnt9fSwidHlwZSI6ImVuZHBvaW50In1dfV19
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
+ Ijp7InVybCI6Imh0dHBzOi8vdHJhbnNmZXItZmlwcy57UmVnaW9ufS57UGFy
77
+ dGl0aW9uUmVzdWx0I2R1YWxTdGFja0Ruc1N1ZmZpeH0iLCJwcm9wZXJ0aWVz
78
+ Ijp7fSwiaGVhZGVycyI6e319LCJ0eXBlIjoiZW5kcG9pbnQifV19LHsiY29u
79
+ ZGl0aW9ucyI6W10sImVycm9yIjoiRklQUyBhbmQgRHVhbFN0YWNrIGFyZSBl
80
+ bmFibGVkLCBidXQgdGhpcyBwYXJ0aXRpb24gZG9lcyBub3Qgc3VwcG9ydCBv
81
+ bmUgb3IgYm90aCIsInR5cGUiOiJlcnJvciJ9XX0seyJjb25kaXRpb25zIjpb
82
+ eyJmbiI6ImJvb2xlYW5FcXVhbHMiLCJhcmd2IjpbeyJyZWYiOiJVc2VGSVBT
83
+ In0sdHJ1ZV19XSwidHlwZSI6InRyZWUiLCJydWxlcyI6W3siY29uZGl0aW9u
84
+ cyI6W3siZm4iOiJib29sZWFuRXF1YWxzIiwiYXJndiI6W3RydWUseyJmbiI6
85
+ ImdldEF0dHIiLCJhcmd2IjpbeyJyZWYiOiJQYXJ0aXRpb25SZXN1bHQifSwi
86
+ c3VwcG9ydHNGSVBTIl19XX1dLCJ0eXBlIjoidHJlZSIsInJ1bGVzIjpbeyJj
87
+ b25kaXRpb25zIjpbXSwidHlwZSI6InRyZWUiLCJydWxlcyI6W3siY29uZGl0
88
+ aW9ucyI6W10sImVuZHBvaW50Ijp7InVybCI6Imh0dHBzOi8vdHJhbnNmZXIt
89
+ Zmlwcy57UmVnaW9ufS57UGFydGl0aW9uUmVzdWx0I2Ruc1N1ZmZpeH0iLCJw
90
+ cm9wZXJ0aWVzIjp7fSwiaGVhZGVycyI6e319LCJ0eXBlIjoiZW5kcG9pbnQi
91
+ fV19XX0seyJjb25kaXRpb25zIjpbXSwiZXJyb3IiOiJGSVBTIGlzIGVuYWJs
92
+ ZWQgYnV0IHRoaXMgcGFydGl0aW9uIGRvZXMgbm90IHN1cHBvcnQgRklQUyIs
93
+ InR5cGUiOiJlcnJvciJ9XX0seyJjb25kaXRpb25zIjpbeyJmbiI6ImJvb2xl
94
+ YW5FcXVhbHMiLCJhcmd2IjpbeyJyZWYiOiJVc2VEdWFsU3RhY2sifSx0cnVl
95
+ XX1dLCJ0eXBlIjoidHJlZSIsInJ1bGVzIjpbeyJjb25kaXRpb25zIjpbeyJm
96
+ biI6ImJvb2xlYW5FcXVhbHMiLCJhcmd2IjpbdHJ1ZSx7ImZuIjoiZ2V0QXR0
97
+ ciIsImFyZ3YiOlt7InJlZiI6IlBhcnRpdGlvblJlc3VsdCJ9LCJzdXBwb3J0
98
+ c0R1YWxTdGFjayJdfV19XSwidHlwZSI6InRyZWUiLCJydWxlcyI6W3siY29u
99
+ ZGl0aW9ucyI6W10sImVuZHBvaW50Ijp7InVybCI6Imh0dHBzOi8vdHJhbnNm
100
+ ZXIue1JlZ2lvbn0ue1BhcnRpdGlvblJlc3VsdCNkdWFsU3RhY2tEbnNTdWZm
101
+ aXh9IiwicHJvcGVydGllcyI6e30sImhlYWRlcnMiOnt9fSwidHlwZSI6ImVu
102
+ ZHBvaW50In1dfSx7ImNvbmRpdGlvbnMiOltdLCJlcnJvciI6IkR1YWxTdGFj
103
+ ayBpcyBlbmFibGVkIGJ1dCB0aGlzIHBhcnRpdGlvbiBkb2VzIG5vdCBzdXBw
104
+ b3J0IER1YWxTdGFjayIsInR5cGUiOiJlcnJvciJ9XX0seyJjb25kaXRpb25z
105
+ IjpbXSwiZW5kcG9pbnQiOnsidXJsIjoiaHR0cHM6Ly90cmFuc2Zlci57UmVn
106
+ aW9ufS57UGFydGl0aW9uUmVzdWx0I2Ruc1N1ZmZpeH0iLCJwcm9wZXJ0aWVz
107
+ Ijp7fSwiaGVhZGVycyI6e319LCJ0eXBlIjoiZW5kcG9pbnQifV19XX0=
108
108
 
109
109
  JSON
110
110
  end