aws-sdk-managedblockchain 1.35.0 → 1.37.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 +13 -1
- data/VERSION +1 -1
- data/lib/aws-sdk-managedblockchain/client.rb +37 -39
- data/lib/aws-sdk-managedblockchain/client_api.rb +3 -0
- data/lib/aws-sdk-managedblockchain/endpoint_provider.rb +38 -96
- data/lib/aws-sdk-managedblockchain/types.rb +64 -603
- data/lib/aws-sdk-managedblockchain.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: 949e30028dc06e314a8fdead3443245a334ec5837668d10c091dbc4f7bf601ce
         | 
| 4 | 
            +
              data.tar.gz: 5d100598f32d2bda2a373ef02677c39b95511369823dd3fba4fe30a8e9192761
         | 
| 5 5 | 
             
            SHA512:
         | 
| 6 | 
            -
              metadata.gz:  | 
| 7 | 
            -
              data.tar.gz:  | 
| 6 | 
            +
              metadata.gz: be4cad416c48cd95ce3c81dd4e127b50e3081e6b820001814a2633c047ca162b9730fe0d03a5af8584fa1fb9397cb481236622390af0a18868d60c9f143e244d
         | 
| 7 | 
            +
              data.tar.gz: 20a10ce2eec9527e028ddb50fc3b7982f34dfd4831d7927039e034bebe7f0e61fd146283add7175ab19c7579992dd05d60e485d879a275adc57e15d4fd5fd2d0
         | 
    
        data/CHANGELOG.md
    CHANGED
    
    | @@ -1,6 +1,18 @@ | |
| 1 1 | 
             
            Unreleased Changes
         | 
| 2 2 | 
             
            ------------------
         | 
| 3 3 |  | 
| 4 | 
            +
            1.37.0 (2023-02-28)
         | 
| 5 | 
            +
            ------------------
         | 
| 6 | 
            +
             | 
| 7 | 
            +
            * Feature - This release adds support for tagging to the accessor resource in Amazon Managed Blockchain
         | 
| 8 | 
            +
             | 
| 9 | 
            +
            1.36.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.35.0 (2022-11-14)
         | 
| 5 17 | 
             
            ------------------
         | 
| 6 18 |  | 
| @@ -185,4 +197,4 @@ Unreleased Changes | |
| 185 197 | 
             
            1.0.0 (2019-04-30)
         | 
| 186 198 | 
             
            ------------------
         | 
| 187 199 |  | 
| 188 | 
            -
            * Feature - Initial release of `aws-sdk-managedblockchain`.
         | 
| 200 | 
            +
            * Feature - Initial release of `aws-sdk-managedblockchain`.
         | 
    
        data/VERSION
    CHANGED
    
    | @@ -1 +1 @@ | |
| 1 | 
            -
            1. | 
| 1 | 
            +
            1.37.0
         | 
| @@ -368,14 +368,9 @@ module Aws::ManagedBlockchain | |
| 368 368 |  | 
| 369 369 | 
             
                # @!group API Operations
         | 
| 370 370 |  | 
| 371 | 
            -
                # The token based access feature is in preview release for Ethereum on
         | 
| 372 | 
            -
                # Amazon Managed Blockchain and is subject to change. We recommend that
         | 
| 373 | 
            -
                # you use this feature only with test scenarios, and not in production
         | 
| 374 | 
            -
                # environments.
         | 
| 375 | 
            -
                #
         | 
| 376 371 | 
             
                # Creates a new accessor for use with Managed Blockchain Ethereum nodes.
         | 
| 377 | 
            -
                # An accessor  | 
| 378 | 
            -
                #  | 
| 372 | 
            +
                # An accessor contains information required for token based access to
         | 
| 373 | 
            +
                # your Ethereum nodes.
         | 
| 379 374 | 
             
                #
         | 
| 380 375 | 
             
                # @option params [required, String] :client_request_token
         | 
| 381 376 | 
             
                #   This is a unique, case-sensitive identifier that you provide to ensure
         | 
| @@ -394,6 +389,23 @@ module Aws::ManagedBlockchain | |
| 394 389 | 
             
                #
         | 
| 395 390 | 
             
                #    </note>
         | 
| 396 391 | 
             
                #
         | 
| 392 | 
            +
                # @option params [Hash<String,String>] :tags
         | 
| 393 | 
            +
                #   Tags to assign to the Accessor.
         | 
| 394 | 
            +
                #
         | 
| 395 | 
            +
                #   Each tag consists of a key and an optional value. You can specify
         | 
| 396 | 
            +
                #   multiple key-value pairs in a single request with an overall maximum
         | 
| 397 | 
            +
                #   of 50 tags allowed per resource.
         | 
| 398 | 
            +
                #
         | 
| 399 | 
            +
                #   For more information about tags, see [Tagging Resources][1] in the
         | 
| 400 | 
            +
                #   *Amazon Managed Blockchain Ethereum Developer Guide*, or [Tagging
         | 
| 401 | 
            +
                #   Resources][2] in the *Amazon Managed Blockchain Hyperledger Fabric
         | 
| 402 | 
            +
                #   Developer Guide*.
         | 
| 403 | 
            +
                #
         | 
| 404 | 
            +
                #
         | 
| 405 | 
            +
                #
         | 
| 406 | 
            +
                #   [1]: https://docs.aws.amazon.com/managed-blockchain/latest/ethereum-dev/tagging-resources.html
         | 
| 407 | 
            +
                #   [2]: https://docs.aws.amazon.com/managed-blockchain/latest/hyperledger-fabric-dev/tagging-resources.html
         | 
| 408 | 
            +
                #
         | 
| 397 409 | 
             
                # @return [Types::CreateAccessorOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
         | 
| 398 410 | 
             
                #
         | 
| 399 411 | 
             
                #   * {Types::CreateAccessorOutput#accessor_id #accessor_id} => String
         | 
| @@ -404,6 +416,9 @@ module Aws::ManagedBlockchain | |
| 404 416 | 
             
                #   resp = client.create_accessor({
         | 
| 405 417 | 
             
                #     client_request_token: "ClientRequestTokenString", # required
         | 
| 406 418 | 
             
                #     accessor_type: "BILLING_TOKEN", # required, accepts BILLING_TOKEN
         | 
| 419 | 
            +
                #     tags: {
         | 
| 420 | 
            +
                #       "TagKey" => "TagValue",
         | 
| 421 | 
            +
                #     },
         | 
| 407 422 | 
             
                #   })
         | 
| 408 423 | 
             
                #
         | 
| 409 424 | 
             
                # @example Response structure
         | 
| @@ -530,12 +545,11 @@ module Aws::ManagedBlockchain | |
| 530 545 | 
             
                #   Configuration properties for the first member within the network.
         | 
| 531 546 | 
             
                #
         | 
| 532 547 | 
             
                # @option params [Hash<String,String>] :tags
         | 
| 533 | 
            -
                #   Tags to assign to the network. | 
| 534 | 
            -
                #   value.
         | 
| 548 | 
            +
                #   Tags to assign to the network.
         | 
| 535 549 | 
             
                #
         | 
| 536 | 
            -
                #    | 
| 537 | 
            -
                #   key-value pairs in a single request | 
| 538 | 
            -
                #   tags  | 
| 550 | 
            +
                #   Each tag consists of a key and an optional value. You can specify
         | 
| 551 | 
            +
                #   multiple key-value pairs in a single request with an overall maximum
         | 
| 552 | 
            +
                #   of 50 tags allowed per resource.
         | 
| 539 553 | 
             
                #
         | 
| 540 554 | 
             
                #   For more information about tags, see [Tagging Resources][1] in the
         | 
| 541 555 | 
             
                #   *Amazon Managed Blockchain Ethereum Developer Guide*, or [Tagging
         | 
| @@ -650,12 +664,11 @@ module Aws::ManagedBlockchain | |
| 650 664 | 
             
                #   The properties of a node configuration.
         | 
| 651 665 | 
             
                #
         | 
| 652 666 | 
             
                # @option params [Hash<String,String>] :tags
         | 
| 653 | 
            -
                #   Tags to assign to the node. | 
| 654 | 
            -
                #   value.
         | 
| 667 | 
            +
                #   Tags to assign to the node.
         | 
| 655 668 | 
             
                #
         | 
| 656 | 
            -
                #    | 
| 657 | 
            -
                #   key-value pairs in a single request | 
| 658 | 
            -
                #   tags  | 
| 669 | 
            +
                #   Each tag consists of a key and an optional value. You can specify
         | 
| 670 | 
            +
                #   multiple key-value pairs in a single request with an overall maximum
         | 
| 671 | 
            +
                #   of 50 tags allowed per resource.
         | 
| 659 672 | 
             
                #
         | 
| 660 673 | 
             
                #   For more information about tags, see [Tagging Resources][1] in the
         | 
| 661 674 | 
             
                #   *Amazon Managed Blockchain Ethereum Developer Guide*, or [Tagging
         | 
| @@ -750,13 +763,11 @@ module Aws::ManagedBlockchain | |
| 750 763 | 
             
                #   example, "Proposal to add Example Corp. as member."
         | 
| 751 764 | 
             
                #
         | 
| 752 765 | 
             
                # @option params [Hash<String,String>] :tags
         | 
| 753 | 
            -
                #   Tags to assign to the proposal. | 
| 754 | 
            -
                #   optional value.
         | 
| 766 | 
            +
                #   Tags to assign to the proposal.
         | 
| 755 767 | 
             
                #
         | 
| 756 | 
            -
                #    | 
| 757 | 
            -
                #   key-value pairs in a single request | 
| 758 | 
            -
                #   tags  | 
| 759 | 
            -
                #   invitation, the invitation inherits the tags added to the proposal.
         | 
| 768 | 
            +
                #   Each tag consists of a key and an optional value. You can specify
         | 
| 769 | 
            +
                #   multiple key-value pairs in a single request with an overall maximum
         | 
| 770 | 
            +
                #   of 50 tags allowed per resource.
         | 
| 760 771 | 
             
                #
         | 
| 761 772 | 
             
                #   For more information about tags, see [Tagging Resources][1] in the
         | 
| 762 773 | 
             
                #   *Amazon Managed Blockchain Ethereum Developer Guide*, or [Tagging
         | 
| @@ -809,11 +820,6 @@ module Aws::ManagedBlockchain | |
| 809 820 | 
             
                  req.send_request(options)
         | 
| 810 821 | 
             
                end
         | 
| 811 822 |  | 
| 812 | 
            -
                # The token based access feature is in preview release for Ethereum on
         | 
| 813 | 
            -
                # Amazon Managed Blockchain and is subject to change. We recommend that
         | 
| 814 | 
            -
                # you use this feature only with test scenarios, and not in production
         | 
| 815 | 
            -
                # environments.
         | 
| 816 | 
            -
                #
         | 
| 817 823 | 
             
                # Deletes an accessor that your Amazon Web Services account owns. An
         | 
| 818 824 | 
             
                # accessor object is a container that has the information required for
         | 
| 819 825 | 
             
                # token based access to your Ethereum nodes including, the
         | 
| @@ -925,11 +931,6 @@ module Aws::ManagedBlockchain | |
| 925 931 | 
             
                  req.send_request(options)
         | 
| 926 932 | 
             
                end
         | 
| 927 933 |  | 
| 928 | 
            -
                # The token based access feature is in preview release for Ethereum on
         | 
| 929 | 
            -
                # Amazon Managed Blockchain and is subject to change. We recommend that
         | 
| 930 | 
            -
                # you use this feature only with test scenarios, and not in production
         | 
| 931 | 
            -
                # environments.
         | 
| 932 | 
            -
                #
         | 
| 933 934 | 
             
                # Returns detailed information about an accessor. An accessor object is
         | 
| 934 935 | 
             
                # a container that has the information required for token based access
         | 
| 935 936 | 
             
                # to your Ethereum nodes.
         | 
| @@ -955,6 +956,8 @@ module Aws::ManagedBlockchain | |
| 955 956 | 
             
                #   resp.accessor.status #=> String, one of "AVAILABLE", "PENDING_DELETION", "DELETED"
         | 
| 956 957 | 
             
                #   resp.accessor.creation_date #=> Time
         | 
| 957 958 | 
             
                #   resp.accessor.arn #=> String
         | 
| 959 | 
            +
                #   resp.accessor.tags #=> Hash
         | 
| 960 | 
            +
                #   resp.accessor.tags["TagKey"] #=> String
         | 
| 958 961 | 
             
                #
         | 
| 959 962 | 
             
                # @see http://docs.aws.amazon.com/goto/WebAPI/managedblockchain-2018-09-24/GetAccessor AWS API Documentation
         | 
| 960 963 | 
             
                #
         | 
| @@ -1166,11 +1169,6 @@ module Aws::ManagedBlockchain | |
| 1166 1169 | 
             
                  req.send_request(options)
         | 
| 1167 1170 | 
             
                end
         | 
| 1168 1171 |  | 
| 1169 | 
            -
                # The token based access feature is in preview release for Ethereum on
         | 
| 1170 | 
            -
                # Amazon Managed Blockchain and is subject to change. We recommend that
         | 
| 1171 | 
            -
                # you use this feature only with test scenarios, and not in production
         | 
| 1172 | 
            -
                # environments.
         | 
| 1173 | 
            -
                #
         | 
| 1174 1172 | 
             
                # Returns a list of the accessors and their properties. Accessor objects
         | 
| 1175 1173 | 
             
                # are containers that have the information required for token based
         | 
| 1176 1174 | 
             
                # access to your Ethereum nodes.
         | 
| @@ -1876,7 +1874,7 @@ module Aws::ManagedBlockchain | |
| 1876 1874 | 
             
                    params: params,
         | 
| 1877 1875 | 
             
                    config: config)
         | 
| 1878 1876 | 
             
                  context[:gem_name] = 'aws-sdk-managedblockchain'
         | 
| 1879 | 
            -
                  context[:gem_version] = '1. | 
| 1877 | 
            +
                  context[:gem_version] = '1.37.0'
         | 
| 1880 1878 | 
             
                  Seahorse::Client::Request.new(handlers, context)
         | 
| 1881 1879 | 
             
                end
         | 
| 1882 1880 |  | 
| @@ -177,6 +177,7 @@ module Aws::ManagedBlockchain | |
| 177 177 | 
             
                Accessor.add_member(:status, Shapes::ShapeRef.new(shape: AccessorStatus, location_name: "Status"))
         | 
| 178 178 | 
             
                Accessor.add_member(:creation_date, Shapes::ShapeRef.new(shape: Timestamp, location_name: "CreationDate"))
         | 
| 179 179 | 
             
                Accessor.add_member(:arn, Shapes::ShapeRef.new(shape: ArnString, location_name: "Arn"))
         | 
| 180 | 
            +
                Accessor.add_member(:tags, Shapes::ShapeRef.new(shape: OutputTagMap, location_name: "Tags"))
         | 
| 180 181 | 
             
                Accessor.struct_class = Types::Accessor
         | 
| 181 182 |  | 
| 182 183 | 
             
                AccessorSummary.add_member(:id, Shapes::ShapeRef.new(shape: ResourceIdString, location_name: "Id"))
         | 
| @@ -195,6 +196,7 @@ module Aws::ManagedBlockchain | |
| 195 196 |  | 
| 196 197 | 
             
                CreateAccessorInput.add_member(:client_request_token, Shapes::ShapeRef.new(shape: ClientRequestTokenString, required: true, location_name: "ClientRequestToken", metadata: {"idempotencyToken"=>true}))
         | 
| 197 198 | 
             
                CreateAccessorInput.add_member(:accessor_type, Shapes::ShapeRef.new(shape: AccessorType, required: true, location_name: "AccessorType"))
         | 
| 199 | 
            +
                CreateAccessorInput.add_member(:tags, Shapes::ShapeRef.new(shape: InputTagMap, location_name: "Tags"))
         | 
| 198 200 | 
             
                CreateAccessorInput.struct_class = Types::CreateAccessorInput
         | 
| 199 201 |  | 
| 200 202 | 
             
                CreateAccessorOutput.add_member(:accessor_id, Shapes::ShapeRef.new(shape: ResourceIdString, location_name: "AccessorId"))
         | 
| @@ -692,6 +694,7 @@ module Aws::ManagedBlockchain | |
| 692 694 | 
             
                    o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
         | 
| 693 695 | 
             
                    o.errors << Shapes::ShapeRef.new(shape: ResourceLimitExceededException)
         | 
| 694 696 | 
             
                    o.errors << Shapes::ShapeRef.new(shape: InternalServiceErrorException)
         | 
| 697 | 
            +
                    o.errors << Shapes::ShapeRef.new(shape: TooManyTagsException)
         | 
| 695 698 | 
             
                  end)
         | 
| 696 699 |  | 
| 697 700 | 
             
                  api.add_operation(:create_member, Seahorse::Model::Operation.new.tap do |o|
         | 
| @@ -9,104 +9,46 @@ | |
| 9 9 |  | 
| 10 10 | 
             
            module Aws::ManagedBlockchain
         | 
| 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://managedblockchain-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://managedblockchain-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://managedblockchain.#{region}.#{partition_result['dualStackDnsSuffix']}", headers: {}, properties: {})
         | 
| 43 | 
            +
                        end
         | 
| 44 | 
            +
                        raise ArgumentError, "DualStack is enabled but this partition does not support DualStack"
         | 
| 45 | 
            +
                      end
         | 
| 46 | 
            +
                      return Aws::Endpoints::Endpoint.new(url: "https://managedblockchain.#{region}.#{partition_result['dnsSuffix']}", headers: {}, properties: {})
         | 
| 47 | 
            +
                    end
         | 
| 48 | 
            +
                  end
         | 
| 49 | 
            +
                  raise ArgumentError, "Invalid Configuration: Missing Region"
         | 
| 50 | 
            +
                  raise ArgumentError, 'No endpoint could be resolved'
         | 
| 24 51 |  | 
| 25 | 
            -
                def resolve_endpoint(parameters)
         | 
| 26 | 
            -
                  @provider.resolve_endpoint(parameters)
         | 
| 27 52 | 
             
                end
         | 
| 28 | 
            -
             | 
| 29 | 
            -
                # @api private
         | 
| 30 | 
            -
                RULES = <<-JSON
         | 
| 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 | 
            -
            dCI6eyJ1cmwiOiJodHRwczovL21hbmFnZWRibG9ja2NoYWluLWZpcHMue1Jl
         | 
| 77 | 
            -
            Z2lvbn0ue1BhcnRpdGlvblJlc3VsdCNkdWFsU3RhY2tEbnNTdWZmaXh9Iiwi
         | 
| 78 | 
            -
            cHJvcGVydGllcyI6e30sImhlYWRlcnMiOnt9fSwidHlwZSI6ImVuZHBvaW50
         | 
| 79 | 
            -
            In1dfSx7ImNvbmRpdGlvbnMiOltdLCJlcnJvciI6IkZJUFMgYW5kIER1YWxT
         | 
| 80 | 
            -
            dGFjayBhcmUgZW5hYmxlZCwgYnV0IHRoaXMgcGFydGl0aW9uIGRvZXMgbm90
         | 
| 81 | 
            -
            IHN1cHBvcnQgb25lIG9yIGJvdGgiLCJ0eXBlIjoiZXJyb3IifV19LHsiY29u
         | 
| 82 | 
            -
            ZGl0aW9ucyI6W3siZm4iOiJib29sZWFuRXF1YWxzIiwiYXJndiI6W3sicmVm
         | 
| 83 | 
            -
            IjoiVXNlRklQUyJ9LHRydWVdfV0sInR5cGUiOiJ0cmVlIiwicnVsZXMiOlt7
         | 
| 84 | 
            -
            ImNvbmRpdGlvbnMiOlt7ImZuIjoiYm9vbGVhbkVxdWFscyIsImFyZ3YiOlt0
         | 
| 85 | 
            -
            cnVlLHsiZm4iOiJnZXRBdHRyIiwiYXJndiI6W3sicmVmIjoiUGFydGl0aW9u
         | 
| 86 | 
            -
            UmVzdWx0In0sInN1cHBvcnRzRklQUyJdfV19XSwidHlwZSI6InRyZWUiLCJy
         | 
| 87 | 
            -
            dWxlcyI6W3siY29uZGl0aW9ucyI6W10sInR5cGUiOiJ0cmVlIiwicnVsZXMi
         | 
| 88 | 
            -
            Olt7ImNvbmRpdGlvbnMiOltdLCJlbmRwb2ludCI6eyJ1cmwiOiJodHRwczov
         | 
| 89 | 
            -
            L21hbmFnZWRibG9ja2NoYWluLWZpcHMue1JlZ2lvbn0ue1BhcnRpdGlvblJl
         | 
| 90 | 
            -
            c3VsdCNkbnNTdWZmaXh9IiwicHJvcGVydGllcyI6e30sImhlYWRlcnMiOnt9
         | 
| 91 | 
            -
            fSwidHlwZSI6ImVuZHBvaW50In1dfV19LHsiY29uZGl0aW9ucyI6W10sImVy
         | 
| 92 | 
            -
            cm9yIjoiRklQUyBpcyBlbmFibGVkIGJ1dCB0aGlzIHBhcnRpdGlvbiBkb2Vz
         | 
| 93 | 
            -
            IG5vdCBzdXBwb3J0IEZJUFMiLCJ0eXBlIjoiZXJyb3IifV19LHsiY29uZGl0
         | 
| 94 | 
            -
            aW9ucyI6W3siZm4iOiJib29sZWFuRXF1YWxzIiwiYXJndiI6W3sicmVmIjoi
         | 
| 95 | 
            -
            VXNlRHVhbFN0YWNrIn0sdHJ1ZV19XSwidHlwZSI6InRyZWUiLCJydWxlcyI6
         | 
| 96 | 
            -
            W3siY29uZGl0aW9ucyI6W3siZm4iOiJib29sZWFuRXF1YWxzIiwiYXJndiI6
         | 
| 97 | 
            -
            W3RydWUseyJmbiI6ImdldEF0dHIiLCJhcmd2IjpbeyJyZWYiOiJQYXJ0aXRp
         | 
| 98 | 
            -
            b25SZXN1bHQifSwic3VwcG9ydHNEdWFsU3RhY2siXX1dfV0sInR5cGUiOiJ0
         | 
| 99 | 
            -
            cmVlIiwicnVsZXMiOlt7ImNvbmRpdGlvbnMiOltdLCJlbmRwb2ludCI6eyJ1
         | 
| 100 | 
            -
            cmwiOiJodHRwczovL21hbmFnZWRibG9ja2NoYWluLntSZWdpb259LntQYXJ0
         | 
| 101 | 
            -
            aXRpb25SZXN1bHQjZHVhbFN0YWNrRG5zU3VmZml4fSIsInByb3BlcnRpZXMi
         | 
| 102 | 
            -
            Ont9LCJoZWFkZXJzIjp7fX0sInR5cGUiOiJlbmRwb2ludCJ9XX0seyJjb25k
         | 
| 103 | 
            -
            aXRpb25zIjpbXSwiZXJyb3IiOiJEdWFsU3RhY2sgaXMgZW5hYmxlZCBidXQg
         | 
| 104 | 
            -
            dGhpcyBwYXJ0aXRpb24gZG9lcyBub3Qgc3VwcG9ydCBEdWFsU3RhY2siLCJ0
         | 
| 105 | 
            -
            eXBlIjoiZXJyb3IifV19LHsiY29uZGl0aW9ucyI6W10sImVuZHBvaW50Ijp7
         | 
| 106 | 
            -
            InVybCI6Imh0dHBzOi8vbWFuYWdlZGJsb2NrY2hhaW4ue1JlZ2lvbn0ue1Bh
         | 
| 107 | 
            -
            cnRpdGlvblJlc3VsdCNkbnNTdWZmaXh9IiwicHJvcGVydGllcyI6e30sImhl
         | 
| 108 | 
            -
            YWRlcnMiOnt9fSwidHlwZSI6ImVuZHBvaW50In1dfV19
         | 
| 109 | 
            -
             | 
| 110 | 
            -
                JSON
         | 
| 111 53 | 
             
              end
         | 
| 112 54 | 
             
            end
         |