aws-sdk-rekognition 1.72.0 → 1.73.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: 59e3c384ad0740cd57cc26b976cfc30f0b0ed8651a37b8100489e8ce2faedabc
4
- data.tar.gz: 240fc9c7d44843b9c4e2829931f467a6b3a1328352ca6b65453a98cec036094b
3
+ metadata.gz: 92251b0f044672d1160f7436ab44d156c043c2a438af9b8b150887d9a013fa7d
4
+ data.tar.gz: f105900aa5b99126639d60d0dd2b08959f5133f2dd1180037143f63a4b9ca63b
5
5
  SHA512:
6
- metadata.gz: 417c29e0ef8da4ce0cbe2745a25cf49591719cbbd07aa0f8c2f7bf6eeaed28c06edf1e865af40bf9210525bb7f00c8be63052e87c0aad42e42ede10f63e498f4
7
- data.tar.gz: 78802af11d77ace741a2cce11f5c4673d9a00ea92c5844593f4f9af04cc6d1e61e093a6503a4088ba425aa74b9ba72545fb407ec34a2734a807021a3d2559190
6
+ metadata.gz: d2800231e49700ed3309794aee9f209641b25ef95a30d09edf89edd203c364298b7315ae6a1f7736f1264fb4589ad8d96dce5ada003fc2c899def6edcd3d6673
7
+ data.tar.gz: 7f8267247b5d8cdbc34730ce8d87f1f5c327e791fffe64c7fad5ec0cb43c38bfdb5a4f151ac14c9eb219f76137cdb0f74ebf5726eaf6265f06cddc2d7c993274
data/CHANGELOG.md CHANGED
@@ -1,6 +1,11 @@
1
1
  Unreleased Changes
2
2
  ------------------
3
3
 
4
+ 1.73.0 (2022-12-12)
5
+ ------------------
6
+
7
+ * Feature - Adds support for "aliases" and "categories", inclusion and exclusion filters for labels and label categories, and aggregating labels by video segment timestamps for Stored Video Label Detection APIs.
8
+
4
9
  1.72.0 (2022-11-11)
5
10
  ------------------
6
11
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.72.0
1
+ 1.73.0
@@ -2226,7 +2226,7 @@ module Aws::Rekognition
2226
2226
  # * Aliases - Possible Aliases for the label.
2227
2227
  #
2228
2228
  # * Categories - The label categories that the detected label belongs
2229
- # to. A given label can belong to more than one category.
2229
+ # to.
2230
2230
  #
2231
2231
  # * BoundingBox — Bounding boxes are described for all instances of
2232
2232
  # detected common object labels, returned in an array of Instance
@@ -2245,11 +2245,11 @@ module Aws::Rekognition
2245
2245
  #
2246
2246
  # * Dominant Color - An array of the dominant colors in the image.
2247
2247
  #
2248
- # * Foreground - Information about the Sharpness and Brightness of the
2249
- # input image’s foreground.
2248
+ # * Foreground - Information about the sharpness, brightness, and
2249
+ # dominant colors of the input image’s foreground.
2250
2250
  #
2251
- # * Background - Information about the Sharpness and Brightness of the
2252
- # input image’s background.
2251
+ # * Background - Information about the sharpness, brightness, and
2252
+ # dominant colors of the input image’s background.
2253
2253
  #
2254
2254
  # The list of returned labels will include at least one label for every
2255
2255
  # detected object, along with information about that label. In the
@@ -3403,25 +3403,69 @@ module Aws::Rekognition
3403
3403
  # StartLabelDetection which returns a job identifier (`JobId`). When the
3404
3404
  # label detection operation finishes, Amazon Rekognition publishes a
3405
3405
  # completion status to the Amazon Simple Notification Service topic
3406
- # registered in the initial call to `StartlabelDetection`. To get the
3407
- # results of the label detection operation, first check that the status
3408
- # value published to the Amazon SNS topic is `SUCCEEDED`. If so, call
3409
- # GetLabelDetection and pass the job identifier (`JobId`) from the
3410
- # initial call to `StartLabelDetection`.
3406
+ # registered in the initial call to `StartlabelDetection`.
3407
+ #
3408
+ # To get the results of the label detection operation, first check that
3409
+ # the status value published to the Amazon SNS topic is `SUCCEEDED`. If
3410
+ # so, call GetLabelDetection and pass the job identifier (`JobId`) from
3411
+ # the initial call to `StartLabelDetection`.
3411
3412
  #
3412
3413
  # `GetLabelDetection` returns an array of detected labels (`Labels`)
3413
3414
  # sorted by the time the labels were detected. You can also sort by the
3414
- # label name by specifying `NAME` for the `SortBy` input parameter.
3415
+ # label name by specifying `NAME` for the `SortBy` input parameter. If
3416
+ # there is no `NAME` specified, the default sort is by timestamp.
3415
3417
  #
3416
- # The labels returned include the label name, the percentage confidence
3417
- # in the accuracy of the detected label, and the time the label was
3418
- # detected in the video.
3418
+ # You can select how results are aggregated by using the `AggregateBy`
3419
+ # input parameter. The default aggregation method is `TIMESTAMPS`. You
3420
+ # can also aggregate by `SEGMENTS`, which aggregates all instances of
3421
+ # labels detected in a given segment.
3419
3422
  #
3420
- # The returned labels also include bounding box information for common
3421
- # objects, a hierarchical taxonomy of detected labels, and the version
3422
- # of the label model used for detection.
3423
+ # The returned Labels array may include the following attributes:
3423
3424
  #
3424
- # Use MaxResults parameter to limit the number of labels returned. If
3425
+ # * Name - The name of the detected label.
3426
+ #
3427
+ # * Confidence - The level of confidence in the label assigned to a
3428
+ # detected object.
3429
+ #
3430
+ # * Parents - The ancestor labels for a detected label.
3431
+ # GetLabelDetection returns a hierarchical taxonomy of detected
3432
+ # labels. For example, a detected car might be assigned the label car.
3433
+ # The label car has two parent labels: Vehicle (its parent) and
3434
+ # Transportation (its grandparent). The response includes the all
3435
+ # ancestors for a label, where every ancestor is a unique label. In
3436
+ # the previous example, Car, Vehicle, and Transportation are returned
3437
+ # as unique labels in the response.
3438
+ #
3439
+ # * Aliases - Possible Aliases for the label.
3440
+ #
3441
+ # * Categories - The label categories that the detected label belongs
3442
+ # to.
3443
+ #
3444
+ # * BoundingBox — Bounding boxes are described for all instances of
3445
+ # detected common object labels, returned in an array of Instance
3446
+ # objects. An Instance object contains a BoundingBox object,
3447
+ # describing the location of the label on the input image. It also
3448
+ # includes the confidence for the accuracy of the detected bounding
3449
+ # box.
3450
+ #
3451
+ # * Timestamp - Time, in milliseconds from the start of the video, that
3452
+ # the label was detected. For aggregation by `SEGMENTS`, the
3453
+ # `StartTimestampMillis`, `EndTimestampMillis`, and `DurationMillis`
3454
+ # structures are what define a segment. Although the “Timestamp”
3455
+ # structure is still returned with each label, its value is set to be
3456
+ # the same as `StartTimestampMillis`.
3457
+ #
3458
+ # Timestamp and Bounding box information are returned for detected
3459
+ # Instances, only if aggregation is done by `TIMESTAMPS`. If aggregating
3460
+ # by `SEGMENTS`, information about detected instances isn’t returned.
3461
+ #
3462
+ # The version of the label model used for the detection is also
3463
+ # returned.
3464
+ #
3465
+ # **Note `DominantColors` isn't returned for `Instances`, although it
3466
+ # is shown as part of the response in the sample seen below.**
3467
+ #
3468
+ # Use `MaxResults` parameter to limit the number of labels returned. If
3425
3469
  # there are more results than specified in `MaxResults`, the value of
3426
3470
  # `NextToken` in the operation response contains a pagination token for
3427
3471
  # getting the next set of results. To get the next page of results, call
@@ -3453,6 +3497,10 @@ module Aws::Rekognition
3453
3497
  # group, the array element are sorted by detection confidence. The
3454
3498
  # default sort is by `TIMESTAMP`.
3455
3499
  #
3500
+ # @option params [String] :aggregate_by
3501
+ # Defines how to aggregate the returned results. Results can be
3502
+ # aggregated by timestamps or segments.
3503
+ #
3456
3504
  # @return [Types::GetLabelDetectionResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3457
3505
  #
3458
3506
  # * {Types::GetLabelDetectionResponse#job_status #job_status} => String
@@ -3471,6 +3519,7 @@ module Aws::Rekognition
3471
3519
  # max_results: 1,
3472
3520
  # next_token: "PaginationToken",
3473
3521
  # sort_by: "NAME", # accepts NAME, TIMESTAMP
3522
+ # aggregate_by: "TIMESTAMPS", # accepts TIMESTAMPS, SEGMENTS
3474
3523
  # })
3475
3524
  #
3476
3525
  # @example Response structure
@@ -3509,6 +3558,9 @@ module Aws::Rekognition
3509
3558
  # resp.labels[0].label.aliases[0].name #=> String
3510
3559
  # resp.labels[0].label.categories #=> Array
3511
3560
  # resp.labels[0].label.categories[0].name #=> String
3561
+ # resp.labels[0].start_timestamp_millis #=> Integer
3562
+ # resp.labels[0].end_timestamp_millis #=> Integer
3563
+ # resp.labels[0].duration_millis #=> Integer
3512
3564
  # resp.label_model_version #=> String
3513
3565
  #
3514
3566
  # @overload get_label_detection(params = {})
@@ -5744,6 +5796,22 @@ module Aws::Rekognition
5744
5796
  # so, call GetLabelDetection and pass the job identifier (`JobId`) from
5745
5797
  # the initial call to `StartLabelDetection`.
5746
5798
  #
5799
+ # *Optional Parameters*
5800
+ #
5801
+ # `StartLabelDetection` has the `GENERAL_LABELS` Feature applied by
5802
+ # default. This feature allows you to provide filtering criteria to the
5803
+ # `Settings` parameter. You can filter with sets of individual labels or
5804
+ # with label categories. You can specify inclusive filters, exclusive
5805
+ # filters, or a combination of inclusive and exclusive filters. For more
5806
+ # information on filtering, see [Detecting labels in a video][1].
5807
+ #
5808
+ # You can specify `MinConfidence` to control the confidence threshold
5809
+ # for the labels returned. The default is 50.
5810
+ #
5811
+ #
5812
+ #
5813
+ # [1]: https://docs.aws.amazon.com/rekognition/latest/dg/labels-detecting-labels-video.html
5814
+ #
5747
5815
  # @option params [required, Types::Video] :video
5748
5816
  # The video in which you want to detect labels. The video must be stored
5749
5817
  # in an Amazon S3 bucket.
@@ -5763,7 +5831,8 @@ module Aws::Rekognition
5763
5831
  # lower than this specified value.
5764
5832
  #
5765
5833
  # If you don't specify `MinConfidence`, the operation returns labels
5766
- # with confidence values greater than or equal to 50 percent.
5834
+ # and bounding boxes (if detected) with confidence values greater than
5835
+ # or equal to 50 percent.
5767
5836
  #
5768
5837
  # @option params [Types::NotificationChannel] :notification_channel
5769
5838
  # The Amazon SNS topic ARN you want Amazon Rekognition Video to publish
@@ -5777,6 +5846,15 @@ module Aws::Rekognition
5777
5846
  # Service topic. For example, you can use `JobTag` to group related jobs
5778
5847
  # and identify them in the completion notification.
5779
5848
  #
5849
+ # @option params [Array<String>] :features
5850
+ # The features to return after video analysis. You can specify that
5851
+ # GENERAL\_LABELS are returned.
5852
+ #
5853
+ # @option params [Types::LabelDetectionSettings] :settings
5854
+ # The settings for a StartLabelDetection request.Contains the specified
5855
+ # parameters for the label detection request of an asynchronous label
5856
+ # analysis operation. Settings can include filters for GENERAL\_LABELS.
5857
+ #
5780
5858
  # @return [Types::StartLabelDetectionResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
5781
5859
  #
5782
5860
  # * {Types::StartLabelDetectionResponse#job_id #job_id} => String
@@ -5798,6 +5876,15 @@ module Aws::Rekognition
5798
5876
  # role_arn: "RoleArn", # required
5799
5877
  # },
5800
5878
  # job_tag: "JobTag",
5879
+ # features: ["GENERAL_LABELS"], # accepts GENERAL_LABELS
5880
+ # settings: {
5881
+ # general_labels: {
5882
+ # label_inclusion_filters: ["GeneralLabelsFilterValue"],
5883
+ # label_exclusion_filters: ["GeneralLabelsFilterValue"],
5884
+ # label_category_inclusion_filters: ["GeneralLabelsFilterValue"],
5885
+ # label_category_exclusion_filters: ["GeneralLabelsFilterValue"],
5886
+ # },
5887
+ # },
5801
5888
  # })
5802
5889
  #
5803
5890
  # @example Response structure
@@ -6469,7 +6556,7 @@ module Aws::Rekognition
6469
6556
  params: params,
6470
6557
  config: config)
6471
6558
  context[:gem_name] = 'aws-sdk-rekognition'
6472
- context[:gem_version] = '1.72.0'
6559
+ context[:gem_version] = '1.73.0'
6473
6560
  Seahorse::Client::Request.new(handlers, context)
6474
6561
  end
6475
6562
 
@@ -242,6 +242,10 @@ module Aws::Rekognition
242
242
  LabelCategories = Shapes::ListShape.new(name: 'LabelCategories')
243
243
  LabelCategory = Shapes::StructureShape.new(name: 'LabelCategory')
244
244
  LabelDetection = Shapes::StructureShape.new(name: 'LabelDetection')
245
+ LabelDetectionAggregateBy = Shapes::StringShape.new(name: 'LabelDetectionAggregateBy')
246
+ LabelDetectionFeatureList = Shapes::ListShape.new(name: 'LabelDetectionFeatureList')
247
+ LabelDetectionFeatureName = Shapes::StringShape.new(name: 'LabelDetectionFeatureName')
248
+ LabelDetectionSettings = Shapes::StructureShape.new(name: 'LabelDetectionSettings')
245
249
  LabelDetectionSortBy = Shapes::StringShape.new(name: 'LabelDetectionSortBy')
246
250
  LabelDetections = Shapes::ListShape.new(name: 'LabelDetections')
247
251
  Labels = Shapes::ListShape.new(name: 'Labels')
@@ -1056,6 +1060,7 @@ module Aws::Rekognition
1056
1060
  GetLabelDetectionRequest.add_member(:max_results, Shapes::ShapeRef.new(shape: MaxResults, location_name: "MaxResults"))
1057
1061
  GetLabelDetectionRequest.add_member(:next_token, Shapes::ShapeRef.new(shape: PaginationToken, location_name: "NextToken"))
1058
1062
  GetLabelDetectionRequest.add_member(:sort_by, Shapes::ShapeRef.new(shape: LabelDetectionSortBy, location_name: "SortBy"))
1063
+ GetLabelDetectionRequest.add_member(:aggregate_by, Shapes::ShapeRef.new(shape: LabelDetectionAggregateBy, location_name: "AggregateBy"))
1059
1064
  GetLabelDetectionRequest.struct_class = Types::GetLabelDetectionRequest
1060
1065
 
1061
1066
  GetLabelDetectionResponse.add_member(:job_status, Shapes::ShapeRef.new(shape: VideoJobStatus, location_name: "JobStatus"))
@@ -1207,8 +1212,16 @@ module Aws::Rekognition
1207
1212
 
1208
1213
  LabelDetection.add_member(:timestamp, Shapes::ShapeRef.new(shape: Timestamp, location_name: "Timestamp"))
1209
1214
  LabelDetection.add_member(:label, Shapes::ShapeRef.new(shape: Label, location_name: "Label"))
1215
+ LabelDetection.add_member(:start_timestamp_millis, Shapes::ShapeRef.new(shape: ULong, location_name: "StartTimestampMillis"))
1216
+ LabelDetection.add_member(:end_timestamp_millis, Shapes::ShapeRef.new(shape: ULong, location_name: "EndTimestampMillis"))
1217
+ LabelDetection.add_member(:duration_millis, Shapes::ShapeRef.new(shape: ULong, location_name: "DurationMillis"))
1210
1218
  LabelDetection.struct_class = Types::LabelDetection
1211
1219
 
1220
+ LabelDetectionFeatureList.member = Shapes::ShapeRef.new(shape: LabelDetectionFeatureName)
1221
+
1222
+ LabelDetectionSettings.add_member(:general_labels, Shapes::ShapeRef.new(shape: GeneralLabelsSettings, location_name: "GeneralLabels"))
1223
+ LabelDetectionSettings.struct_class = Types::LabelDetectionSettings
1224
+
1212
1225
  LabelDetections.member = Shapes::ShapeRef.new(shape: LabelDetection)
1213
1226
 
1214
1227
  Labels.member = Shapes::ShapeRef.new(shape: Label)
@@ -1557,6 +1570,8 @@ module Aws::Rekognition
1557
1570
  StartLabelDetectionRequest.add_member(:min_confidence, Shapes::ShapeRef.new(shape: Percent, location_name: "MinConfidence"))
1558
1571
  StartLabelDetectionRequest.add_member(:notification_channel, Shapes::ShapeRef.new(shape: NotificationChannel, location_name: "NotificationChannel"))
1559
1572
  StartLabelDetectionRequest.add_member(:job_tag, Shapes::ShapeRef.new(shape: JobTag, location_name: "JobTag"))
1573
+ StartLabelDetectionRequest.add_member(:features, Shapes::ShapeRef.new(shape: LabelDetectionFeatureList, location_name: "Features"))
1574
+ StartLabelDetectionRequest.add_member(:settings, Shapes::ShapeRef.new(shape: LabelDetectionSettings, location_name: "Settings"))
1560
1575
  StartLabelDetectionRequest.struct_class = Types::StartLabelDetectionRequest
1561
1576
 
1562
1577
  StartLabelDetectionResponse.add_member(:job_id, Shapes::ShapeRef.new(shape: JobId, location_name: "JobId"))
@@ -50,6 +50,9 @@ module Aws::Rekognition
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,110 +29,109 @@ module Aws::Rekognition
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
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
+ c1NldCIsImFyZ3YiOlt7InJlZiI6IkVuZHBvaW50In1dfV0sInR5cGUiOiJ0
54
+ cmVlIiwicnVsZXMiOlt7ImNvbmRpdGlvbnMiOlt7ImZuIjoiYm9vbGVhbkVx
55
+ dWFscyIsImFyZ3YiOlt7InJlZiI6IlVzZUZJUFMifSx0cnVlXX1dLCJlcnJv
56
+ ciI6IkludmFsaWQgQ29uZmlndXJhdGlvbjogRklQUyBhbmQgY3VzdG9tIGVu
57
+ ZHBvaW50IGFyZSBub3Qgc3VwcG9ydGVkIiwidHlwZSI6ImVycm9yIn0seyJj
58
+ b25kaXRpb25zIjpbXSwidHlwZSI6InRyZWUiLCJydWxlcyI6W3siY29uZGl0
59
+ aW9ucyI6W3siZm4iOiJib29sZWFuRXF1YWxzIiwiYXJndiI6W3sicmVmIjoi
60
+ VXNlRHVhbFN0YWNrIn0sdHJ1ZV19XSwiZXJyb3IiOiJJbnZhbGlkIENvbmZp
61
+ Z3VyYXRpb246IER1YWxzdGFjayBhbmQgY3VzdG9tIGVuZHBvaW50IGFyZSBu
62
+ b3Qgc3VwcG9ydGVkIiwidHlwZSI6ImVycm9yIn0seyJjb25kaXRpb25zIjpb
63
+ XSwiZW5kcG9pbnQiOnsidXJsIjp7InJlZiI6IkVuZHBvaW50In0sInByb3Bl
64
+ cnRpZXMiOnt9LCJoZWFkZXJzIjp7fX0sInR5cGUiOiJlbmRwb2ludCJ9XX1d
65
+ fSx7ImNvbmRpdGlvbnMiOlt7ImZuIjoiYm9vbGVhbkVxdWFscyIsImFyZ3Yi
66
+ Olt7InJlZiI6IlVzZUZJUFMifSx0cnVlXX0seyJmbiI6ImJvb2xlYW5FcXVh
67
+ bHMiLCJhcmd2IjpbeyJyZWYiOiJVc2VEdWFsU3RhY2sifSx0cnVlXX1dLCJ0
68
+ eXBlIjoidHJlZSIsInJ1bGVzIjpbeyJjb25kaXRpb25zIjpbeyJmbiI6ImJv
69
+ b2xlYW5FcXVhbHMiLCJhcmd2IjpbdHJ1ZSx7ImZuIjoiZ2V0QXR0ciIsImFy
70
+ Z3YiOlt7InJlZiI6IlBhcnRpdGlvblJlc3VsdCJ9LCJzdXBwb3J0c0ZJUFMi
71
+ XX1dfSx7ImZuIjoiYm9vbGVhbkVxdWFscyIsImFyZ3YiOlt0cnVlLHsiZm4i
72
+ OiJnZXRBdHRyIiwiYXJndiI6W3sicmVmIjoiUGFydGl0aW9uUmVzdWx0In0s
73
+ InN1cHBvcnRzRHVhbFN0YWNrIl19XX1dLCJ0eXBlIjoidHJlZSIsInJ1bGVz
74
+ IjpbeyJjb25kaXRpb25zIjpbXSwiZW5kcG9pbnQiOnsidXJsIjoiaHR0cHM6
75
+ Ly9yZWtvZ25pdGlvbi1maXBzLntSZWdpb259LntQYXJ0aXRpb25SZXN1bHQj
76
+ ZHVhbFN0YWNrRG5zU3VmZml4fSIsInByb3BlcnRpZXMiOnt9LCJoZWFkZXJz
77
+ Ijp7fX0sInR5cGUiOiJlbmRwb2ludCJ9XX0seyJjb25kaXRpb25zIjpbXSwi
78
+ ZXJyb3IiOiJGSVBTIGFuZCBEdWFsU3RhY2sgYXJlIGVuYWJsZWQsIGJ1dCB0
79
+ aGlzIHBhcnRpdGlvbiBkb2VzIG5vdCBzdXBwb3J0IG9uZSBvciBib3RoIiwi
80
+ dHlwZSI6ImVycm9yIn1dfSx7ImNvbmRpdGlvbnMiOlt7ImZuIjoiYm9vbGVh
81
+ bkVxdWFscyIsImFyZ3YiOlt7InJlZiI6IlVzZUZJUFMifSx0cnVlXX1dLCJ0
82
+ eXBlIjoidHJlZSIsInJ1bGVzIjpbeyJjb25kaXRpb25zIjpbeyJmbiI6ImJv
83
+ b2xlYW5FcXVhbHMiLCJhcmd2IjpbdHJ1ZSx7ImZuIjoiZ2V0QXR0ciIsImFy
84
+ Z3YiOlt7InJlZiI6IlBhcnRpdGlvblJlc3VsdCJ9LCJzdXBwb3J0c0ZJUFMi
85
+ XX1dfV0sInR5cGUiOiJ0cmVlIiwicnVsZXMiOlt7ImNvbmRpdGlvbnMiOltd
86
+ LCJ0eXBlIjoidHJlZSIsInJ1bGVzIjpbeyJjb25kaXRpb25zIjpbeyJmbiI6
87
+ InN0cmluZ0VxdWFscyIsImFyZ3YiOlt7InJlZiI6IlJlZ2lvbiJ9LCJyZWtv
88
+ Z25pdGlvbi5jYS1jZW50cmFsLTEiXX1dLCJlbmRwb2ludCI6eyJ1cmwiOiJo
89
+ dHRwczovL3Jla29nbml0aW9uLWZpcHMuY2EtY2VudHJhbC0xLmFtYXpvbmF3
90
+ cy5jb20iLCJwcm9wZXJ0aWVzIjp7fSwiaGVhZGVycyI6e319LCJ0eXBlIjoi
91
+ ZW5kcG9pbnQifSx7ImNvbmRpdGlvbnMiOlt7ImZuIjoic3RyaW5nRXF1YWxz
92
+ IiwiYXJndiI6W3sicmVmIjoiUmVnaW9uIn0sInJla29nbml0aW9uLnVzLWVh
93
+ c3QtMSJdfV0sImVuZHBvaW50Ijp7InVybCI6Imh0dHBzOi8vcmVrb2duaXRp
94
+ b24tZmlwcy51cy1lYXN0LTEuYW1hem9uYXdzLmNvbSIsInByb3BlcnRpZXMi
95
+ Ont9LCJoZWFkZXJzIjp7fX0sInR5cGUiOiJlbmRwb2ludCJ9LHsiY29uZGl0
96
+ aW9ucyI6W3siZm4iOiJzdHJpbmdFcXVhbHMiLCJhcmd2IjpbeyJyZWYiOiJS
97
+ ZWdpb24ifSwicmVrb2duaXRpb24udXMtZWFzdC0yIl19XSwiZW5kcG9pbnQi
98
+ OnsidXJsIjoiaHR0cHM6Ly9yZWtvZ25pdGlvbi1maXBzLnVzLWVhc3QtMi5h
99
+ bWF6b25hd3MuY29tIiwicHJvcGVydGllcyI6e30sImhlYWRlcnMiOnt9fSwi
100
+ dHlwZSI6ImVuZHBvaW50In0seyJjb25kaXRpb25zIjpbeyJmbiI6InN0cmlu
101
+ Z0VxdWFscyIsImFyZ3YiOlt7InJlZiI6IlJlZ2lvbiJ9LCJyZWtvZ25pdGlv
102
+ bi51cy13ZXN0LTEiXX1dLCJlbmRwb2ludCI6eyJ1cmwiOiJodHRwczovL3Jl
103
+ a29nbml0aW9uLWZpcHMudXMtd2VzdC0xLmFtYXpvbmF3cy5jb20iLCJwcm9w
104
+ ZXJ0aWVzIjp7fSwiaGVhZGVycyI6e319LCJ0eXBlIjoiZW5kcG9pbnQifSx7
105
+ ImNvbmRpdGlvbnMiOlt7ImZuIjoic3RyaW5nRXF1YWxzIiwiYXJndiI6W3si
106
+ cmVmIjoiUmVnaW9uIn0sInJla29nbml0aW9uLnVzLXdlc3QtMiJdfV0sImVu
107
+ ZHBvaW50Ijp7InVybCI6Imh0dHBzOi8vcmVrb2duaXRpb24tZmlwcy51cy13
108
+ ZXN0LTIuYW1hem9uYXdzLmNvbSIsInByb3BlcnRpZXMiOnt9LCJoZWFkZXJz
109
+ Ijp7fX0sInR5cGUiOiJlbmRwb2ludCJ9LHsiY29uZGl0aW9ucyI6W3siZm4i
110
+ OiJzdHJpbmdFcXVhbHMiLCJhcmd2IjpbeyJyZWYiOiJSZWdpb24ifSwicmVr
111
+ b2duaXRpb24udXMtZ292LXdlc3QtMSJdfV0sImVuZHBvaW50Ijp7InVybCI6
112
+ Imh0dHBzOi8vcmVrb2duaXRpb24tZmlwcy51cy1nb3Ytd2VzdC0xLmFtYXpv
113
+ bmF3cy5jb20iLCJwcm9wZXJ0aWVzIjp7fSwiaGVhZGVycyI6e319LCJ0eXBl
114
+ IjoiZW5kcG9pbnQifSx7ImNvbmRpdGlvbnMiOltdLCJlbmRwb2ludCI6eyJ1
115
+ cmwiOiJodHRwczovL3Jla29nbml0aW9uLWZpcHMue1JlZ2lvbn0ue1BhcnRp
116
+ dGlvblJlc3VsdCNkbnNTdWZmaXh9IiwicHJvcGVydGllcyI6e30sImhlYWRl
117
+ cnMiOnt9fSwidHlwZSI6ImVuZHBvaW50In1dfV19LHsiY29uZGl0aW9ucyI6
118
+ W10sImVycm9yIjoiRklQUyBpcyBlbmFibGVkIGJ1dCB0aGlzIHBhcnRpdGlv
119
+ biBkb2VzIG5vdCBzdXBwb3J0IEZJUFMiLCJ0eXBlIjoiZXJyb3IifV19LHsi
120
+ Y29uZGl0aW9ucyI6W3siZm4iOiJib29sZWFuRXF1YWxzIiwiYXJndiI6W3si
121
+ cmVmIjoiVXNlRHVhbFN0YWNrIn0sdHJ1ZV19XSwidHlwZSI6InRyZWUiLCJy
122
+ dWxlcyI6W3siY29uZGl0aW9ucyI6W3siZm4iOiJib29sZWFuRXF1YWxzIiwi
73
123
  YXJndiI6W3RydWUseyJmbiI6ImdldEF0dHIiLCJhcmd2IjpbeyJyZWYiOiJQ
74
124
  YXJ0aXRpb25SZXN1bHQifSwic3VwcG9ydHNEdWFsU3RhY2siXX1dfV0sInR5
75
125
  cGUiOiJ0cmVlIiwicnVsZXMiOlt7ImNvbmRpdGlvbnMiOltdLCJlbmRwb2lu
76
- dCI6eyJ1cmwiOiJodHRwczovL3Jla29nbml0aW9uLWZpcHMue1JlZ2lvbn0u
77
- e1BhcnRpdGlvblJlc3VsdCNkdWFsU3RhY2tEbnNTdWZmaXh9IiwicHJvcGVy
78
- dGllcyI6e30sImhlYWRlcnMiOnt9fSwidHlwZSI6ImVuZHBvaW50In1dfSx7
79
- ImNvbmRpdGlvbnMiOltdLCJlcnJvciI6IkZJUFMgYW5kIER1YWxTdGFjayBh
80
- cmUgZW5hYmxlZCwgYnV0IHRoaXMgcGFydGl0aW9uIGRvZXMgbm90IHN1cHBv
81
- cnQgb25lIG9yIGJvdGgiLCJ0eXBlIjoiZXJyb3IifV19LHsiY29uZGl0aW9u
82
- cyI6W3siZm4iOiJib29sZWFuRXF1YWxzIiwiYXJndiI6W3sicmVmIjoiVXNl
83
- RklQUyJ9LHRydWVdfV0sInR5cGUiOiJ0cmVlIiwicnVsZXMiOlt7ImNvbmRp
84
- dGlvbnMiOlt7ImZuIjoiYm9vbGVhbkVxdWFscyIsImFyZ3YiOlt0cnVlLHsi
85
- Zm4iOiJnZXRBdHRyIiwiYXJndiI6W3sicmVmIjoiUGFydGl0aW9uUmVzdWx0
86
- In0sInN1cHBvcnRzRklQUyJdfV19XSwidHlwZSI6InRyZWUiLCJydWxlcyI6
87
- W3siY29uZGl0aW9ucyI6W10sInR5cGUiOiJ0cmVlIiwicnVsZXMiOlt7ImNv
88
- bmRpdGlvbnMiOlt7ImZuIjoic3RyaW5nRXF1YWxzIiwiYXJndiI6W3sicmVm
89
- IjoiUmVnaW9uIn0sInJla29nbml0aW9uLmNhLWNlbnRyYWwtMSJdfV0sImVu
90
- ZHBvaW50Ijp7InVybCI6Imh0dHBzOi8vcmVrb2duaXRpb24tZmlwcy5jYS1j
91
- ZW50cmFsLTEuYW1hem9uYXdzLmNvbSIsInByb3BlcnRpZXMiOnt9LCJoZWFk
92
- ZXJzIjp7fX0sInR5cGUiOiJlbmRwb2ludCJ9LHsiY29uZGl0aW9ucyI6W3si
93
- Zm4iOiJzdHJpbmdFcXVhbHMiLCJhcmd2IjpbeyJyZWYiOiJSZWdpb24ifSwi
94
- cmVrb2duaXRpb24udXMtZWFzdC0xIl19XSwiZW5kcG9pbnQiOnsidXJsIjoi
95
- aHR0cHM6Ly9yZWtvZ25pdGlvbi1maXBzLnVzLWVhc3QtMS5hbWF6b25hd3Mu
96
- Y29tIiwicHJvcGVydGllcyI6e30sImhlYWRlcnMiOnt9fSwidHlwZSI6ImVu
97
- ZHBvaW50In0seyJjb25kaXRpb25zIjpbeyJmbiI6InN0cmluZ0VxdWFscyIs
98
- ImFyZ3YiOlt7InJlZiI6IlJlZ2lvbiJ9LCJyZWtvZ25pdGlvbi51cy1lYXN0
99
- LTIiXX1dLCJlbmRwb2ludCI6eyJ1cmwiOiJodHRwczovL3Jla29nbml0aW9u
100
- LWZpcHMudXMtZWFzdC0yLmFtYXpvbmF3cy5jb20iLCJwcm9wZXJ0aWVzIjp7
101
- fSwiaGVhZGVycyI6e319LCJ0eXBlIjoiZW5kcG9pbnQifSx7ImNvbmRpdGlv
102
- bnMiOlt7ImZuIjoic3RyaW5nRXF1YWxzIiwiYXJndiI6W3sicmVmIjoiUmVn
103
- aW9uIn0sInJla29nbml0aW9uLnVzLXdlc3QtMSJdfV0sImVuZHBvaW50Ijp7
104
- InVybCI6Imh0dHBzOi8vcmVrb2duaXRpb24tZmlwcy51cy13ZXN0LTEuYW1h
105
- em9uYXdzLmNvbSIsInByb3BlcnRpZXMiOnt9LCJoZWFkZXJzIjp7fX0sInR5
106
- cGUiOiJlbmRwb2ludCJ9LHsiY29uZGl0aW9ucyI6W3siZm4iOiJzdHJpbmdF
107
- cXVhbHMiLCJhcmd2IjpbeyJyZWYiOiJSZWdpb24ifSwicmVrb2duaXRpb24u
108
- dXMtd2VzdC0yIl19XSwiZW5kcG9pbnQiOnsidXJsIjoiaHR0cHM6Ly9yZWtv
109
- Z25pdGlvbi1maXBzLnVzLXdlc3QtMi5hbWF6b25hd3MuY29tIiwicHJvcGVy
110
- dGllcyI6e30sImhlYWRlcnMiOnt9fSwidHlwZSI6ImVuZHBvaW50In0seyJj
111
- b25kaXRpb25zIjpbeyJmbiI6InN0cmluZ0VxdWFscyIsImFyZ3YiOlt7InJl
112
- ZiI6IlJlZ2lvbiJ9LCJyZWtvZ25pdGlvbi51cy1nb3Ytd2VzdC0xIl19XSwi
113
- ZW5kcG9pbnQiOnsidXJsIjoiaHR0cHM6Ly9yZWtvZ25pdGlvbi1maXBzLnVz
114
- LWdvdi13ZXN0LTEuYW1hem9uYXdzLmNvbSIsInByb3BlcnRpZXMiOnt9LCJo
115
- ZWFkZXJzIjp7fX0sInR5cGUiOiJlbmRwb2ludCJ9LHsiY29uZGl0aW9ucyI6
116
- W10sImVuZHBvaW50Ijp7InVybCI6Imh0dHBzOi8vcmVrb2duaXRpb24tZmlw
117
- cy57UmVnaW9ufS57UGFydGl0aW9uUmVzdWx0I2Ruc1N1ZmZpeH0iLCJwcm9w
118
- ZXJ0aWVzIjp7fSwiaGVhZGVycyI6e319LCJ0eXBlIjoiZW5kcG9pbnQifV19
119
- XX0seyJjb25kaXRpb25zIjpbXSwiZXJyb3IiOiJGSVBTIGlzIGVuYWJsZWQg
120
- YnV0IHRoaXMgcGFydGl0aW9uIGRvZXMgbm90IHN1cHBvcnQgRklQUyIsInR5
121
- cGUiOiJlcnJvciJ9XX0seyJjb25kaXRpb25zIjpbeyJmbiI6ImJvb2xlYW5F
122
- cXVhbHMiLCJhcmd2IjpbeyJyZWYiOiJVc2VEdWFsU3RhY2sifSx0cnVlXX1d
123
- LCJ0eXBlIjoidHJlZSIsInJ1bGVzIjpbeyJjb25kaXRpb25zIjpbeyJmbiI6
124
- ImJvb2xlYW5FcXVhbHMiLCJhcmd2IjpbdHJ1ZSx7ImZuIjoiZ2V0QXR0ciIs
125
- ImFyZ3YiOlt7InJlZiI6IlBhcnRpdGlvblJlc3VsdCJ9LCJzdXBwb3J0c0R1
126
- YWxTdGFjayJdfV19XSwidHlwZSI6InRyZWUiLCJydWxlcyI6W3siY29uZGl0
127
- aW9ucyI6W10sImVuZHBvaW50Ijp7InVybCI6Imh0dHBzOi8vcmVrb2duaXRp
128
- b24ue1JlZ2lvbn0ue1BhcnRpdGlvblJlc3VsdCNkdWFsU3RhY2tEbnNTdWZm
129
- aXh9IiwicHJvcGVydGllcyI6e30sImhlYWRlcnMiOnt9fSwidHlwZSI6ImVu
130
- ZHBvaW50In1dfSx7ImNvbmRpdGlvbnMiOltdLCJlcnJvciI6IkR1YWxTdGFj
131
- ayBpcyBlbmFibGVkIGJ1dCB0aGlzIHBhcnRpdGlvbiBkb2VzIG5vdCBzdXBw
132
- b3J0IER1YWxTdGFjayIsInR5cGUiOiJlcnJvciJ9XX0seyJjb25kaXRpb25z
133
- IjpbXSwiZW5kcG9pbnQiOnsidXJsIjoiaHR0cHM6Ly9yZWtvZ25pdGlvbi57
134
- UmVnaW9ufS57UGFydGl0aW9uUmVzdWx0I2Ruc1N1ZmZpeH0iLCJwcm9wZXJ0
135
- aWVzIjp7fSwiaGVhZGVycyI6e319LCJ0eXBlIjoiZW5kcG9pbnQifV19XX0=
126
+ dCI6eyJ1cmwiOiJodHRwczovL3Jla29nbml0aW9uLntSZWdpb259LntQYXJ0
127
+ aXRpb25SZXN1bHQjZHVhbFN0YWNrRG5zU3VmZml4fSIsInByb3BlcnRpZXMi
128
+ Ont9LCJoZWFkZXJzIjp7fX0sInR5cGUiOiJlbmRwb2ludCJ9XX0seyJjb25k
129
+ aXRpb25zIjpbXSwiZXJyb3IiOiJEdWFsU3RhY2sgaXMgZW5hYmxlZCBidXQg
130
+ dGhpcyBwYXJ0aXRpb24gZG9lcyBub3Qgc3VwcG9ydCBEdWFsU3RhY2siLCJ0
131
+ eXBlIjoiZXJyb3IifV19LHsiY29uZGl0aW9ucyI6W10sImVuZHBvaW50Ijp7
132
+ InVybCI6Imh0dHBzOi8vcmVrb2duaXRpb24ue1JlZ2lvbn0ue1BhcnRpdGlv
133
+ blJlc3VsdCNkbnNTdWZmaXh9IiwicHJvcGVydGllcyI6e30sImhlYWRlcnMi
134
+ Ont9fSwidHlwZSI6ImVuZHBvaW50In1dfV19
136
135
 
137
136
  JSON
138
137
  end