@aws-amplify/graphql-api-construct 1.14.0-gen2-migration-0930.0 → 1.14.0
Sign up to get free protection for your applications and to get access to all the features.
- package/.jsii +99 -157
- package/API.md +3 -11
- package/CHANGELOG.md +2 -7
- package/lib/amplify-dynamodb-table-wrapper.js +1 -1
- package/lib/amplify-graphql-api.d.ts +5 -0
- package/lib/amplify-graphql-api.js +3 -2
- package/lib/amplify-graphql-definition.js +1 -1
- package/lib/model-datasource-strategy-types.d.ts +1 -19
- package/lib/model-datasource-strategy-types.js +1 -1
- package/lib/sql-model-datasource-strategy.js +1 -1
- package/lib/types.d.ts +1 -1
- package/lib/types.js +1 -1
- package/node_modules/@aws-amplify/graphql-auth-transformer/CHANGELOG.md +1 -1
- package/node_modules/@aws-amplify/graphql-auth-transformer/lib/graphql-auth-transformer.d.ts.map +1 -1
- package/node_modules/@aws-amplify/graphql-auth-transformer/lib/graphql-auth-transformer.js +19 -15
- package/node_modules/@aws-amplify/graphql-auth-transformer/lib/graphql-auth-transformer.js.map +1 -1
- package/node_modules/@aws-amplify/graphql-auth-transformer/package.json +14 -14
- package/node_modules/@aws-amplify/graphql-conversation-transformer/CHANGELOG.md +1 -1
- package/node_modules/@aws-amplify/graphql-conversation-transformer/lib/resolvers/assistant-messages-subscription-resolver-fn.template.js +43 -0
- package/node_modules/@aws-amplify/graphql-conversation-transformer/lib/resolvers/assistant-messages-subscription-resolver.d.ts +3 -2
- package/node_modules/@aws-amplify/graphql-conversation-transformer/lib/resolvers/assistant-messages-subscription-resolver.d.ts.map +1 -1
- package/node_modules/@aws-amplify/graphql-conversation-transformer/lib/resolvers/assistant-messages-subscription-resolver.js +9 -55
- package/node_modules/@aws-amplify/graphql-conversation-transformer/lib/resolvers/assistant-messages-subscription-resolver.js.map +1 -1
- package/node_modules/@aws-amplify/graphql-conversation-transformer/lib/resolvers/assistant-mutation-resolver-fn.template.js +58 -0
- package/node_modules/@aws-amplify/graphql-conversation-transformer/lib/resolvers/assistant-mutation-resolver.d.ts +3 -2
- package/node_modules/@aws-amplify/graphql-conversation-transformer/lib/resolvers/assistant-mutation-resolver.d.ts.map +1 -1
- package/node_modules/@aws-amplify/graphql-conversation-transformer/lib/resolvers/assistant-mutation-resolver.js +9 -70
- package/node_modules/@aws-amplify/graphql-conversation-transformer/lib/resolvers/assistant-mutation-resolver.js.map +1 -1
- package/node_modules/@aws-amplify/graphql-conversation-transformer/lib/resolvers/auth-resolver-fn.template.js +38 -0
- package/node_modules/@aws-amplify/graphql-conversation-transformer/lib/resolvers/auth-resolver.d.ts +3 -2
- package/node_modules/@aws-amplify/graphql-conversation-transformer/lib/resolvers/auth-resolver.d.ts.map +1 -1
- package/node_modules/@aws-amplify/graphql-conversation-transformer/lib/resolvers/auth-resolver.js +9 -50
- package/node_modules/@aws-amplify/graphql-conversation-transformer/lib/resolvers/auth-resolver.js.map +1 -1
- package/node_modules/@aws-amplify/graphql-conversation-transformer/lib/resolvers/init-resolver-fn.template.js +15 -0
- package/node_modules/@aws-amplify/graphql-conversation-transformer/lib/resolvers/init-resolver.d.ts +3 -2
- package/node_modules/@aws-amplify/graphql-conversation-transformer/lib/resolvers/init-resolver.d.ts.map +1 -1
- package/node_modules/@aws-amplify/graphql-conversation-transformer/lib/resolvers/init-resolver.js +9 -27
- package/node_modules/@aws-amplify/graphql-conversation-transformer/lib/resolvers/init-resolver.js.map +1 -1
- package/node_modules/@aws-amplify/graphql-conversation-transformer/lib/resolvers/invoke-lambda-resolver-fn.template.js +56 -0
- package/node_modules/@aws-amplify/graphql-conversation-transformer/lib/resolvers/invoke-lambda-resolver.d.ts +2 -3
- package/node_modules/@aws-amplify/graphql-conversation-transformer/lib/resolvers/invoke-lambda-resolver.d.ts.map +1 -1
- package/node_modules/@aws-amplify/graphql-conversation-transformer/lib/resolvers/invoke-lambda-resolver.js +37 -75
- package/node_modules/@aws-amplify/graphql-conversation-transformer/lib/resolvers/invoke-lambda-resolver.js.map +1 -1
- package/node_modules/@aws-amplify/graphql-conversation-transformer/lib/resolvers/message-history-resolver-fn.template.js +40 -0
- package/node_modules/@aws-amplify/graphql-conversation-transformer/lib/resolvers/message-history-resolver.d.ts +3 -2
- package/node_modules/@aws-amplify/graphql-conversation-transformer/lib/resolvers/message-history-resolver.d.ts.map +1 -1
- package/node_modules/@aws-amplify/graphql-conversation-transformer/lib/resolvers/message-history-resolver.js +9 -52
- package/node_modules/@aws-amplify/graphql-conversation-transformer/lib/resolvers/message-history-resolver.js.map +1 -1
- package/node_modules/@aws-amplify/graphql-conversation-transformer/lib/resolvers/verify-session-owner-resolver-fn.template.js +30 -0
- package/node_modules/@aws-amplify/graphql-conversation-transformer/lib/resolvers/verify-session-owner-resolver.d.ts +3 -2
- package/node_modules/@aws-amplify/graphql-conversation-transformer/lib/resolvers/verify-session-owner-resolver.d.ts.map +1 -1
- package/node_modules/@aws-amplify/graphql-conversation-transformer/lib/resolvers/verify-session-owner-resolver.js +9 -43
- package/node_modules/@aws-amplify/graphql-conversation-transformer/lib/resolvers/verify-session-owner-resolver.js.map +1 -1
- package/node_modules/@aws-amplify/graphql-conversation-transformer/lib/resolvers/write-message-to-table-resolver-fn.template.js +24 -0
- package/node_modules/@aws-amplify/graphql-conversation-transformer/lib/resolvers/write-message-to-table-resolver.d.ts +2 -2
- package/node_modules/@aws-amplify/graphql-conversation-transformer/lib/resolvers/write-message-to-table-resolver.d.ts.map +1 -1
- package/node_modules/@aws-amplify/graphql-conversation-transformer/lib/resolvers/write-message-to-table-resolver.js +15 -37
- package/node_modules/@aws-amplify/graphql-conversation-transformer/lib/resolvers/write-message-to-table-resolver.js.map +1 -1
- package/node_modules/@aws-amplify/graphql-conversation-transformer/lib/transformer-steps/conversation-resolver-generator.d.ts.map +1 -1
- package/node_modules/@aws-amplify/graphql-conversation-transformer/lib/transformer-steps/conversation-resolver-generator.js +24 -23
- package/node_modules/@aws-amplify/graphql-conversation-transformer/lib/transformer-steps/conversation-resolver-generator.js.map +1 -1
- package/node_modules/@aws-amplify/graphql-conversation-transformer/package.json +13 -12
- package/node_modules/@aws-amplify/graphql-default-value-transformer/CHANGELOG.md +1 -1
- package/node_modules/@aws-amplify/graphql-default-value-transformer/lib/graphql-default-value-transformer.js +1 -1
- package/node_modules/@aws-amplify/graphql-default-value-transformer/lib/graphql-default-value-transformer.js.map +1 -1
- package/node_modules/@aws-amplify/graphql-default-value-transformer/package.json +9 -9
- package/node_modules/@aws-amplify/graphql-directives/CHANGELOG.md +0 -6
- package/node_modules/@aws-amplify/graphql-directives/lib/directives/belongs-to.d.ts.map +1 -1
- package/node_modules/@aws-amplify/graphql-directives/lib/directives/belongs-to.js +1 -1
- package/node_modules/@aws-amplify/graphql-directives/lib/directives/belongs-to.js.map +1 -1
- package/node_modules/@aws-amplify/graphql-directives/package.json +2 -3
- package/node_modules/@aws-amplify/graphql-function-transformer/CHANGELOG.md +1 -1
- package/node_modules/@aws-amplify/graphql-function-transformer/lib/graphql-function-transformer.js +2 -2
- package/node_modules/@aws-amplify/graphql-function-transformer/lib/graphql-function-transformer.js.map +1 -1
- package/node_modules/@aws-amplify/graphql-function-transformer/package.json +8 -8
- package/node_modules/@aws-amplify/graphql-generation-transformer/CHANGELOG.md +1 -1
- package/node_modules/@aws-amplify/graphql-generation-transformer/lib/grapqhl-generation-transformer.d.ts.map +1 -1
- package/node_modules/@aws-amplify/graphql-generation-transformer/lib/grapqhl-generation-transformer.js +1 -1
- package/node_modules/@aws-amplify/graphql-generation-transformer/lib/grapqhl-generation-transformer.js.map +1 -1
- package/node_modules/@aws-amplify/graphql-generation-transformer/lib/resolvers/invoke-bedrock-resolver-fn.template.js +45 -0
- package/node_modules/@aws-amplify/graphql-generation-transformer/lib/resolvers/invoke-bedrock.d.ts +1 -4
- package/node_modules/@aws-amplify/graphql-generation-transformer/lib/resolvers/invoke-bedrock.d.ts.map +1 -1
- package/node_modules/@aws-amplify/graphql-generation-transformer/lib/resolvers/invoke-bedrock.js +27 -60
- package/node_modules/@aws-amplify/graphql-generation-transformer/lib/resolvers/invoke-bedrock.js.map +1 -1
- package/node_modules/@aws-amplify/graphql-generation-transformer/package.json +10 -9
- package/node_modules/@aws-amplify/graphql-http-transformer/CHANGELOG.md +1 -1
- package/node_modules/@aws-amplify/graphql-http-transformer/lib/graphql-http-transformer.js +2 -2
- package/node_modules/@aws-amplify/graphql-http-transformer/lib/graphql-http-transformer.js.map +1 -1
- package/node_modules/@aws-amplify/graphql-http-transformer/package.json +8 -8
- package/node_modules/@aws-amplify/graphql-index-transformer/CHANGELOG.md +1 -1
- package/node_modules/@aws-amplify/graphql-index-transformer/lib/resolvers/resolvers.js +2 -2
- package/node_modules/@aws-amplify/graphql-index-transformer/lib/resolvers/resolvers.js.map +1 -1
- package/node_modules/@aws-amplify/graphql-index-transformer/package.json +9 -9
- package/node_modules/@aws-amplify/graphql-maps-to-transformer/CHANGELOG.md +1 -1
- package/node_modules/@aws-amplify/graphql-maps-to-transformer/lib/assets/mapping-lambda.zip +0 -0
- package/node_modules/@aws-amplify/graphql-maps-to-transformer/lib/field-mapping-resolvers.js +4 -4
- package/node_modules/@aws-amplify/graphql-maps-to-transformer/lib/field-mapping-resolvers.js.map +1 -1
- package/node_modules/@aws-amplify/graphql-maps-to-transformer/package.json +12 -12
- package/node_modules/@aws-amplify/graphql-model-transformer/CHANGELOG.md +2 -15
- package/node_modules/@aws-amplify/graphql-model-transformer/lib/graphql-model-transformer.d.ts.map +1 -1
- package/node_modules/@aws-amplify/graphql-model-transformer/lib/graphql-model-transformer.js +2 -7
- package/node_modules/@aws-amplify/graphql-model-transformer/lib/graphql-model-transformer.js.map +1 -1
- package/node_modules/@aws-amplify/graphql-model-transformer/lib/rds-lambda.zip +0 -0
- package/node_modules/@aws-amplify/graphql-model-transformer/lib/rds-notification-lambda.zip +0 -0
- package/node_modules/@aws-amplify/graphql-model-transformer/lib/rds-patching-lambda.zip +0 -0
- package/node_modules/@aws-amplify/graphql-model-transformer/lib/resources/amplify-dynamodb-table/amplify-dynamo-model-resource-generator.d.ts.map +1 -1
- package/node_modules/@aws-amplify/graphql-model-transformer/lib/resources/amplify-dynamodb-table/amplify-dynamo-model-resource-generator.js +3 -12
- package/node_modules/@aws-amplify/graphql-model-transformer/lib/resources/amplify-dynamodb-table/amplify-dynamo-model-resource-generator.js.map +1 -1
- package/node_modules/@aws-amplify/graphql-model-transformer/lib/resources/amplify-dynamodb-table/amplify-dynamodb-table-construct/index.d.ts +0 -2
- package/node_modules/@aws-amplify/graphql-model-transformer/lib/resources/amplify-dynamodb-table/amplify-dynamodb-table-construct/index.d.ts.map +1 -1
- package/node_modules/@aws-amplify/graphql-model-transformer/lib/resources/amplify-dynamodb-table/amplify-dynamodb-table-construct/index.js +2 -4
- package/node_modules/@aws-amplify/graphql-model-transformer/lib/resources/amplify-dynamodb-table/amplify-dynamodb-table-construct/index.js.map +1 -1
- package/node_modules/@aws-amplify/graphql-model-transformer/lib/resources/amplify-dynamodb-table/amplify-table-manager-lambda/amplify-table-manager-handler.d.ts +0 -3
- package/node_modules/@aws-amplify/graphql-model-transformer/lib/resources/amplify-dynamodb-table/amplify-table-manager-lambda/amplify-table-manager-handler.d.ts.map +1 -1
- package/node_modules/@aws-amplify/graphql-model-transformer/lib/resources/amplify-dynamodb-table/amplify-table-manager-lambda/amplify-table-manager-handler.js +1 -141
- package/node_modules/@aws-amplify/graphql-model-transformer/lib/resources/amplify-dynamodb-table/amplify-table-manager-lambda/amplify-table-manager-handler.js.map +1 -1
- package/node_modules/@aws-amplify/graphql-model-transformer/lib/resources/model-resource-generator.js +5 -5
- package/node_modules/@aws-amplify/graphql-model-transformer/lib/resources/model-resource-generator.js.map +1 -1
- package/node_modules/@aws-amplify/graphql-model-transformer/package.json +10 -13
- package/node_modules/@aws-amplify/graphql-predictions-transformer/CHANGELOG.md +1 -1
- package/node_modules/@aws-amplify/graphql-predictions-transformer/lib/graphql-predictions-transformer.js +2 -2
- package/node_modules/@aws-amplify/graphql-predictions-transformer/lib/graphql-predictions-transformer.js.map +1 -1
- package/node_modules/@aws-amplify/graphql-predictions-transformer/lib/predictionsLambdaFunction.zip +0 -0
- package/node_modules/@aws-amplify/graphql-predictions-transformer/package.json +8 -8
- package/node_modules/@aws-amplify/graphql-relational-transformer/CHANGELOG.md +2 -4
- package/node_modules/@aws-amplify/graphql-relational-transformer/lib/graphql-belongs-to-transformer.js +0 -3
- package/node_modules/@aws-amplify/graphql-relational-transformer/lib/graphql-belongs-to-transformer.js.map +1 -1
- package/node_modules/@aws-amplify/graphql-relational-transformer/lib/has-many/has-many-directive-ddb-references-transformer.d.ts.map +1 -1
- package/node_modules/@aws-amplify/graphql-relational-transformer/lib/has-many/has-many-directive-ddb-references-transformer.js +1 -7
- package/node_modules/@aws-amplify/graphql-relational-transformer/lib/has-many/has-many-directive-ddb-references-transformer.js.map +1 -1
- package/node_modules/@aws-amplify/graphql-relational-transformer/lib/has-one/has-one-directive-ddb-references-transformer.d.ts.map +1 -1
- package/node_modules/@aws-amplify/graphql-relational-transformer/lib/has-one/has-one-directive-ddb-references-transformer.js +1 -7
- package/node_modules/@aws-amplify/graphql-relational-transformer/lib/has-one/has-one-directive-ddb-references-transformer.js.map +1 -1
- package/node_modules/@aws-amplify/graphql-relational-transformer/lib/resolvers.js +1 -1
- package/node_modules/@aws-amplify/graphql-relational-transformer/lib/resolvers.js.map +1 -1
- package/node_modules/@aws-amplify/graphql-relational-transformer/lib/types.d.ts +0 -1
- package/node_modules/@aws-amplify/graphql-relational-transformer/lib/types.d.ts.map +1 -1
- package/node_modules/@aws-amplify/graphql-relational-transformer/lib/utils.d.ts +0 -1
- package/node_modules/@aws-amplify/graphql-relational-transformer/lib/utils.d.ts.map +1 -1
- package/node_modules/@aws-amplify/graphql-relational-transformer/lib/utils.js +1 -9
- package/node_modules/@aws-amplify/graphql-relational-transformer/lib/utils.js.map +1 -1
- package/node_modules/@aws-amplify/graphql-relational-transformer/package.json +10 -10
- package/node_modules/@aws-amplify/graphql-searchable-transformer/CHANGELOG.md +1 -1
- package/node_modules/@aws-amplify/graphql-searchable-transformer/lib/graphql-searchable-transformer.js +1 -1
- package/node_modules/@aws-amplify/graphql-searchable-transformer/lib/graphql-searchable-transformer.js.map +1 -1
- package/node_modules/@aws-amplify/graphql-searchable-transformer/lib/streaming-lambda.zip +0 -0
- package/node_modules/@aws-amplify/graphql-searchable-transformer/package.json +9 -9
- package/node_modules/@aws-amplify/graphql-sql-transformer/CHANGELOG.md +1 -1
- package/node_modules/@aws-amplify/graphql-sql-transformer/lib/graphql-sql-transformer.js +1 -1
- package/node_modules/@aws-amplify/graphql-sql-transformer/lib/graphql-sql-transformer.js.map +1 -1
- package/node_modules/@aws-amplify/graphql-sql-transformer/package.json +9 -9
- package/node_modules/@aws-amplify/graphql-transformer/CHANGELOG.md +2 -8
- package/node_modules/@aws-amplify/graphql-transformer/package.json +18 -18
- package/node_modules/@aws-amplify/graphql-transformer-core/API.md +23 -9
- package/node_modules/@aws-amplify/graphql-transformer-core/CHANGELOG.md +2 -9
- package/node_modules/@aws-amplify/graphql-transformer-core/lib/appsync-function.d.ts +2 -3
- package/node_modules/@aws-amplify/graphql-transformer-core/lib/appsync-function.d.ts.map +1 -1
- package/node_modules/@aws-amplify/graphql-transformer-core/lib/appsync-function.js.map +1 -1
- package/node_modules/@aws-amplify/graphql-transformer-core/lib/cdk-compat/template-asset.d.ts +10 -0
- package/node_modules/@aws-amplify/graphql-transformer-core/lib/cdk-compat/template-asset.d.ts.map +1 -1
- package/node_modules/@aws-amplify/graphql-transformer-core/lib/cdk-compat/template-asset.js +26 -1
- package/node_modules/@aws-amplify/graphql-transformer-core/lib/cdk-compat/template-asset.js.map +1 -1
- package/node_modules/@aws-amplify/graphql-transformer-core/lib/index.d.ts +2 -2
- package/node_modules/@aws-amplify/graphql-transformer-core/lib/index.d.ts.map +1 -1
- package/node_modules/@aws-amplify/graphql-transformer-core/lib/index.js +4 -3
- package/node_modules/@aws-amplify/graphql-transformer-core/lib/index.js.map +1 -1
- package/node_modules/@aws-amplify/graphql-transformer-core/lib/transform-host.d.ts +9 -3
- package/node_modules/@aws-amplify/graphql-transformer-core/lib/transform-host.d.ts.map +1 -1
- package/node_modules/@aws-amplify/graphql-transformer-core/lib/transform-host.js +43 -10
- package/node_modules/@aws-amplify/graphql-transformer-core/lib/transform-host.js.map +1 -1
- package/node_modules/@aws-amplify/graphql-transformer-core/lib/transformation/transform.d.ts.map +1 -1
- package/node_modules/@aws-amplify/graphql-transformer-core/lib/transformation/transform.js +1 -1
- package/node_modules/@aws-amplify/graphql-transformer-core/lib/transformation/transform.js.map +1 -1
- package/node_modules/@aws-amplify/graphql-transformer-core/lib/transformer-context/resolver.d.ts +12 -10
- package/node_modules/@aws-amplify/graphql-transformer-core/lib/transformer-context/resolver.d.ts.map +1 -1
- package/node_modules/@aws-amplify/graphql-transformer-core/lib/transformer-context/resolver.js +107 -38
- package/node_modules/@aws-amplify/graphql-transformer-core/lib/transformer-context/resolver.js.map +1 -1
- package/node_modules/@aws-amplify/graphql-transformer-core/lib/types/function-runtime-types.d.ts +4 -0
- package/node_modules/@aws-amplify/graphql-transformer-core/lib/types/function-runtime-types.d.ts.map +1 -0
- package/node_modules/@aws-amplify/graphql-transformer-core/lib/types/function-runtime-types.js +6 -0
- package/node_modules/@aws-amplify/graphql-transformer-core/lib/types/function-runtime-types.js.map +1 -0
- package/node_modules/@aws-amplify/graphql-transformer-core/lib/types/index.d.ts +1 -0
- package/node_modules/@aws-amplify/graphql-transformer-core/lib/types/index.d.ts.map +1 -1
- package/node_modules/@aws-amplify/graphql-transformer-core/lib/types/index.js +4 -1
- package/node_modules/@aws-amplify/graphql-transformer-core/lib/types/index.js.map +1 -1
- package/node_modules/@aws-amplify/graphql-transformer-core/lib/utils/function-runtime.d.ts +4 -3
- package/node_modules/@aws-amplify/graphql-transformer-core/lib/utils/function-runtime.d.ts.map +1 -1
- package/node_modules/@aws-amplify/graphql-transformer-core/lib/utils/function-runtime.js +19 -9
- package/node_modules/@aws-amplify/graphql-transformer-core/lib/utils/function-runtime.js.map +1 -1
- package/node_modules/@aws-amplify/graphql-transformer-core/lib/utils/model-datasource-strategy-utils.d.ts +1 -2
- package/node_modules/@aws-amplify/graphql-transformer-core/lib/utils/model-datasource-strategy-utils.d.ts.map +1 -1
- package/node_modules/@aws-amplify/graphql-transformer-core/lib/utils/model-datasource-strategy-utils.js +1 -9
- package/node_modules/@aws-amplify/graphql-transformer-core/lib/utils/model-datasource-strategy-utils.js.map +1 -1
- package/node_modules/@aws-amplify/graphql-transformer-core/package.json +6 -6
- package/node_modules/@aws-amplify/graphql-transformer-interfaces/API.md +28 -14
- package/node_modules/@aws-amplify/graphql-transformer-interfaces/CHANGELOG.md +2 -9
- package/node_modules/@aws-amplify/graphql-transformer-interfaces/lib/model-datasource/types.d.ts +1 -6
- package/node_modules/@aws-amplify/graphql-transformer-interfaces/lib/model-datasource/types.d.ts.map +1 -1
- package/node_modules/@aws-amplify/graphql-transformer-interfaces/lib/model-datasource/types.js.map +1 -1
- package/node_modules/@aws-amplify/graphql-transformer-interfaces/lib/transform-host-provider.d.ts +8 -3
- package/node_modules/@aws-amplify/graphql-transformer-interfaces/lib/transform-host-provider.d.ts.map +1 -1
- package/node_modules/@aws-amplify/graphql-transformer-interfaces/lib/transformer-context/index.d.ts +1 -1
- package/node_modules/@aws-amplify/graphql-transformer-interfaces/lib/transformer-context/index.d.ts.map +1 -1
- package/node_modules/@aws-amplify/graphql-transformer-interfaces/lib/transformer-context/index.js.map +1 -1
- package/node_modules/@aws-amplify/graphql-transformer-interfaces/lib/transformer-context/transformer-resolver-provider.d.ts +10 -1
- package/node_modules/@aws-amplify/graphql-transformer-interfaces/lib/transformer-context/transformer-resolver-provider.d.ts.map +1 -1
- package/node_modules/@aws-amplify/graphql-transformer-interfaces/package.json +2 -2
- package/node_modules/@aws-amplify/graphql-transformer-interfaces/src/model-datasource/types.ts +0 -10
- package/node_modules/@aws-amplify/graphql-transformer-interfaces/src/transform-host-provider.ts +38 -3
- package/node_modules/@aws-amplify/graphql-transformer-interfaces/src/transformer-context/index.ts +7 -1
- package/node_modules/@aws-amplify/graphql-transformer-interfaces/src/transformer-context/transformer-resolver-provider.ts +6 -1
- package/node_modules/@aws-amplify/graphql-transformer-interfaces/tsconfig.tsbuildinfo +1 -1
- package/node_modules/graphql-mapping-template/CHANGELOG.md +0 -4
- package/node_modules/graphql-mapping-template/package.json +2 -3
- package/node_modules/graphql-transformer-common/CHANGELOG.md +0 -10
- package/node_modules/graphql-transformer-common/package.json +3 -4
- package/package.json +22 -22
- package/src/amplify-graphql-api.ts +6 -0
- package/src/model-datasource-strategy-types.ts +0 -21
- package/src/types.ts +1 -1
- package/node_modules/@aws-amplify/graphql-conversation-transformer/lib/resolvers/js-resolver-function-provider.d.ts +0 -6
- package/node_modules/@aws-amplify/graphql-conversation-transformer/lib/resolvers/js-resolver-function-provider.d.ts.map +0 -1
- package/node_modules/@aws-amplify/graphql-conversation-transformer/lib/resolvers/js-resolver-function-provider.js +0 -3
- package/node_modules/@aws-amplify/graphql-conversation-transformer/lib/resolvers/js-resolver-function-provider.js.map +0 -1
- package/node_modules/@aws-amplify/graphql-directives/LICENSE +0 -201
- package/node_modules/@aws-amplify/graphql-model-transformer/lib/resources/amplify-dynamodb-table/amplify-table-manager-lambda/node_modules/.package-lock.json +0 -13
- package/node_modules/@aws-amplify/graphql-model-transformer/lib/resources/amplify-dynamodb-table/amplify-table-manager-lambda/node_modules/lodash.isequal/LICENSE +0 -47
- package/node_modules/@aws-amplify/graphql-model-transformer/lib/resources/amplify-dynamodb-table/amplify-table-manager-lambda/node_modules/lodash.isequal/README.md +0 -18
- package/node_modules/@aws-amplify/graphql-model-transformer/lib/resources/amplify-dynamodb-table/amplify-table-manager-lambda/node_modules/lodash.isequal/index.js +0 -1848
- package/node_modules/@aws-amplify/graphql-model-transformer/lib/resources/amplify-dynamodb-table/amplify-table-manager-lambda/node_modules/lodash.isequal/package.json +0 -16
- package/node_modules/@aws-amplify/graphql-model-transformer/lib/resources/amplify-dynamodb-table/amplify-table-manager-lambda/package-lock.json +0 -21
- package/node_modules/@aws-amplify/graphql-model-transformer/lib/resources/amplify-dynamodb-table/amplify-table-manager-lambda/package.json +0 -11
- package/node_modules/graphql-mapping-template/LICENSE +0 -201
- package/node_modules/graphql-transformer-common/LICENSE +0 -201
package/lib/types.js
CHANGED
@@ -1,3 +1,3 @@
|
|
1
1
|
"use strict";
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IER1cmF0aW9uLCBDZm5SZXNvdXJjZSwgTmVzdGVkU3RhY2sgfSBmcm9tICdhd3MtY2RrLWxpYic7XG5pbXBvcnQge1xuICBDZm5HcmFwaFFMQXBpLFxuICBDZm5HcmFwaFFMU2NoZW1hLFxuICBDZm5BcGlLZXksXG4gIENmblJlc29sdmVyLFxuICBDZm5GdW5jdGlvbkNvbmZpZ3VyYXRpb24sXG4gIENmbkRhdGFTb3VyY2UsXG4gIElHcmFwaHFsQXBpLFxuICBNYXBwaW5nVGVtcGxhdGUsXG4gIEJhc2VEYXRhU291cmNlLFxuICBDb2RlLFxuICBGdW5jdGlvblJ1bnRpbWUsXG59IGZyb20gJ2F3cy1jZGstbGliL2F3cy1hcHBzeW5jJztcbmltcG9ydCB7IENmblRhYmxlLCBJVGFibGUgfSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtZHluYW1vZGInO1xuaW1wb3J0IHsgSVJvbGUsIENmblJvbGUgfSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtaWFtJztcbmltcG9ydCB7IElVc2VyUG9vbCB9IGZyb20gJ2F3cy1jZGstbGliL2F3cy1jb2duaXRvJztcbmltcG9ydCB7IElGdW5jdGlvbiwgQ2ZuRnVuY3Rpb24gfSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtbGFtYmRhJztcbmltcG9ydCB7IElCdWNrZXQgfSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtczMnO1xuaW1wb3J0IHsgQW1wbGlmeUR5bmFtb0RiVGFibGVXcmFwcGVyIH0gZnJvbSAnLi9hbXBsaWZ5LWR5bmFtb2RiLXRhYmxlLXdyYXBwZXInO1xuaW1wb3J0IHsgQ3VzdG9tU3FsRGF0YVNvdXJjZVN0cmF0ZWd5LCBNb2RlbERhdGFTb3VyY2VTdHJhdGVneSB9IGZyb20gJy4vbW9kZWwtZGF0YXNvdXJjZS1zdHJhdGVneS10eXBlcyc7XG5cbi8qKlxuICogQ29uZmlndXJhdGlvbiBmb3IgSUFNIEF1dGhvcml6YXRpb24gb24gdGhlIEdyYXBocWwgQXBpLlxuICogQHN0cnVjdCAtIHJlcXVpcmVkIHNpbmNlIHRoaXMgaW50ZXJmYWNlIGJlZ2lucyB3aXRoIGFuICdJJ1xuICovXG5leHBvcnQgaW50ZXJmYWNlIElBTUF1dGhvcml6YXRpb25Db25maWcge1xuICAvKipcbiAgICogSUQgZm9yIHRoZSBDb2duaXRvIElkZW50aXR5IFBvb2wgdmVuZGluZyBhdXRoIGFuZCB1bmF1dGggcm9sZXMuXG4gICAqIEZvcm1hdDogYDxyZWdpb24+OjxpZCBzdHJpbmc+YFxuICAgKlxuICAgKiBAZGVwcmVjYXRlZCBVc2UgJ0lkZW50aXR5UG9vbEF1dGhvcml6YXRpb25Db25maWcuaWRlbnRpdHlQb29sSWQnIGluc3RlYWQuXG4gICAqIFNlZSBodHRwczovL2RvY3MuYW1wbGlmeS5hd3MvY2xpL3JlYWN0L3Rvb2xzL2NsaS9taWdyYXRpb24vaWFtLWF1dGgtdXBkYXRlcy1mb3ItY2RrLWNvbnN0cnVjdCBmb3IgZGV0YWlscy5cbiAgICovXG4gIHJlYWRvbmx5IGlkZW50aXR5UG9vbElkPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBBdXRoZW50aWNhdGVkIHVzZXIgcm9sZSwgYXBwbGllcyB0byB7IHByb3ZpZGVyOiBpYW0sIGFsbG93OiBwcml2YXRlIH0gYWNjZXNzLlxuICAgKlxuICAgKiBAZGVwcmVjYXRlZCBVc2UgJ0lkZW50aXR5UG9vbEF1dGhvcml6YXRpb25Db25maWcuYXV0aGVudGljYXRlZFVzZXJSb2xlJyBpbnN0ZWFkLlxuICAgKiBTZWUgaHR0cHM6Ly9kb2NzLmFtcGxpZnkuYXdzL2NsaS9yZWFjdC90b29scy9jbGkvbWlncmF0aW9uL2lhbS1hdXRoLXVwZGF0ZXMtZm9yLWNkay1jb25zdHJ1Y3QgZm9yIGRldGFpbHMuXG4gICAqL1xuICByZWFkb25seSBhdXRoZW50aWNhdGVkVXNlclJvbGU/OiBJUm9sZTtcblxuICAvKipcbiAgICogVW5hdXRoZW50aWNhdGVkIHVzZXIgcm9sZSwgYXBwbGllcyB0byB7IHByb3ZpZGVyOiBpYW0sIGFsbG93OiBwdWJsaWMgfSBhY2Nlc3MuXG4gICAqXG4gICAqIEBkZXByZWNhdGVkIFVzZSAnSWRlbnRpdHlQb29sQXV0aG9yaXphdGlvbkNvbmZpZy51bmF1dGhlbnRpY2F0ZWRVc2VyUm9sZScgaW5zdGVhZC5cbiAgICogU2VlIGh0dHBzOi8vZG9jcy5hbXBsaWZ5LmF3cy9jbGkvcmVhY3QvdG9vbHMvY2xpL21pZ3JhdGlvbi9pYW0tYXV0aC11cGRhdGVzLWZvci1jZGstY29uc3RydWN0IGZvciBkZXRhaWxzLlxuICAgKi9cbiAgcmVhZG9ubHkgdW5hdXRoZW50aWNhdGVkVXNlclJvbGU/OiBJUm9sZTtcblxuICAvKipcbiAgICogQSBsaXN0IG9mIElBTSByb2xlcyB3aGljaCB3aWxsIGJlIGdyYW50ZWQgZnVsbCByZWFkL3dyaXRlIGFjY2VzcyB0byB0aGUgZ2VuZXJhdGVkIG1vZGVsIGlmIElBTSBhdXRoIGlzIGVuYWJsZWQuXG4gICAqIElmIGFuIElSb2xlIGlzIHByb3ZpZGVkLCB0aGUgcm9sZSBgbmFtZWAgd2lsbCBiZSB1c2VkIGZvciBtYXRjaGluZy5cbiAgICogSWYgYSBzdHJpbmcgaXMgcHJvdmlkZWQsIHRoZSByYXcgdmFsdWUgd2lsbCBiZSB1c2VkIGZvciBtYXRjaGluZy5cbiAgICpcbiAgICogQGRlcHJlY2F0ZWQgVXNlICdlbmFibGVJYW1BdXRob3JpemF0aW9uTW9kZScgYW5kIElBTSBQb2xpY3kgdG8gY29udHJvbCBhY2Nlc3MgZm9yIElBTSBwcmluY2lwYWxzLlxuICAgKiBTZWUgaHR0cHM6Ly9kb2NzLmFtcGxpZnkuYXdzL2NsaS9yZWFjdC90b29scy9jbGkvbWlncmF0aW9uL2lhbS1hdXRoLXVwZGF0ZXMtZm9yLWNkay1jb25zdHJ1Y3QgZm9yIGRldGFpbHMuXG4gICAqL1xuICByZWFkb25seSBhbGxvd0xpc3RlZFJvbGVzPzogKElSb2xlIHwgc3RyaW5nKVtdO1xuXG4gIC8qKlxuICAgKiBFbmFibGVzIGFjY2VzcyBmb3IgSUFNIHByaW5jaXBhbHMuIElmIGVuYWJsZWQgQGF1dGggZGlyZWN0aXZlIHJ1bGVzIGFyZSBub3QgYXBwbGllZC5cbiAgICogSW5zdGVhZCwgYWNjZXNzIHNob3VsZCBiZSBkZWZpbmVkIGJ5IElBTSBQb2xpY3ksIHNlZSBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vc2VydmljZS1hdXRob3JpemF0aW9uL2xhdGVzdC9yZWZlcmVuY2UvbGlzdF9hd3NhcHBzeW5jLmh0bWwuXG4gICAqXG4gICAqIERvZXMgbm90IGFwcGx5IHRvIGF1dGhlbnRpY2F0ZWQgYW5kIHVuYXV0aGVudGljYXRlZCBJQU0gUm9sZXMgYXR0YWNoZWQgdG8gQ29nbml0byBJZGVudGl0eSBQb29sLlxuICAgKiBVc2UgSWRlbnRpdHlQb29sQXV0aG9yaXphdGlvbkNvbmZpZyB0byBjb25maWd1cmUgdGhlaXIgYWNjZXNzLlxuICAgKi9cbiAgcmVhZG9ubHkgZW5hYmxlSWFtQXV0aG9yaXphdGlvbk1vZGU/OiBib29sZWFuO1xufVxuXG4vKipcbiAqIENvbmZpZ3VyYXRpb24gZm9yIENvZ25pdG8gSWRlbnRpdHkgUG9vbCBBdXRob3JpemF0aW9uIG9uIHRoZSBHcmFwaHFsIEFwaS5cbiAqIEBzdHJ1Y3QgLSByZXF1aXJlZCBzaW5jZSB0aGlzIGludGVyZmFjZSBiZWdpbnMgd2l0aCBhbiAnSSdcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJZGVudGl0eVBvb2xBdXRob3JpemF0aW9uQ29uZmlnIHtcbiAgLyoqXG4gICAqIElEIGZvciB0aGUgQ29nbml0byBJZGVudGl0eSBQb29sIHZlbmRpbmcgYXV0aCBhbmQgdW5hdXRoIHJvbGVzLlxuICAgKiBGb3JtYXQ6IGA8cmVnaW9uPjo8aWQgc3RyaW5nPmBcbiAgICovXG4gIHJlYWRvbmx5IGlkZW50aXR5UG9vbElkOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEF1dGhlbnRpY2F0ZWQgdXNlciByb2xlLCBhcHBsaWVzIHRvIHsgcHJvdmlkZXI6IGlhbSwgYWxsb3c6IHByaXZhdGUgfSBhY2Nlc3MuXG4gICAqL1xuICByZWFkb25seSBhdXRoZW50aWNhdGVkVXNlclJvbGU6IElSb2xlO1xuXG4gIC8qKlxuICAgKiBVbmF1dGhlbnRpY2F0ZWQgdXNlciByb2xlLCBhcHBsaWVzIHRvIHsgcHJvdmlkZXI6IGlhbSwgYWxsb3c6IHB1YmxpYyB9IGFjY2Vzcy5cbiAgICovXG4gIHJlYWRvbmx5IHVuYXV0aGVudGljYXRlZFVzZXJSb2xlOiBJUm9sZTtcbn1cblxuLyoqXG4gKiBDb25maWd1cmF0aW9uIGZvciBDb2duaXRvIFVzZXJQb29sIEF1dGhvcml6YXRpb24gb24gdGhlIEdyYXBocWwgQXBpLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFVzZXJQb29sQXV0aG9yaXphdGlvbkNvbmZpZyB7XG4gIC8qKlxuICAgKiBUaGUgQ29nbml0byBVc2VyIFBvb2wgd2hpY2ggaXMgdXNlZCB0byBhdXRoZW50aWNhdGVkIEpXVCB0b2tlbnMsIGFuZCB2ZW5kcyBncm91cCBhbmQgdXNlciBpbmZvcm1hdGlvbi5cbiAgICovXG4gIHJlYWRvbmx5IHVzZXJQb29sOiBJVXNlclBvb2w7XG59XG5cbi8qKlxuICogQ29uZmlndXJhdGlvbiBmb3IgT3BlbklkIENvbm5lY3QgQXV0aG9yaXphdGlvbiBvbiB0aGUgR3JhcGhxbCBBcGkuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgT0lEQ0F1dGhvcml6YXRpb25Db25maWcge1xuICAvKipcbiAgICogVGhlIGlzc3VlciBmb3IgdGhlIE9JREMgY29uZmlndXJhdGlvbi5cbiAgICovXG4gIHJlYWRvbmx5IG9pZGNQcm92aWRlck5hbWU6IHN0cmluZztcblxuICAvKipcbiAgICogVXJsIGZvciB0aGUgT0lEQyB0b2tlbiBpc3N1ZXIuXG4gICAqL1xuICByZWFkb25seSBvaWRjSXNzdWVyVXJsOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBjbGllbnQgaWRlbnRpZmllciBvZiB0aGUgUmVseWluZyBwYXJ0eSBhdCB0aGUgT3BlbklEIGlkZW50aXR5IHByb3ZpZGVyLlxuICAgKiBBIHJlZ3VsYXIgZXhwcmVzc2lvbiBjYW4gYmUgc3BlY2lmaWVkIHNvIEFwcFN5bmMgY2FuIHZhbGlkYXRlIGFnYWluc3QgbXVsdGlwbGUgY2xpZW50IGlkZW50aWZpZXJzIGF0IGEgdGltZS4gRXhhbXBsZVxuICAgKi9cbiAgcmVhZG9ubHkgY2xpZW50SWQ/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBkdXJhdGlvbiBhbiBPSURDIHRva2VuIGlzIHZhbGlkIGFmdGVyIGJlaW5nIGF1dGhlbnRpY2F0ZWQgYnkgT0lEQyBwcm92aWRlci5cbiAgICogYXV0aF90aW1lIGNsYWltIGluIE9JREMgdG9rZW4gaXMgcmVxdWlyZWQgZm9yIHRoaXMgdmFsaWRhdGlvbiB0byB3b3JrLlxuICAgKi9cbiAgcmVhZG9ubHkgdG9rZW5FeHBpcnlGcm9tQXV0aDogRHVyYXRpb247XG5cbiAgLyoqXG4gICAqIFRoZSBkdXJhdGlvbiBhbiBPSURDIHRva2VuIGlzIHZhbGlkIGFmdGVyIGJlaW5nIGlzc3VlZCB0byBhIHVzZXIuXG4gICAqIFRoaXMgdmFsaWRhdGlvbiB1c2VzIGlhdCBjbGFpbSBvZiBPSURDIHRva2VuLlxuICAgKi9cbiAgcmVhZG9ubHkgdG9rZW5FeHBpcnlGcm9tSXNzdWU6IER1cmF0aW9uO1xufVxuXG4vKipcbiAqIENvbmZpZ3VyYXRpb24gZm9yIEFwaSBLZXlzIG9uIHRoZSBHcmFwaHFsIEFwaS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBBcGlLZXlBdXRob3JpemF0aW9uQ29uZmlnIHtcbiAgLyoqXG4gICAqIE9wdGlvbmFsIGRlc2NyaXB0aW9uIGZvciB0aGUgQXBpIEtleSB0byBhdHRhY2ggdG8gdGhlIEFwaS5cbiAgICovXG4gIHJlYWRvbmx5IGRlc2NyaXB0aW9uPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBBIGR1cmF0aW9uIHJlcHJlc2VudGluZyB0aGUgdGltZSBmcm9tIENsb3VkZm9ybWF0aW9uIGRlcGxveSB1bnRpbCBleHBpcnkuXG4gICAqL1xuICByZWFkb25seSBleHBpcmVzOiBEdXJhdGlvbjtcbn1cblxuLyoqXG4gKiBDb25maWd1cmF0aW9uIGZvciBDdXN0b20gTGFtYmRhIGF1dGhvcml6YXRpb24gb24gdGhlIEdyYXBocWwgQXBpLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIExhbWJkYUF1dGhvcml6YXRpb25Db25maWcge1xuICAvKipcbiAgICogVGhlIGF1dGhvcml6ZXIgbGFtYmRhIGZ1bmN0aW9uLlxuICAgKi9cbiAgcmVhZG9ubHkgZnVuY3Rpb246IElGdW5jdGlvbjtcblxuICAvKipcbiAgICogSG93IGxvbmcgdGhlIHJlc3VsdHMgYXJlIGNhY2hlZC5cbiAgICovXG4gIHJlYWRvbmx5IHR0bDogRHVyYXRpb247XG59XG5cbi8qKlxuICogQXV0aG9yaXphdGlvbiBNb2RlcyB0byBhcHBseSB0byB0aGUgQXBpLlxuICogQXQgbGVhc3Qgb25lIG1vZGVzIG11c3QgYmUgcHJvdmlkZWQsIGFuZCBpZiBtb3JlIHRoYW4gb25lIGFyZSBwcm92aWRlZCBhIGRlZmF1bHRBdXRob3JpemF0aW9uTW9kZSBtdXN0IGJlIHNwZWNpZmllZC5cbiAqIEZvciBtb3JlIGluZm9ybWF0aW9uIG9uIEFtcGxpZnkgQXBpIGF1dGgsIHJlZmVyIHRvIGh0dHBzOi8vZG9jcy5hbXBsaWZ5LmF3cy9jbGkvZ3JhcGhxbC9hdXRob3JpemF0aW9uLXJ1bGVzLyNhdXRob3JpemF0aW9uLXN0cmF0ZWdpZXNcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBBdXRob3JpemF0aW9uTW9kZXMge1xuICAvKipcbiAgICogRGVmYXVsdCBhdXRoIG1vZGUgdG8gcHJvdmlkZSB0byB0aGUgQXBpLCByZXF1aXJlZCBpZiBtb3JlIHRoYW4gb25lIGNvbmZpZyB0eXBlIGlzIHNwZWNpZmllZC5cbiAgICovXG4gIHJlYWRvbmx5IGRlZmF1bHRBdXRob3JpemF0aW9uTW9kZT86ICdBV1NfSUFNJyB8ICdBTUFaT05fQ09HTklUT19VU0VSX1BPT0xTJyB8ICdPUEVOSURfQ09OTkVDVCcgfCAnQVBJX0tFWScgfCAnQVdTX0xBTUJEQSc7XG5cbiAgLyoqXG4gICAqIElBTSBBdXRoIGNvbmZpZywgcmVxdWlyZWQgdG8gYWxsb3cgSUFNLWJhc2VkIGFjY2VzcyB0byB0aGlzIEFQSS5cbiAgICogVGhpcyBhcHBsaWVzIHRvIGFueSBJQU0gcHJpbmNpcGFsIGV4Y2VwdCBBbWF6b24gQ29nbml0byBpZGVudGl0eSBwb29sJ3MgYXV0aGVudGljYXRlZCBhbmQgdW5hdXRoZW50aWNhdGVkIHJvbGVzLlxuICAgKiBUaGlzIGJlaGF2aW9yIHdhcyBoYXMgcmVjZW50bHkgYmVlbiBpbXByb3ZlZC5cbiAgICogU2VlIGh0dHBzOi8vZG9jcy5hbXBsaWZ5LmF3cy9jbGkvcmVhY3QvdG9vbHMvY2xpL21pZ3JhdGlvbi9pYW0tYXV0aC11cGRhdGVzLWZvci1jZGstY29uc3RydWN0IGZvciBkZXRhaWxzLlxuICAgKi9cbiAgcmVhZG9ubHkgaWFtQ29uZmlnPzogSUFNQXV0aG9yaXphdGlvbkNvbmZpZztcblxuICAvKipcbiAgICogQ29nbml0byBJZGVudGl0eSBQb29sIGNvbmZpZywgcmVxdWlyZWQgaWYgYW4gJ2lkZW50aXR5UG9vbCcgYXV0aCBwcm92aWRlciBpcyBzcGVjaWZpZWQgaW4gdGhlIEFwaS5cbiAgICogQXBwbGllcyB0byAncHVibGljJyBhbmQgJ3ByaXZhdGUnIGF1dGggc3RyYXRlZ2llcy5cbiAgICovXG4gIHJlYWRvbmx5IGlkZW50aXR5UG9vbENvbmZpZz86IElkZW50aXR5UG9vbEF1dGhvcml6YXRpb25Db25maWc7XG5cbiAgLyoqXG4gICAqIENvZ25pdG8gVXNlclBvb2wgY29uZmlnLCByZXF1aXJlZCBpZiBhICd1c2VyUG9vbHMnIGF1dGggcHJvdmlkZXIgaXMgc3BlY2lmaWVkIGluIHRoZSBBcGkuXG4gICAqIEFwcGxpZXMgdG8gJ293bmVyJywgJ3ByaXZhdGUnLCBhbmQgJ2dyb3VwJyBhdXRoIHN0cmF0ZWdpZXMuXG4gICAqL1xuICByZWFkb25seSB1c2VyUG9vbENvbmZpZz86IFVzZXJQb29sQXV0aG9yaXphdGlvbkNvbmZpZztcblxuICAvKipcbiAgICogQ29nbml0byBPSURDIGNvbmZpZywgcmVxdWlyZWQgaWYgYSAnb2lkYycgYXV0aCBwcm92aWRlciBpcyBzcGVjaWZpZWQgaW4gdGhlIEFwaS5cbiAgICogQXBwbGllcyB0byAnb3duZXInLCAncHJpdmF0ZScsIGFuZCAnZ3JvdXAnIGF1dGggc3RyYXRlZ2llcy5cbiAgICovXG4gIHJlYWRvbmx5IG9pZGNDb25maWc/OiBPSURDQXV0aG9yaXphdGlvbkNvbmZpZztcblxuICAvKipcbiAgICogQXBwU3luYyBBcGkgS2V5IGNvbmZpZywgcmVxdWlyZWQgaWYgYSAnYXBpS2V5JyBhdXRoIHByb3ZpZGVyIGlzIHNwZWNpZmllZCBpbiB0aGUgQXBpLlxuICAgKiBBcHBsaWVzIHRvICdwdWJsaWMnIGF1dGggc3RyYXRlZ3kuXG4gICAqL1xuICByZWFkb25seSBhcGlLZXlDb25maWc/OiBBcGlLZXlBdXRob3JpemF0aW9uQ29uZmlnO1xuXG4gIC8qKlxuICAgKiBMYW1iZGEgY29uZmlnLCByZXF1aXJlZCBpZiBhICdmdW5jdGlvbicgYXV0aCBwcm92aWRlciBpcyBzcGVjaWZpZWQgaW4gdGhlIEFwaS5cbiAgICogQXBwbGllcyB0byAnY3VzdG9tJyBhdXRoIHN0cmF0ZWd5LlxuICAgKi9cbiAgcmVhZG9ubHkgbGFtYmRhQ29uZmlnPzogTGFtYmRhQXV0aG9yaXphdGlvbkNvbmZpZztcblxuICAvKipcbiAgICogQSBsaXN0IG9mIHJvbGVzIGdyYW50ZWQgZnVsbCBSL1cgYWNjZXNzIHRvIHRoZSBBcGkuXG4gICAqIEBkZXByZWNhdGVkLCB1c2UgaWFtQ29uZmlnLmFsbG93TGlzdGVkUm9sZXMgaW5zdGVhZC5cbiAgICovXG4gIHJlYWRvbmx5IGFkbWluUm9sZXM/OiBJUm9sZVtdO1xufVxuXG4vKipcbiAqIFdoZXRoZXIgb3Igbm90IHRvIHVzZSBhIHZlcnNpb24gZmllbGQgdG8gdHJhY2sgY29uZmxpY3QgZGV0ZWN0aW9uLlxuICovXG5leHBvcnQgdHlwZSBDb25mbGljdERldGVjdGlvblR5cGUgPSAnVkVSU0lPTicgfCAnTk9ORSc7XG5cbi8qKlxuICogQ29tbW9uIHBhcmFtZXRlcnMgZm9yIGNvbmZsaWN0IHJlc29sdXRpb24uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ29uZmxpY3RSZXNvbHV0aW9uU3RyYXRlZ3lCYXNlIHtcbiAgLyoqXG4gICAqIFRoZSBjb25mbGljdCBkZXRlY3Rpb24gdHlwZSB1c2VkIGZvciByZXNvbHV0aW9uLlxuICAgKi9cbiAgcmVhZG9ubHkgZGV0ZWN0aW9uVHlwZTogQ29uZmxpY3REZXRlY3Rpb25UeXBlO1xufVxuXG4vKipcbiAqIEVuYWJsZSBvcHRpbWlzdGljIGNvbmN1cnJlbmN5IG9uIHRoZSBwcm9qZWN0LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEF1dG9tZXJnZUNvbmZsaWN0UmVzb2x1dGlvblN0cmF0ZWd5IGV4dGVuZHMgQ29uZmxpY3RSZXNvbHV0aW9uU3RyYXRlZ3lCYXNlIHtcbiAgLyoqXG4gICAqIFRoaXMgY29uZmxpY3QgcmVzb2x1dGlvbiBzdHJhdGVneSBleGVjdXRlcyBhbiBhdXRvLW1lcmdlLlxuICAgKiBGb3IgbW9yZSBpbmZvcm1hdGlvbiwgcmVmZXIgdG8gaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL2FwcHN5bmMvbGF0ZXN0L2Rldmd1aWRlL2NvbmZsaWN0LWRldGVjdGlvbi1hbmQtc3luYy5odG1sI2NvbmZsaWN0LWRldGVjdGlvbi1hbmQtcmVzb2x1dGlvblxuICAgKi9cbiAgcmVhZG9ubHkgaGFuZGxlclR5cGU6ICdBVVRPTUVSR0UnO1xufVxuXG4vKipcbiAqIEVuYWJsZSBhdXRvbWVyZ2Ugb24gdGhlIHByb2plY3QuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgT3B0aW1pc3RpY0NvbmZsaWN0UmVzb2x1dGlvblN0cmF0ZWd5IGV4dGVuZHMgQ29uZmxpY3RSZXNvbHV0aW9uU3RyYXRlZ3lCYXNlIHtcbiAgLyoqXG4gICAqIFRoaXMgY29uZmxpY3QgcmVzb2x1dGlvbiBzdHJhdGVneSB0aGUgX3ZlcnNpb24gdG8gcGVyZm9ybSBvcHRpbWlzdGljIGNvbmN1cnJlbmN5LlxuICAgKiBGb3IgbW9yZSBpbmZvcm1hdGlvbiwgcmVmZXIgdG8gaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL2FwcHN5bmMvbGF0ZXN0L2Rldmd1aWRlL2NvbmZsaWN0LWRldGVjdGlvbi1hbmQtc3luYy5odG1sI2NvbmZsaWN0LWRldGVjdGlvbi1hbmQtcmVzb2x1dGlvblxuICAgKi9cbiAgcmVhZG9ubHkgaGFuZGxlclR5cGU6ICdPUFRJTUlTVElDX0NPTkNVUlJFTkNZJztcbn1cblxuLyoqXG4gKiBFbmFibGUgY3VzdG9tIHN5bmMgb24gdGhlIHByb2plY3QsIHBvd2VyZWQgYnkgYSBsYW1iZGEuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ3VzdG9tQ29uZmxpY3RSZXNvbHV0aW9uU3RyYXRlZ3kgZXh0ZW5kcyBDb25mbGljdFJlc29sdXRpb25TdHJhdGVneUJhc2Uge1xuICAvKipcbiAgICogVGhpcyBjb25mbGljdCByZXNvbHV0aW9uIHN0cmF0ZWd5IHVzZXMgYSBsYW1iZGEgaGFuZGxlciB0eXBlLlxuICAgKiBGb3IgbW9yZSBpbmZvcm1hdGlvbiwgcmVmZXIgdG8gaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL2FwcHN5bmMvbGF0ZXN0L2Rldmd1aWRlL2NvbmZsaWN0LWRldGVjdGlvbi1hbmQtc3luYy5odG1sI2NvbmZsaWN0LWRldGVjdGlvbi1hbmQtcmVzb2x1dGlvblxuXG4gICAqL1xuICByZWFkb25seSBoYW5kbGVyVHlwZTogJ0xBTUJEQSc7XG5cbiAgLyoqXG4gICAqIFRoZSBmdW5jdGlvbiB3aGljaCB3aWxsIGJlIGludm9rZWQgZm9yIGNvbmZsaWN0IHJlc29sdXRpb24uXG4gICAqL1xuICByZWFkb25seSBjb25mbGljdEhhbmRsZXI6IElGdW5jdGlvbjtcbn1cblxuLyoqXG4gKiBDb25mbGljdCBSZXNvbHV0aW9uIFN0cmF0ZWd5IHRvIGFwcGx5IHRvIHRoZSBwcm9qZWN0IG9yIGEgcGFydGljdWxhciBtb2RlbC5cbiAqL1xuZXhwb3J0IHR5cGUgQ29uZmxpY3RSZXNvbHV0aW9uU3RyYXRlZ3kgPVxuICB8IEF1dG9tZXJnZUNvbmZsaWN0UmVzb2x1dGlvblN0cmF0ZWd5XG4gIHwgT3B0aW1pc3RpY0NvbmZsaWN0UmVzb2x1dGlvblN0cmF0ZWd5XG4gIHwgQ3VzdG9tQ29uZmxpY3RSZXNvbHV0aW9uU3RyYXRlZ3k7XG5cbi8qKlxuICogUHJvamVjdCBsZXZlbCBjb25maWd1cmF0aW9uIGZvciBjb25mbGljdCByZXNvbHV0aW9uLlxuICogQGRlcHJlY2F0ZWQgdXNlIERhdGFTdG9yZUNvbmZpZ3VyYXRpb24gaW5zdGVhZC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBDb25mbGljdFJlc29sdXRpb24gZXh0ZW5kcyBEYXRhU3RvcmVDb25maWd1cmF0aW9uIHt9XG5cbi8qKlxuICogUHJvamVjdCBsZXZlbCBjb25maWd1cmF0aW9uIGZvciBEYXRhU3RvcmVcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBEYXRhU3RvcmVDb25maWd1cmF0aW9uIHtcbiAgLyoqXG4gICAqIFByb2plY3Qtd2lkZSBjb25maWcgZm9yIGNvbmZsaWN0IHJlc29sdXRpb24uIEFwcGxpZXMgdG8gYWxsIG5vbi1vdmVycmlkZGVuIG1vZGVscy5cbiAgICovXG4gIHJlYWRvbmx5IHByb2plY3Q/OiBDb25mbGljdFJlc29sdXRpb25TdHJhdGVneTtcblxuICAvKipcbiAgICogTW9kZWwtc3BlY2lmaWMgY29uZmxpY3QgcmVzb2x1dGlvbiBvdmVycmlkZXMuXG4gICAqL1xuICByZWFkb25seSBtb2RlbHM/OiBSZWNvcmQ8c3RyaW5nLCBDb25mbGljdFJlc29sdXRpb25TdHJhdGVneT47XG59XG5cbi8qKlxuICogUGFyYW1zIGV4cG9zZWQgdG8gc3VwcG9ydCBjb25maWd1cmluZyBhbmQgb3ZlcnJpZGluZyBwaXBlbGluZWQgc2xvdHMuIFRoaXMgYWxsb3dzIGNvbmZpZ3VyYXRpb24gb2YgdGhlIHVuZGVybHlpbmcgZnVuY3Rpb24sXG4gKiBpbmNsdWRpbmcgdGhlIHJlcXVlc3QgYW5kIHJlc3BvbnNlIG1hcHBpbmcgdGVtcGxhdGVzLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEZ1bmN0aW9uU2xvdE92ZXJyaWRlIHtcbiAgLyoqXG4gICAqIE92ZXJyaWRlIHJlcXVlc3QgbWFwcGluZyB0ZW1wbGF0ZSBmb3IgdGhlIGZ1bmN0aW9uIHNsb3QuIEV4ZWN1dGVkIGJlZm9yZSB0aGUgZGF0YXNvdXJjZSBpcyBpbnZva2VkLlxuICAgKi9cbiAgcmVhZG9ubHkgcmVxdWVzdE1hcHBpbmdUZW1wbGF0ZT86IE1hcHBpbmdUZW1wbGF0ZTtcblxuICAvKipcbiAgICogT3ZlcnJpZGUgcmVzcG9uc2UgbWFwcGluZyB0ZW1wbGF0ZSBmb3IgdGhlIGZ1bmN0aW9uIHNsb3QuIEV4ZWN1dGVkIGFmdGVyIHRoZSBkYXRhc291cmNlIGlzIGludm9rZWQuXG4gICAqL1xuICByZWFkb25seSByZXNwb25zZU1hcHBpbmdUZW1wbGF0ZT86IE1hcHBpbmdUZW1wbGF0ZTtcbn1cblxuLyoqXG4gKiBDb21tb24gc2xvdCBwYXJhbWV0ZXJzLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEZ1bmN0aW9uU2xvdEJhc2Uge1xuICAvKipcbiAgICogVGhlIGZpZWxkIHRvIGF0dGFjaCB0aGlzIGZ1bmN0aW9uIHRvIG9uIHRoZSBBcGkgZGVmaW5pdGlvbi5cbiAgICovXG4gIHJlYWRvbmx5IGZpZWxkTmFtZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgc2xvdCBpbmRleCB0byB1c2UgdG8gaW5qZWN0IHRoaXMgaW50byB0aGUgZXhlY3V0aW9uIHBpcGVsaW5lLlxuICAgKiBGb3IgbW9yZSBpbmZvcm1hdGlvbiBvbiBzbG90dGluZywgcmVmZXIgdG8gaHR0cHM6Ly9kb2NzLmFtcGxpZnkuYXdzL2NsaS9ncmFwaHFsL2N1c3RvbS1idXNpbmVzcy1sb2dpYy8jZXh0ZW5kLWFtcGxpZnktZ2VuZXJhdGVkLXJlc29sdmVyc1xuICAgKi9cbiAgcmVhZG9ubHkgc2xvdEluZGV4OiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIFRoZSBvdmVycmlkZGVuIGJlaGF2aW9yIGZvciB0aGlzIHNsb3QuXG4gICAqL1xuICByZWFkb25seSBmdW5jdGlvbjogRnVuY3Rpb25TbG90T3ZlcnJpZGU7XG59XG5cbi8qKlxuICogU2xvdCB0eXBlcyBmb3IgTXV0YXRpb24gUmVzb2x2ZXJzLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIE11dGF0aW9uRnVuY3Rpb25TbG90IGV4dGVuZHMgRnVuY3Rpb25TbG90QmFzZSB7XG4gIC8qKlxuICAgKiBUaGlzIHNsb3QgdHlwZSBhcHBsaWVzIHRvIHRoZSBNdXRhdGlvbiB0eXBlIG9uIHRoZSBBcGkgZGVmaW5pdGlvbi5cbiAgICovXG4gIHJlYWRvbmx5IHR5cGVOYW1lOiAnTXV0YXRpb24nO1xuXG4gIC8qKlxuICAgKiBUaGUgc2xvdCBuYW1lIHRvIGluamVjdCB0aGlzIGJlaGF2aW9yIGludG8uXG4gICAqIEZvciBtb3JlIGluZm9ybWF0aW9uIG9uIHNsb3R0aW5nLCByZWZlciB0byBodHRwczovL2RvY3MuYW1wbGlmeS5hd3MvY2xpL2dyYXBocWwvY3VzdG9tLWJ1c2luZXNzLWxvZ2ljLyNleHRlbmQtYW1wbGlmeS1nZW5lcmF0ZWQtcmVzb2x2ZXJzXG4gICAqL1xuICByZWFkb25seSBzbG90TmFtZTogJ2luaXQnIHwgJ3ByZUF1dGgnIHwgJ2F1dGgnIHwgJ3Bvc3RBdXRoJyB8ICdwcmVVcGRhdGUnIHwgJ3Bvc3RVcGRhdGUnIHwgJ2ZpbmlzaCc7XG59XG5cbi8qKlxuICogU2xvdCB0eXBlcyBmb3IgUXVlcnkgUmVzb2x2ZXJzLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFF1ZXJ5RnVuY3Rpb25TbG90IGV4dGVuZHMgRnVuY3Rpb25TbG90QmFzZSB7XG4gIC8qKlxuICAgKiBUaGlzIHNsb3QgdHlwZSBhcHBsaWVzIHRvIHRoZSBRdWVyeSB0eXBlIG9uIHRoZSBBcGkgZGVmaW5pdGlvbi5cbiAgICovXG4gIHJlYWRvbmx5IHR5cGVOYW1lOiAnUXVlcnknO1xuXG4gIC8qKlxuICAgKiBUaGUgc2xvdCBuYW1lIHRvIGluamVjdCB0aGlzIGJlaGF2aW9yIGludG8uXG4gICAqIEZvciBtb3JlIGluZm9ybWF0aW9uIG9uIHNsb3R0aW5nLCByZWZlciB0byBodHRwczovL2RvY3MuYW1wbGlmeS5hd3MvY2xpL2dyYXBocWwvY3VzdG9tLWJ1c2luZXNzLWxvZ2ljLyNleHRlbmQtYW1wbGlmeS1nZW5lcmF0ZWQtcmVzb2x2ZXJzXG4gICAqL1xuICByZWFkb25seSBzbG90TmFtZTogJ2luaXQnIHwgJ3ByZUF1dGgnIHwgJ2F1dGgnIHwgJ3Bvc3RBdXRoJyB8ICdwcmVEYXRhTG9hZCcgfCAncG9zdERhdGFMb2FkJyB8ICdmaW5pc2gnO1xufVxuXG4vKipcbiAqIFNsb3QgdHlwZXMgZm9yIFN1YnNjcmlwdGlvbiBSZXNvbHZlcnMuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU3Vic2NyaXB0aW9uRnVuY3Rpb25TbG90IGV4dGVuZHMgRnVuY3Rpb25TbG90QmFzZSB7XG4gIC8qKlxuICAgKiBUaGlzIHNsb3QgdHlwZSBhcHBsaWVzIHRvIHRoZSBTdWJzY3JpcHRpb24gdHlwZSBvbiB0aGUgQXBpIGRlZmluaXRpb24uXG4gICAqL1xuICByZWFkb25seSB0eXBlTmFtZTogJ1N1YnNjcmlwdGlvbic7XG5cbiAgLyoqXG4gICAqIFRoZSBzbG90IG5hbWUgdG8gaW5qZWN0IHRoaXMgYmVoYXZpb3IgaW50by5cbiAgICogRm9yIG1vcmUgaW5mb3JtYXRpb24gb24gc2xvdHRpbmcsIHJlZmVyIHRvIGh0dHBzOi8vZG9jcy5hbXBsaWZ5LmF3cy9jbGkvZ3JhcGhxbC9jdXN0b20tYnVzaW5lc3MtbG9naWMvI2V4dGVuZC1hbXBsaWZ5LWdlbmVyYXRlZC1yZXNvbHZlcnNcbiAgICovXG4gIHJlYWRvbmx5IHNsb3ROYW1lOiAnaW5pdCcgfCAncHJlQXV0aCcgfCAnYXV0aCcgfCAncG9zdEF1dGgnIHwgJ3ByZVN1YnNjcmliZSc7XG59XG5cbi8qKlxuICogSW5wdXQgcGFyYW1zIHRvIHVuaXF1ZWx5IGlkZW50aWZ5IHRoZSBzbG90IHdoaWNoIGlzIGJlaW5nIG92ZXJyaWRkZW4uXG4gKi9cbmV4cG9ydCB0eXBlIEZ1bmN0aW9uU2xvdCA9IE11dGF0aW9uRnVuY3Rpb25TbG90IHwgUXVlcnlGdW5jdGlvblNsb3QgfCBTdWJzY3JpcHRpb25GdW5jdGlvblNsb3Q7XG5cbi8qKlxuICogU3Ryb25nbHkgdHlwZWQgc2V0IG9mIHNoYXJlZCBwYXJhbWV0ZXJzIGZvciBhbGwgdHJhbnNmb3JtZXJzLCBhbmQgY29yZSBsYXllci5cbiAqIFRoaXMgaXMgaW50ZW5kZWQgdG8gcmVwbGFjZSBmZWF0dXJlIGZsYWdzLCB0byBlbnN1cmUgcGFyYW0gY29lcmNpb24gaGFwcGVucyBpblxuICogYSBzaW5nbGUgbG9jYXRpb24sIGFuZCBpc24ndCBzcHJlYWQgYXJvdW5kIHRoZSB0cmFuc2Zvcm1lcnMsIHdoZXJlIHRoZXkgY2FuXG4gKiBoYXZlIGRpZmZlcmVudCBkZWZhdWx0IGJlaGF2aW9ycy5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBUcmFuc2xhdGlvbkJlaGF2aW9yIHtcbiAgLyoqXG4gICAqIFJlc3RvcmUgcGFyaXR5IHcvIEdRTHYxIEBtb2RlbCBwYXJhbWV0ZXIgYmVoYXZpb3IsIHdoZXJlIHNldHRpbmcgYSBzaW5nbGUgZmllbGQgZG9lc24ndCBpbXBsaWNpdGx5IHNldCB0aGUgb3RoZXIgZmllbGRzIHRvIG51bGwuXG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICovXG4gIHJlYWRvbmx5IHNob3VsZERlZXBNZXJnZURpcmVjdGl2ZUNvbmZpZ0RlZmF1bHRzOiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBEaXNhYmxlIHJlc29sdmVyIGRlZHVwaW5nLCB0aGlzIGNhbiBzb21ldGltZXMgY2F1c2UgcHJvYmxlbXMgYmVjYXVzZSBkZWR1cGUgb3JkZXJpbmcgaXNuJ3Qgc3RhYmxlIHRvZGF5LCB3aGljaCBjYW5cbiAgICogbGVhZCB0byBjaXJjdWxhciBkZXBlbmRlbmNpZXMgYWNyb3NzIHN0YWNrcyBpZiBtb2RlbHMgYXJlIHJlb3JkZXJlZC5cbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKi9cbiAgcmVhZG9ubHkgZGlzYWJsZVJlc29sdmVyRGVkdXBpbmc6IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEVuYWJsaW5nIHNhbmRib3ggbW9kZSB3aWxsIGVuYWJsZSBhcGkga2V5IGF1dGggb24gYWxsIG1vZGVscyBpbiB0aGUgdHJhbnNmb3JtZWQgc2NoZW1hLlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgcmVhZG9ubHkgc2FuZGJveE1vZGVFbmFibGVkOiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBFbnN1cmUgdGhhdCBvaWRjIGFuZCB1c2VyUG9vbCBhdXRoIHVzZSB0aGUgYHN1YmAgZmllbGQgaW4gdGhlIGZvciB0aGUgdXNlcm5hbWUgZmllbGQsIHdoaWNoIGRpc2FsbG93cyBuZXcgdXNlcnMgd2l0aCB0aGUgc2FtZVxuICAgKiBpZCB0byBhY2Nlc3MgZGF0YSBmcm9tIGEgZGVsZXRlZCB1c2VyIGluIHRoZSBwb29sLlxuICAgKiBAZGVmYXVsdCB0cnVlXG4gICAqL1xuICByZWFkb25seSB1c2VTdWJVc2VybmFtZUZvckRlZmF1bHRJZGVudGl0eUNsYWltOiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBXaGVuIGVuYWJsZWQsIHN1cHByZXNzZXMgZGVmYXVsdCBiZWhhdmlvciBvZiByZWRhY3RpbmcgcmVsYXRpb25hbCBmaWVsZHMgd2hlbiBhdXRoIHJ1bGVzIGRvIG5vdCBleGFjdGx5IG1hdGNoLlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgcmVhZG9ubHkgc3Vic2NyaXB0aW9uc0luaGVyaXRQcmltYXJ5QXV0aDogYm9vbGVhbjtcblxuICAvKipcbiAgICogRW5zdXJlIHRoYXQgdGhlIG93bmVyIGZpZWxkIGlzIHN0aWxsIHBvcHVsYXRlZCBldmVuIGlmIGEgc3RhdGljIGlhbSBvciBncm91cCBhdXRob3JpemF0aW9uIGFwcGxpZXMuXG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICovXG4gIHJlYWRvbmx5IHBvcHVsYXRlT3duZXJGaWVsZEZvclN0YXRpY0dyb3VwQXV0aDogYm9vbGVhbjtcblxuICAvKipcbiAgICogSWYgZW5hYmxlZCwgZGlzYWJsZSBhcGkga2V5IHJlc291cmNlIGdlbmVyYXRpb24gZXZlbiBpZiBzcGVjaWZpZWQgYXMgYW4gYXV0aCBydWxlIG9uIHRoZSBjb25zdHJ1Y3QuXG4gICAqIFRoaXMgaXMgYSBsZWdhY3kgcGFyYW1ldGVyIGZyb20gdGhlIEdyYXBocWwgVHJhbnNmb3JtZXIgZXhpc3RpbmcgaW4gQW1wbGlmeSBDTEksIG5vdCByZWNvbW1lbmRlZCB0byBjaGFuZ2UuXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICByZWFkb25seSBzdXBwcmVzc0FwaUtleUdlbmVyYXRpb246IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIElmIGRpc2FibGVkLCBnZW5lcmF0ZWQgQGluZGV4IGFzIGFuIExTSSBpbnN0ZWFkIG9mIGEgR1NJLlxuICAgKiBAZGVmYXVsdCB0cnVlXG4gICAqL1xuICByZWFkb25seSBzZWNvbmRhcnlLZXlBc0dTSTogYm9vbGVhbjtcblxuICAvKipcbiAgICogQXV0b21hdGUgZ2VuZXJhdGlvbiBvZiBxdWVyeSBuYW1lcywgYW5kIGFzIGEgcmVzdWx0IGF0dGFjaGluZyBhbGwgaW5kZXhlcyBhcyBxdWVyaWVzIHRvIHRoZSBnZW5lcmF0ZWQgQXBpLlxuICAgKiBJZiBlbmFibGVkLCBAaW5kZXggY2FuIGJlIHByb3ZpZGVkIGEgbnVsbCBuYW1lIGZpZWxkIHRvIGRpc2FibGUgdGhlIGdlbmVyYXRpb24gb2YgdGhlIHF1ZXJ5IG9uIHRoZSBBcGkuXG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICovXG4gIHJlYWRvbmx5IGVuYWJsZUF1dG9JbmRleFF1ZXJ5TmFtZXM6IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEVuYWJsZSBjdXN0b20gcHJpbWFyeSBrZXkgc3VwcG9ydCwgdGhlcmUncyBubyBnb29kIHJlYXNvbiB0byBkaXNhYmxlIHRoaXMgdW5sZXNzIHRyeWluZyBub3QgdG8gdXBkYXRlIGEgbGVnYWN5IGFwcC5cbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKi9cbiAgcmVhZG9ubHkgcmVzcGVjdFByaW1hcnlLZXlBdHRyaWJ1dGVzT25Db25uZWN0aW9uRmllbGQ6IGJvb2xlYW47XG5cbiAgcmVhZG9ubHkgZW5hYmxlU2VhcmNoTm9kZVRvTm9kZUVuY3J5cHRpb246IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFdoZW4gZW5hYmxlZCwgaW50ZXJuYWwgY2ZuIG91dHB1dHMgd2hpY2ggZXhpc3RlZCBpbiBBbXBsaWZ5LWdlbmVyYXRlZCBhcHBzIHdpbGwgY29udGludWUgdG8gYmUgZW1pdHRlZC5cbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIHJlYWRvbmx5IGVuYWJsZVRyYW5zZm9ybWVyQ2ZuT3V0cHV0czogYm9vbGVhbjtcblxuICAvKipcbiAgICogVGhlIGZvbGxvd2luZyBzY2hlbWEgdXBkYXRlcyByZXF1aXJlIHJlcGxhY2VtZW50IG9mIHRoZSB1bmRlcmx5aW5nIER5bmFtb0RCIHRhYmxlOlxuICAgKlxuICAgKiAgLSBSZW1vdmluZyBvciByZW5hbWluZyBhIG1vZGVsXG4gICAqICAtIE1vZGlmeWluZyB0aGUgcHJpbWFyeSBrZXkgb2YgYSBtb2RlbFxuICAgKiAgLSBNb2RpZnlpbmcgYSBMb2NhbCBTZWNvbmRhcnkgSW5kZXggb2YgYSBtb2RlbCAob25seSBhcHBsaWVzIHRvIHByb2plY3RzIHdpdGggc2Vjb25kYXJ5S2V5QXNHU0kgdHVybmVkIG9mZilcbiAgICpcbiAgICogQUxMIERBVEEgV0lMTCBCRSBMT1NUIHdoZW4gdGhlIHRhYmxlIHJlcGxhY2VtZW50IGhhcHBlbnMuIFdoZW4gZW5hYmxlZCwgZGVzdHJ1Y3RpdmUgdXBkYXRlcyBhcmUgYWxsb3dlZC5cbiAgICogVGhpcyB3aWxsIG9ubHkgYWZmZWN0IER5bmFtb0RCIHRhYmxlcyB3aXRoIHByb3Zpc2lvbiBzdHJhdGVneSBcIkFNUExJRllfVEFCTEVcIi5cbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICogQGV4cGVyaW1lbnRhbFxuICAgKi9cbiAgcmVhZG9ubHkgYWxsb3dEZXN0cnVjdGl2ZUdyYXBocWxTY2hlbWFVcGRhdGVzOiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBUaGlzIGJlaGF2aW9yIHdpbGwgb25seSBjb21lIGludG8gZWZmZWN0IHdoZW4gYm90aCBcImFsbG93RGVzdHJ1Y3RpdmVHcmFwaHFsU2NoZW1hVXBkYXRlc1wiIGFuZCB0aGlzIHZhbHVlIGFyZSBzZXQgdG8gdHJ1ZVxuICAgKlxuICAgKiBXaGVuIGVuYWJsZWQsIGFueSBHU0kgdXBkYXRlIG9wZXJhdGlvbiB3aWxsIHJlcGxhY2UgdGhlIHRhYmxlIGluc3RlYWQgb2YgaXRlcmF0aXZlIGRlcGxveW1lbnQsIHdoaWNoIHdpbGwgV0lQRSBBTEwgRVhJU1RJTkcgREFUQSBidXRcbiAgICogY29zdCBtdWNoIGxlc3MgdGltZSBmb3IgZGVwbG95bWVudCBUaGlzIHdpbGwgb25seSBhZmZlY3QgRHluYW1vREIgdGFibGVzIHdpdGggcHJvdmlzaW9uIHN0cmF0ZWd5IFwiQU1QTElGWV9UQUJMRVwiLlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKiBAZXhwZXJpbWVudGFsXG4gICAqL1xuICByZWFkb25seSByZXBsYWNlVGFibGVVcG9uR3NpVXBkYXRlOiBib29sZWFuO1xufVxuXG4vKipcbiAqIEEgdXRpbGl0eSBpbnRlcmZhY2UgZXF1aXZhbGVudCB0byBQYXJ0aWFsPFRyYW5zbGF0aW9uQmVoYXZpb3I+LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFBhcnRpYWxUcmFuc2xhdGlvbkJlaGF2aW9yIHtcbiAgLyoqXG4gICAqIFJlc3RvcmUgcGFyaXR5IHcvIEdRTHYxIEBtb2RlbCBwYXJhbWV0ZXIgYmVoYXZpb3IsIHdoZXJlIHNldHRpbmcgYSBzaW5nbGUgZmllbGQgZG9lc24ndCBpbXBsaWNpdGx5IHNldCB0aGUgb3RoZXIgZmllbGRzIHRvIG51bGwuXG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICovXG4gIHJlYWRvbmx5IHNob3VsZERlZXBNZXJnZURpcmVjdGl2ZUNvbmZpZ0RlZmF1bHRzPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogRGlzYWJsZSByZXNvbHZlciBkZWR1cGluZywgdGhpcyBjYW4gc29tZXRpbWVzIGNhdXNlIHByb2JsZW1zIGJlY2F1c2UgZGVkdXBlIG9yZGVyaW5nIGlzbid0IHN0YWJsZSB0b2RheSwgd2hpY2ggY2FuXG4gICAqIGxlYWQgdG8gY2lyY3VsYXIgZGVwZW5kZW5jaWVzIGFjcm9zcyBzdGFja3MgaWYgbW9kZWxzIGFyZSByZW9yZGVyZWQuXG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICovXG4gIHJlYWRvbmx5IGRpc2FibGVSZXNvbHZlckRlZHVwaW5nPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogRW5hYmxpbmcgc2FuZGJveCBtb2RlIHdpbGwgZW5hYmxlIGFwaSBrZXkgYXV0aCBvbiBhbGwgbW9kZWxzIGluIHRoZSB0cmFuc2Zvcm1lZCBzY2hlbWEuXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICByZWFkb25seSBzYW5kYm94TW9kZUVuYWJsZWQ/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBFbnN1cmUgdGhhdCBvaWRjIGFuZCB1c2VyUG9vbCBhdXRoIHVzZSB0aGUgYHN1YmAgZmllbGQgaW4gdGhlIGZvciB0aGUgdXNlcm5hbWUgZmllbGQsIHdoaWNoIGRpc2FsbG93cyBuZXcgdXNlcnMgd2l0aCB0aGUgc2FtZVxuICAgKiBpZCB0byBhY2Nlc3MgZGF0YSBmcm9tIGEgZGVsZXRlZCB1c2VyIGluIHRoZSBwb29sLlxuICAgKiBAZGVmYXVsdCB0cnVlXG4gICAqL1xuICByZWFkb25seSB1c2VTdWJVc2VybmFtZUZvckRlZmF1bHRJZGVudGl0eUNsYWltPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogV2hlbiBlbmFibGVkLCBzdXBwcmVzc2VzIGRlZmF1bHQgYmVoYXZpb3Igb2YgcmVkYWN0aW5nIHJlbGF0aW9uYWwgZmllbGRzIHdoZW4gYXV0aCBydWxlcyBkbyBub3QgZXhhY3RseSBtYXRjaC5cbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIHJlYWRvbmx5IHN1YnNjcmlwdGlvbnNJbmhlcml0UHJpbWFyeUF1dGg/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBFbnN1cmUgdGhhdCB0aGUgb3duZXIgZmllbGQgaXMgc3RpbGwgcG9wdWxhdGVkIGV2ZW4gaWYgYSBzdGF0aWMgaWFtIG9yIGdyb3VwIGF1dGhvcml6YXRpb24gYXBwbGllcy5cbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKi9cbiAgcmVhZG9ubHkgcG9wdWxhdGVPd25lckZpZWxkRm9yU3RhdGljR3JvdXBBdXRoPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogSWYgZW5hYmxlZCwgZGlzYWJsZSBhcGkga2V5IHJlc291cmNlIGdlbmVyYXRpb24gZXZlbiBpZiBzcGVjaWZpZWQgYXMgYW4gYXV0aCBydWxlIG9uIHRoZSBjb25zdHJ1Y3QuXG4gICAqIFRoaXMgaXMgYSBsZWdhY3kgcGFyYW1ldGVyIGZyb20gdGhlIEdyYXBocWwgVHJhbnNmb3JtZXIgZXhpc3RpbmcgaW4gQW1wbGlmeSBDTEksIG5vdCByZWNvbW1lbmRlZCB0byBjaGFuZ2UuXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICByZWFkb25seSBzdXBwcmVzc0FwaUtleUdlbmVyYXRpb24/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBJZiBkaXNhYmxlZCwgZ2VuZXJhdGVkIEBpbmRleCBhcyBhbiBMU0kgaW5zdGVhZCBvZiBhIEdTSS5cbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKi9cbiAgcmVhZG9ubHkgc2Vjb25kYXJ5S2V5QXNHU0k/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBBdXRvbWF0ZSBnZW5lcmF0aW9uIG9mIHF1ZXJ5IG5hbWVzLCBhbmQgYXMgYSByZXN1bHQgYXR0YWNoaW5nIGFsbCBpbmRleGVzIGFzIHF1ZXJpZXMgdG8gdGhlIGdlbmVyYXRlZCBBcGkuXG4gICAqIElmIGVuYWJsZWQsIEBpbmRleCBjYW4gYmUgcHJvdmlkZWQgYSBudWxsIG5hbWUgZmllbGQgdG8gZGlzYWJsZSB0aGUgZ2VuZXJhdGlvbiBvZiB0aGUgcXVlcnkgb24gdGhlIEFwaS5cbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKi9cbiAgcmVhZG9ubHkgZW5hYmxlQXV0b0luZGV4UXVlcnlOYW1lcz86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEVuYWJsZSBjdXN0b20gcHJpbWFyeSBrZXkgc3VwcG9ydCwgdGhlcmUncyBubyBnb29kIHJlYXNvbiB0byBkaXNhYmxlIHRoaXMgdW5sZXNzIHRyeWluZyBub3QgdG8gdXBkYXRlIGEgbGVnYWN5IGFwcC5cbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKi9cbiAgcmVhZG9ubHkgcmVzcGVjdFByaW1hcnlLZXlBdHRyaWJ1dGVzT25Db25uZWN0aW9uRmllbGQ/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBJZiBlbmFibGVkLCBzZXQgbm9kZVRvTm9kZUVuY3J5cHRpb24gb24gdGhlIHNlYXJjaGFibGUgZG9tYWluIChpZiBvbmUgZXhpc3RzKS4gTm90IHJlY29tbWVuZGVkIGZvciB1c2UsIHByZWZlclxuICAgKiB0byB1c2UgYE9iamVjdC52YWx1ZXMocmVzb3VyY2VzLmFkZGl0aW9uYWxSZXNvdXJjZXNbJ0FXUzo6RWxhc3RpY3NlYXJjaDo6RG9tYWluJ10pLmZvckVhY2goKGRvbWFpbjogQ2ZuRG9tYWluKSA9PiB7XG4gICAqICAgZG9tYWluLk5vZGVUb05vZGVFbmNyeXB0aW9uT3B0aW9ucyA9IHsgRW5hYmxlZDogVHJ1ZSB9O1xuICAgKiB9KTtcbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIHJlYWRvbmx5IGVuYWJsZVNlYXJjaE5vZGVUb05vZGVFbmNyeXB0aW9uPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogV2hlbiBlbmFibGVkLCBpbnRlcm5hbCBjZm4gb3V0cHV0cyB3aGljaCBleGlzdGVkIGluIEFtcGxpZnktZ2VuZXJhdGVkIGFwcHMgd2lsbCBjb250aW51ZSB0byBiZSBlbWl0dGVkLlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgcmVhZG9ubHkgZW5hYmxlVHJhbnNmb3JtZXJDZm5PdXRwdXRzPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogVGhlIGZvbGxvd2luZyBzY2hlbWEgdXBkYXRlcyByZXF1aXJlIHJlcGxhY2VtZW50IG9mIHRoZSB1bmRlcmx5aW5nIER5bmFtb0RCIHRhYmxlOlxuICAgKlxuICAgKiAgLSBSZW1vdmluZyBvciByZW5hbWluZyBhIG1vZGVsXG4gICAqICAtIE1vZGlmeWluZyB0aGUgcHJpbWFyeSBrZXkgb2YgYSBtb2RlbFxuICAgKiAgLSBNb2RpZnlpbmcgYSBMb2NhbCBTZWNvbmRhcnkgSW5kZXggb2YgYSBtb2RlbCAob25seSBhcHBsaWVzIHRvIHByb2plY3RzIHdpdGggc2Vjb25kYXJ5S2V5QXNHU0kgdHVybmVkIG9mZilcbiAgICpcbiAgICogQUxMIERBVEEgV0lMTCBCRSBMT1NUIHdoZW4gdGhlIHRhYmxlIHJlcGxhY2VtZW50IGhhcHBlbnMuIFdoZW4gZW5hYmxlZCwgZGVzdHJ1Y3RpdmUgdXBkYXRlcyBhcmUgYWxsb3dlZC5cbiAgICogVGhpcyB3aWxsIG9ubHkgYWZmZWN0IER5bmFtb0RCIHRhYmxlcyB3aXRoIHByb3Zpc2lvbiBzdHJhdGVneSBcIkFNUExJRllfVEFCTEVcIi5cbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICogQGV4cGVyaW1lbnRhbFxuICAgKi9cbiAgcmVhZG9ubHkgYWxsb3dEZXN0cnVjdGl2ZUdyYXBocWxTY2hlbWFVcGRhdGVzPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogVGhpcyBiZWhhdmlvciB3aWxsIG9ubHkgY29tZSBpbnRvIGVmZmVjdCB3aGVuIGJvdGggXCJhbGxvd0Rlc3RydWN0aXZlR3JhcGhxbFNjaGVtYVVwZGF0ZXNcIiBhbmQgdGhpcyB2YWx1ZSBhcmUgc2V0IHRvIHRydWVcbiAgICpcbiAgICogV2hlbiBlbmFibGVkLCBhbnkgZ2xvYmFsIHNlY29uZGFyeSBpbmRleCB1cGRhdGUgb3BlcmF0aW9uIHdpbGwgcmVwbGFjZSB0aGUgdGFibGUgaW5zdGVhZCBvZiBpdGVyYXRpdmUgZGVwbG95bWVudCwgd2hpY2ggd2lsbCBXSVBFIEFMTFxuICAgKiBFWElTVElORyBEQVRBIGJ1dCBjb3N0IG11Y2ggbGVzcyB0aW1lIGZvciBkZXBsb3ltZW50IFRoaXMgd2lsbCBvbmx5IGFmZmVjdCBEeW5hbW9EQiB0YWJsZXMgd2l0aCBwcm92aXNpb24gc3RyYXRlZ3kgXCJBTVBMSUZZX1RBQkxFXCIuXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqIEBleHBlcmltZW50YWxcbiAgICovXG4gIHJlYWRvbmx5IHJlcGxhY2VUYWJsZVVwb25Hc2lVcGRhdGU/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBXaGVuIGVuYWJsZWQsIHNhbmRib3ggZGVwbG95bWVudCB3aWxsIGJlIGZhc3RlciBieSBza2lwcGluZyB0aGUgY3JlYXRpb24gb2YgdGhlIEhvdHN3YXAgZnJpZW5kbHkgcmVzb3VyY2VzLlxuICAgKlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKiBAaW50ZXJuYWxcbiAgICogV0FSTklORzogQWx0aG91Z2ggdGhpcyBoYXMgYHB1YmxpY2AgYWNjZXNzLCBpdCBpcyBpbnRlbmRlZCBmb3IgaW50ZXJuYWwgdXNlIGFuZCBzaG91bGQgbm90IGJlIHVzZWQgZGlyZWN0bHkuXG4gICAqIFRoZSBiZWhhdmlvciBvZiB0aGlzIG1heSBjaGFuZ2Ugd2l0aG91dCB3YXJuaW5nLlxuICAgKi9cbiAgcmVhZG9ubHkgX3Byb3Zpc2lvbkhvdHN3YXBGcmllbmRseVJlc291cmNlcz86IGJvb2xlYW47XG59XG5cbi8qKlxuICogR3JhcGhxbCBBcGkgZGVmaW5pdGlvbiwgd2hpY2ggY2FuIGJlIGltcGxlbWVudGVkIGluIG11bHRpcGxlIHdheXMuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSUFtcGxpZnlHcmFwaHFsRGVmaW5pdGlvbiB7XG4gIC8qKlxuICAgKiBSZXR1cm4gdGhlIHNjaGVtYSBkZWZpbml0aW9uIGFzIGEgZ3JhcGhxbCBzdHJpbmcsIHdpdGggYW1wbGlmeSBkaXJlY3RpdmVzIGFsbG93ZWQuXG4gICAqIEByZXR1cm5zIHRoZSByZW5kZXJlZCBzY2hlbWEuXG4gICAqL1xuICByZWFkb25seSBzY2hlbWE6IHN0cmluZztcblxuICAvKipcbiAgICogUmV0cmlldmUgYW55IGZ1bmN0aW9uIHNsb3RzIGRlZmluZWQgZXhwbGljaXRseSBpbiB0aGUgQXBpIGRlZmluaXRpb24uXG4gICAqIEByZXR1cm5zIGdlbmVyYXRlZCBmdW5jdGlvbiBzbG90c1xuICAgKi9cbiAgcmVhZG9ubHkgZnVuY3Rpb25TbG90czogRnVuY3Rpb25TbG90W107XG5cbiAgLyoqXG4gICAqIFJldHJpZXZlIHRoZSByZWZlcmVuY2VzIHRvIGFueSBsYW1iZGEgZnVuY3Rpb25zIHVzZWQgaW4gdGhlIGRlZmluaXRpb24uXG4gICAqIFVzZWZ1bCBmb3Igd2lyaW5nIHRocm91Z2ggYXdzX2xhbWJkYS5GdW5jdGlvbiBjb25zdHJ1Y3RzIGludG8gdGhlIGRlZmluaXRpb24gZGlyZWN0bHksXG4gICAqIGFuZCBnZW5lcmF0ZWQgcmVmZXJlbmNlcyB0byBpbnZva2UgdGhlbS5cbiAgICogQHJldHVybnMgYW55IGxhbWJkYSBmdW5jdGlvbnMsIGtleWVkIGJ5IHRoZWlyIHJlZmVyZW5jZWQgJ25hbWUnIGluIHRoZSBnZW5lcmF0ZWQgc2NoZW1hLlxuICAgKi9cbiAgcmVhZG9ubHkgcmVmZXJlbmNlZExhbWJkYUZ1bmN0aW9ucz86IFJlY29yZDxzdHJpbmcsIElGdW5jdGlvbj47XG5cbiAgLyoqXG4gICAqIFJldHJpZXZlIHRoZSBkYXRhc291cmNlIHN0cmF0ZWd5IG1hcHBpbmcuIFRoZSBkZWZhdWx0IHN0cmF0ZWd5IGlzIHRvIHVzZSBEeW5hbW9EQiBmcm9tIENsb3VkRm9ybWF0aW9uLlxuICAgKiBAcmV0dXJucyBkYXRhc291cmNlIHN0cmF0ZWd5IG1hcHBpbmdcbiAgICovXG4gIHJlYWRvbmx5IGRhdGFTb3VyY2VTdHJhdGVnaWVzOiBSZWNvcmQ8c3RyaW5nLCBNb2RlbERhdGFTb3VyY2VTdHJhdGVneT47XG5cbiAgLyoqXG4gICAqIEFuIGFycmF5IG9mIGN1c3RvbSBRdWVyeSBvciBNdXRhdGlvbiBTUUwgY29tbWFuZHMgdG8gdGhlIGRhdGEgc291cmNlcyB0aGF0IHJlc29sdmVzIHRoZW0uXG4gICAqIEByZXR1cm5zIGEgbGlzdCBvZiBtYXBwaW5ncyBmcm9tIGN1c3RvbSBTUUwgY29tbWFuZHMgdG8gZGF0YSBzb3VyY2VzXG4gICAqL1xuICByZWFkb25seSBjdXN0b21TcWxEYXRhU291cmNlU3RyYXRlZ2llcz86IEN1c3RvbVNxbERhdGFTb3VyY2VTdHJhdGVneVtdO1xufVxuXG4vKipcbiAqIEVudHJ5IHJlcHJlc2VudGluZyB0aGUgcmVxdWlyZWQgb3V0cHV0IGZyb20gdGhlIGJhY2tlbmQgZm9yIGNvZGVnZW4gZ2VuZXJhdGUgY29tbWFuZHMgdG8gd29yay5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJQmFja2VuZE91dHB1dEVudHJ5IHtcbiAgLyoqXG4gICAqIFRoZSBwcm90b2NvbCB2ZXJzaW9uIGZvciB0aGlzIGJhY2tlbmQgb3V0cHV0LlxuICAgKi9cbiAgcmVhZG9ubHkgdmVyc2lvbjogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgc3RyaW5nLW1hcCBwYXlsb2FkIG9mIGdlbmVyYXRlZCBjb25maWcgdmFsdWVzLlxuICAgKi9cbiAgcmVhZG9ubHkgcGF5bG9hZDogUmVjb3JkPHN0cmluZywgc3RyaW5nPjtcbn1cblxuLyoqXG4gKiBCYWNrZW5kIG91dHB1dCBzdHJhdGVneSB1c2VkIHRvIHdyaXRlIGNvbmZpZyByZXF1aXJlZCBmb3IgY29kZWdlbiB0YXNrcy5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJQmFja2VuZE91dHB1dFN0b3JhZ2VTdHJhdGVneSB7XG4gIC8qKlxuICAgKiBBZGQgYW4gZW50cnkgdG8gYmFja2VuZCBvdXRwdXQuXG4gICAqIEBwYXJhbSBrZXlOYW1lIHRoZSBrZXlcbiAgICogQHBhcmFtIGJhY2tlbmRPdXRwdXRFbnRyeSB0aGUgcmVjb3JkIHRvIHN0b3JlIGluIHRoZSBiYWNrZW5kIG91dHB1dFxuICAgKi9cbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9tZXRob2Qtc2lnbmF0dXJlLXN0eWxlXG4gIGFkZEJhY2tlbmRPdXRwdXRFbnRyeShrZXlOYW1lOiBzdHJpbmcsIGJhY2tlbmRPdXRwdXRFbnRyeTogSUJhY2tlbmRPdXRwdXRFbnRyeSk6IHZvaWQ7XG59XG5cbi8qKlxuICogSW5wdXQgcHJvcHMgZm9yIHRoZSBBbXBsaWZ5R3JhcGhxbEFwaSBjb25zdHJ1Y3QuIFNwZWNpZmllcyB3aGF0IHRoZSBpbnB1dCB0byB0cmFuc2Zvcm0gaW50byBhbiBBcGksIGFuZCBjb25maWd1cmF0aW9ucyBmb3JcbiAqIHRoZSB0cmFuc2Zvcm1hdGlvbiBwcm9jZXNzLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEFtcGxpZnlHcmFwaHFsQXBpUHJvcHMge1xuICAvKipcbiAgICogVGhlIGRlZmluaXRpb24gdG8gdHJhbnNmb3JtIGluIGEgZnVsbCBBcGkuXG4gICAqIENhbiBiZSBjb25zdHJ1Y3RlZCB2aWEgdGhlIEFtcGxpZnlHcmFwaHFsRGVmaW5pdGlvbiBjbGFzcy5cbiAgICovXG4gIHJlYWRvbmx5IGRlZmluaXRpb246IElBbXBsaWZ5R3JhcGhxbERlZmluaXRpb247XG5cbiAgLyoqXG4gICAqIE5hbWUgdG8gYmUgdXNlZCBmb3IgdGhlIEFwcFN5bmMgQXBpLlxuICAgKiBEZWZhdWx0OiBjb25zdHJ1Y3QgaWQuXG4gICAqL1xuICByZWFkb25seSBhcGlOYW1lPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBSZXF1aXJlZCBhdXRoIG1vZGVzIGZvciB0aGUgQXBpLiBUaGlzIG9iamVjdCBtdXN0IGJlIGEgc3VwZXJzZXQgb2YgdGhlIGNvbmZpZ3VyZWQgYXV0aCBwcm92aWRlcnMgaW4gdGhlIEFwaSBkZWZpbml0aW9uLlxuICAgKiBGb3IgbW9yZSBpbmZvcm1hdGlvbiwgcmVmZXIgdG8gaHR0cHM6Ly9kb2NzLmFtcGxpZnkuYXdzL2NsaS9ncmFwaHFsL2F1dGhvcml6YXRpb24tcnVsZXMvXG4gICAqL1xuICByZWFkb25seSBhdXRob3JpemF0aW9uTW9kZXM6IEF1dGhvcml6YXRpb25Nb2RlcztcblxuICAvKipcbiAgICogTGFtYmRhIGZ1bmN0aW9ucyByZWZlcmVuY2VkIGluIHRoZSBkZWZpbml0aW9ucydzIEBmdW5jdGlvbiBkaXJlY3RpdmVzLiBUaGUga2V5cyBvZiB0aGlzIG9iamVjdCBhcmUgZXhwZWN0ZWQgdG8gYmUgdGhlXG4gICAqIGZ1bmN0aW9uIG5hbWUgcHJvdmlkZWQgaW4gdGhlIGRlZmluaXRpb24sIGFuZCB2YWx1ZSBpcyB0aGUgZnVuY3Rpb24gdGhhdCBuYW1lIHJlZmVycyB0by4gSWYgYSBuYW1lIGlzIG5vdCBmb3VuZCBpbiB0aGlzXG4gICAqIG1hcCwgdGhlbiBpdCBpcyBpbnRlcnByZXRlZCBhcyB0aGUgYGZ1bmN0aW9uTmFtZWAsIGFuZCBhbiBhcm4gd2lsbCBiZSBjb25zdHJ1Y3RlZCB1c2luZyB0aGUgY3VycmVudCBhd3MgYWNjb3VudCBhbmQgcmVnaW9uXG4gICAqIChvciBvdmVycmlkZGVuIHZhbHVlcywgaWYgc2V0IGluIHRoZSBkaXJlY3RpdmUpLlxuICAgKi9cbiAgcmVhZG9ubHkgZnVuY3Rpb25OYW1lTWFwPzogUmVjb3JkPHN0cmluZywgSUZ1bmN0aW9uPjtcblxuICAvKipcbiAgICogQ29uZmlndXJlIGNvbmZsaWN0IHJlc29sdXRpb24gb24gdGhlIEFwaSwgd2hpY2ggaXMgcmVxdWlyZWQgdG8gZW5hYmxlIERhdGFTdG9yZSBBcGkgZnVuY3Rpb25hbGl0eS5cbiAgICogRm9yIG1vcmUgaW5mb3JtYXRpb24sIHJlZmVyIHRvIGh0dHBzOi8vZG9jcy5hbXBsaWZ5LmF3cy9saWIvZGF0YXN0b3JlL2dldHRpbmctc3RhcnRlZC9xL3BsYXRmb3JtL2pzL1xuICAgKiBAZGVwcmVjYXRlZCB1c2UgZGF0YVN0b3JlQ29uZmlndXJhdGlvbiBpbnN0ZWFkLlxuICAgKi9cbiAgcmVhZG9ubHkgY29uZmxpY3RSZXNvbHV0aW9uPzogQ29uZmxpY3RSZXNvbHV0aW9uO1xuXG4gIC8qKlxuICAgKiBTdGFja01hcHBpbmdzIG92ZXJyaWRlIHRoZSBhc3NpZ25lZCBuZXN0ZWQgc3RhY2sgb24gYSBwZXItcmVzb3VyY2UgYmFzaXMuIE9ubHkgYXBwbGllcyB0byByZXNvbHZlcnMsIGFuZCB0YWtlcyB0aGUgZm9ybVxuICAgKiB7IDxsb2dpY2FsSWQ+OiA8c3RhY2tOYW1lPiB9XG4gICAqIEl0IGlzIG5vdCByZWNvbW1lbmRlZCB0byB1c2UgdGhpcyBwYXJhbWV0ZXIgdW5sZXNzIHlvdSBhcmUgZW5jb3VudGVyaW5nIHN0YWNrIHJlc291cmNlIGNvdW50IGxpbWl0cywgYW5kIHdvcnRoIG5vdGluZyB0aGF0XG4gICAqIGFmdGVyIGluaXRpYWwgZGVwbG95bWVudCBBcHBTeW5jIHJlc29sdmVycyBjYW5ub3QgYmUgbW92ZWQgYmV0d2VlbiBuZXN0ZWQgc3RhY2tzLCB0aGV5IHdpbGwgbmVlZCB0byBiZSByZW1vdmVkIGZyb20gdGhlIGFwcCxcbiAgICogdGhlbiByZS1hZGRlZCBmcm9tIGEgbmV3IHN0YWNrLlxuICAgKi9cbiAgcmVhZG9ubHkgc3RhY2tNYXBwaW5ncz86IFJlY29yZDxzdHJpbmcsIHN0cmluZz47XG5cbiAgLyoqXG4gICAqIE92ZXJyaWRlcyBmb3IgYSBnaXZlbiBzbG90IGluIHRoZSBnZW5lcmF0ZWQgcmVzb2x2ZXIgcGlwZWxpbmVzLiBGb3IgbW9yZSBpbmZvcm1hdGlvbiBhYm91dCB3aGF0IHNsb3RzIGFyZSBhdmFpbGFibGUsXG4gICAqIHJlZmVyIHRvIGh0dHBzOi8vZG9jcy5hbXBsaWZ5LmF3cy9jbGkvZ3JhcGhxbC9jdXN0b20tYnVzaW5lc3MtbG9naWMvI292ZXJyaWRlLWFtcGxpZnktZ2VuZXJhdGVkLXJlc29sdmVycy5cbiAgICovXG4gIHJlYWRvbmx5IGZ1bmN0aW9uU2xvdHM/OiBGdW5jdGlvblNsb3RbXTtcblxuICAvKipcbiAgICogUHJvdmlkZSBhIGxpc3Qgb2YgYWRkaXRpb25hbCBjdXN0b20gdHJhbnNmb3JtZXJzIHdoaWNoIGFyZSBpbmplY3RlZCBpbnRvIHRoZSB0cmFuc2Zvcm0gcHJvY2Vzcy5cbiAgICogVGhlc2UgY3VzdG9tIHRyYW5zZm9ybWVycyBtdXN0IGJlIGltcGxlbWVudGVkIHdpdGggYXdzLWNkay1saWIgPj0yLjEyOS4wLCBhbmQgQGF3cy1hbXBsaWZ5L2dyYXBocWwtdHJhbnNmb3JtZXItY29yZSA+PSAyLjEuMVxuICAgKiBAZXhwZXJpbWVudGFsXG4gICAqL1xuICByZWFkb25seSB0cmFuc2Zvcm1lclBsdWdpbnM/OiBhbnlbXTtcblxuICAvKipcbiAgICogSWYgdXNpbmcgcHJlZGljdGlvbnMsIGEgYnVja2V0IG11c3QgYmUgcHJvdmlkZWQgd2hpY2ggd2lsbCBiZSB1c2VkIHRvIHNlYXJjaCBmb3IgYXNzZXRzLlxuICAgKi9cbiAgcmVhZG9ubHkgcHJlZGljdGlvbnNCdWNrZXQ/OiBJQnVja2V0O1xuXG4gIC8qKlxuICAgKiBUaGlzIHJlcGxhY2VzIGZlYXR1cmUgZmxhZ3MgZnJvbSB0aGUgQXBpIGNvbnN0cnVjdCwgZm9yIGdlbmVyYWwgaW5mb3JtYXRpb24gb24gd2hhdCB0aGVzZSBwYXJhbWV0ZXJzIGRvLFxuICAgKiByZWZlciB0byBodHRwczovL2RvY3MuYW1wbGlmeS5hd3MvY2xpL3JlZmVyZW5jZS9mZWF0dXJlLWZsYWdzLyNncmFwaFFMVHJhbnNmb3JtZXJcbiAgICovXG4gIHJlYWRvbmx5IHRyYW5zbGF0aW9uQmVoYXZpb3I/OiBQYXJ0aWFsVHJhbnNsYXRpb25CZWhhdmlvcjtcblxuICAvKipcbiAgICogU3RyYXRlZ3kgdG8gc3RvcmUgY29uc3RydWN0IG91dHB1dHMuIElmIG5vIG91dHB1dFN0b3JhZ2VTdHJhdGVneSBpcyBwcm92aWRlZCBhIGRlZmF1bHQgc3RyYXRlZ3kgd2lsbCBiZSB1c2VkLlxuICAgKi9cbiAgcmVhZG9ubHkgb3V0cHV0U3RvcmFnZVN0cmF0ZWd5PzogSUJhY2tlbmRPdXRwdXRTdG9yYWdlU3RyYXRlZ3k7XG5cbiAgLyoqXG4gICAqIENvbmZpZ3VyZSBEYXRhU3RvcmUgY29uZmxpY3QgcmVzb2x1dGlvbiBvbiB0aGUgQXBpLiBDb25mbGljdCByZXNvbHV0aW9uIGlzIHJlcXVpcmVkIHRvIGVuYWJsZSBEYXRhU3RvcmUgQXBpIGZ1bmN0aW9uYWxpdHkuXG4gICAqIEZvciBtb3JlIGluZm9ybWF0aW9uLCByZWZlciB0byBodHRwczovL2RvY3MuYW1wbGlmeS5hd3MvbGliL2RhdGFzdG9yZS9nZXR0aW5nLXN0YXJ0ZWQvcS9wbGF0Zm9ybS9qcy9cbiAgICovXG4gIHJlYWRvbmx5IGRhdGFTdG9yZUNvbmZpZ3VyYXRpb24/OiBEYXRhU3RvcmVDb25maWd1cmF0aW9uO1xufVxuXG4vKipcbiAqIEwxIENESyByZXNvdXJjZXMgZnJvbSB0aGUgQXBpIHdoaWNoIHdlcmUgZ2VuZXJhdGVkIGFzIHBhcnQgb2YgdGhlIHRyYW5zZm9ybS5cbiAqIFRoZXNlIGFyZSBwb3RlbnRpYWxseSBzdG9yZWQgdW5kZXIgbmVzdGVkIHN0YWNrcywgYnV0IHByZXNlbnRlZCBvcmdhbml6ZWQgYnkgdHlwZSBpbnN0ZWFkLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEFtcGxpZnlHcmFwaHFsQXBpQ2ZuUmVzb3VyY2VzIHtcbiAgLyoqXG4gICAqIFRoZSBHZW5lcmF0ZWQgQXBwU3luYyBBcGkgTDEgUmVzb3VyY2VcbiAgICovXG4gIHJlYWRvbmx5IGNmbkdyYXBocWxBcGk6IENmbkdyYXBoUUxBcGk7XG5cbiAgLyoqXG4gICAqIFRoZSBHZW5lcmF0ZWQgQXBwU3luYyBTY2hlbWEgTDEgUmVzb3VyY2VcbiAgICovXG4gIHJlYWRvbmx5IGNmbkdyYXBocWxTY2hlbWE6IENmbkdyYXBoUUxTY2hlbWE7XG5cbiAgLyoqXG4gICAqIFRoZSBHZW5lcmF0ZWQgQXBwU3luYyBBcGkgS2V5IEwxIFJlc291cmNlXG4gICAqL1xuICByZWFkb25seSBjZm5BcGlLZXk/OiBDZm5BcGlLZXk7XG5cbiAgLyoqXG4gICAqIFRoZSBHZW5lcmF0ZWQgQXBwU3luYyBSZXNvbHZlciBMMSBSZXNvdXJjZXMsIGtleWVkIGJ5IGxvZ2ljYWxJZC5cbiAgICovXG4gIHJlYWRvbmx5IGNmblJlc29sdmVyczogUmVjb3JkPHN0cmluZywgQ2ZuUmVzb2x2ZXI+O1xuXG4gIC8qKlxuICAgKiBUaGUgR2VuZXJhdGVkIEFwcFN5bmMgRnVuY3Rpb24gTDEgUmVzb3VyY2VzLCBrZXllZCBieSBsb2dpY2FsSWQuXG4gICAqL1xuICByZWFkb25seSBjZm5GdW5jdGlvbkNvbmZpZ3VyYXRpb25zOiBSZWNvcmQ8c3RyaW5nLCBDZm5GdW5jdGlvbkNvbmZpZ3VyYXRpb24+O1xuXG4gIC8qKlxuICAgKiBUaGUgR2VuZXJhdGVkIEFwcFN5bmMgRGF0YVNvdXJjZSBMMSBSZXNvdXJjZXMsIGtleWVkIGJ5IGxvZ2ljYWxJZC5cbiAgICovXG4gIHJlYWRvbmx5IGNmbkRhdGFTb3VyY2VzOiBSZWNvcmQ8c3RyaW5nLCBDZm5EYXRhU291cmNlPjtcblxuICAvKipcbiAgICogVGhlIEdlbmVyYXRlZCBEeW5hbW9EQiBUYWJsZSBMMSBSZXNvdXJjZXMsIGtleWVkIGJ5IGxvZ2ljYWxJZC5cbiAgICovXG4gIHJlYWRvbmx5IGNmblRhYmxlczogUmVjb3JkPHN0cmluZywgQ2ZuVGFibGU+O1xuXG4gIC8qKlxuICAgKiBUaGUgR2VuZXJhdGVkIEFtcGxpZnkgRHluYW1vRGIgVGFibGUgTDEgcmVzb3VyY2Ugd3JhcHBlciwga2V5ZWQgYnkgbW9kZWwgdHlwZSBuYW1lLlxuICAgKi9cbiAgcmVhZG9ubHkgYW1wbGlmeUR5bmFtb0RiVGFibGVzOiBSZWNvcmQ8c3RyaW5nLCBBbXBsaWZ5RHluYW1vRGJUYWJsZVdyYXBwZXI+O1xuXG4gIC8qKlxuICAgKiBUaGUgR2VuZXJhdGVkIElBTSBSb2xlIEwxIFJlc291cmNlcywga2V5ZWQgYnkgbG9naWNhbElkLlxuICAgKi9cbiAgcmVhZG9ubHkgY2ZuUm9sZXM6IFJlY29yZDxzdHJpbmcsIENmblJvbGU+O1xuXG4gIC8qKlxuICAgKiBUaGUgR2VuZXJhdGVkIExhbWJkYSBGdW5jdGlvbiBMMSBSZXNvdXJjZXMsIGtleWVkIGJ5IGZ1bmN0aW9uIG5hbWUuXG4gICAqL1xuICByZWFkb25seSBjZm5GdW5jdGlvbnM6IFJlY29yZDxzdHJpbmcsIENmbkZ1bmN0aW9uPjtcblxuICAvKipcbiAgICogUmVtYWluaW5nIEwxIHJlc291cmNlcyBnZW5lcmF0ZWQsIGtleWVkIGJ5IGxvZ2ljYWxJZC5cbiAgICovXG4gIHJlYWRvbmx5IGFkZGl0aW9uYWxDZm5SZXNvdXJjZXM6IFJlY29yZDxzdHJpbmcsIENmblJlc291cmNlPjtcbn1cblxuLyoqXG4gKiBBY2Nlc3NpYmxlIHJlc291cmNlcyBmcm9tIHRoZSBBcGkgd2hpY2ggd2VyZSBnZW5lcmF0ZWQgYXMgcGFydCBvZiB0aGUgdHJhbnNmb3JtLlxuICogVGhlc2UgYXJlIHBvdGVudGlhbGx5IHN0b3JlZCB1bmRlciBuZXN0ZWQgc3RhY2tzLCBidXQgcHJlc2VudGVkIG9yZ2FuaXplZCBieSB0eXBlIGluc3RlYWQuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQW1wbGlmeUdyYXBocWxBcGlSZXNvdXJjZXMge1xuICAvKipcbiAgICogVGhlIEdlbmVyYXRlZCBBcHBTeW5jIEFwaSBMMiBSZXNvdXJjZSwgaW5jbHVkZXMgdGhlIFNjaGVtYS5cbiAgICovXG4gIHJlYWRvbmx5IGdyYXBocWxBcGk6IElHcmFwaHFsQXBpO1xuXG4gIC8qKlxuICAgKiBUaGUgR2VuZXJhdGVkIER5bmFtb0RCIFRhYmxlIEwyIFJlc291cmNlcywga2V5ZWQgYnkgbG9naWNhbElkLlxuICAgKi9cbiAgcmVhZG9ubHkgdGFibGVzOiBSZWNvcmQ8c3RyaW5nLCBJVGFibGU+O1xuXG4gIC8qKlxuICAgKiBUaGUgR2VuZXJhdGVkIElBTSBSb2xlIEwyIFJlc291cmNlcywga2V5ZWQgYnkgbG9naWNhbElkLlxuICAgKi9cbiAgcmVhZG9ubHkgcm9sZXM6IFJlY29yZDxzdHJpbmcsIElSb2xlPjtcblxuICAvKipcbiAgICogVGhlIEdlbmVyYXRlZCBMYW1iZGEgRnVuY3Rpb24gTDEgUmVzb3VyY2VzLCBrZXllZCBieSBmdW5jdGlvbiBuYW1lLlxuICAgKi9cbiAgcmVhZG9ubHkgZnVuY3Rpb25zOiBSZWNvcmQ8c3RyaW5nLCBJRnVuY3Rpb24+O1xuXG4gIC8qKlxuICAgKiBMMSBDZm4gUmVzb3VyY2VzLCBmb3Igd2hlbiBkaXBwaW5nIGRvd24gYSBsZXZlbCBvZiBhYnN0cmFjdGlvbiBpcyBkZXNpcmFibGUuXG4gICAqL1xuICByZWFkb25seSBjZm5SZXNvdXJjZXM6IEFtcGxpZnlHcmFwaHFsQXBpQ2ZuUmVzb3VyY2VzO1xuXG4gIC8qKlxuICAgKiBOZXN0ZWQgU3RhY2tzIGdlbmVyYXRlZCBieSB0aGUgQXBpIENvbnN0cnVjdC5cbiAgICovXG4gIHJlYWRvbmx5IG5lc3RlZFN0YWNrczogUmVjb3JkPHN0cmluZywgTmVzdGVkU3RhY2s+O1xufVxuXG4vKipcbiAqIElucHV0IHR5cGUgcHJvcGVydGllcyB3aGVuIGFkZGluZyBhIG5ldyBhcHBzeW5jLkFwcHN5bmNGdW5jdGlvbiB0byB0aGUgZ2VuZXJhdGVkIEFQSS5cbiAqIFRoaXMgaXMgZXF1aXZhbGVudCB0byB0aGUgT21pdDxhcHBzeW5jLkFwcHN5bmNGdW5jdGlvblByb3BzLCAnYXBpJz4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQWRkRnVuY3Rpb25Qcm9wcyB7XG4gIC8qKlxuICAgKiB0aGUgZGF0YSBzb3VyY2UgbGlua2VkIHRvIHRoaXMgQXBwU3luYyBGdW5jdGlvblxuICAgKi9cbiAgcmVhZG9ubHkgZGF0YVNvdXJjZTogQmFzZURhdGFTb3VyY2U7XG5cbiAgLyoqXG4gICAqIHRoZSBuYW1lIG9mIHRoZSBBcHBTeW5jIEZ1bmN0aW9uXG4gICAqL1xuICByZWFkb25seSBuYW1lOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIHRoZSBkZXNjcmlwdGlvbiBmb3IgdGhpcyBBcHBTeW5jIEZ1bmN0aW9uXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gbm8gZGVzY3JpcHRpb25cbiAgICovXG4gIHJlYWRvbmx5IGRlc2NyaXB0aW9uPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiB0aGUgcmVxdWVzdCBtYXBwaW5nIHRlbXBsYXRlIGZvciB0aGUgQXBwU3luYyBGdW5jdGlvblxuICAgKlxuICAgKiBAZGVmYXVsdCAtIG5vIHJlcXVlc3QgbWFwcGluZyB0ZW1wbGF0ZVxuICAgKi9cbiAgcmVhZG9ubHkgcmVxdWVzdE1hcHBpbmdUZW1wbGF0ZT86IE1hcHBpbmdUZW1wbGF0ZTtcblxuICAvKipcbiAgICogdGhlIHJlc3BvbnNlIG1hcHBpbmcgdGVtcGxhdGUgZm9yIHRoZSBBcHBTeW5jIEZ1bmN0aW9uXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gbm8gcmVzcG9uc2UgbWFwcGluZyB0ZW1wbGF0ZVxuICAgKi9cbiAgcmVhZG9ubHkgcmVzcG9uc2VNYXBwaW5nVGVtcGxhdGU/OiBNYXBwaW5nVGVtcGxhdGU7XG5cbiAgLyoqXG4gICAqIFRoZSBmdW5jdGlvbnMgcnVudGltZVxuICAgKlxuICAgKiBAZGVmYXVsdCAtIG5vIGZ1bmN0aW9uIHJ1bnRpbWUsIFZUTCBtYXBwaW5nIHRlbXBsYXRlcyB1c2VkXG4gICAqL1xuICByZWFkb25seSBydW50aW1lPzogRnVuY3Rpb25SdW50aW1lO1xuXG4gIC8qKlxuICAgKiBUaGUgZnVuY3Rpb24gY29kZVxuICAgKlxuICAgKiBAZGVmYXVsdCAtIG5vIGNvZGUgaXMgdXNlZFxuICAgKi9cbiAgcmVhZG9ubHkgY29kZT86IENvZGU7XG59XG4iXX0=
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IER1cmF0aW9uLCBDZm5SZXNvdXJjZSwgTmVzdGVkU3RhY2sgfSBmcm9tICdhd3MtY2RrLWxpYic7XG5pbXBvcnQge1xuICBDZm5HcmFwaFFMQXBpLFxuICBDZm5HcmFwaFFMU2NoZW1hLFxuICBDZm5BcGlLZXksXG4gIENmblJlc29sdmVyLFxuICBDZm5GdW5jdGlvbkNvbmZpZ3VyYXRpb24sXG4gIENmbkRhdGFTb3VyY2UsXG4gIElHcmFwaHFsQXBpLFxuICBNYXBwaW5nVGVtcGxhdGUsXG4gIEJhc2VEYXRhU291cmNlLFxuICBDb2RlLFxuICBGdW5jdGlvblJ1bnRpbWUsXG59IGZyb20gJ2F3cy1jZGstbGliL2F3cy1hcHBzeW5jJztcbmltcG9ydCB7IENmblRhYmxlLCBJVGFibGUgfSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtZHluYW1vZGInO1xuaW1wb3J0IHsgSVJvbGUsIENmblJvbGUgfSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtaWFtJztcbmltcG9ydCB7IElVc2VyUG9vbCB9IGZyb20gJ2F3cy1jZGstbGliL2F3cy1jb2duaXRvJztcbmltcG9ydCB7IElGdW5jdGlvbiwgQ2ZuRnVuY3Rpb24gfSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtbGFtYmRhJztcbmltcG9ydCB7IElCdWNrZXQgfSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtczMnO1xuaW1wb3J0IHsgQW1wbGlmeUR5bmFtb0RiVGFibGVXcmFwcGVyIH0gZnJvbSAnLi9hbXBsaWZ5LWR5bmFtb2RiLXRhYmxlLXdyYXBwZXInO1xuaW1wb3J0IHsgQ3VzdG9tU3FsRGF0YVNvdXJjZVN0cmF0ZWd5LCBNb2RlbERhdGFTb3VyY2VTdHJhdGVneSB9IGZyb20gJy4vbW9kZWwtZGF0YXNvdXJjZS1zdHJhdGVneS10eXBlcyc7XG5cbi8qKlxuICogQ29uZmlndXJhdGlvbiBmb3IgSUFNIEF1dGhvcml6YXRpb24gb24gdGhlIEdyYXBocWwgQXBpLlxuICogQHN0cnVjdCAtIHJlcXVpcmVkIHNpbmNlIHRoaXMgaW50ZXJmYWNlIGJlZ2lucyB3aXRoIGFuICdJJ1xuICovXG5leHBvcnQgaW50ZXJmYWNlIElBTUF1dGhvcml6YXRpb25Db25maWcge1xuICAvKipcbiAgICogSUQgZm9yIHRoZSBDb2duaXRvIElkZW50aXR5IFBvb2wgdmVuZGluZyBhdXRoIGFuZCB1bmF1dGggcm9sZXMuXG4gICAqIEZvcm1hdDogYDxyZWdpb24+OjxpZCBzdHJpbmc+YFxuICAgKlxuICAgKiBAZGVwcmVjYXRlZCBVc2UgJ0lkZW50aXR5UG9vbEF1dGhvcml6YXRpb25Db25maWcuaWRlbnRpdHlQb29sSWQnIGluc3RlYWQuXG4gICAqIFNlZSBodHRwczovL2RvY3MuYW1wbGlmeS5hd3MvY2xpL3JlYWN0L3Rvb2xzL2NsaS9taWdyYXRpb24vaWFtLWF1dGgtdXBkYXRlcy1mb3ItY2RrLWNvbnN0cnVjdCBmb3IgZGV0YWlscy5cbiAgICovXG4gIHJlYWRvbmx5IGlkZW50aXR5UG9vbElkPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBBdXRoZW50aWNhdGVkIHVzZXIgcm9sZSwgYXBwbGllcyB0byB7IHByb3ZpZGVyOiBpYW0sIGFsbG93OiBwcml2YXRlIH0gYWNjZXNzLlxuICAgKlxuICAgKiBAZGVwcmVjYXRlZCBVc2UgJ0lkZW50aXR5UG9vbEF1dGhvcml6YXRpb25Db25maWcuYXV0aGVudGljYXRlZFVzZXJSb2xlJyBpbnN0ZWFkLlxuICAgKiBTZWUgaHR0cHM6Ly9kb2NzLmFtcGxpZnkuYXdzL2NsaS9yZWFjdC90b29scy9jbGkvbWlncmF0aW9uL2lhbS1hdXRoLXVwZGF0ZXMtZm9yLWNkay1jb25zdHJ1Y3QgZm9yIGRldGFpbHMuXG4gICAqL1xuICByZWFkb25seSBhdXRoZW50aWNhdGVkVXNlclJvbGU/OiBJUm9sZTtcblxuICAvKipcbiAgICogVW5hdXRoZW50aWNhdGVkIHVzZXIgcm9sZSwgYXBwbGllcyB0byB7IHByb3ZpZGVyOiBpYW0sIGFsbG93OiBwdWJsaWMgfSBhY2Nlc3MuXG4gICAqXG4gICAqIEBkZXByZWNhdGVkIFVzZSAnSWRlbnRpdHlQb29sQXV0aG9yaXphdGlvbkNvbmZpZy51bmF1dGhlbnRpY2F0ZWRVc2VyUm9sZScgaW5zdGVhZC5cbiAgICogU2VlIGh0dHBzOi8vZG9jcy5hbXBsaWZ5LmF3cy9jbGkvcmVhY3QvdG9vbHMvY2xpL21pZ3JhdGlvbi9pYW0tYXV0aC11cGRhdGVzLWZvci1jZGstY29uc3RydWN0IGZvciBkZXRhaWxzLlxuICAgKi9cbiAgcmVhZG9ubHkgdW5hdXRoZW50aWNhdGVkVXNlclJvbGU/OiBJUm9sZTtcblxuICAvKipcbiAgICogQSBsaXN0IG9mIElBTSByb2xlcyB3aGljaCB3aWxsIGJlIGdyYW50ZWQgZnVsbCByZWFkL3dyaXRlIGFjY2VzcyB0byB0aGUgZ2VuZXJhdGVkIG1vZGVsIGlmIElBTSBhdXRoIGlzIGVuYWJsZWQuXG4gICAqIElmIGFuIElSb2xlIGlzIHByb3ZpZGVkLCB0aGUgcm9sZSBgbmFtZWAgd2lsbCBiZSB1c2VkIGZvciBtYXRjaGluZy5cbiAgICogSWYgYSBzdHJpbmcgaXMgcHJvdmlkZWQsIHRoZSByYXcgdmFsdWUgd2lsbCBiZSB1c2VkIGZvciBtYXRjaGluZy5cbiAgICpcbiAgICogQGRlcHJlY2F0ZWQgVXNlICdlbmFibGVJYW1BdXRob3JpemF0aW9uTW9kZScgYW5kIElBTSBQb2xpY3kgdG8gY29udHJvbCBhY2Nlc3MgZm9yIElBTSBwcmluY2lwYWxzLlxuICAgKiBTZWUgaHR0cHM6Ly9kb2NzLmFtcGxpZnkuYXdzL2NsaS9yZWFjdC90b29scy9jbGkvbWlncmF0aW9uL2lhbS1hdXRoLXVwZGF0ZXMtZm9yLWNkay1jb25zdHJ1Y3QgZm9yIGRldGFpbHMuXG4gICAqL1xuICByZWFkb25seSBhbGxvd0xpc3RlZFJvbGVzPzogKElSb2xlIHwgc3RyaW5nKVtdO1xuXG4gIC8qKlxuICAgKiBFbmFibGVzIGFjY2VzcyBmb3IgSUFNIHByaW5jaXBhbHMuIElmIGVuYWJsZWQgQGF1dGggZGlyZWN0aXZlIHJ1bGVzIGFyZSBub3QgYXBwbGllZC5cbiAgICogSW5zdGVhZCwgYWNjZXNzIHNob3VsZCBiZSBkZWZpbmVkIGJ5IElBTSBQb2xpY3ksIHNlZSBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vc2VydmljZS1hdXRob3JpemF0aW9uL2xhdGVzdC9yZWZlcmVuY2UvbGlzdF9hd3NhcHBzeW5jLmh0bWwuXG4gICAqXG4gICAqIERvZXMgbm90IGFwcGx5IHRvIGF1dGhlbnRpY2F0ZWQgYW5kIHVuYXV0aGVudGljYXRlZCBJQU0gUm9sZXMgYXR0YWNoZWQgdG8gQ29nbml0byBJZGVudGl0eSBQb29sLlxuICAgKiBVc2UgSWRlbnRpdHlQb29sQXV0aG9yaXphdGlvbkNvbmZpZyB0byBjb25maWd1cmUgdGhlaXIgYWNjZXNzLlxuICAgKi9cbiAgcmVhZG9ubHkgZW5hYmxlSWFtQXV0aG9yaXphdGlvbk1vZGU/OiBib29sZWFuO1xufVxuXG4vKipcbiAqIENvbmZpZ3VyYXRpb24gZm9yIENvZ25pdG8gSWRlbnRpdHkgUG9vbCBBdXRob3JpemF0aW9uIG9uIHRoZSBHcmFwaHFsIEFwaS5cbiAqIEBzdHJ1Y3QgLSByZXF1aXJlZCBzaW5jZSB0aGlzIGludGVyZmFjZSBiZWdpbnMgd2l0aCBhbiAnSSdcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJZGVudGl0eVBvb2xBdXRob3JpemF0aW9uQ29uZmlnIHtcbiAgLyoqXG4gICAqIElEIGZvciB0aGUgQ29nbml0byBJZGVudGl0eSBQb29sIHZlbmRpbmcgYXV0aCBhbmQgdW5hdXRoIHJvbGVzLlxuICAgKiBGb3JtYXQ6IGA8cmVnaW9uPjo8aWQgc3RyaW5nPmBcbiAgICovXG4gIHJlYWRvbmx5IGlkZW50aXR5UG9vbElkOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEF1dGhlbnRpY2F0ZWQgdXNlciByb2xlLCBhcHBsaWVzIHRvIHsgcHJvdmlkZXI6IGlhbSwgYWxsb3c6IHByaXZhdGUgfSBhY2Nlc3MuXG4gICAqL1xuICByZWFkb25seSBhdXRoZW50aWNhdGVkVXNlclJvbGU6IElSb2xlO1xuXG4gIC8qKlxuICAgKiBVbmF1dGhlbnRpY2F0ZWQgdXNlciByb2xlLCBhcHBsaWVzIHRvIHsgcHJvdmlkZXI6IGlhbSwgYWxsb3c6IHB1YmxpYyB9IGFjY2Vzcy5cbiAgICovXG4gIHJlYWRvbmx5IHVuYXV0aGVudGljYXRlZFVzZXJSb2xlOiBJUm9sZTtcbn1cblxuLyoqXG4gKiBDb25maWd1cmF0aW9uIGZvciBDb2duaXRvIFVzZXJQb29sIEF1dGhvcml6YXRpb24gb24gdGhlIEdyYXBocWwgQXBpLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFVzZXJQb29sQXV0aG9yaXphdGlvbkNvbmZpZyB7XG4gIC8qKlxuICAgKiBUaGUgQ29nbml0byBVc2VyIFBvb2wgd2hpY2ggaXMgdXNlZCB0byBhdXRoZW50aWNhdGVkIEpXVCB0b2tlbnMsIGFuZCB2ZW5kcyBncm91cCBhbmQgdXNlciBpbmZvcm1hdGlvbi5cbiAgICovXG4gIHJlYWRvbmx5IHVzZXJQb29sOiBJVXNlclBvb2w7XG59XG5cbi8qKlxuICogQ29uZmlndXJhdGlvbiBmb3IgT3BlbklkIENvbm5lY3QgQXV0aG9yaXphdGlvbiBvbiB0aGUgR3JhcGhxbCBBcGkuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgT0lEQ0F1dGhvcml6YXRpb25Db25maWcge1xuICAvKipcbiAgICogVGhlIGlzc3VlciBmb3IgdGhlIE9JREMgY29uZmlndXJhdGlvbi5cbiAgICovXG4gIHJlYWRvbmx5IG9pZGNQcm92aWRlck5hbWU6IHN0cmluZztcblxuICAvKipcbiAgICogVXJsIGZvciB0aGUgT0lEQyB0b2tlbiBpc3N1ZXIuXG4gICAqL1xuICByZWFkb25seSBvaWRjSXNzdWVyVXJsOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBjbGllbnQgaWRlbnRpZmllciBvZiB0aGUgUmVseWluZyBwYXJ0eSBhdCB0aGUgT3BlbklEIGlkZW50aXR5IHByb3ZpZGVyLlxuICAgKiBBIHJlZ3VsYXIgZXhwcmVzc2lvbiBjYW4gYmUgc3BlY2lmaWVkIHNvIEFwcFN5bmMgY2FuIHZhbGlkYXRlIGFnYWluc3QgbXVsdGlwbGUgY2xpZW50IGlkZW50aWZpZXJzIGF0IGEgdGltZS4gRXhhbXBsZVxuICAgKi9cbiAgcmVhZG9ubHkgY2xpZW50SWQ/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBkdXJhdGlvbiBhbiBPSURDIHRva2VuIGlzIHZhbGlkIGFmdGVyIGJlaW5nIGF1dGhlbnRpY2F0ZWQgYnkgT0lEQyBwcm92aWRlci5cbiAgICogYXV0aF90aW1lIGNsYWltIGluIE9JREMgdG9rZW4gaXMgcmVxdWlyZWQgZm9yIHRoaXMgdmFsaWRhdGlvbiB0byB3b3JrLlxuICAgKi9cbiAgcmVhZG9ubHkgdG9rZW5FeHBpcnlGcm9tQXV0aDogRHVyYXRpb247XG5cbiAgLyoqXG4gICAqIFRoZSBkdXJhdGlvbiBhbiBPSURDIHRva2VuIGlzIHZhbGlkIGFmdGVyIGJlaW5nIGlzc3VlZCB0byBhIHVzZXIuXG4gICAqIFRoaXMgdmFsaWRhdGlvbiB1c2VzIGlhdCBjbGFpbSBvZiBPSURDIHRva2VuLlxuICAgKi9cbiAgcmVhZG9ubHkgdG9rZW5FeHBpcnlGcm9tSXNzdWU6IER1cmF0aW9uO1xufVxuXG4vKipcbiAqIENvbmZpZ3VyYXRpb24gZm9yIEFwaSBLZXlzIG9uIHRoZSBHcmFwaHFsIEFwaS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBBcGlLZXlBdXRob3JpemF0aW9uQ29uZmlnIHtcbiAgLyoqXG4gICAqIE9wdGlvbmFsIGRlc2NyaXB0aW9uIGZvciB0aGUgQXBpIEtleSB0byBhdHRhY2ggdG8gdGhlIEFwaS5cbiAgICovXG4gIHJlYWRvbmx5IGRlc2NyaXB0aW9uPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBBIGR1cmF0aW9uIHJlcHJlc2VudGluZyB0aGUgdGltZSBmcm9tIENsb3VkZm9ybWF0aW9uIGRlcGxveSB1bnRpbCBleHBpcnkuXG4gICAqL1xuICByZWFkb25seSBleHBpcmVzOiBEdXJhdGlvbjtcbn1cblxuLyoqXG4gKiBDb25maWd1cmF0aW9uIGZvciBDdXN0b20gTGFtYmRhIGF1dGhvcml6YXRpb24gb24gdGhlIEdyYXBocWwgQXBpLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIExhbWJkYUF1dGhvcml6YXRpb25Db25maWcge1xuICAvKipcbiAgICogVGhlIGF1dGhvcml6ZXIgbGFtYmRhIGZ1bmN0aW9uLlxuICAgKi9cbiAgcmVhZG9ubHkgZnVuY3Rpb246IElGdW5jdGlvbjtcblxuICAvKipcbiAgICogSG93IGxvbmcgdGhlIHJlc3VsdHMgYXJlIGNhY2hlZC5cbiAgICovXG4gIHJlYWRvbmx5IHR0bDogRHVyYXRpb247XG59XG5cbi8qKlxuICogQXV0aG9yaXphdGlvbiBNb2RlcyB0byBhcHBseSB0byB0aGUgQXBpLlxuICogQXQgbGVhc3Qgb25lIG1vZGVzIG11c3QgYmUgcHJvdmlkZWQsIGFuZCBpZiBtb3JlIHRoYW4gb25lIGFyZSBwcm92aWRlZCBhIGRlZmF1bHRBdXRob3JpemF0aW9uTW9kZSBtdXN0IGJlIHNwZWNpZmllZC5cbiAqIEZvciBtb3JlIGluZm9ybWF0aW9uIG9uIEFtcGxpZnkgQXBpIGF1dGgsIHJlZmVyIHRvIGh0dHBzOi8vZG9jcy5hbXBsaWZ5LmF3cy9jbGkvZ3JhcGhxbC9hdXRob3JpemF0aW9uLXJ1bGVzLyNhdXRob3JpemF0aW9uLXN0cmF0ZWdpZXNcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBBdXRob3JpemF0aW9uTW9kZXMge1xuICAvKipcbiAgICogRGVmYXVsdCBhdXRoIG1vZGUgdG8gcHJvdmlkZSB0byB0aGUgQXBpLCByZXF1aXJlZCBpZiBtb3JlIHRoYW4gb25lIGNvbmZpZyB0eXBlIGlzIHNwZWNpZmllZC5cbiAgICovXG4gIHJlYWRvbmx5IGRlZmF1bHRBdXRob3JpemF0aW9uTW9kZT86ICdBV1NfSUFNJyB8ICdBTUFaT05fQ09HTklUT19VU0VSX1BPT0xTJyB8ICdPUEVOSURfQ09OTkVDVCcgfCAnQVBJX0tFWScgfCAnQVdTX0xBTUJEQSc7XG5cbiAgLyoqXG4gICAqIElBTSBBdXRoIGNvbmZpZywgcmVxdWlyZWQgdG8gYWxsb3cgSUFNLWJhc2VkIGFjY2VzcyB0byB0aGlzIEFQSS5cbiAgICogVGhpcyBhcHBsaWVzIHRvIGFueSBJQU0gcHJpbmNpcGFsIGV4Y2VwdCBBbWF6b24gQ29nbml0byBpZGVudGl0eSBwb29sJ3MgYXV0aGVudGljYXRlZCBhbmQgdW5hdXRoZW50aWNhdGVkIHJvbGVzLlxuICAgKiBUaGlzIGJlaGF2aW9yIHdhcyBoYXMgcmVjZW50bHkgYmVlbiBpbXByb3ZlZC5cbiAgICogU2VlIGh0dHBzOi8vZG9jcy5hbXBsaWZ5LmF3cy9jbGkvcmVhY3QvdG9vbHMvY2xpL21pZ3JhdGlvbi9pYW0tYXV0aC11cGRhdGVzLWZvci1jZGstY29uc3RydWN0IGZvciBkZXRhaWxzLlxuICAgKi9cbiAgcmVhZG9ubHkgaWFtQ29uZmlnPzogSUFNQXV0aG9yaXphdGlvbkNvbmZpZztcblxuICAvKipcbiAgICogQ29nbml0byBJZGVudGl0eSBQb29sIGNvbmZpZywgcmVxdWlyZWQgaWYgYW4gJ2lkZW50aXR5UG9vbCcgYXV0aCBwcm92aWRlciBpcyBzcGVjaWZpZWQgaW4gdGhlIEFwaS5cbiAgICogQXBwbGllcyB0byAncHVibGljJyBhbmQgJ3ByaXZhdGUnIGF1dGggc3RyYXRlZ2llcy5cbiAgICovXG4gIHJlYWRvbmx5IGlkZW50aXR5UG9vbENvbmZpZz86IElkZW50aXR5UG9vbEF1dGhvcml6YXRpb25Db25maWc7XG5cbiAgLyoqXG4gICAqIENvZ25pdG8gVXNlclBvb2wgY29uZmlnLCByZXF1aXJlZCBpZiBhICd1c2VyUG9vbHMnIGF1dGggcHJvdmlkZXIgaXMgc3BlY2lmaWVkIGluIHRoZSBBcGkuXG4gICAqIEFwcGxpZXMgdG8gJ293bmVyJywgJ3ByaXZhdGUnLCBhbmQgJ2dyb3VwJyBhdXRoIHN0cmF0ZWdpZXMuXG4gICAqL1xuICByZWFkb25seSB1c2VyUG9vbENvbmZpZz86IFVzZXJQb29sQXV0aG9yaXphdGlvbkNvbmZpZztcblxuICAvKipcbiAgICogQ29nbml0byBPSURDIGNvbmZpZywgcmVxdWlyZWQgaWYgYSAnb2lkYycgYXV0aCBwcm92aWRlciBpcyBzcGVjaWZpZWQgaW4gdGhlIEFwaS5cbiAgICogQXBwbGllcyB0byAnb3duZXInLCAncHJpdmF0ZScsIGFuZCAnZ3JvdXAnIGF1dGggc3RyYXRlZ2llcy5cbiAgICovXG4gIHJlYWRvbmx5IG9pZGNDb25maWc/OiBPSURDQXV0aG9yaXphdGlvbkNvbmZpZztcblxuICAvKipcbiAgICogQXBwU3luYyBBcGkgS2V5IGNvbmZpZywgcmVxdWlyZWQgaWYgYSAnYXBpS2V5JyBhdXRoIHByb3ZpZGVyIGlzIHNwZWNpZmllZCBpbiB0aGUgQXBpLlxuICAgKiBBcHBsaWVzIHRvICdwdWJsaWMnIGF1dGggc3RyYXRlZ3kuXG4gICAqL1xuICByZWFkb25seSBhcGlLZXlDb25maWc/OiBBcGlLZXlBdXRob3JpemF0aW9uQ29uZmlnO1xuXG4gIC8qKlxuICAgKiBMYW1iZGEgY29uZmlnLCByZXF1aXJlZCBpZiBhICdmdW5jdGlvbicgYXV0aCBwcm92aWRlciBpcyBzcGVjaWZpZWQgaW4gdGhlIEFwaS5cbiAgICogQXBwbGllcyB0byAnY3VzdG9tJyBhdXRoIHN0cmF0ZWd5LlxuICAgKi9cbiAgcmVhZG9ubHkgbGFtYmRhQ29uZmlnPzogTGFtYmRhQXV0aG9yaXphdGlvbkNvbmZpZztcblxuICAvKipcbiAgICogQSBsaXN0IG9mIHJvbGVzIGdyYW50ZWQgZnVsbCBSL1cgYWNjZXNzIHRvIHRoZSBBcGkuXG4gICAqIEBkZXByZWNhdGVkLCB1c2UgaWFtQ29uZmlnLmFsbG93TGlzdGVkUm9sZXMgaW5zdGVhZC5cbiAgICovXG4gIHJlYWRvbmx5IGFkbWluUm9sZXM/OiBJUm9sZVtdO1xufVxuXG4vKipcbiAqIFdoZXRoZXIgb3Igbm90IHRvIHVzZSBhIHZlcnNpb24gZmllbGQgdG8gdHJhY2sgY29uZmxpY3QgZGV0ZWN0aW9uLlxuICovXG5leHBvcnQgdHlwZSBDb25mbGljdERldGVjdGlvblR5cGUgPSAnVkVSU0lPTicgfCAnTk9ORSc7XG5cbi8qKlxuICogQ29tbW9uIHBhcmFtZXRlcnMgZm9yIGNvbmZsaWN0IHJlc29sdXRpb24uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ29uZmxpY3RSZXNvbHV0aW9uU3RyYXRlZ3lCYXNlIHtcbiAgLyoqXG4gICAqIFRoZSBjb25mbGljdCBkZXRlY3Rpb24gdHlwZSB1c2VkIGZvciByZXNvbHV0aW9uLlxuICAgKi9cbiAgcmVhZG9ubHkgZGV0ZWN0aW9uVHlwZTogQ29uZmxpY3REZXRlY3Rpb25UeXBlO1xufVxuXG4vKipcbiAqIEVuYWJsZSBvcHRpbWlzdGljIGNvbmN1cnJlbmN5IG9uIHRoZSBwcm9qZWN0LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEF1dG9tZXJnZUNvbmZsaWN0UmVzb2x1dGlvblN0cmF0ZWd5IGV4dGVuZHMgQ29uZmxpY3RSZXNvbHV0aW9uU3RyYXRlZ3lCYXNlIHtcbiAgLyoqXG4gICAqIFRoaXMgY29uZmxpY3QgcmVzb2x1dGlvbiBzdHJhdGVneSBleGVjdXRlcyBhbiBhdXRvLW1lcmdlLlxuICAgKiBGb3IgbW9yZSBpbmZvcm1hdGlvbiwgcmVmZXIgdG8gaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL2FwcHN5bmMvbGF0ZXN0L2Rldmd1aWRlL2NvbmZsaWN0LWRldGVjdGlvbi1hbmQtc3luYy5odG1sI2NvbmZsaWN0LWRldGVjdGlvbi1hbmQtcmVzb2x1dGlvblxuICAgKi9cbiAgcmVhZG9ubHkgaGFuZGxlclR5cGU6ICdBVVRPTUVSR0UnO1xufVxuXG4vKipcbiAqIEVuYWJsZSBhdXRvbWVyZ2Ugb24gdGhlIHByb2plY3QuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgT3B0aW1pc3RpY0NvbmZsaWN0UmVzb2x1dGlvblN0cmF0ZWd5IGV4dGVuZHMgQ29uZmxpY3RSZXNvbHV0aW9uU3RyYXRlZ3lCYXNlIHtcbiAgLyoqXG4gICAqIFRoaXMgY29uZmxpY3QgcmVzb2x1dGlvbiBzdHJhdGVneSB0aGUgX3ZlcnNpb24gdG8gcGVyZm9ybSBvcHRpbWlzdGljIGNvbmN1cnJlbmN5LlxuICAgKiBGb3IgbW9yZSBpbmZvcm1hdGlvbiwgcmVmZXIgdG8gaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL2FwcHN5bmMvbGF0ZXN0L2Rldmd1aWRlL2NvbmZsaWN0LWRldGVjdGlvbi1hbmQtc3luYy5odG1sI2NvbmZsaWN0LWRldGVjdGlvbi1hbmQtcmVzb2x1dGlvblxuICAgKi9cbiAgcmVhZG9ubHkgaGFuZGxlclR5cGU6ICdPUFRJTUlTVElDX0NPTkNVUlJFTkNZJztcbn1cblxuLyoqXG4gKiBFbmFibGUgY3VzdG9tIHN5bmMgb24gdGhlIHByb2plY3QsIHBvd2VyZWQgYnkgYSBsYW1iZGEuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ3VzdG9tQ29uZmxpY3RSZXNvbHV0aW9uU3RyYXRlZ3kgZXh0ZW5kcyBDb25mbGljdFJlc29sdXRpb25TdHJhdGVneUJhc2Uge1xuICAvKipcbiAgICogVGhpcyBjb25mbGljdCByZXNvbHV0aW9uIHN0cmF0ZWd5IHVzZXMgYSBsYW1iZGEgaGFuZGxlciB0eXBlLlxuICAgKiBGb3IgbW9yZSBpbmZvcm1hdGlvbiwgcmVmZXIgdG8gaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL2FwcHN5bmMvbGF0ZXN0L2Rldmd1aWRlL2NvbmZsaWN0LWRldGVjdGlvbi1hbmQtc3luYy5odG1sI2NvbmZsaWN0LWRldGVjdGlvbi1hbmQtcmVzb2x1dGlvblxuXG4gICAqL1xuICByZWFkb25seSBoYW5kbGVyVHlwZTogJ0xBTUJEQSc7XG5cbiAgLyoqXG4gICAqIFRoZSBmdW5jdGlvbiB3aGljaCB3aWxsIGJlIGludm9rZWQgZm9yIGNvbmZsaWN0IHJlc29sdXRpb24uXG4gICAqL1xuICByZWFkb25seSBjb25mbGljdEhhbmRsZXI6IElGdW5jdGlvbjtcbn1cblxuLyoqXG4gKiBDb25mbGljdCBSZXNvbHV0aW9uIFN0cmF0ZWd5IHRvIGFwcGx5IHRvIHRoZSBwcm9qZWN0IG9yIGEgcGFydGljdWxhciBtb2RlbC5cbiAqL1xuZXhwb3J0IHR5cGUgQ29uZmxpY3RSZXNvbHV0aW9uU3RyYXRlZ3kgPVxuICB8IEF1dG9tZXJnZUNvbmZsaWN0UmVzb2x1dGlvblN0cmF0ZWd5XG4gIHwgT3B0aW1pc3RpY0NvbmZsaWN0UmVzb2x1dGlvblN0cmF0ZWd5XG4gIHwgQ3VzdG9tQ29uZmxpY3RSZXNvbHV0aW9uU3RyYXRlZ3k7XG5cbi8qKlxuICogUHJvamVjdCBsZXZlbCBjb25maWd1cmF0aW9uIGZvciBjb25mbGljdCByZXNvbHV0aW9uLlxuICogQGRlcHJlY2F0ZWQgdXNlIERhdGFTdG9yZUNvbmZpZ3VyYXRpb24gaW5zdGVhZC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBDb25mbGljdFJlc29sdXRpb24gZXh0ZW5kcyBEYXRhU3RvcmVDb25maWd1cmF0aW9uIHt9XG5cbi8qKlxuICogUHJvamVjdCBsZXZlbCBjb25maWd1cmF0aW9uIGZvciBEYXRhU3RvcmVcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBEYXRhU3RvcmVDb25maWd1cmF0aW9uIHtcbiAgLyoqXG4gICAqIFByb2plY3Qtd2lkZSBjb25maWcgZm9yIGNvbmZsaWN0IHJlc29sdXRpb24uIEFwcGxpZXMgdG8gYWxsIG5vbi1vdmVycmlkZGVuIG1vZGVscy5cbiAgICovXG4gIHJlYWRvbmx5IHByb2plY3Q/OiBDb25mbGljdFJlc29sdXRpb25TdHJhdGVneTtcblxuICAvKipcbiAgICogTW9kZWwtc3BlY2lmaWMgY29uZmxpY3QgcmVzb2x1dGlvbiBvdmVycmlkZXMuXG4gICAqL1xuICByZWFkb25seSBtb2RlbHM/OiBSZWNvcmQ8c3RyaW5nLCBDb25mbGljdFJlc29sdXRpb25TdHJhdGVneT47XG59XG5cbi8qKlxuICogUGFyYW1zIGV4cG9zZWQgdG8gc3VwcG9ydCBjb25maWd1cmluZyBhbmQgb3ZlcnJpZGluZyBwaXBlbGluZWQgc2xvdHMuIFRoaXMgYWxsb3dzIGNvbmZpZ3VyYXRpb24gb2YgdGhlIHVuZGVybHlpbmcgZnVuY3Rpb24sXG4gKiBpbmNsdWRpbmcgdGhlIHJlcXVlc3QgYW5kIHJlc3BvbnNlIG1hcHBpbmcgdGVtcGxhdGVzLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEZ1bmN0aW9uU2xvdE92ZXJyaWRlIHtcbiAgLyoqXG4gICAqIE92ZXJyaWRlIHJlcXVlc3QgbWFwcGluZyB0ZW1wbGF0ZSBmb3IgdGhlIGZ1bmN0aW9uIHNsb3QuIEV4ZWN1dGVkIGJlZm9yZSB0aGUgZGF0YXNvdXJjZSBpcyBpbnZva2VkLlxuICAgKi9cbiAgcmVhZG9ubHkgcmVxdWVzdE1hcHBpbmdUZW1wbGF0ZT86IE1hcHBpbmdUZW1wbGF0ZTtcblxuICAvKipcbiAgICogT3ZlcnJpZGUgcmVzcG9uc2UgbWFwcGluZyB0ZW1wbGF0ZSBmb3IgdGhlIGZ1bmN0aW9uIHNsb3QuIEV4ZWN1dGVkIGFmdGVyIHRoZSBkYXRhc291cmNlIGlzIGludm9rZWQuXG4gICAqL1xuICByZWFkb25seSByZXNwb25zZU1hcHBpbmdUZW1wbGF0ZT86IE1hcHBpbmdUZW1wbGF0ZTtcbn1cblxuLyoqXG4gKiBDb21tb24gc2xvdCBwYXJhbWV0ZXJzLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEZ1bmN0aW9uU2xvdEJhc2Uge1xuICAvKipcbiAgICogVGhlIGZpZWxkIHRvIGF0dGFjaCB0aGlzIGZ1bmN0aW9uIHRvIG9uIHRoZSBBcGkgZGVmaW5pdGlvbi5cbiAgICovXG4gIHJlYWRvbmx5IGZpZWxkTmFtZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgc2xvdCBpbmRleCB0byB1c2UgdG8gaW5qZWN0IHRoaXMgaW50byB0aGUgZXhlY3V0aW9uIHBpcGVsaW5lLlxuICAgKiBGb3IgbW9yZSBpbmZvcm1hdGlvbiBvbiBzbG90dGluZywgcmVmZXIgdG8gaHR0cHM6Ly9kb2NzLmFtcGxpZnkuYXdzL2NsaS9ncmFwaHFsL2N1c3RvbS1idXNpbmVzcy1sb2dpYy8jZXh0ZW5kLWFtcGxpZnktZ2VuZXJhdGVkLXJlc29sdmVyc1xuICAgKi9cbiAgcmVhZG9ubHkgc2xvdEluZGV4OiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIFRoZSBvdmVycmlkZGVuIGJlaGF2aW9yIGZvciB0aGlzIHNsb3QuXG4gICAqL1xuICByZWFkb25seSBmdW5jdGlvbjogRnVuY3Rpb25TbG90T3ZlcnJpZGU7XG59XG5cbi8qKlxuICogU2xvdCB0eXBlcyBmb3IgTXV0YXRpb24gUmVzb2x2ZXJzLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIE11dGF0aW9uRnVuY3Rpb25TbG90IGV4dGVuZHMgRnVuY3Rpb25TbG90QmFzZSB7XG4gIC8qKlxuICAgKiBUaGlzIHNsb3QgdHlwZSBhcHBsaWVzIHRvIHRoZSBNdXRhdGlvbiB0eXBlIG9uIHRoZSBBcGkgZGVmaW5pdGlvbi5cbiAgICovXG4gIHJlYWRvbmx5IHR5cGVOYW1lOiAnTXV0YXRpb24nO1xuXG4gIC8qKlxuICAgKiBUaGUgc2xvdCBuYW1lIHRvIGluamVjdCB0aGlzIGJlaGF2aW9yIGludG8uXG4gICAqIEZvciBtb3JlIGluZm9ybWF0aW9uIG9uIHNsb3R0aW5nLCByZWZlciB0byBodHRwczovL2RvY3MuYW1wbGlmeS5hd3MvY2xpL2dyYXBocWwvY3VzdG9tLWJ1c2luZXNzLWxvZ2ljLyNleHRlbmQtYW1wbGlmeS1nZW5lcmF0ZWQtcmVzb2x2ZXJzXG4gICAqL1xuICByZWFkb25seSBzbG90TmFtZTogJ2luaXQnIHwgJ3ByZUF1dGgnIHwgJ2F1dGgnIHwgJ3Bvc3RBdXRoJyB8ICdwcmVVcGRhdGUnIHwgJ3Bvc3RVcGRhdGUnIHwgJ2ZpbmlzaCc7XG59XG5cbi8qKlxuICogU2xvdCB0eXBlcyBmb3IgUXVlcnkgUmVzb2x2ZXJzLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFF1ZXJ5RnVuY3Rpb25TbG90IGV4dGVuZHMgRnVuY3Rpb25TbG90QmFzZSB7XG4gIC8qKlxuICAgKiBUaGlzIHNsb3QgdHlwZSBhcHBsaWVzIHRvIHRoZSBRdWVyeSB0eXBlIG9uIHRoZSBBcGkgZGVmaW5pdGlvbi5cbiAgICovXG4gIHJlYWRvbmx5IHR5cGVOYW1lOiAnUXVlcnknO1xuXG4gIC8qKlxuICAgKiBUaGUgc2xvdCBuYW1lIHRvIGluamVjdCB0aGlzIGJlaGF2aW9yIGludG8uXG4gICAqIEZvciBtb3JlIGluZm9ybWF0aW9uIG9uIHNsb3R0aW5nLCByZWZlciB0byBodHRwczovL2RvY3MuYW1wbGlmeS5hd3MvY2xpL2dyYXBocWwvY3VzdG9tLWJ1c2luZXNzLWxvZ2ljLyNleHRlbmQtYW1wbGlmeS1nZW5lcmF0ZWQtcmVzb2x2ZXJzXG4gICAqL1xuICByZWFkb25seSBzbG90TmFtZTogJ2luaXQnIHwgJ3ByZUF1dGgnIHwgJ2F1dGgnIHwgJ3Bvc3RBdXRoJyB8ICdwcmVEYXRhTG9hZCcgfCAncG9zdERhdGFMb2FkJyB8ICdmaW5pc2gnO1xufVxuXG4vKipcbiAqIFNsb3QgdHlwZXMgZm9yIFN1YnNjcmlwdGlvbiBSZXNvbHZlcnMuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU3Vic2NyaXB0aW9uRnVuY3Rpb25TbG90IGV4dGVuZHMgRnVuY3Rpb25TbG90QmFzZSB7XG4gIC8qKlxuICAgKiBUaGlzIHNsb3QgdHlwZSBhcHBsaWVzIHRvIHRoZSBTdWJzY3JpcHRpb24gdHlwZSBvbiB0aGUgQXBpIGRlZmluaXRpb24uXG4gICAqL1xuICByZWFkb25seSB0eXBlTmFtZTogJ1N1YnNjcmlwdGlvbic7XG5cbiAgLyoqXG4gICAqIFRoZSBzbG90IG5hbWUgdG8gaW5qZWN0IHRoaXMgYmVoYXZpb3IgaW50by5cbiAgICogRm9yIG1vcmUgaW5mb3JtYXRpb24gb24gc2xvdHRpbmcsIHJlZmVyIHRvIGh0dHBzOi8vZG9jcy5hbXBsaWZ5LmF3cy9jbGkvZ3JhcGhxbC9jdXN0b20tYnVzaW5lc3MtbG9naWMvI2V4dGVuZC1hbXBsaWZ5LWdlbmVyYXRlZC1yZXNvbHZlcnNcbiAgICovXG4gIHJlYWRvbmx5IHNsb3ROYW1lOiAnaW5pdCcgfCAncHJlQXV0aCcgfCAnYXV0aCcgfCAncG9zdEF1dGgnIHwgJ3ByZVN1YnNjcmliZSc7XG59XG5cbi8qKlxuICogSW5wdXQgcGFyYW1zIHRvIHVuaXF1ZWx5IGlkZW50aWZ5IHRoZSBzbG90IHdoaWNoIGlzIGJlaW5nIG92ZXJyaWRkZW4uXG4gKi9cbmV4cG9ydCB0eXBlIEZ1bmN0aW9uU2xvdCA9IE11dGF0aW9uRnVuY3Rpb25TbG90IHwgUXVlcnlGdW5jdGlvblNsb3QgfCBTdWJzY3JpcHRpb25GdW5jdGlvblNsb3Q7XG5cbi8qKlxuICogU3Ryb25nbHkgdHlwZWQgc2V0IG9mIHNoYXJlZCBwYXJhbWV0ZXJzIGZvciBhbGwgdHJhbnNmb3JtZXJzLCBhbmQgY29yZSBsYXllci5cbiAqIFRoaXMgaXMgaW50ZW5kZWQgdG8gcmVwbGFjZSBmZWF0dXJlIGZsYWdzLCB0byBlbnN1cmUgcGFyYW0gY29lcmNpb24gaGFwcGVucyBpblxuICogYSBzaW5nbGUgbG9jYXRpb24sIGFuZCBpc24ndCBzcHJlYWQgYXJvdW5kIHRoZSB0cmFuc2Zvcm1lcnMsIHdoZXJlIHRoZXkgY2FuXG4gKiBoYXZlIGRpZmZlcmVudCBkZWZhdWx0IGJlaGF2aW9ycy5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBUcmFuc2xhdGlvbkJlaGF2aW9yIHtcbiAgLyoqXG4gICAqIFJlc3RvcmUgcGFyaXR5IHcvIEdRTHYxIEBtb2RlbCBwYXJhbWV0ZXIgYmVoYXZpb3IsIHdoZXJlIHNldHRpbmcgYSBzaW5nbGUgZmllbGQgZG9lc24ndCBpbXBsaWNpdGx5IHNldCB0aGUgb3RoZXIgZmllbGRzIHRvIG51bGwuXG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICovXG4gIHJlYWRvbmx5IHNob3VsZERlZXBNZXJnZURpcmVjdGl2ZUNvbmZpZ0RlZmF1bHRzOiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBEaXNhYmxlIHJlc29sdmVyIGRlZHVwaW5nLCB0aGlzIGNhbiBzb21ldGltZXMgY2F1c2UgcHJvYmxlbXMgYmVjYXVzZSBkZWR1cGUgb3JkZXJpbmcgaXNuJ3Qgc3RhYmxlIHRvZGF5LCB3aGljaCBjYW5cbiAgICogbGVhZCB0byBjaXJjdWxhciBkZXBlbmRlbmNpZXMgYWNyb3NzIHN0YWNrcyBpZiBtb2RlbHMgYXJlIHJlb3JkZXJlZC5cbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKi9cbiAgcmVhZG9ubHkgZGlzYWJsZVJlc29sdmVyRGVkdXBpbmc6IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEVuYWJsaW5nIHNhbmRib3ggbW9kZSB3aWxsIGVuYWJsZSBhcGkga2V5IGF1dGggb24gYWxsIG1vZGVscyBpbiB0aGUgdHJhbnNmb3JtZWQgc2NoZW1hLlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgcmVhZG9ubHkgc2FuZGJveE1vZGVFbmFibGVkOiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBFbnN1cmUgdGhhdCBvaWRjIGFuZCB1c2VyUG9vbCBhdXRoIHVzZSB0aGUgYHN1YmAgZmllbGQgaW4gdGhlIGZvciB0aGUgdXNlcm5hbWUgZmllbGQsIHdoaWNoIGRpc2FsbG93cyBuZXcgdXNlcnMgd2l0aCB0aGUgc2FtZVxuICAgKiBpZCB0byBhY2Nlc3MgZGF0YSBmcm9tIGEgZGVsZXRlZCB1c2VyIGluIHRoZSBwb29sLlxuICAgKiBAZGVmYXVsdCB0cnVlXG4gICAqL1xuICByZWFkb25seSB1c2VTdWJVc2VybmFtZUZvckRlZmF1bHRJZGVudGl0eUNsYWltOiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBXaGVuIGVuYWJsZWQsIHN1cHByZXNzZXMgZGVmYXVsdCBiZWhhdmlvciBvZiByZWRhY3RpbmcgcmVsYXRpb25hbCBmaWVsZHMgd2hlbiBhdXRoIHJ1bGVzIGRvIG5vdCBleGFjdGx5IG1hdGNoLlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgcmVhZG9ubHkgc3Vic2NyaXB0aW9uc0luaGVyaXRQcmltYXJ5QXV0aDogYm9vbGVhbjtcblxuICAvKipcbiAgICogRW5zdXJlIHRoYXQgdGhlIG93bmVyIGZpZWxkIGlzIHN0aWxsIHBvcHVsYXRlZCBldmVuIGlmIGEgc3RhdGljIGlhbSBvciBncm91cCBhdXRob3JpemF0aW9uIGFwcGxpZXMuXG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICovXG4gIHJlYWRvbmx5IHBvcHVsYXRlT3duZXJGaWVsZEZvclN0YXRpY0dyb3VwQXV0aDogYm9vbGVhbjtcblxuICAvKipcbiAgICogSWYgZW5hYmxlZCwgZGlzYWJsZSBhcGkga2V5IHJlc291cmNlIGdlbmVyYXRpb24gZXZlbiBpZiBzcGVjaWZpZWQgYXMgYW4gYXV0aCBydWxlIG9uIHRoZSBjb25zdHJ1Y3QuXG4gICAqIFRoaXMgaXMgYSBsZWdhY3kgcGFyYW1ldGVyIGZyb20gdGhlIEdyYXBocWwgVHJhbnNmb3JtZXIgZXhpc3RpbmcgaW4gQW1wbGlmeSBDTEksIG5vdCByZWNvbW1lbmRlZCB0byBjaGFuZ2UuXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICByZWFkb25seSBzdXBwcmVzc0FwaUtleUdlbmVyYXRpb246IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIElmIGRpc2FibGVkLCBnZW5lcmF0ZWQgQGluZGV4IGFzIGFuIExTSSBpbnN0ZWFkIG9mIGEgR1NJLlxuICAgKiBAZGVmYXVsdCB0cnVlXG4gICAqL1xuICByZWFkb25seSBzZWNvbmRhcnlLZXlBc0dTSTogYm9vbGVhbjtcblxuICAvKipcbiAgICogQXV0b21hdGUgZ2VuZXJhdGlvbiBvZiBxdWVyeSBuYW1lcywgYW5kIGFzIGEgcmVzdWx0IGF0dGFjaGluZyBhbGwgaW5kZXhlcyBhcyBxdWVyaWVzIHRvIHRoZSBnZW5lcmF0ZWQgQXBpLlxuICAgKiBJZiBlbmFibGVkLCBAaW5kZXggY2FuIGJlIHByb3ZpZGVkIGEgbnVsbCBuYW1lIGZpZWxkIHRvIGRpc2FibGUgdGhlIGdlbmVyYXRpb24gb2YgdGhlIHF1ZXJ5IG9uIHRoZSBBcGkuXG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICovXG4gIHJlYWRvbmx5IGVuYWJsZUF1dG9JbmRleFF1ZXJ5TmFtZXM6IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEVuYWJsZSBjdXN0b20gcHJpbWFyeSBrZXkgc3VwcG9ydCwgdGhlcmUncyBubyBnb29kIHJlYXNvbiB0byBkaXNhYmxlIHRoaXMgdW5sZXNzIHRyeWluZyBub3QgdG8gdXBkYXRlIGEgbGVnYWN5IGFwcC5cbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKi9cbiAgcmVhZG9ubHkgcmVzcGVjdFByaW1hcnlLZXlBdHRyaWJ1dGVzT25Db25uZWN0aW9uRmllbGQ6IGJvb2xlYW47XG5cbiAgcmVhZG9ubHkgZW5hYmxlU2VhcmNoTm9kZVRvTm9kZUVuY3J5cHRpb246IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFdoZW4gZW5hYmxlZCwgaW50ZXJuYWwgY2ZuIG91dHB1dHMgd2hpY2ggZXhpc3RlZCBpbiBBbXBsaWZ5LWdlbmVyYXRlZCBhcHBzIHdpbGwgY29udGludWUgdG8gYmUgZW1pdHRlZC5cbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIHJlYWRvbmx5IGVuYWJsZVRyYW5zZm9ybWVyQ2ZuT3V0cHV0czogYm9vbGVhbjtcblxuICAvKipcbiAgICogVGhlIGZvbGxvd2luZyBzY2hlbWEgdXBkYXRlcyByZXF1aXJlIHJlcGxhY2VtZW50IG9mIHRoZSB1bmRlcmx5aW5nIER5bmFtb0RCIHRhYmxlOlxuICAgKlxuICAgKiAgLSBSZW1vdmluZyBvciByZW5hbWluZyBhIG1vZGVsXG4gICAqICAtIE1vZGlmeWluZyB0aGUgcHJpbWFyeSBrZXkgb2YgYSBtb2RlbFxuICAgKiAgLSBNb2RpZnlpbmcgYSBMb2NhbCBTZWNvbmRhcnkgSW5kZXggb2YgYSBtb2RlbCAob25seSBhcHBsaWVzIHRvIHByb2plY3RzIHdpdGggc2Vjb25kYXJ5S2V5QXNHU0kgdHVybmVkIG9mZilcbiAgICpcbiAgICogQUxMIERBVEEgV0lMTCBCRSBMT1NUIHdoZW4gdGhlIHRhYmxlIHJlcGxhY2VtZW50IGhhcHBlbnMuIFdoZW4gZW5hYmxlZCwgZGVzdHJ1Y3RpdmUgdXBkYXRlcyBhcmUgYWxsb3dlZC5cbiAgICogVGhpcyB3aWxsIG9ubHkgYWZmZWN0IER5bmFtb0RCIHRhYmxlcyB3aXRoIHByb3Zpc2lvbiBzdHJhdGVneSBcIkFNUExJRllfVEFCTEVcIi5cbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICogQGV4cGVyaW1lbnRhbFxuICAgKi9cbiAgcmVhZG9ubHkgYWxsb3dEZXN0cnVjdGl2ZUdyYXBocWxTY2hlbWFVcGRhdGVzOiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBUaGlzIGJlaGF2aW9yIHdpbGwgb25seSBjb21lIGludG8gZWZmZWN0IHdoZW4gYm90aCBcImFsbG93RGVzdHJ1Y3RpdmVHcmFwaHFsU2NoZW1hVXBkYXRlc1wiIGFuZCB0aGlzIHZhbHVlIGFyZSBzZXQgdG8gdHJ1ZVxuICAgKlxuICAgKiBXaGVuIGVuYWJsZWQsIGFueSBHU0kgdXBkYXRlIG9wZXJhdGlvbiB3aWxsIHJlcGxhY2UgdGhlIHRhYmxlIGluc3RlYWQgb2YgaXRlcmF0aXZlIGRlcGxveW1lbnQsIHdoaWNoIHdpbGwgV0lQRSBBTEwgRVhJU1RJTkcgREFUQSBidXRcbiAgICogY29zdCBtdWNoIGxlc3MgdGltZSBmb3IgZGVwbG95bWVudCBUaGlzIHdpbGwgb25seSBhZmZlY3QgRHluYW1vREIgdGFibGVzIHdpdGggcHJvdmlzaW9uIHN0cmF0ZWd5IFwiQU1QTElGWV9UQUJMRVwiLlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKiBAZXhwZXJpbWVudGFsXG4gICAqL1xuICByZWFkb25seSByZXBsYWNlVGFibGVVcG9uR3NpVXBkYXRlOiBib29sZWFuO1xufVxuXG4vKipcbiAqIEEgdXRpbGl0eSBpbnRlcmZhY2UgZXF1aXZhbGVudCB0byBQYXJ0aWFsPFRyYW5zbGF0aW9uQmVoYXZpb3I+LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFBhcnRpYWxUcmFuc2xhdGlvbkJlaGF2aW9yIHtcbiAgLyoqXG4gICAqIFJlc3RvcmUgcGFyaXR5IHcvIEdRTHYxIEBtb2RlbCBwYXJhbWV0ZXIgYmVoYXZpb3IsIHdoZXJlIHNldHRpbmcgYSBzaW5nbGUgZmllbGQgZG9lc24ndCBpbXBsaWNpdGx5IHNldCB0aGUgb3RoZXIgZmllbGRzIHRvIG51bGwuXG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICovXG4gIHJlYWRvbmx5IHNob3VsZERlZXBNZXJnZURpcmVjdGl2ZUNvbmZpZ0RlZmF1bHRzPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogRGlzYWJsZSByZXNvbHZlciBkZWR1cGluZywgdGhpcyBjYW4gc29tZXRpbWVzIGNhdXNlIHByb2JsZW1zIGJlY2F1c2UgZGVkdXBlIG9yZGVyaW5nIGlzbid0IHN0YWJsZSB0b2RheSwgd2hpY2ggY2FuXG4gICAqIGxlYWQgdG8gY2lyY3VsYXIgZGVwZW5kZW5jaWVzIGFjcm9zcyBzdGFja3MgaWYgbW9kZWxzIGFyZSByZW9yZGVyZWQuXG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICovXG4gIHJlYWRvbmx5IGRpc2FibGVSZXNvbHZlckRlZHVwaW5nPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogRW5hYmxpbmcgc2FuZGJveCBtb2RlIHdpbGwgZW5hYmxlIGFwaSBrZXkgYXV0aCBvbiBhbGwgbW9kZWxzIGluIHRoZSB0cmFuc2Zvcm1lZCBzY2hlbWEuXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICByZWFkb25seSBzYW5kYm94TW9kZUVuYWJsZWQ/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBFbnN1cmUgdGhhdCBvaWRjIGFuZCB1c2VyUG9vbCBhdXRoIHVzZSB0aGUgYHN1YmAgZmllbGQgaW4gdGhlIGZvciB0aGUgdXNlcm5hbWUgZmllbGQsIHdoaWNoIGRpc2FsbG93cyBuZXcgdXNlcnMgd2l0aCB0aGUgc2FtZVxuICAgKiBpZCB0byBhY2Nlc3MgZGF0YSBmcm9tIGEgZGVsZXRlZCB1c2VyIGluIHRoZSBwb29sLlxuICAgKiBAZGVmYXVsdCB0cnVlXG4gICAqL1xuICByZWFkb25seSB1c2VTdWJVc2VybmFtZUZvckRlZmF1bHRJZGVudGl0eUNsYWltPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogV2hlbiBlbmFibGVkLCBzdXBwcmVzc2VzIGRlZmF1bHQgYmVoYXZpb3Igb2YgcmVkYWN0aW5nIHJlbGF0aW9uYWwgZmllbGRzIHdoZW4gYXV0aCBydWxlcyBkbyBub3QgZXhhY3RseSBtYXRjaC5cbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIHJlYWRvbmx5IHN1YnNjcmlwdGlvbnNJbmhlcml0UHJpbWFyeUF1dGg/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBFbnN1cmUgdGhhdCB0aGUgb3duZXIgZmllbGQgaXMgc3RpbGwgcG9wdWxhdGVkIGV2ZW4gaWYgYSBzdGF0aWMgaWFtIG9yIGdyb3VwIGF1dGhvcml6YXRpb24gYXBwbGllcy5cbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKi9cbiAgcmVhZG9ubHkgcG9wdWxhdGVPd25lckZpZWxkRm9yU3RhdGljR3JvdXBBdXRoPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogSWYgZW5hYmxlZCwgZGlzYWJsZSBhcGkga2V5IHJlc291cmNlIGdlbmVyYXRpb24gZXZlbiBpZiBzcGVjaWZpZWQgYXMgYW4gYXV0aCBydWxlIG9uIHRoZSBjb25zdHJ1Y3QuXG4gICAqIFRoaXMgaXMgYSBsZWdhY3kgcGFyYW1ldGVyIGZyb20gdGhlIEdyYXBocWwgVHJhbnNmb3JtZXIgZXhpc3RpbmcgaW4gQW1wbGlmeSBDTEksIG5vdCByZWNvbW1lbmRlZCB0byBjaGFuZ2UuXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICByZWFkb25seSBzdXBwcmVzc0FwaUtleUdlbmVyYXRpb24/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBJZiBkaXNhYmxlZCwgZ2VuZXJhdGVkIEBpbmRleCBhcyBhbiBMU0kgaW5zdGVhZCBvZiBhIEdTSS5cbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKi9cbiAgcmVhZG9ubHkgc2Vjb25kYXJ5S2V5QXNHU0k/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBBdXRvbWF0ZSBnZW5lcmF0aW9uIG9mIHF1ZXJ5IG5hbWVzLCBhbmQgYXMgYSByZXN1bHQgYXR0YWNoaW5nIGFsbCBpbmRleGVzIGFzIHF1ZXJpZXMgdG8gdGhlIGdlbmVyYXRlZCBBcGkuXG4gICAqIElmIGVuYWJsZWQsIEBpbmRleCBjYW4gYmUgcHJvdmlkZWQgYSBudWxsIG5hbWUgZmllbGQgdG8gZGlzYWJsZSB0aGUgZ2VuZXJhdGlvbiBvZiB0aGUgcXVlcnkgb24gdGhlIEFwaS5cbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKi9cbiAgcmVhZG9ubHkgZW5hYmxlQXV0b0luZGV4UXVlcnlOYW1lcz86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEVuYWJsZSBjdXN0b20gcHJpbWFyeSBrZXkgc3VwcG9ydCwgdGhlcmUncyBubyBnb29kIHJlYXNvbiB0byBkaXNhYmxlIHRoaXMgdW5sZXNzIHRyeWluZyBub3QgdG8gdXBkYXRlIGEgbGVnYWN5IGFwcC5cbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKi9cbiAgcmVhZG9ubHkgcmVzcGVjdFByaW1hcnlLZXlBdHRyaWJ1dGVzT25Db25uZWN0aW9uRmllbGQ/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBJZiBlbmFibGVkLCBzZXQgbm9kZVRvTm9kZUVuY3J5cHRpb24gb24gdGhlIHNlYXJjaGFibGUgZG9tYWluIChpZiBvbmUgZXhpc3RzKS4gTm90IHJlY29tbWVuZGVkIGZvciB1c2UsIHByZWZlclxuICAgKiB0byB1c2UgYE9iamVjdC52YWx1ZXMocmVzb3VyY2VzLmFkZGl0aW9uYWxSZXNvdXJjZXNbJ0FXUzo6RWxhc3RpY3NlYXJjaDo6RG9tYWluJ10pLmZvckVhY2goKGRvbWFpbjogQ2ZuRG9tYWluKSA9PiB7XG4gICAqICAgZG9tYWluLk5vZGVUb05vZGVFbmNyeXB0aW9uT3B0aW9ucyA9IHsgRW5hYmxlZDogVHJ1ZSB9O1xuICAgKiB9KTtcbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIHJlYWRvbmx5IGVuYWJsZVNlYXJjaE5vZGVUb05vZGVFbmNyeXB0aW9uPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogV2hlbiBlbmFibGVkLCBpbnRlcm5hbCBjZm4gb3V0cHV0cyB3aGljaCBleGlzdGVkIGluIEFtcGxpZnktZ2VuZXJhdGVkIGFwcHMgd2lsbCBjb250aW51ZSB0byBiZSBlbWl0dGVkLlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgcmVhZG9ubHkgZW5hYmxlVHJhbnNmb3JtZXJDZm5PdXRwdXRzPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogVGhlIGZvbGxvd2luZyBzY2hlbWEgdXBkYXRlcyByZXF1aXJlIHJlcGxhY2VtZW50IG9mIHRoZSB1bmRlcmx5aW5nIER5bmFtb0RCIHRhYmxlOlxuICAgKlxuICAgKiAgLSBSZW1vdmluZyBvciByZW5hbWluZyBhIG1vZGVsXG4gICAqICAtIE1vZGlmeWluZyB0aGUgcHJpbWFyeSBrZXkgb2YgYSBtb2RlbFxuICAgKiAgLSBNb2RpZnlpbmcgYSBMb2NhbCBTZWNvbmRhcnkgSW5kZXggb2YgYSBtb2RlbCAob25seSBhcHBsaWVzIHRvIHByb2plY3RzIHdpdGggc2Vjb25kYXJ5S2V5QXNHU0kgdHVybmVkIG9mZilcbiAgICpcbiAgICogQUxMIERBVEEgV0lMTCBCRSBMT1NUIHdoZW4gdGhlIHRhYmxlIHJlcGxhY2VtZW50IGhhcHBlbnMuIFdoZW4gZW5hYmxlZCwgZGVzdHJ1Y3RpdmUgdXBkYXRlcyBhcmUgYWxsb3dlZC5cbiAgICogVGhpcyB3aWxsIG9ubHkgYWZmZWN0IER5bmFtb0RCIHRhYmxlcyB3aXRoIHByb3Zpc2lvbiBzdHJhdGVneSBcIkFNUExJRllfVEFCTEVcIi5cbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICogQGV4cGVyaW1lbnRhbFxuICAgKi9cbiAgcmVhZG9ubHkgYWxsb3dEZXN0cnVjdGl2ZUdyYXBocWxTY2hlbWFVcGRhdGVzPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogVGhpcyBiZWhhdmlvciB3aWxsIG9ubHkgY29tZSBpbnRvIGVmZmVjdCB3aGVuIGJvdGggXCJhbGxvd0Rlc3RydWN0aXZlR3JhcGhxbFNjaGVtYVVwZGF0ZXNcIiBhbmQgdGhpcyB2YWx1ZSBhcmUgc2V0IHRvIHRydWVcbiAgICpcbiAgICogV2hlbiBlbmFibGVkLCBhbnkgZ2xvYmFsIHNlY29uZGFyeSBpbmRleCB1cGRhdGUgb3BlcmF0aW9uIHdpbGwgcmVwbGFjZSB0aGUgdGFibGUgaW5zdGVhZCBvZiBpdGVyYXRpdmUgZGVwbG95bWVudCwgd2hpY2ggd2lsbCBXSVBFIEFMTFxuICAgKiBFWElTVElORyBEQVRBIGJ1dCBjb3N0IG11Y2ggbGVzcyB0aW1lIGZvciBkZXBsb3ltZW50IFRoaXMgd2lsbCBvbmx5IGFmZmVjdCBEeW5hbW9EQiB0YWJsZXMgd2l0aCBwcm92aXNpb24gc3RyYXRlZ3kgXCJBTVBMSUZZX1RBQkxFXCIuXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqIEBleHBlcmltZW50YWxcbiAgICovXG4gIHJlYWRvbmx5IHJlcGxhY2VUYWJsZVVwb25Hc2lVcGRhdGU/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBXaGVuIGVuYWJsZWQsIHNhbmRib3ggZGVwbG95bWVudCB3aWxsIGJlIGZhc3RlciBieSBza2lwcGluZyB0aGUgY3JlYXRpb24gb2YgdGhlIEhvdHN3YXAgZnJpZW5kbHkgcmVzb3VyY2VzLlxuICAgKlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKiBAaW50ZXJuYWxcbiAgICogV0FSTklORzogQWx0aG91Z2ggdGhpcyBoYXMgYHB1YmxpY2AgYWNjZXNzLCBpdCBpcyBpbnRlbmRlZCBmb3IgaW50ZXJuYWwgdXNlIGFuZCBzaG91bGQgbm90IGJlIHVzZWQgZGlyZWN0bHkuXG4gICAqIFRoZSBiZWhhdmlvciBvZiB0aGlzIG1heSBjaGFuZ2Ugd2l0aG91dCB3YXJuaW5nLlxuICAgKi9cbiAgcmVhZG9ubHkgX3Byb3Zpc2lvbkhvdHN3YXBGcmllbmRseVJlc291cmNlcz86IGJvb2xlYW47XG59XG5cbi8qKlxuICogR3JhcGhxbCBBcGkgZGVmaW5pdGlvbiwgd2hpY2ggY2FuIGJlIGltcGxlbWVudGVkIGluIG11bHRpcGxlIHdheXMuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSUFtcGxpZnlHcmFwaHFsRGVmaW5pdGlvbiB7XG4gIC8qKlxuICAgKiBSZXR1cm4gdGhlIHNjaGVtYSBkZWZpbml0aW9uIGFzIGEgZ3JhcGhxbCBzdHJpbmcsIHdpdGggYW1wbGlmeSBkaXJlY3RpdmVzIGFsbG93ZWQuXG4gICAqIEByZXR1cm5zIHRoZSByZW5kZXJlZCBzY2hlbWEuXG4gICAqL1xuICByZWFkb25seSBzY2hlbWE6IHN0cmluZztcblxuICAvKipcbiAgICogUmV0cmlldmUgYW55IGZ1bmN0aW9uIHNsb3RzIGRlZmluZWQgZXhwbGljaXRseSBpbiB0aGUgQXBpIGRlZmluaXRpb24uXG4gICAqIEByZXR1cm5zIGdlbmVyYXRlZCBmdW5jdGlvbiBzbG90c1xuICAgKi9cbiAgcmVhZG9ubHkgZnVuY3Rpb25TbG90czogRnVuY3Rpb25TbG90W107XG5cbiAgLyoqXG4gICAqIFJldHJpZXZlIHRoZSByZWZlcmVuY2VzIHRvIGFueSBsYW1iZGEgZnVuY3Rpb25zIHVzZWQgaW4gdGhlIGRlZmluaXRpb24uXG4gICAqIFVzZWZ1bCBmb3Igd2lyaW5nIHRocm91Z2ggYXdzX2xhbWJkYS5GdW5jdGlvbiBjb25zdHJ1Y3RzIGludG8gdGhlIGRlZmluaXRpb24gZGlyZWN0bHksXG4gICAqIGFuZCBnZW5lcmF0ZWQgcmVmZXJlbmNlcyB0byBpbnZva2UgdGhlbS5cbiAgICogQHJldHVybnMgYW55IGxhbWJkYSBmdW5jdGlvbnMsIGtleWVkIGJ5IHRoZWlyIHJlZmVyZW5jZWQgJ25hbWUnIGluIHRoZSBnZW5lcmF0ZWQgc2NoZW1hLlxuICAgKi9cbiAgcmVhZG9ubHkgcmVmZXJlbmNlZExhbWJkYUZ1bmN0aW9ucz86IFJlY29yZDxzdHJpbmcsIElGdW5jdGlvbj47XG5cbiAgLyoqXG4gICAqIFJldHJpZXZlIHRoZSBkYXRhc291cmNlIHN0cmF0ZWd5IG1hcHBpbmcuIFRoZSBkZWZhdWx0IHN0cmF0ZWd5IGlzIHRvIHVzZSBEeW5hbW9EQiBmcm9tIENsb3VkRm9ybWF0aW9uLlxuICAgKiBAcmV0dXJucyBkYXRhc291cmNlIHN0cmF0ZWd5IG1hcHBpbmdcbiAgICovXG4gIHJlYWRvbmx5IGRhdGFTb3VyY2VTdHJhdGVnaWVzOiBSZWNvcmQ8c3RyaW5nLCBNb2RlbERhdGFTb3VyY2VTdHJhdGVneT47XG5cbiAgLyoqXG4gICAqIEFuIGFycmF5IG9mIGN1c3RvbSBRdWVyeSBvciBNdXRhdGlvbiBTUUwgY29tbWFuZHMgdG8gdGhlIGRhdGEgc291cmNlcyB0aGF0IHJlc29sdmVzIHRoZW0uXG4gICAqIEByZXR1cm5zIGEgbGlzdCBvZiBtYXBwaW5ncyBmcm9tIGN1c3RvbSBTUUwgY29tbWFuZHMgdG8gZGF0YSBzb3VyY2VzXG4gICAqL1xuICByZWFkb25seSBjdXN0b21TcWxEYXRhU291cmNlU3RyYXRlZ2llcz86IEN1c3RvbVNxbERhdGFTb3VyY2VTdHJhdGVneVtdO1xufVxuXG4vKipcbiAqIEVudHJ5IHJlcHJlc2VudGluZyB0aGUgcmVxdWlyZWQgb3V0cHV0IGZyb20gdGhlIGJhY2tlbmQgZm9yIGNvZGVnZW4gZ2VuZXJhdGUgY29tbWFuZHMgdG8gd29yay5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJQmFja2VuZE91dHB1dEVudHJ5IHtcbiAgLyoqXG4gICAqIFRoZSBwcm90b2NvbCB2ZXJzaW9uIGZvciB0aGlzIGJhY2tlbmQgb3V0cHV0LlxuICAgKi9cbiAgcmVhZG9ubHkgdmVyc2lvbjogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgc3RyaW5nLW1hcCBwYXlsb2FkIG9mIGdlbmVyYXRlZCBjb25maWcgdmFsdWVzLlxuICAgKi9cbiAgcmVhZG9ubHkgcGF5bG9hZDogUmVjb3JkPHN0cmluZywgc3RyaW5nPjtcbn1cblxuLyoqXG4gKiBCYWNrZW5kIG91dHB1dCBzdHJhdGVneSB1c2VkIHRvIHdyaXRlIGNvbmZpZyByZXF1aXJlZCBmb3IgY29kZWdlbiB0YXNrcy5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJQmFja2VuZE91dHB1dFN0b3JhZ2VTdHJhdGVneSB7XG4gIC8qKlxuICAgKiBBZGQgYW4gZW50cnkgdG8gYmFja2VuZCBvdXRwdXQuXG4gICAqIEBwYXJhbSBrZXlOYW1lIHRoZSBrZXlcbiAgICogQHBhcmFtIGJhY2tlbmRPdXRwdXRFbnRyeSB0aGUgcmVjb3JkIHRvIHN0b3JlIGluIHRoZSBiYWNrZW5kIG91dHB1dFxuICAgKi9cbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9tZXRob2Qtc2lnbmF0dXJlLXN0eWxlXG4gIGFkZEJhY2tlbmRPdXRwdXRFbnRyeShrZXlOYW1lOiBzdHJpbmcsIGJhY2tlbmRPdXRwdXRFbnRyeTogSUJhY2tlbmRPdXRwdXRFbnRyeSk6IHZvaWQ7XG59XG5cbi8qKlxuICogSW5wdXQgcHJvcHMgZm9yIHRoZSBBbXBsaWZ5R3JhcGhxbEFwaSBjb25zdHJ1Y3QuIFNwZWNpZmllcyB3aGF0IHRoZSBpbnB1dCB0byB0cmFuc2Zvcm0gaW50byBhbiBBcGksIGFuZCBjb25maWd1cmF0aW9ucyBmb3JcbiAqIHRoZSB0cmFuc2Zvcm1hdGlvbiBwcm9jZXNzLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEFtcGxpZnlHcmFwaHFsQXBpUHJvcHMge1xuICAvKipcbiAgICogVGhlIGRlZmluaXRpb24gdG8gdHJhbnNmb3JtIGluIGEgZnVsbCBBcGkuXG4gICAqIENhbiBiZSBjb25zdHJ1Y3RlZCB2aWEgdGhlIEFtcGxpZnlHcmFwaHFsRGVmaW5pdGlvbiBjbGFzcy5cbiAgICovXG4gIHJlYWRvbmx5IGRlZmluaXRpb246IElBbXBsaWZ5R3JhcGhxbERlZmluaXRpb247XG5cbiAgLyoqXG4gICAqIE5hbWUgdG8gYmUgdXNlZCBmb3IgdGhlIEFwcFN5bmMgQXBpLlxuICAgKiBEZWZhdWx0OiBjb25zdHJ1Y3QgaWQuXG4gICAqL1xuICByZWFkb25seSBhcGlOYW1lPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBSZXF1aXJlZCBhdXRoIG1vZGVzIGZvciB0aGUgQXBpLiBUaGlzIG9iamVjdCBtdXN0IGJlIGEgc3VwZXJzZXQgb2YgdGhlIGNvbmZpZ3VyZWQgYXV0aCBwcm92aWRlcnMgaW4gdGhlIEFwaSBkZWZpbml0aW9uLlxuICAgKiBGb3IgbW9yZSBpbmZvcm1hdGlvbiwgcmVmZXIgdG8gaHR0cHM6Ly9kb2NzLmFtcGxpZnkuYXdzL2NsaS9ncmFwaHFsL2F1dGhvcml6YXRpb24tcnVsZXMvXG4gICAqL1xuICByZWFkb25seSBhdXRob3JpemF0aW9uTW9kZXM6IEF1dGhvcml6YXRpb25Nb2RlcztcblxuICAvKipcbiAgICogTGFtYmRhIGZ1bmN0aW9ucyByZWZlcmVuY2VkIGluIHRoZSBkZWZpbml0aW9ucydzIEBmdW5jdGlvbiBkaXJlY3RpdmVzLiBUaGUga2V5cyBvZiB0aGlzIG9iamVjdCBhcmUgZXhwZWN0ZWQgdG8gYmUgdGhlXG4gICAqIGZ1bmN0aW9uIG5hbWUgcHJvdmlkZWQgaW4gdGhlIGRlZmluaXRpb24sIGFuZCB2YWx1ZSBpcyB0aGUgZnVuY3Rpb24gdGhhdCBuYW1lIHJlZmVycyB0by4gSWYgYSBuYW1lIGlzIG5vdCBmb3VuZCBpbiB0aGlzXG4gICAqIG1hcCwgdGhlbiBpdCBpcyBpbnRlcnByZXRlZCBhcyB0aGUgYGZ1bmN0aW9uTmFtZWAsIGFuZCBhbiBhcm4gd2lsbCBiZSBjb25zdHJ1Y3RlZCB1c2luZyB0aGUgY3VycmVudCBhd3MgYWNjb3VudCBhbmQgcmVnaW9uXG4gICAqIChvciBvdmVycmlkZGVuIHZhbHVlcywgaWYgc2V0IGluIHRoZSBkaXJlY3RpdmUpLlxuICAgKi9cbiAgcmVhZG9ubHkgZnVuY3Rpb25OYW1lTWFwPzogUmVjb3JkPHN0cmluZywgSUZ1bmN0aW9uPjtcblxuICAvKipcbiAgICogQ29uZmlndXJlIGNvbmZsaWN0IHJlc29sdXRpb24gb24gdGhlIEFwaSwgd2hpY2ggaXMgcmVxdWlyZWQgdG8gZW5hYmxlIERhdGFTdG9yZSBBcGkgZnVuY3Rpb25hbGl0eS5cbiAgICogRm9yIG1vcmUgaW5mb3JtYXRpb24sIHJlZmVyIHRvIGh0dHBzOi8vZG9jcy5hbXBsaWZ5LmF3cy9saWIvZGF0YXN0b3JlL2dldHRpbmctc3RhcnRlZC9xL3BsYXRmb3JtL2pzL1xuICAgKiBAZGVwcmVjYXRlZCB1c2UgZGF0YVN0b3JlQ29uZmlndXJhdGlvbiBpbnN0ZWFkLlxuICAgKi9cbiAgcmVhZG9ubHkgY29uZmxpY3RSZXNvbHV0aW9uPzogQ29uZmxpY3RSZXNvbHV0aW9uO1xuXG4gIC8qKlxuICAgKiBTdGFja01hcHBpbmdzIG92ZXJyaWRlIHRoZSBhc3NpZ25lZCBuZXN0ZWQgc3RhY2sgb24gYSBwZXItcmVzb3VyY2UgYmFzaXMuIE9ubHkgYXBwbGllcyB0byByZXNvbHZlcnMsIGFuZCB0YWtlcyB0aGUgZm9ybVxuICAgKiB7IDxsb2dpY2FsSWQ+OiA8c3RhY2tOYW1lPiB9XG4gICAqIEl0IGlzIG5vdCByZWNvbW1lbmRlZCB0byB1c2UgdGhpcyBwYXJhbWV0ZXIgdW5sZXNzIHlvdSBhcmUgZW5jb3VudGVyaW5nIHN0YWNrIHJlc291cmNlIGNvdW50IGxpbWl0cywgYW5kIHdvcnRoIG5vdGluZyB0aGF0XG4gICAqIGFmdGVyIGluaXRpYWwgZGVwbG95bWVudCBBcHBTeW5jIHJlc29sdmVycyBjYW5ub3QgYmUgbW92ZWQgYmV0d2VlbiBuZXN0ZWQgc3RhY2tzLCB0aGV5IHdpbGwgbmVlZCB0byBiZSByZW1vdmVkIGZyb20gdGhlIGFwcCxcbiAgICogdGhlbiByZS1hZGRlZCBmcm9tIGEgbmV3IHN0YWNrLlxuICAgKi9cbiAgcmVhZG9ubHkgc3RhY2tNYXBwaW5ncz86IFJlY29yZDxzdHJpbmcsIHN0cmluZz47XG5cbiAgLyoqXG4gICAqIE92ZXJyaWRlcyBmb3IgYSBnaXZlbiBzbG90IGluIHRoZSBnZW5lcmF0ZWQgcmVzb2x2ZXIgcGlwZWxpbmVzLiBGb3IgbW9yZSBpbmZvcm1hdGlvbiBhYm91dCB3aGF0IHNsb3RzIGFyZSBhdmFpbGFibGUsXG4gICAqIHJlZmVyIHRvIGh0dHBzOi8vZG9jcy5hbXBsaWZ5LmF3cy9jbGkvZ3JhcGhxbC9jdXN0b20tYnVzaW5lc3MtbG9naWMvI292ZXJyaWRlLWFtcGxpZnktZ2VuZXJhdGVkLXJlc29sdmVycy5cbiAgICovXG4gIHJlYWRvbmx5IGZ1bmN0aW9uU2xvdHM/OiBGdW5jdGlvblNsb3RbXTtcblxuICAvKipcbiAgICogUHJvdmlkZSBhIGxpc3Qgb2YgYWRkaXRpb25hbCBjdXN0b20gdHJhbnNmb3JtZXJzIHdoaWNoIGFyZSBpbmplY3RlZCBpbnRvIHRoZSB0cmFuc2Zvcm0gcHJvY2Vzcy5cbiAgICogVGhlc2UgY3VzdG9tIHRyYW5zZm9ybWVycyBtdXN0IGJlIGltcGxlbWVudGVkIHdpdGggYXdzLWNkay1saWIgPj0yLjEyOS4wLCBhbmQgQGF3cy1hbXBsaWZ5L2dyYXBocWwtdHJhbnNmb3JtZXItY29yZSA+PSAyLjEuMVxuICAgKiBAZXhwZXJpbWVudGFsXG4gICAqL1xuICByZWFkb25seSB0cmFuc2Zvcm1lclBsdWdpbnM/OiBhbnlbXTtcblxuICAvKipcbiAgICogSWYgdXNpbmcgcHJlZGljdGlvbnMsIGEgYnVja2V0IG11c3QgYmUgcHJvdmlkZWQgd2hpY2ggd2lsbCBiZSB1c2VkIHRvIHNlYXJjaCBmb3IgYXNzZXRzLlxuICAgKi9cbiAgcmVhZG9ubHkgcHJlZGljdGlvbnNCdWNrZXQ/OiBJQnVja2V0O1xuXG4gIC8qKlxuICAgKiBUaGlzIHJlcGxhY2VzIGZlYXR1cmUgZmxhZ3MgZnJvbSB0aGUgQXBpIGNvbnN0cnVjdCwgZm9yIGdlbmVyYWwgaW5mb3JtYXRpb24gb24gd2hhdCB0aGVzZSBwYXJhbWV0ZXJzIGRvLFxuICAgKiByZWZlciB0byBodHRwczovL2RvY3MuYW1wbGlmeS5hd3MvY2xpL3JlZmVyZW5jZS9mZWF0dXJlLWZsYWdzLyNncmFwaFFMVHJhbnNmb3JtZXJcbiAgICovXG4gIHJlYWRvbmx5IHRyYW5zbGF0aW9uQmVoYXZpb3I/OiBQYXJ0aWFsVHJhbnNsYXRpb25CZWhhdmlvcjtcblxuICAvKipcbiAgICogU3RyYXRlZ3kgdG8gc3RvcmUgY29uc3RydWN0IG91dHB1dHMuIElmIG5vIG91dHB1dFN0b3JhZ2VTdHJhdGVnZXkgaXMgcHJvdmlkZWQgYSBkZWZhdWx0IHN0cmF0ZWd5IHdpbGwgYmUgdXNlZC5cbiAgICovXG4gIHJlYWRvbmx5IG91dHB1dFN0b3JhZ2VTdHJhdGVneT86IElCYWNrZW5kT3V0cHV0U3RvcmFnZVN0cmF0ZWd5O1xuXG4gIC8qKlxuICAgKiBDb25maWd1cmUgRGF0YVN0b3JlIGNvbmZsaWN0IHJlc29sdXRpb24gb24gdGhlIEFwaS4gQ29uZmxpY3QgcmVzb2x1dGlvbiBpcyByZXF1aXJlZCB0byBlbmFibGUgRGF0YVN0b3JlIEFwaSBmdW5jdGlvbmFsaXR5LlxuICAgKiBGb3IgbW9yZSBpbmZvcm1hdGlvbiwgcmVmZXIgdG8gaHR0cHM6Ly9kb2NzLmFtcGxpZnkuYXdzL2xpYi9kYXRhc3RvcmUvZ2V0dGluZy1zdGFydGVkL3EvcGxhdGZvcm0vanMvXG4gICAqL1xuICByZWFkb25seSBkYXRhU3RvcmVDb25maWd1cmF0aW9uPzogRGF0YVN0b3JlQ29uZmlndXJhdGlvbjtcbn1cblxuLyoqXG4gKiBMMSBDREsgcmVzb3VyY2VzIGZyb20gdGhlIEFwaSB3aGljaCB3ZXJlIGdlbmVyYXRlZCBhcyBwYXJ0IG9mIHRoZSB0cmFuc2Zvcm0uXG4gKiBUaGVzZSBhcmUgcG90ZW50aWFsbHkgc3RvcmVkIHVuZGVyIG5lc3RlZCBzdGFja3MsIGJ1dCBwcmVzZW50ZWQgb3JnYW5pemVkIGJ5IHR5cGUgaW5zdGVhZC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBBbXBsaWZ5R3JhcGhxbEFwaUNmblJlc291cmNlcyB7XG4gIC8qKlxuICAgKiBUaGUgR2VuZXJhdGVkIEFwcFN5bmMgQXBpIEwxIFJlc291cmNlXG4gICAqL1xuICByZWFkb25seSBjZm5HcmFwaHFsQXBpOiBDZm5HcmFwaFFMQXBpO1xuXG4gIC8qKlxuICAgKiBUaGUgR2VuZXJhdGVkIEFwcFN5bmMgU2NoZW1hIEwxIFJlc291cmNlXG4gICAqL1xuICByZWFkb25seSBjZm5HcmFwaHFsU2NoZW1hOiBDZm5HcmFwaFFMU2NoZW1hO1xuXG4gIC8qKlxuICAgKiBUaGUgR2VuZXJhdGVkIEFwcFN5bmMgQXBpIEtleSBMMSBSZXNvdXJjZVxuICAgKi9cbiAgcmVhZG9ubHkgY2ZuQXBpS2V5PzogQ2ZuQXBpS2V5O1xuXG4gIC8qKlxuICAgKiBUaGUgR2VuZXJhdGVkIEFwcFN5bmMgUmVzb2x2ZXIgTDEgUmVzb3VyY2VzLCBrZXllZCBieSBsb2dpY2FsSWQuXG4gICAqL1xuICByZWFkb25seSBjZm5SZXNvbHZlcnM6IFJlY29yZDxzdHJpbmcsIENmblJlc29sdmVyPjtcblxuICAvKipcbiAgICogVGhlIEdlbmVyYXRlZCBBcHBTeW5jIEZ1bmN0aW9uIEwxIFJlc291cmNlcywga2V5ZWQgYnkgbG9naWNhbElkLlxuICAgKi9cbiAgcmVhZG9ubHkgY2ZuRnVuY3Rpb25Db25maWd1cmF0aW9uczogUmVjb3JkPHN0cmluZywgQ2ZuRnVuY3Rpb25Db25maWd1cmF0aW9uPjtcblxuICAvKipcbiAgICogVGhlIEdlbmVyYXRlZCBBcHBTeW5jIERhdGFTb3VyY2UgTDEgUmVzb3VyY2VzLCBrZXllZCBieSBsb2dpY2FsSWQuXG4gICAqL1xuICByZWFkb25seSBjZm5EYXRhU291cmNlczogUmVjb3JkPHN0cmluZywgQ2ZuRGF0YVNvdXJjZT47XG5cbiAgLyoqXG4gICAqIFRoZSBHZW5lcmF0ZWQgRHluYW1vREIgVGFibGUgTDEgUmVzb3VyY2VzLCBrZXllZCBieSBsb2dpY2FsSWQuXG4gICAqL1xuICByZWFkb25seSBjZm5UYWJsZXM6IFJlY29yZDxzdHJpbmcsIENmblRhYmxlPjtcblxuICAvKipcbiAgICogVGhlIEdlbmVyYXRlZCBBbXBsaWZ5IER5bmFtb0RiIFRhYmxlIEwxIHJlc291cmNlIHdyYXBwZXIsIGtleWVkIGJ5IG1vZGVsIHR5cGUgbmFtZS5cbiAgICovXG4gIHJlYWRvbmx5IGFtcGxpZnlEeW5hbW9EYlRhYmxlczogUmVjb3JkPHN0cmluZywgQW1wbGlmeUR5bmFtb0RiVGFibGVXcmFwcGVyPjtcblxuICAvKipcbiAgICogVGhlIEdlbmVyYXRlZCBJQU0gUm9sZSBMMSBSZXNvdXJjZXMsIGtleWVkIGJ5IGxvZ2ljYWxJZC5cbiAgICovXG4gIHJlYWRvbmx5IGNmblJvbGVzOiBSZWNvcmQ8c3RyaW5nLCBDZm5Sb2xlPjtcblxuICAvKipcbiAgICogVGhlIEdlbmVyYXRlZCBMYW1iZGEgRnVuY3Rpb24gTDEgUmVzb3VyY2VzLCBrZXllZCBieSBmdW5jdGlvbiBuYW1lLlxuICAgKi9cbiAgcmVhZG9ubHkgY2ZuRnVuY3Rpb25zOiBSZWNvcmQ8c3RyaW5nLCBDZm5GdW5jdGlvbj47XG5cbiAgLyoqXG4gICAqIFJlbWFpbmluZyBMMSByZXNvdXJjZXMgZ2VuZXJhdGVkLCBrZXllZCBieSBsb2dpY2FsSWQuXG4gICAqL1xuICByZWFkb25seSBhZGRpdGlvbmFsQ2ZuUmVzb3VyY2VzOiBSZWNvcmQ8c3RyaW5nLCBDZm5SZXNvdXJjZT47XG59XG5cbi8qKlxuICogQWNjZXNzaWJsZSByZXNvdXJjZXMgZnJvbSB0aGUgQXBpIHdoaWNoIHdlcmUgZ2VuZXJhdGVkIGFzIHBhcnQgb2YgdGhlIHRyYW5zZm9ybS5cbiAqIFRoZXNlIGFyZSBwb3RlbnRpYWxseSBzdG9yZWQgdW5kZXIgbmVzdGVkIHN0YWNrcywgYnV0IHByZXNlbnRlZCBvcmdhbml6ZWQgYnkgdHlwZSBpbnN0ZWFkLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEFtcGxpZnlHcmFwaHFsQXBpUmVzb3VyY2VzIHtcbiAgLyoqXG4gICAqIFRoZSBHZW5lcmF0ZWQgQXBwU3luYyBBcGkgTDIgUmVzb3VyY2UsIGluY2x1ZGVzIHRoZSBTY2hlbWEuXG4gICAqL1xuICByZWFkb25seSBncmFwaHFsQXBpOiBJR3JhcGhxbEFwaTtcblxuICAvKipcbiAgICogVGhlIEdlbmVyYXRlZCBEeW5hbW9EQiBUYWJsZSBMMiBSZXNvdXJjZXMsIGtleWVkIGJ5IGxvZ2ljYWxJZC5cbiAgICovXG4gIHJlYWRvbmx5IHRhYmxlczogUmVjb3JkPHN0cmluZywgSVRhYmxlPjtcblxuICAvKipcbiAgICogVGhlIEdlbmVyYXRlZCBJQU0gUm9sZSBMMiBSZXNvdXJjZXMsIGtleWVkIGJ5IGxvZ2ljYWxJZC5cbiAgICovXG4gIHJlYWRvbmx5IHJvbGVzOiBSZWNvcmQ8c3RyaW5nLCBJUm9sZT47XG5cbiAgLyoqXG4gICAqIFRoZSBHZW5lcmF0ZWQgTGFtYmRhIEZ1bmN0aW9uIEwxIFJlc291cmNlcywga2V5ZWQgYnkgZnVuY3Rpb24gbmFtZS5cbiAgICovXG4gIHJlYWRvbmx5IGZ1bmN0aW9uczogUmVjb3JkPHN0cmluZywgSUZ1bmN0aW9uPjtcblxuICAvKipcbiAgICogTDEgQ2ZuIFJlc291cmNlcywgZm9yIHdoZW4gZGlwcGluZyBkb3duIGEgbGV2ZWwgb2YgYWJzdHJhY3Rpb24gaXMgZGVzaXJhYmxlLlxuICAgKi9cbiAgcmVhZG9ubHkgY2ZuUmVzb3VyY2VzOiBBbXBsaWZ5R3JhcGhxbEFwaUNmblJlc291cmNlcztcblxuICAvKipcbiAgICogTmVzdGVkIFN0YWNrcyBnZW5lcmF0ZWQgYnkgdGhlIEFwaSBDb25zdHJ1Y3QuXG4gICAqL1xuICByZWFkb25seSBuZXN0ZWRTdGFja3M6IFJlY29yZDxzdHJpbmcsIE5lc3RlZFN0YWNrPjtcbn1cblxuLyoqXG4gKiBJbnB1dCB0eXBlIHByb3BlcnRpZXMgd2hlbiBhZGRpbmcgYSBuZXcgYXBwc3luYy5BcHBzeW5jRnVuY3Rpb24gdG8gdGhlIGdlbmVyYXRlZCBBUEkuXG4gKiBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gdGhlIE9taXQ8YXBwc3luYy5BcHBzeW5jRnVuY3Rpb25Qcm9wcywgJ2FwaSc+LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEFkZEZ1bmN0aW9uUHJvcHMge1xuICAvKipcbiAgICogdGhlIGRhdGEgc291cmNlIGxpbmtlZCB0byB0aGlzIEFwcFN5bmMgRnVuY3Rpb25cbiAgICovXG4gIHJlYWRvbmx5IGRhdGFTb3VyY2U6IEJhc2VEYXRhU291cmNlO1xuXG4gIC8qKlxuICAgKiB0aGUgbmFtZSBvZiB0aGUgQXBwU3luYyBGdW5jdGlvblxuICAgKi9cbiAgcmVhZG9ubHkgbmFtZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiB0aGUgZGVzY3JpcHRpb24gZm9yIHRoaXMgQXBwU3luYyBGdW5jdGlvblxuICAgKlxuICAgKiBAZGVmYXVsdCAtIG5vIGRlc2NyaXB0aW9uXG4gICAqL1xuICByZWFkb25seSBkZXNjcmlwdGlvbj86IHN0cmluZztcblxuICAvKipcbiAgICogdGhlIHJlcXVlc3QgbWFwcGluZyB0ZW1wbGF0ZSBmb3IgdGhlIEFwcFN5bmMgRnVuY3Rpb25cbiAgICpcbiAgICogQGRlZmF1bHQgLSBubyByZXF1ZXN0IG1hcHBpbmcgdGVtcGxhdGVcbiAgICovXG4gIHJlYWRvbmx5IHJlcXVlc3RNYXBwaW5nVGVtcGxhdGU/OiBNYXBwaW5nVGVtcGxhdGU7XG5cbiAgLyoqXG4gICAqIHRoZSByZXNwb25zZSBtYXBwaW5nIHRlbXBsYXRlIGZvciB0aGUgQXBwU3luYyBGdW5jdGlvblxuICAgKlxuICAgKiBAZGVmYXVsdCAtIG5vIHJlc3BvbnNlIG1hcHBpbmcgdGVtcGxhdGVcbiAgICovXG4gIHJlYWRvbmx5IHJlc3BvbnNlTWFwcGluZ1RlbXBsYXRlPzogTWFwcGluZ1RlbXBsYXRlO1xuXG4gIC8qKlxuICAgKiBUaGUgZnVuY3Rpb25zIHJ1bnRpbWVcbiAgICpcbiAgICogQGRlZmF1bHQgLSBubyBmdW5jdGlvbiBydW50aW1lLCBWVEwgbWFwcGluZyB0ZW1wbGF0ZXMgdXNlZFxuICAgKi9cbiAgcmVhZG9ubHkgcnVudGltZT86IEZ1bmN0aW9uUnVudGltZTtcblxuICAvKipcbiAgICogVGhlIGZ1bmN0aW9uIGNvZGVcbiAgICpcbiAgICogQGRlZmF1bHQgLSBubyBjb2RlIGlzIHVzZWRcbiAgICovXG4gIHJlYWRvbmx5IGNvZGU/OiBDb2RlO1xufVxuIl19
|
@@ -3,7 +3,7 @@
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
4
4
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
5
5
|
|
6
|
-
## [4.1.2
|
6
|
+
## [4.1.2](https://github.com/aws-amplify/amplify-category-api/compare/@aws-amplify/graphql-auth-transformer@4.1.1...@aws-amplify/graphql-auth-transformer@4.1.2) (2024-10-01)
|
7
7
|
|
8
8
|
**Note:** Version bump only for package @aws-amplify/graphql-auth-transformer
|
9
9
|
|
package/node_modules/@aws-amplify/graphql-auth-transformer/lib/graphql-auth-transformer.d.ts.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"graphql-auth-transformer.d.ts","sourceRoot":"","sources":["../src/graphql-auth-transformer.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,mBAAmB,EAepB,MAAM,uCAAuC,CAAC;AAC/C,OAAO,EAIL,6CAA6C,EAC7C,0BAA0B,EAE1B,yCAAyC,EACzC,uBAAuB,EACvB,oCAAoC,EACrC,MAAM,6CAA6C,CAAC;AACrD,OAAO,EACL,aAAa,EACb,mBAAmB,EACnB,wBAAwB,EACxB,2BAA2B,EAK5B,MAAM,SAAS,CAAC;AA2BjB,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,EAoBL,cAAc,EAmBf,MAAM,SAAS,CAAC;AASjB,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAgDjE,qBAAa,eAAgB,SAAQ,mBAAoB,YAAW,uBAAuB;IACzF,OAAO,CAAC,uBAAuB,CAA0B;IAEzD,OAAO,CAAC,KAAK,CAAa;IAG1B,OAAO,CAAC,OAAO,CAA8B;IAE7C,OAAO,CAAC,eAAe,CAAmC;IAE1D,OAAO,CAAC,kBAAkB,CAAmC;IAG7D,OAAO,CAAC,oBAAoB,CAA2C;IAGvE,OAAO,CAAC,iBAAiB,CAA2B;IAGpD,OAAO,CAAC,8BAA8B,CAAU;IAEhD,OAAO,CAAC,4BAA4B,CAAU;IAE9C,OAAO,CAAC,mBAAmB,CAAqB;IAEhD,OAAO,CAAC,qBAAqB,CAAqB;;IAiBlD,MAAM,YAAa,oCAAoC,KAAG,IAAI,CAG5D;IAEF,MAAM,QAAS,wBAAwB,aAAa,aAAa,WAAW,yCAAyC,KAAG,IAAI,CAmC1H;IAEF,KAAK,YAAa,0BAA0B,KAAG,IAAI,CAajD;IAEF,KAAK,WACK,wBAAwB,GAAG,2BAA2B,SACvD,mBAAmB,aACf,aAAa,WACf,yCAAyC,KACjD,IAAI,CA8EL;IAEF,eAAe,YAAa,6CAA6C,KAAG,IAAI,CA2E9E;IAEF,iBAAiB,YAAa,0BAA0B,KAAG,IAAI,CAgH7D;IAQF,sCAAsC,YAAa,6CAA6C,KAAG,IAAI,CAWrG;IAEF,8BAA8B,QACvB,0BAA0B,OAC1B,wBAAwB,YACnB,MAAM,aACL,MAAM,KAChB,IAAI,
|
1
|
+
{"version":3,"file":"graphql-auth-transformer.d.ts","sourceRoot":"","sources":["../src/graphql-auth-transformer.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,mBAAmB,EAepB,MAAM,uCAAuC,CAAC;AAC/C,OAAO,EAIL,6CAA6C,EAC7C,0BAA0B,EAE1B,yCAAyC,EACzC,uBAAuB,EACvB,oCAAoC,EACrC,MAAM,6CAA6C,CAAC;AACrD,OAAO,EACL,aAAa,EACb,mBAAmB,EACnB,wBAAwB,EACxB,2BAA2B,EAK5B,MAAM,SAAS,CAAC;AA2BjB,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,EAoBL,cAAc,EAmBf,MAAM,SAAS,CAAC;AASjB,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAgDjE,qBAAa,eAAgB,SAAQ,mBAAoB,YAAW,uBAAuB;IACzF,OAAO,CAAC,uBAAuB,CAA0B;IAEzD,OAAO,CAAC,KAAK,CAAa;IAG1B,OAAO,CAAC,OAAO,CAA8B;IAE7C,OAAO,CAAC,eAAe,CAAmC;IAE1D,OAAO,CAAC,kBAAkB,CAAmC;IAG7D,OAAO,CAAC,oBAAoB,CAA2C;IAGvE,OAAO,CAAC,iBAAiB,CAA2B;IAGpD,OAAO,CAAC,8BAA8B,CAAU;IAEhD,OAAO,CAAC,4BAA4B,CAAU;IAE9C,OAAO,CAAC,mBAAmB,CAAqB;IAEhD,OAAO,CAAC,qBAAqB,CAAqB;;IAiBlD,MAAM,YAAa,oCAAoC,KAAG,IAAI,CAG5D;IAEF,MAAM,QAAS,wBAAwB,aAAa,aAAa,WAAW,yCAAyC,KAAG,IAAI,CAmC1H;IAEF,KAAK,YAAa,0BAA0B,KAAG,IAAI,CAajD;IAEF,KAAK,WACK,wBAAwB,GAAG,2BAA2B,SACvD,mBAAmB,aACf,aAAa,WACf,yCAAyC,KACjD,IAAI,CA8EL;IAEF,eAAe,YAAa,6CAA6C,KAAG,IAAI,CA2E9E;IAEF,iBAAiB,YAAa,0BAA0B,KAAG,IAAI,CAgH7D;IAQF,sCAAsC,YAAa,6CAA6C,KAAG,IAAI,CAWrG;IAEF,8BAA8B,QACvB,0BAA0B,OAC1B,wBAAwB,YACnB,MAAM,aACL,MAAM,KAChB,IAAI,CAuCL;IAEF,uBAAuB,QAChB,6CAA6C,OAC7C,wBAAwB,OACxB,mBAAmB,KACvB,IAAI,CA6DL;IAEF,kBAAkB,QACX,0BAA0B,OAC1B,wBAAwB,YACnB,MAAM,aACL,MAAM,OACZ,mBAAmB,KACvB,IAAI,CAeL;IAEF,mBAAmB,QACZ,0BAA0B,OAC1B,wBAAwB,YACnB,MAAM,aACL,MAAM,OACZ,mBAAmB,cACZ,MAAM,KACjB,IAAI,CAeL;IAEF,yBAAyB,QAClB,0BAA0B,OAC1B,wBAAwB,YACnB,MAAM,SACT,mBAAmB,cACd,MAAM,MAAM,CAAC,uBACL,OAAO,KAC1B,IAAI,CA8HL;IAEF,mBAAmB,QACZ,0BAA0B,OAC1B,wBAAwB,YACnB,MAAM,aACL,MAAM,OACZ,mBAAmB,KACvB,IAAI,CAiBL;IAQF,qBAAqB,QACd,0BAA0B,OAC1B,wBAAwB,YACnB,MAAM,aACL,MAAM,OACZ,mBAAmB,KACvB,IAAI,CAkCL;IAWF,oBAAoB,QACb,0BAA0B,OAC1B,wBAAwB,YACnB,MAAM,aACL,MAAM,SACV,MAAM,MAAM,CAAC,KACnB,IAAI,CAmEL;IAEF,qBAAqB,QACd,0BAA0B,OAC1B,wBAAwB,YACnB,MAAM,aACL,MAAM,OACZ,mBAAmB,KACvB,IAAI,CAoBL;IAEF,qBAAqB,QACd,0BAA0B,OAC1B,wBAAwB,YACnB,MAAM,aACL,MAAM,OACZ,mBAAmB,KACvB,IAAI,CAiCL;IAEF,qBAAqB,QACd,0BAA0B,OAC1B,wBAAwB,YACnB,MAAM,aACL,MAAM,OACZ,mBAAmB,KACvB,IAAI,CA0BL;IAEF,2BAA2B,QACpB,0BAA0B,YACrB,MAAM,aACL,MAAM,qBACE,MAAM,cAAc,CAAC,OACnC,wBAAwB,KAC5B,IAAI,CAUL;IAKF,OAAO,CAAC,mBAAmB;IA8G3B,OAAO,CAAC,6BAA6B;IAOrC,OAAO,CAAC,gBAAgB;IAaxB,qBAAqB,QAAS,0BAA0B,YAAY,MAAM,KAAG,wBAAwB,CASnG;IAKF,iBAAiB,QAAS,6CAA6C,aAAa,MAAM,eAAe,MAAM,MAAM,CAAC,KAAG,IAAI,CAY3H;IAEF,OAAO,CAAC,oCAAoC;IA8C5C,OAAO,CAAC,oBAAoB;IAkD5B,OAAO,CAAC,mBAAmB;IAqD3B,OAAO,CAAC,iBAAiB;IASzB,OAAO,CAAC,mBAAmB;IAS3B,OAAO,CAAC,gCAAgC;IAoBxC,OAAO,CAAC,2BAA2B;IAiBnC,OAAO,CAAC,4BAA4B;IAoBpC,sBAAsB,QACf,0BAA0B,OAC1B,wBAAwB,iBACd,MAAM,EAAE,UACf,SAAS,MAAM,EAAE,KACxB,MAAM,EAAE,CAQT;IAEF,gCAAgC,QACzB,0BAA0B,OAC1B,wBAAwB,iBACd,IAAI,MAAM,CAAC,UAClB,SAAS,MAAM,EAAE,KACxB,IAAI,CAcL;IAEF,2BAA2B,eAAgB,wBAAwB,iBAAiB,IAAI,MAAM,CAAC,KAAG,IAAI,CAoBpG;IAEF,6BAA6B,QACtB,0BAA0B,mBACd,wBAAwB,EAAE,OACtC,wBAAwB,iBACd,IAAI,MAAM,CAAC,KACzB,IAAI,CAqBL;IAKF,4BAA4B,QACrB,0BAA0B,mBACd,wBAAwB,EAAE,UACnC,SAAS,MAAM,EAAE,OACpB,wBAAwB,iBACd,IAAI,MAAM,CAAC,KACzB,IAAI,CA0BL;IAEF,+BAA+B,QAAS,0BAA0B,iBAAiB,IAAI,MAAM,CAAC,KAAG,IAAI,CAGnG;IAEF,eAAe,QAAS,0BAA0B,YAAY,MAAM,UAAU,mBAAmB,KAAG,gBAAgB,CAWlH;CACH"}
|
@@ -348,12 +348,14 @@ class AuthTransformer extends graphql_transformer_core_1.TransformerAuthBase {
|
|
348
348
|
this.addFieldResolverForDynamicAuth = (ctx, def, typeName, fieldName) => {
|
349
349
|
let resolver = ctx.resolvers.getResolver(typeName, fieldName);
|
350
350
|
if (resolver) {
|
351
|
-
resolver.
|
351
|
+
resolver.addVtlFunctionToSlot('finish', undefined, graphql_transformer_core_1.MappingTemplate.s3MappingTemplateFromString(this.getVtlGenerator(ctx, def.name.value).generateFieldResolverForOwner(fieldName), `${typeName}.${fieldName}.{slotName}.{slotIndex}.res.vtl`));
|
352
352
|
}
|
353
353
|
else {
|
354
354
|
const hasModelDirective = def.directives.some((dir) => dir.name.value === 'model');
|
355
355
|
const scope = (0, utils_1.getScopeForField)(ctx, def, fieldName, hasModelDirective);
|
356
|
-
|
356
|
+
const requestMappingTemplate = graphql_transformer_core_1.MappingTemplate.s3MappingTemplateFromString('$util.toJson({"version":"2018-05-29","payload":{}})', `${typeName}.${fieldName}.req.vtl`);
|
357
|
+
const responseMappingTemplate = graphql_transformer_core_1.MappingTemplate.s3MappingTemplateFromString(this.getVtlGenerator(ctx, def.name.value).generateFieldResolverForOwner(fieldName), `${typeName}.${fieldName}.res.vtl`);
|
358
|
+
resolver = ctx.resolvers.addResolver(typeName, fieldName, new graphql_transformer_core_1.TransformerResolver(typeName, fieldName, graphql_transformer_common_1.ResolverResourceIDs.ResolverResourceID(typeName, fieldName), { requestMappingTemplate, responseMappingTemplate }, ['init'], ['finish']));
|
357
359
|
resolver.setScope(scope);
|
358
360
|
}
|
359
361
|
};
|
@@ -421,14 +423,14 @@ class AuthTransformer extends graphql_transformer_core_1.TransformerAuthBase {
|
|
421
423
|
const resolver = ctx.resolvers.getResolver(typeName, fieldName);
|
422
424
|
const roleDefinitions = acm.getRolesPerOperation('get').map((r) => this.roleMap.get(r));
|
423
425
|
const authExpression = this.getVtlGenerator(ctx, def.name.value).generateAuthExpressionForQueries(ctx, this.configuredAuthProviders, roleDefinitions, (_a = def.fields) !== null && _a !== void 0 ? _a : [], def, undefined);
|
424
|
-
resolver.
|
426
|
+
resolver.addVtlFunctionToSlot('auth', graphql_transformer_core_1.MappingTemplate.s3MappingTemplateFromString(authExpression, `${typeName}.${fieldName}.{slotName}.{slotIndex}.req.vtl`));
|
425
427
|
};
|
426
428
|
this.protectListResolver = (ctx, def, typeName, fieldName, acm, indexName) => {
|
427
429
|
var _a;
|
428
430
|
const resolver = ctx.resolvers.getResolver(typeName, fieldName);
|
429
431
|
const roleDefinitions = acm.getRolesPerOperation('list').map((r) => this.roleMap.get(r));
|
430
432
|
const authExpression = this.getVtlGenerator(ctx, def.name.value).generateAuthExpressionForQueries(ctx, this.configuredAuthProviders, roleDefinitions, (_a = def.fields) !== null && _a !== void 0 ? _a : [], def, indexName);
|
431
|
-
resolver.
|
433
|
+
resolver.addVtlFunctionToSlot('auth', graphql_transformer_core_1.MappingTemplate.s3MappingTemplateFromString(authExpression, `${typeName}.${fieldName}.{slotName}.{slotIndex}.req.vtl`));
|
432
434
|
};
|
433
435
|
this.protectRelationalResolver = (ctx, def, typeName, field, fieldRoles, needsFieldResolver = false) => {
|
434
436
|
var _a, _b, _c;
|
@@ -490,10 +492,10 @@ class AuthTransformer extends graphql_transformer_core_1.TransformerAuthBase {
|
|
490
492
|
}
|
491
493
|
const resolver = ctx.resolvers.getResolver(typeName, field.name.value);
|
492
494
|
if (fieldAuthExpression) {
|
493
|
-
resolver.
|
495
|
+
resolver.addVtlFunctionToSlot('auth', graphql_transformer_core_1.MappingTemplate.s3MappingTemplateFromString(fieldAuthExpression, `${typeName}.${field.name.value}.{slotName}.{slotIndex}.req.vtl`), graphql_transformer_core_1.MappingTemplate.s3MappingTemplateFromString(relatedAuthExpression, `${typeName}.${field.name.value}.{slotName}.{slotIndex}.res.vtl`));
|
494
496
|
}
|
495
497
|
else {
|
496
|
-
resolver.
|
498
|
+
resolver.addVtlFunctionToSlot('auth', graphql_transformer_core_1.MappingTemplate.s3MappingTemplateFromString(relatedAuthExpression, `${typeName}.${field.name.value}.{slotName}.{slotIndex}.req.vtl`));
|
497
499
|
}
|
498
500
|
};
|
499
501
|
this.protectSyncResolver = (ctx, def, typeName, fieldName, acm) => {
|
@@ -502,7 +504,7 @@ class AuthTransformer extends graphql_transformer_core_1.TransformerAuthBase {
|
|
502
504
|
const resolver = ctx.resolvers.getResolver(typeName, fieldName);
|
503
505
|
const roleDefinitions = acm.getRolesPerOperation('sync').map((r) => this.roleMap.get(r));
|
504
506
|
const authExpression = this.getVtlGenerator(ctx, def.name.value).generateAuthExpressionForQueries(ctx, this.configuredAuthProviders, roleDefinitions, (_a = def.fields) !== null && _a !== void 0 ? _a : [], def, undefined);
|
505
|
-
resolver.
|
507
|
+
resolver.addVtlFunctionToSlot('auth', graphql_transformer_core_1.MappingTemplate.s3MappingTemplateFromString(authExpression, `${typeName}.${fieldName}.{slotName}.{slotIndex}.req.vtl`));
|
506
508
|
}
|
507
509
|
};
|
508
510
|
this.protectSearchResolver = (ctx, def, typeName, fieldName, acm) => {
|
@@ -526,7 +528,7 @@ class AuthTransformer extends graphql_transformer_core_1.TransformerAuthBase {
|
|
526
528
|
});
|
527
529
|
allowedAggFields.push(...leastAllowedFields);
|
528
530
|
const authExpression = this.getVtlGenerator(ctx, def.name.value).generateAuthExpressionForSearchQueries(this.configuredAuthProviders, readRoleDefinitions, modelFields, allowedAggFields);
|
529
|
-
resolver.
|
531
|
+
resolver.addVtlFunctionToSlot('auth', graphql_transformer_core_1.MappingTemplate.s3MappingTemplateFromString(authExpression, `${typeName}.${fieldName}.{slotName}.{slotIndex}.req.vtl`));
|
530
532
|
};
|
531
533
|
this.protectFieldResolver = (ctx, def, typeName, fieldName, roles) => {
|
532
534
|
var _a, _b;
|
@@ -540,7 +542,7 @@ class AuthTransformer extends graphql_transformer_core_1.TransformerAuthBase {
|
|
540
542
|
if (!ctx.api.host.hasDataSource(utils_1.NONE_DS)) {
|
541
543
|
ctx.api.host.addNoneDataSource(utils_1.NONE_DS);
|
542
544
|
}
|
543
|
-
const authFunction = ctx.api.host.
|
545
|
+
const authFunction = ctx.api.host.addAppSyncVtlRuntimeFunction(`${(0, graphql_transformer_common_1.toUpper)(typeName)}${(0, graphql_transformer_common_1.toUpper)(fieldName)}AuthFN`, graphql_transformer_core_1.MappingTemplate.s3MappingTemplateFromString(fieldAuthExpression, `${typeName}.${fieldName}.auth.req.vtl`), graphql_transformer_core_1.MappingTemplate.inlineTemplateFromString('$util.toJson({})'), utils_1.NONE_DS, scope);
|
544
546
|
fieldResolver.pipelineConfig.functions.unshift(authFunction.functionId);
|
545
547
|
}
|
546
548
|
else {
|
@@ -550,11 +552,13 @@ class AuthTransformer extends graphql_transformer_core_1.TransformerAuthBase {
|
|
550
552
|
const existingResolver = ctx.resolvers.hasResolver(typeName, fieldName);
|
551
553
|
if (existingResolver) {
|
552
554
|
const resolver = ctx.resolvers.getResolver(typeName, fieldName);
|
553
|
-
resolver.
|
555
|
+
resolver.addVtlFunctionToSlot('auth', graphql_transformer_core_1.MappingTemplate.s3MappingTemplateFromString(fieldAuthExpression, `${typeName}.${fieldName}.{slotName}.{slotIndex}.req.vtl`), graphql_transformer_core_1.MappingTemplate.s3MappingTemplateFromString(fieldResponse, `${typeName}.${fieldName}.{slotName}.{slotIndex}.res.vtl`));
|
554
556
|
resolver.setScope(scope);
|
555
557
|
}
|
556
558
|
else {
|
557
|
-
const
|
559
|
+
const requestMappingTemplate = graphql_transformer_core_1.MappingTemplate.s3MappingTemplateFromString(fieldAuthExpression, `${typeName}.${fieldName}.req.vtl`);
|
560
|
+
const responseMappingTemplate = graphql_transformer_core_1.MappingTemplate.s3MappingTemplateFromString(fieldResponse, `${typeName}.${fieldName}.res.vtl`);
|
561
|
+
const resolver = ctx.resolvers.addResolver(typeName, fieldName, new graphql_transformer_core_1.TransformerResolver(typeName, fieldName, graphql_transformer_common_1.ResolverResourceIDs.ResolverResourceID(typeName, fieldName), { requestMappingTemplate, responseMappingTemplate }, ['init'], ['finish']));
|
558
562
|
resolver.setScope(scope);
|
559
563
|
}
|
560
564
|
}
|
@@ -571,7 +575,7 @@ class AuthTransformer extends graphql_transformer_core_1.TransformerAuthBase {
|
|
571
575
|
return roleDefinition;
|
572
576
|
});
|
573
577
|
const authExpression = this.getVtlGenerator(ctx, def.name.value).generateAuthExpressionForCreate(ctx, this.configuredAuthProviders, createRoles, (_a = def.fields) !== null && _a !== void 0 ? _a : []);
|
574
|
-
resolver.
|
578
|
+
resolver.addVtlFunctionToSlot('auth', graphql_transformer_core_1.MappingTemplate.s3MappingTemplateFromString(authExpression, `${typeName}.${fieldName}.{slotName}.{slotIndex}.req.vtl`));
|
575
579
|
};
|
576
580
|
this.protectUpdateResolver = (ctx, def, typeName, fieldName, acm) => {
|
577
581
|
var _a;
|
@@ -592,7 +596,7 @@ class AuthTransformer extends graphql_transformer_core_1.TransformerAuthBase {
|
|
592
596
|
const dataSource = ctx.api.host.getDataSource(dataSourceName);
|
593
597
|
const requestExpression = this.getVtlGenerator(ctx, def.name.value).generateAuthRequestExpression(ctx, def);
|
594
598
|
const authExpression = this.getVtlGenerator(ctx, def.name.value).generateAuthExpressionForUpdate(this.configuredAuthProviders, totalRoles, (_a = def.fields) !== null && _a !== void 0 ? _a : []);
|
595
|
-
resolver.
|
599
|
+
resolver.addVtlFunctionToSlot('auth', graphql_transformer_core_1.MappingTemplate.s3MappingTemplateFromString(requestExpression, `${typeName}.${fieldName}.{slotName}.{slotIndex}.req.vtl`), graphql_transformer_core_1.MappingTemplate.s3MappingTemplateFromString(authExpression, `${typeName}.${fieldName}.{slotName}.{slotIndex}.res.vtl`), dataSource);
|
596
600
|
};
|
597
601
|
this.protectDeleteResolver = (ctx, def, typeName, fieldName, acm) => {
|
598
602
|
var _a;
|
@@ -609,12 +613,12 @@ class AuthTransformer extends graphql_transformer_core_1.TransformerAuthBase {
|
|
609
613
|
const dataSource = ctx.api.host.getDataSource(dataSourceName);
|
610
614
|
const requestExpression = this.getVtlGenerator(ctx, def.name.value).generateAuthRequestExpression(ctx, def);
|
611
615
|
const authExpression = this.getVtlGenerator(ctx, def.name.value).generateAuthExpressionForDelete(this.configuredAuthProviders, deleteRoles, (_a = def.fields) !== null && _a !== void 0 ? _a : []);
|
612
|
-
resolver.
|
616
|
+
resolver.addVtlFunctionToSlot('auth', graphql_transformer_core_1.MappingTemplate.s3MappingTemplateFromString(requestExpression, `${typeName}.${fieldName}.{slotName}.{slotIndex}.req.vtl`), graphql_transformer_core_1.MappingTemplate.s3MappingTemplateFromString(authExpression, `${typeName}.${fieldName}.{slotName}.{slotIndex}.res.vtl`), dataSource);
|
613
617
|
};
|
614
618
|
this.protectSubscriptionResolver = (ctx, typeName, fieldName, subscriptionRoles, def) => {
|
615
619
|
const resolver = ctx.resolvers.getResolver(typeName, fieldName);
|
616
620
|
const authExpression = this.getVtlGenerator(ctx, def.name.value).generateAuthExpressionForSubscriptions(this.configuredAuthProviders, subscriptionRoles);
|
617
|
-
resolver.
|
621
|
+
resolver.addVtlFunctionToSlot('auth', graphql_transformer_core_1.MappingTemplate.s3MappingTemplateFromString(authExpression, `${typeName}.${fieldName}.{slotName}.{slotIndex}.req.vtl`));
|
618
622
|
};
|
619
623
|
this.getRelatedModelObject = (ctx, typeName) => {
|
620
624
|
const modelObjectName = graphql_transformer_common_1.ModelResourceIDs.IsModelConnectionType(typeName)
|