@aws-amplify/graphql-api-construct 1.9.0-gen2-release-0418-2.0 → 1.9.0-gen2-release-0423.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (157) hide show
  1. package/.jsii +72 -58
  2. package/API.md +1 -1
  3. package/CHANGELOG.md +3 -1
  4. package/README.md +156 -24
  5. package/lib/amplify-dynamodb-table-wrapper.js +1 -1
  6. package/lib/amplify-graphql-api.js +7 -10
  7. package/lib/amplify-graphql-definition.js +1 -1
  8. package/lib/internal/asset-provider.d.ts +26 -0
  9. package/lib/internal/asset-provider.js +58 -0
  10. package/lib/internal/data-source-config.js +12 -2
  11. package/lib/internal/index.d.ts +1 -1
  12. package/lib/internal/index.js +2 -2
  13. package/lib/model-datasource-strategy-types.d.ts +7 -2
  14. package/lib/model-datasource-strategy-types.js +1 -1
  15. package/lib/sql-model-datasource-strategy.js +4 -3
  16. package/node_modules/@aws-amplify/graphql-auth-transformer/CHANGELOG.md +5 -1
  17. package/node_modules/@aws-amplify/graphql-auth-transformer/package.json +13 -13
  18. package/node_modules/@aws-amplify/graphql-default-value-transformer/CHANGELOG.md +1 -1
  19. package/node_modules/@aws-amplify/graphql-default-value-transformer/package.json +8 -8
  20. package/node_modules/@aws-amplify/graphql-directives/CHANGELOG.md +1 -1
  21. package/node_modules/@aws-amplify/graphql-directives/package.json +2 -2
  22. package/node_modules/@aws-amplify/graphql-function-transformer/CHANGELOG.md +1 -1
  23. package/node_modules/@aws-amplify/graphql-function-transformer/package.json +7 -7
  24. package/node_modules/@aws-amplify/graphql-http-transformer/CHANGELOG.md +1 -1
  25. package/node_modules/@aws-amplify/graphql-http-transformer/package.json +7 -7
  26. package/node_modules/@aws-amplify/graphql-index-transformer/CHANGELOG.md +2 -1
  27. package/node_modules/@aws-amplify/graphql-index-transformer/lib/schema.js +8 -3
  28. package/node_modules/@aws-amplify/graphql-index-transformer/lib/schema.js.map +1 -1
  29. package/node_modules/@aws-amplify/graphql-index-transformer/package.json +8 -8
  30. package/node_modules/@aws-amplify/graphql-maps-to-transformer/CHANGELOG.md +1 -1
  31. package/node_modules/@aws-amplify/graphql-maps-to-transformer/lib/assets/mapping-lambda.zip +0 -0
  32. package/node_modules/@aws-amplify/graphql-maps-to-transformer/package.json +11 -11
  33. package/node_modules/@aws-amplify/graphql-model-transformer/CHANGELOG.md +2 -1
  34. package/node_modules/@aws-amplify/graphql-model-transformer/lib/rds-lambda.zip +0 -0
  35. package/node_modules/@aws-amplify/graphql-model-transformer/lib/rds-notification-lambda.zip +0 -0
  36. package/node_modules/@aws-amplify/graphql-model-transformer/lib/rds-patching-lambda.zip +0 -0
  37. package/node_modules/@aws-amplify/graphql-model-transformer/lib/resolvers/rds/resolver.d.ts.map +1 -1
  38. package/node_modules/@aws-amplify/graphql-model-transformer/lib/resolvers/rds/resolver.js +4 -1
  39. package/node_modules/@aws-amplify/graphql-model-transformer/lib/resolvers/rds/resolver.js.map +1 -1
  40. package/node_modules/@aws-amplify/graphql-model-transformer/lib/resources/rds-model-resource-generator.js +1 -1
  41. package/node_modules/@aws-amplify/graphql-model-transformer/lib/resources/rds-model-resource-generator.js.map +1 -1
  42. package/node_modules/@aws-amplify/graphql-model-transformer/package.json +7 -7
  43. package/node_modules/@aws-amplify/graphql-predictions-transformer/CHANGELOG.md +1 -1
  44. package/node_modules/@aws-amplify/graphql-predictions-transformer/lib/predictionsLambdaFunction.zip +0 -0
  45. package/node_modules/@aws-amplify/graphql-predictions-transformer/package.json +7 -7
  46. package/node_modules/@aws-amplify/graphql-relational-transformer/CHANGELOG.md +2 -1
  47. package/node_modules/@aws-amplify/graphql-relational-transformer/lib/belongs-to/belongs-to-directive-ddb-references-transformer.d.ts.map +1 -1
  48. package/node_modules/@aws-amplify/graphql-relational-transformer/lib/belongs-to/belongs-to-directive-ddb-references-transformer.js +1 -0
  49. package/node_modules/@aws-amplify/graphql-relational-transformer/lib/belongs-to/belongs-to-directive-ddb-references-transformer.js.map +1 -1
  50. package/node_modules/@aws-amplify/graphql-relational-transformer/lib/belongs-to/belongs-to-directive-sql-transformer.d.ts.map +1 -1
  51. package/node_modules/@aws-amplify/graphql-relational-transformer/lib/belongs-to/belongs-to-directive-sql-transformer.js +1 -0
  52. package/node_modules/@aws-amplify/graphql-relational-transformer/lib/belongs-to/belongs-to-directive-sql-transformer.js.map +1 -1
  53. package/node_modules/@aws-amplify/graphql-relational-transformer/lib/belongs-to/belongs-to-directive-transformer-factory.d.ts.map +1 -1
  54. package/node_modules/@aws-amplify/graphql-relational-transformer/lib/belongs-to/belongs-to-directive-transformer-factory.js +2 -1
  55. package/node_modules/@aws-amplify/graphql-relational-transformer/lib/belongs-to/belongs-to-directive-transformer-factory.js.map +1 -1
  56. package/node_modules/@aws-amplify/graphql-relational-transformer/lib/graphql-has-many-transformer.d.ts.map +1 -1
  57. package/node_modules/@aws-amplify/graphql-relational-transformer/lib/graphql-has-many-transformer.js +11 -4
  58. package/node_modules/@aws-amplify/graphql-relational-transformer/lib/graphql-has-many-transformer.js.map +1 -1
  59. package/node_modules/@aws-amplify/graphql-relational-transformer/lib/graphql-has-one-transformer.d.ts.map +1 -1
  60. package/node_modules/@aws-amplify/graphql-relational-transformer/lib/graphql-has-one-transformer.js +8 -1
  61. package/node_modules/@aws-amplify/graphql-relational-transformer/lib/graphql-has-one-transformer.js.map +1 -1
  62. package/node_modules/@aws-amplify/graphql-relational-transformer/lib/has-many/has-many-directive-ddb-references-transformer.d.ts.map +1 -1
  63. package/node_modules/@aws-amplify/graphql-relational-transformer/lib/has-many/has-many-directive-ddb-references-transformer.js +2 -1
  64. package/node_modules/@aws-amplify/graphql-relational-transformer/lib/has-many/has-many-directive-ddb-references-transformer.js.map +1 -1
  65. package/node_modules/@aws-amplify/graphql-relational-transformer/lib/has-many/has-many-directive-sql-transformer.d.ts.map +1 -1
  66. package/node_modules/@aws-amplify/graphql-relational-transformer/lib/has-many/has-many-directive-sql-transformer.js +2 -1
  67. package/node_modules/@aws-amplify/graphql-relational-transformer/lib/has-many/has-many-directive-sql-transformer.js.map +1 -1
  68. package/node_modules/@aws-amplify/graphql-relational-transformer/lib/has-many/has-many-directive-transformer-factory.d.ts.map +1 -1
  69. package/node_modules/@aws-amplify/graphql-relational-transformer/lib/has-many/has-many-directive-transformer-factory.js +3 -2
  70. package/node_modules/@aws-amplify/graphql-relational-transformer/lib/has-many/has-many-directive-transformer-factory.js.map +1 -1
  71. package/node_modules/@aws-amplify/graphql-relational-transformer/lib/has-one/has-one-directive-ddb-references-transformer.d.ts.map +1 -1
  72. package/node_modules/@aws-amplify/graphql-relational-transformer/lib/has-one/has-one-directive-ddb-references-transformer.js +2 -1
  73. package/node_modules/@aws-amplify/graphql-relational-transformer/lib/has-one/has-one-directive-ddb-references-transformer.js.map +1 -1
  74. package/node_modules/@aws-amplify/graphql-relational-transformer/lib/has-one/has-one-directive-sql-transformer.d.ts.map +1 -1
  75. package/node_modules/@aws-amplify/graphql-relational-transformer/lib/has-one/has-one-directive-sql-transformer.js +2 -1
  76. package/node_modules/@aws-amplify/graphql-relational-transformer/lib/has-one/has-one-directive-sql-transformer.js.map +1 -1
  77. package/node_modules/@aws-amplify/graphql-relational-transformer/lib/has-one/has-one-directive-transformer-factory.d.ts.map +1 -1
  78. package/node_modules/@aws-amplify/graphql-relational-transformer/lib/has-one/has-one-directive-transformer-factory.js +2 -1
  79. package/node_modules/@aws-amplify/graphql-relational-transformer/lib/has-one/has-one-directive-transformer-factory.js.map +1 -1
  80. package/node_modules/@aws-amplify/graphql-relational-transformer/lib/resolver/ddb-references-generator.d.ts.map +1 -1
  81. package/node_modules/@aws-amplify/graphql-relational-transformer/lib/resolver/ddb-references-generator.js +2 -2
  82. package/node_modules/@aws-amplify/graphql-relational-transformer/lib/resolver/ddb-references-generator.js.map +1 -1
  83. package/node_modules/@aws-amplify/graphql-relational-transformer/lib/resolvers.d.ts.map +1 -1
  84. package/node_modules/@aws-amplify/graphql-relational-transformer/lib/resolvers.js +5 -3
  85. package/node_modules/@aws-amplify/graphql-relational-transformer/lib/resolvers.js.map +1 -1
  86. package/node_modules/@aws-amplify/graphql-relational-transformer/lib/types.d.ts +1 -0
  87. package/node_modules/@aws-amplify/graphql-relational-transformer/lib/types.d.ts.map +1 -1
  88. package/node_modules/@aws-amplify/graphql-relational-transformer/lib/utils.d.ts +2 -2
  89. package/node_modules/@aws-amplify/graphql-relational-transformer/lib/utils.d.ts.map +1 -1
  90. package/node_modules/@aws-amplify/graphql-relational-transformer/lib/utils.js +101 -8
  91. package/node_modules/@aws-amplify/graphql-relational-transformer/lib/utils.js.map +1 -1
  92. package/node_modules/@aws-amplify/graphql-relational-transformer/package.json +9 -9
  93. package/node_modules/@aws-amplify/graphql-searchable-transformer/CHANGELOG.md +1 -1
  94. package/node_modules/@aws-amplify/graphql-searchable-transformer/lib/streaming-lambda.zip +0 -0
  95. package/node_modules/@aws-amplify/graphql-searchable-transformer/package.json +8 -8
  96. package/node_modules/@aws-amplify/graphql-sql-transformer/CHANGELOG.md +1 -1
  97. package/node_modules/@aws-amplify/graphql-sql-transformer/package.json +8 -8
  98. package/node_modules/@aws-amplify/graphql-transformer/CHANGELOG.md +1 -1
  99. package/node_modules/@aws-amplify/graphql-transformer/package.json +15 -15
  100. package/node_modules/@aws-amplify/graphql-transformer-core/API.md +1 -1
  101. package/node_modules/@aws-amplify/graphql-transformer-core/CHANGELOG.md +4 -2
  102. package/node_modules/@aws-amplify/graphql-transformer-core/lib/appsync-function.js +2 -2
  103. package/node_modules/@aws-amplify/graphql-transformer-core/lib/appsync-function.js.map +1 -1
  104. package/node_modules/@aws-amplify/graphql-transformer-core/lib/cdk-compat/schema-asset.d.ts.map +1 -1
  105. package/node_modules/@aws-amplify/graphql-transformer-core/lib/cdk-compat/schema-asset.js +1 -2
  106. package/node_modules/@aws-amplify/graphql-transformer-core/lib/cdk-compat/schema-asset.js.map +1 -1
  107. package/node_modules/@aws-amplify/graphql-transformer-core/lib/cdk-compat/template-asset.d.ts +3 -3
  108. package/node_modules/@aws-amplify/graphql-transformer-core/lib/cdk-compat/template-asset.d.ts.map +1 -1
  109. package/node_modules/@aws-amplify/graphql-transformer-core/lib/cdk-compat/template-asset.js +4 -5
  110. package/node_modules/@aws-amplify/graphql-transformer-core/lib/cdk-compat/template-asset.js.map +1 -1
  111. package/node_modules/@aws-amplify/graphql-transformer-core/lib/graphql-api.d.ts +3 -1
  112. package/node_modules/@aws-amplify/graphql-transformer-core/lib/graphql-api.d.ts.map +1 -1
  113. package/node_modules/@aws-amplify/graphql-transformer-core/lib/graphql-api.js +1 -0
  114. package/node_modules/@aws-amplify/graphql-transformer-core/lib/graphql-api.js.map +1 -1
  115. package/node_modules/@aws-amplify/graphql-transformer-core/lib/transform-host.js +5 -5
  116. package/node_modules/@aws-amplify/graphql-transformer-core/lib/transform-host.js.map +1 -1
  117. package/node_modules/@aws-amplify/graphql-transformer-core/lib/transformation/transform.d.ts +1 -1
  118. package/node_modules/@aws-amplify/graphql-transformer-core/lib/transformation/transform.d.ts.map +1 -1
  119. package/node_modules/@aws-amplify/graphql-transformer-core/lib/transformation/transform.js +3 -2
  120. package/node_modules/@aws-amplify/graphql-transformer-core/lib/transformation/transform.js.map +1 -1
  121. package/node_modules/@aws-amplify/graphql-transformer-core/lib/transformer-context/index.d.ts +1 -0
  122. package/node_modules/@aws-amplify/graphql-transformer-core/lib/transformer-context/index.d.ts.map +1 -1
  123. package/node_modules/@aws-amplify/graphql-transformer-core/lib/transformer-context/index.js +1 -2
  124. package/node_modules/@aws-amplify/graphql-transformer-core/lib/transformer-context/index.js.map +1 -1
  125. package/node_modules/@aws-amplify/graphql-transformer-core/package.json +5 -5
  126. package/node_modules/@aws-amplify/graphql-transformer-interfaces/API.md +9 -6
  127. package/node_modules/@aws-amplify/graphql-transformer-interfaces/CHANGELOG.md +3 -1
  128. package/node_modules/@aws-amplify/graphql-transformer-interfaces/lib/asset-provider.d.ts +2 -2
  129. package/node_modules/@aws-amplify/graphql-transformer-interfaces/lib/asset-provider.d.ts.map +1 -1
  130. package/node_modules/@aws-amplify/graphql-transformer-interfaces/lib/graphql-api-provider.d.ts +4 -2
  131. package/node_modules/@aws-amplify/graphql-transformer-interfaces/lib/graphql-api-provider.d.ts.map +1 -1
  132. package/node_modules/@aws-amplify/graphql-transformer-interfaces/lib/graphql-api-provider.js.map +1 -1
  133. package/node_modules/@aws-amplify/graphql-transformer-interfaces/lib/model-datasource/types.d.ts +1 -1
  134. package/node_modules/@aws-amplify/graphql-transformer-interfaces/lib/model-datasource/types.d.ts.map +1 -1
  135. package/node_modules/@aws-amplify/graphql-transformer-interfaces/lib/model-datasource/types.js +2 -1
  136. package/node_modules/@aws-amplify/graphql-transformer-interfaces/lib/model-datasource/types.js.map +1 -1
  137. package/node_modules/@aws-amplify/graphql-transformer-interfaces/package.json +2 -2
  138. package/node_modules/@aws-amplify/graphql-transformer-interfaces/src/asset-provider.ts +2 -2
  139. package/node_modules/@aws-amplify/graphql-transformer-interfaces/src/graphql-api-provider.ts +4 -2
  140. package/node_modules/@aws-amplify/graphql-transformer-interfaces/src/model-datasource/types.ts +5 -2
  141. package/node_modules/@aws-amplify/graphql-transformer-interfaces/tsconfig.tsbuildinfo +1 -1
  142. package/node_modules/graphql-transformer-common/CHANGELOG.md +1 -1
  143. package/node_modules/graphql-transformer-common/package.json +2 -2
  144. package/package.json +19 -19
  145. package/src/amplify-graphql-api.ts +6 -11
  146. package/src/internal/asset-provider.ts +64 -0
  147. package/src/internal/data-source-config.ts +12 -1
  148. package/src/internal/index.ts +1 -1
  149. package/src/model-datasource-strategy-types.ts +7 -2
  150. package/src/sql-model-datasource-strategy.ts +4 -1
  151. package/lib/internal/asset-manager.d.ts +0 -12
  152. package/lib/internal/asset-manager.js +0 -44
  153. package/node_modules/@aws-amplify/graphql-transformer-core/lib/transformer-context/asset-manager.d.ts +0 -10
  154. package/node_modules/@aws-amplify/graphql-transformer-core/lib/transformer-context/asset-manager.d.ts.map +0 -1
  155. package/node_modules/@aws-amplify/graphql-transformer-core/lib/transformer-context/asset-manager.js +0 -20
  156. package/node_modules/@aws-amplify/graphql-transformer-core/lib/transformer-context/asset-manager.js.map +0 -1
  157. package/src/internal/asset-manager.ts +0 -43
@@ -101,5 +101,5 @@ class AmplifyGraphqlDefinition {
101
101
  }
102
102
  exports.AmplifyGraphqlDefinition = AmplifyGraphqlDefinition;
103
103
  _a = JSII_RTTI_SYMBOL_1;
104
- AmplifyGraphqlDefinition[_a] = { fqn: "@aws-amplify/graphql-api-construct.AmplifyGraphqlDefinition", version: "1.9.0-gen2-release-0418-2.0" };
104
+ AmplifyGraphqlDefinition[_a] = { fqn: "@aws-amplify/graphql-api-construct.AmplifyGraphqlDefinition", version: "1.9.0-gen2-release-0423.0" };
105
105
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW1wbGlmeS1ncmFwaHFsLWRlZmluaXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvYW1wbGlmeS1ncmFwaHFsLWRlZmluaXRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSx5QkFBeUI7QUFDekIseURBQXFEO0FBQ3JELG9GQUFzRTtBQUV0RSx5Q0FBMkQ7QUFFM0Qsc0VBSXVDO0FBRTFCLFFBQUEsa0NBQWtDLEdBQTRCO0lBQ3pFLE1BQU0sRUFBRSxVQUFVO0lBQ2xCLGlCQUFpQixFQUFFLFNBQVM7Q0FDN0IsQ0FBQztBQUVGOztHQUVHO0FBQ0gsTUFBYSx3QkFBd0I7SUFDbkM7Ozs7OztPQU1HO0lBQ0gsTUFBTSxDQUFDLFVBQVUsQ0FDZixNQUFjLEVBQ2QscUJBQThDLDBDQUFrQztRQUVoRixJQUFBLCtDQUEwQixFQUFDLGtCQUFrQixDQUFDLENBQUM7UUFDL0MsT0FBTztZQUNMLE1BQU07WUFDTixhQUFhLEVBQUUsRUFBRTtZQUNqQix5QkFBeUIsRUFBRSxFQUFFO1lBQzdCLG9CQUFvQixFQUFFLElBQUEsd0NBQTZCLEVBQUMsTUFBTSxFQUFFLGtCQUFrQixDQUFDO1lBQy9FLDZCQUE2QixFQUFFLElBQUEsMkRBQXNDLEVBQUMsTUFBTSxFQUFFLGtCQUFrQixDQUFDO1NBQ2xHLENBQUM7SUFDSixDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILE1BQU0sQ0FBQyxTQUFTLENBQUMsR0FBRyxTQUFtQjtRQUNyQyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsRUFBRTtZQUM3QixTQUFTLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQztTQUN6QjtRQUNELE1BQU0sTUFBTSxHQUFHLFNBQVMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDLElBQUksd0JBQVUsQ0FBQyxFQUFFLFFBQVEsRUFBRSxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUs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LEVBQUUsRUFBRSxDQUFDO1lBQ3JHLDZCQUE2QjtTQUM5QixDQUFDO0lBQ0osQ0FBQzs7QUFwR0gsNERBcUdDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgb3MgZnJvbSAnb3MnO1xuaW1wb3J0IHsgU2NoZW1hRmlsZSB9IGZyb20gJ2F3cy1jZGstbGliL2F3cy1hcHBzeW5jJztcbmltcG9ydCB7IGlzU3FsU3RyYXRlZ3kgfSBmcm9tICdAYXdzLWFtcGxpZnkvZ3JhcGhxbC10cmFuc2Zvcm1lci1jb3JlJztcbmltcG9ydCB7IElBbXBsaWZ5R3JhcGhxbERlZmluaXRpb24gfSBmcm9tICcuL3R5cGVzJztcbmltcG9ydCB7IGNvbnN0cnVjdERhdGFTb3VyY2VTdHJhdGVnaWVzIH0gZnJvbSAnLi9pbnRlcm5hbCc7XG5pbXBvcnQgeyBDdXN0b21TcWxEYXRhU291cmNlU3RyYXRlZ3ksIE1vZGVsRGF0YVNvdXJjZVN0cmF0ZWd5IH0gZnJvbSAnLi9tb2RlbC1kYXRhc291cmNlLXN0cmF0ZWd5LXR5cGVzJztcbmltcG9ydCB7XG4gIGNvbnN0cnVjdEN1c3RvbVNxbERhdGFTb3VyY2VTdHJhdGVnaWVzLFxuICBzY2hlbWFCeU1lcmdpbmdEZWZpbml0aW9ucyxcbiAgdmFsaWRhdGVEYXRhU291cmNlU3RyYXRlZ3ksXG59IGZyb20gJy4vaW50ZXJuYWwvZGF0YS1zb3VyY2UtY29uZmlnJztcblxuZXhwb3J0IGNvbnN0IERFRkFVTFRfTU9ERUxfREFUQV9TT1VSQ0VfU1RSQVRFR1k6IE1vZGVsRGF0YVNvdXJjZVN0cmF0ZWd5ID0ge1xuICBkYlR5cGU6ICdEWU5BTU9EQicsXG4gIHByb3Zpc2lvblN0cmF0ZWd5OiAnREVGQVVMVCcsXG59O1xuXG4vKipcbiAqIENsYXNzIGV4cG9zaW5nIHV0aWxpdGllcyB0byBwcm9kdWNlIElBbXBsaWZ5R3JhcGhxbERlZmluaXRpb24gb2JqZWN0cyBnaXZlbiB2YXJpb3VzIGlucHV0cy5cbiAqL1xuZXhwb3J0IGNsYXNzIEFtcGxpZnlHcmFwaHFsRGVmaW5pdGlvbiB7XG4gIC8qKlxuICAgKiBQcm9kdWNlIGEgc2NoZW1hIGRlZmluaXRpb24gZnJvbSBhIHN0cmluZyBpbnB1dC5cbiAgICogQHBhcmFtIHNjaGVtYSB0aGUgZ3JhcGhxbCBpbnB1dCBhcyBhIHN0cmluZ1xuICAgKiBAcGFyYW0gZGF0YVNvdXJjZVN0cmF0ZWd5IHRoZSBwcm92aXNpb25pbmcgZGVmaW5pdGlvbiBmb3IgZGF0YXNvdXJjZXMgdGhhdCByZXNvbHZlIGBAbW9kZWxgcyBhbmQgY3VzdG9tIFNRTCBzdGF0ZW1lbnRzIGluIHRoaXMgc2NoZW1hLlxuICAgKiBUaGUgRHluYW1vREIgZnJvbSBDbG91ZEZvcm1hdGlvbiB3aWxsIGJlIHVzZWQgYnkgZGVmYXVsdC5cbiAgICogQHJldHVybnMgYSBmdWxseSBmb3JtZWQgYW1wbGlmeSBncmFwaHFsIGRlZmluaXRpb25cbiAgICovXG4gIHN0YXRpYyBmcm9tU3RyaW5nKFxuICAgIHNjaGVtYTogc3RyaW5nLFxuICAgIGRhdGFTb3VyY2VTdHJhdGVneTogTW9kZWxEYXRhU291cmNlU3RyYXRlZ3kgPSBERUZBVUxUX01PREVMX0RBVEFfU09VUkNFX1NUUkFURUdZLFxuICApOiBJQW1wbGlmeUdyYXBocWxEZWZpbml0aW9uIHtcbiAgICB2YWxpZGF0ZURhdGFTb3VyY2VTdHJhdGVneShkYXRhU291cmNlU3RyYXRlZ3kpO1xuICAgIHJldHVybiB7XG4gICAgICBzY2hlbWEsXG4gICAgICBmdW5jdGlvblNsb3RzOiBbXSxcbiAgICAgIHJlZmVyZW5jZWRMYW1iZGFGdW5jdGlvbnM6IHt9LFxuICAgICAgZGF0YVNvdXJjZVN0cmF0ZWdpZXM6IGNvbnN0cnVjdERhdGFTb3VyY2VTdHJhdGVnaWVzKHNjaGVtYSwgZGF0YVNvdXJjZVN0cmF0ZWd5KSxcbiAgICAgIGN1c3RvbVNxbERhdGFTb3VyY2VTdHJhdGVnaWVzOiBjb25zdHJ1Y3RDdXN0b21TcWxEYXRhU291cmNlU3RyYXRlZ2llcyhzY2hlbWEsIGRhdGFTb3VyY2VTdHJhdGVneSksXG4gICAgfTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDb252ZXJ0IG9uZSBvciBtb3JlIGFwcHN5bmMgU2NoZW1hRmlsZSBvYmplY3RzIGludG8gYW4gQW1wbGlmeSBHcmFwaHFsIFNjaGVtYSwgYmluZGluZyB0aGVtIHRvIGEgRHluYW1vREIgZGF0YSBzb3VyY2UuXG4gICAqIEBwYXJhbSBmaWxlUGF0aHMgb25lIG9yIG1vcmUgcGF0aHMgdG8gdGhlIGdyYXBocWwgZmlsZXMgdG8gcHJvY2Vzc1xuICAgKiBAcmV0dXJucyBhIGZ1bGx5IGZvcm1lZCBhbXBsaWZ5IGdyYXBocWwgZGVmaW5pdGlvbiwgd2hvc2UgbW9kZWxzIHdpbGwgYmUgcmVzb2x2ZWQgYnkgRHluYW1vREIgdGFibGVzIGNyZWF0ZWQgZHVyaW5nIGRlcGxveW1lbnQuXG4gICAqL1xuICBzdGF0aWMgZnJvbUZpbGVzKC4uLmZpbGVQYXRoczogc3RyaW5nW10pOiBJQW1wbGlmeUdyYXBocWxEZWZpbml0aW9uIHtcbiAgICBpZiAoIUFycmF5LmlzQXJyYXkoZmlsZVBhdGhzKSkge1xuICAgICAgZmlsZVBhdGhzID0gW2ZpbGVQYXRoc107XG4gICAgfVxuICAgIGNvbnN0IHNjaGVtYSA9IGZpbGVQYXRocy5tYXAoKGZpbGVQYXRoKSA9PiBuZXcgU2NoZW1hRmlsZSh7IGZpbGVQYXRoIH0pLmRlZmluaXRpb24pLmpvaW4ob3MuRU9MKTtcbiAgICByZXR1cm4gQW1wbGlmeUdyYXBocWxEZWZpbml0aW9uLmZyb21TdHJpbmcoc2NoZW1hLCBERUZBVUxUX01PREVMX0RBVEFfU09VUkNFX1NUUkFURUdZKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDb252ZXJ0IG9uZSBvciBtb3JlIGFwcHN5bmMgU2NoZW1hRmlsZSBvYmplY3RzIGludG8gYW4gQW1wbGlmeSBHcmFwaHFsIFNjaGVtYVxuICAgKiBAcGFyYW0gZmlsZVBhdGhzIG9uZSBvciBtb3JlIHBhdGhzIHRvIHRoZSBncmFwaHFsIGZpbGVzIHRvIHByb2Nlc3NcbiAgICogQHBhcmFtIGRhdGFTb3VyY2VTdHJhdGVneSB0aGUgcHJvdmlzaW9uaW5nIGRlZmluaXRpb24gZm9yIGRhdGFzb3VyY2VzIHRoYXQgcmVzb2x2ZSBgQG1vZGVsYHMgaW4gdGhpcyBzY2hlbWEuIFRoZSBEeW5hbW9EQiBmcm9tXG4gICAqIENsb3VkRm9ybWF0aW9uIHdpbGwgYmUgdXNlZCBieSBkZWZhdWx0LlxuICAgKiBAcmV0dXJucyBhIGZ1bGx5IGZvcm1lZCBhbXBsaWZ5IGdyYXBocWwgZGVmaW5pdGlvblxuICAgKi9cbiAgc3RhdGljIGZyb21GaWxlc0FuZFN0cmF0ZWd5KFxuICAgIGZpbGVQYXRoczogc3RyaW5nIHwgc3RyaW5nW10sXG4gICAgZGF0YVNvdXJjZVN0cmF0ZWd5OiBNb2RlbERhdGFTb3VyY2VTdHJhdGVneSA9IERFRkFVTFRfTU9ERUxfREFUQV9TT1VSQ0VfU1RSQVRFR1ksXG4gICk6IElBbXBsaWZ5R3JhcGhxbERlZmluaXRpb24ge1xuICAgIGlmICghQXJyYXkuaXNBcnJheShmaWxlUGF0aHMpKSB7XG4gICAgICBmaWxlUGF0aHMgPSBbZmlsZVBhdGhzXTtcbiAgICB9XG4gICAgY29uc3Qgc2NoZW1hID0gZmlsZVBhdGhzLm1hcCgoZmlsZVBhdGgpID0+IG5ldyBTY2hlbWFGaWxlKHsgZmlsZVBhdGggfSkuZGVmaW5pdGlvbikuam9pbihvcy5FT0wpO1xuICAgIHJldHVybiBBbXBsaWZ5R3JhcGhxbERlZmluaXRpb24uZnJvbVN0cmluZyhzY2hlbWEsIGRhdGFTb3VyY2VTdHJhdGVneSk7XG4gIH1cblxuICAvKipcbiAgICogQ29tYmluZXMgbXVsdGlwbGUgSUFtcGxpZnlHcmFwaHFsRGVmaW5pdGlvbnMgaW50byBhIHNpbmdsZSBkZWZpbml0aW9uLlxuICAgKiBAcGFyYW0gZGVmaW5pdGlvbnMgdGhlIGRlZmluaXRpb25zIHRvIGNvbWJpbmVcbiAgICovXG4gIHN0YXRpYyBjb21iaW5lKGRlZmluaXRpb25zOiBJQW1wbGlmeUdyYXBocWxEZWZpbml0aW9uW10pOiBJQW1wbGlmeUdyYXBocWxEZWZpbml0aW9uIHtcbiAgICBpZiAoZGVmaW5pdGlvbnMubGVuZ3RoID09PSAwKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ1RoZSBkZWZpbml0aW9ucyBvZiBhbXBsaWZ5IEdyYXBoUUwgY2Fubm90IGJlIGVtcHR5LicpO1xuICAgIH1cbiAgICBpZiAoZGVmaW5pdGlvbnMubGVuZ3RoID09PSAxKSB7XG4gICAgICByZXR1cm4gZGVmaW5pdGlvbnNbMF07XG4gICAgfVxuXG4gICAgLy8gQSBzdHJhdGVneSB3aWxsIGJlIHByZXNlbnQgbXVsdGlwbGUgdGltZXMgaW4gYSBnaXZlbiBkZWZpbml0aW9uOiBvbmNlIHBlciBtb2RlbC4gV2UnbGwgY3JlYXRlIGEgdW5pcXVlIGxpc3QgcGVyIGRlZmluaXRpb24gdG8gZW5zdXJlXG4gICAgLy8gbm8gcmV1c2UgYWNyb3NzIGRlZmluaXRpb25zLlxuICAgIGxldCBjb21iaW5lZFN0cmF0ZWd5TmFtZXM6IHN0cmluZ1tdID0gW107XG4gICAgZm9yIChjb25zdCBkZWZpbml0aW9uIG9mIGRlZmluaXRpb25zKSB7XG4gICAgICBjb25zdCBkZWZpbml0aW9uU3RyYXRlZ3lOYW1lcyA9IG5ldyBTZXQ8c3RyaW5nPigpO1xuICAgICAgZm9yIChjb25zdCBzdHJhdGVneSBvZiBPYmplY3QudmFsdWVzKGRlZmluaXRpb24uZGF0YVNvdXJjZVN0cmF0ZWdpZXMpKSB7XG4gICAgICAgIGlmICghaXNTcWxTdHJhdGVneShzdHJhdGVneSkpIHtcbiAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBzdHJhdGVneU5hbWUgPSBzdHJhdGVneS5uYW1lO1xuICAgICAgICBpZiAoY29tYmluZWRTdHJhdGVneU5hbWVzLmluY2x1ZGVzKHN0cmF0ZWd5TmFtZSkpIHtcbiAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICAgICBgVGhlIFNRTC1iYXNlZCBNb2RlbERhdGFTb3VyY2VTdHJhdGVneSAnJHtzdHJhdGVneU5hbWV9JyB3YXMgZm91bmQgaW4gbXVsdGlwbGUgZGVmaW5pdGlvbnMsIGJ1dCBhIHN0cmF0ZWd5IG5hbWUgY2Fubm90IGJlIGAgK1xuICAgICAgICAgICAgICBcInNoYXJlZCBiZXR3ZWVuIGRlZmluaXRpb25zLiBUbyBzcGVjaWZ5IGEgU1FMLWJhc2VkIEFQSSB3aXRoIHNjaGVtYXMgYWNyb3NzIG11bHRpcGxlIGZpbGVzLCB1c2UgJ2Zyb21GaWxlc0FuZFN0cmF0ZWd5J1wiLFxuICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICAgICAgZGVmaW5pdGlvblN0cmF0ZWd5TmFtZXMuYWRkKHN0cmF0ZWd5TmFtZSk7XG4gICAgICB9XG4gICAgICBjb21iaW5lZFN0cmF0ZWd5TmFtZXMgPSBbLi4uY29tYmluZWRTdHJhdGVneU5hbWVzLCAuLi5kZWZpbml0aW9uU3RyYXRlZ3lOYW1lc107XG4gICAgfVxuXG4gICAgY29uc3QgY3VzdG9tU3FsRGF0YVNvdXJjZVN0cmF0ZWdpZXMgPSBkZWZpbml0aW9ucy5yZWR1Y2UoXG4gICAgICAoYWNjLCBjdXIpID0+IFsuLi5hY2MsIC4uLihjdXIuY3VzdG9tU3FsRGF0YVNvdXJjZVN0cmF0ZWdpZXMgPz8gW10pXSxcbiAgICAgIFtdIGFzIEN1c3RvbVNxbERhdGFTb3VyY2VTdHJhdGVneVtdLFxuICAgICk7XG5cbiAgICBjb25zdCBtZXJnZWRTY2hlbWEgPSBzY2hlbWFCeU1lcmdpbmdEZWZpbml0aW9ucyhkZWZpbml0aW9ucyk7XG5cbiAgICByZXR1cm4ge1xuICAgICAgc2NoZW1hOiBtZXJnZWRTY2hlbWEsXG4gICAgICBmdW5jdGlvblNsb3RzOiBbXSxcbiAgICAgIHJlZmVyZW5jZWRMYW1iZGFGdW5jdGlvbnM6IGRlZmluaXRpb25zLnJlZHVjZSgoYWNjLCBjdXIpID0+ICh7IC4uLmFjYywgLi4uY3VyLnJlZmVyZW5jZWRMYW1iZGFGdW5jdGlvbnMgfSksIHt9KSxcbiAgICAgIGRhdGFTb3VyY2VTdHJhdGVnaWVzOiBkZWZpbml0aW9ucy5yZWR1Y2UoKGFjYywgY3VyKSA9PiAoeyAuLi5hY2MsIC4uLmN1ci5kYXRhU291cmNlU3RyYXRlZ2llcyB9KSwge30pLFxuICAgICAgY3VzdG9tU3FsRGF0YVNvdXJjZVN0cmF0ZWdpZXMsXG4gICAgfTtcbiAgfVxufVxuIl19
@@ -0,0 +1,26 @@
1
+ import { Construct } from 'constructs';
2
+ import { AssetProps, S3Asset, AssetProvider as AssetProviderInterface } from '@aws-amplify/graphql-transformer-interfaces';
3
+ /**
4
+ * The asset provider bridges the gap between creation of file assets in the transformer (which provide a name+contents tuple)
5
+ * with the path method which is used in CDK.
6
+ * The CDK S3 asset require the contents to be written to the file system first.
7
+ * The asset provider writes to a temporary directory before creating the CDK S3 asset.
8
+ *
9
+ */
10
+ export declare class AssetProvider implements AssetProviderInterface {
11
+ private readonly tempAssetDir;
12
+ readonly resolverAssets: Record<string, string>;
13
+ constructor(scope: Construct);
14
+ /**
15
+ * Creates a new CDK S3 asset. The file contents in assetProps is first stored in a temporary file that is referenced by the CDK S3 asset.
16
+ * @param assetScope the parent of the asset
17
+ * @param assetId unique ID for CDK S3 asset
18
+ * @param assetProps name and contents of file to be added to CDK S3 asset
19
+ * @returns the CDK S3 asset
20
+ */
21
+ provide(assetScope: Construct, assetId: string, assetProps: AssetProps): S3Asset;
22
+ private addAsset;
23
+ private isContentsAReference;
24
+ private dereferenceContents;
25
+ private trackResolverAsset;
26
+ }
@@ -0,0 +1,58 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AssetProvider = void 0;
4
+ const fs = require("fs");
5
+ const path = require("path");
6
+ const cdk = require("aws-cdk-lib");
7
+ const aws_s3_assets_1 = require("aws-cdk-lib/aws-s3-assets");
8
+ const TEMP_PREFIX = 'transformer-assets';
9
+ const FUNCTION_PREFIX = 'functions';
10
+ const RESOLVER_PREFIX = 'resolvers';
11
+ /**
12
+ * The asset provider bridges the gap between creation of file assets in the transformer (which provide a name+contents tuple)
13
+ * with the path method which is used in CDK.
14
+ * The CDK S3 asset require the contents to be written to the file system first.
15
+ * The asset provider writes to a temporary directory before creating the CDK S3 asset.
16
+ *
17
+ */
18
+ class AssetProvider {
19
+ constructor(scope) {
20
+ this.resolverAssets = {};
21
+ this.tempAssetDir = cdk.FileSystem.mkdtemp(`${TEMP_PREFIX}-${scope.node.addr}`);
22
+ }
23
+ /**
24
+ * Creates a new CDK S3 asset. The file contents in assetProps is first stored in a temporary file that is referenced by the CDK S3 asset.
25
+ * @param assetScope the parent of the asset
26
+ * @param assetId unique ID for CDK S3 asset
27
+ * @param assetProps name and contents of file to be added to CDK S3 asset
28
+ * @returns the CDK S3 asset
29
+ */
30
+ provide(assetScope, assetId, assetProps) {
31
+ return new aws_s3_assets_1.Asset(assetScope, assetId, { path: this.addAsset(assetProps.fileName, assetProps.fileContent) });
32
+ }
33
+ addAsset(fileName, contents) {
34
+ this.trackResolverAsset(fileName, contents);
35
+ const writableContents = this.isContentsAReference(fileName) ? this.dereferenceContents(contents) : contents;
36
+ const filePath = path.join(this.tempAssetDir, fileName);
37
+ const fileDirName = path.dirname(filePath);
38
+ if (!fs.existsSync(fileDirName)) {
39
+ fs.mkdirSync(fileDirName, { recursive: true });
40
+ }
41
+ fs.writeFileSync(filePath, writableContents);
42
+ return filePath;
43
+ }
44
+ isContentsAReference(fileName) {
45
+ return fileName.startsWith(FUNCTION_PREFIX);
46
+ }
47
+ dereferenceContents(contents) {
48
+ return fs.readFileSync(contents);
49
+ }
50
+ trackResolverAsset(fileName, contents) {
51
+ if (fileName.startsWith(RESOLVER_PREFIX)) {
52
+ const resolverFileName = fileName.split('/')[1];
53
+ this.resolverAssets[resolverFileName] = contents;
54
+ }
55
+ }
56
+ }
57
+ exports.AssetProvider = AssetProvider;
58
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXNzZXQtcHJvdmlkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW50ZXJuYWwvYXNzZXQtcHJvdmlkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEseUJBQXlCO0FBQ3pCLDZCQUE2QjtBQUU3QixtQ0FBbUM7QUFDbkMsNkRBQWtEO0FBR2xELE1BQU0sV0FBVyxHQUFHLG9CQUFvQixDQUFDO0FBQ3pDLE1BQU0sZUFBZSxHQUFHLFdBQVcsQ0FBQztBQUNwQyxNQUFNLGVBQWUsR0FBRyxXQUFXLENBQUM7QUFFcEM7Ozs7OztHQU1HO0FBQ0gsTUFBYSxhQUFhO0lBSXhCLFlBQVksS0FBZ0I7UUFGWixtQkFBYyxHQUEyQixFQUFFLENBQUM7UUFHMUQsSUFBSSxDQUFDLFlBQVksR0FBRyxHQUFHLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxHQUFHLFdBQVcsSUFBSSxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUM7SUFDbEYsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNJLE9BQU8sQ0FBQyxVQUFxQixFQUFFLE9BQWUsRUFBRSxVQUFzQjtRQUMzRSxPQUFPLElBQUkscUJBQUssQ0FBQyxVQUFVLEVBQUUsT0FBTyxFQUFFLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLFFBQVEsRUFBRSxVQUFVLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQzlHLENBQUM7SUFFTyxRQUFRLENBQUMsUUFBZ0IsRUFBRSxRQUFnQjtRQUNqRCxJQUFJLENBQUMsa0JBQWtCLENBQUMsUUFBUSxFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBQzVDLE1BQU0sZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLG9CQUFvQixDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQztRQUM3RyxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFDeEQsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUMzQyxJQUFJLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxXQUFXLENBQUMsRUFBRTtZQUMvQixFQUFFLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1NBQ2hEO1FBQ0QsRUFBRSxDQUFDLGFBQWEsQ0FBQyxRQUFRLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQztRQUM3QyxPQUFPLFFBQVEsQ0FBQztJQUNsQixDQUFDO0lBRU8sb0JBQW9CLENBQUMsUUFBZ0I7UUFDM0MsT0FBTyxRQUFRLENBQUMsVUFBVSxDQUFDLGVBQWUsQ0FBQyxDQUFDO0lBQzlDLENBQUM7SUFFTyxtQkFBbUIsQ0FBQyxRQUFnQjtRQUMxQyxPQUFPLEVBQUUsQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDbkMsQ0FBQztJQUVPLGtCQUFrQixDQUFDLFFBQWdCLEVBQUUsUUFBZ0I7UUFDM0QsSUFBSSxRQUFRLENBQUMsVUFBVSxDQUFDLGVBQWUsQ0FBQyxFQUFFO1lBQ3hDLE1BQU0sZ0JBQWdCLEdBQUcsUUFBUSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUNoRCxJQUFJLENBQUMsY0FBYyxDQUFDLGdCQUFnQixDQUFDLEdBQUcsUUFBUSxDQUFDO1NBQ2xEO0lBQ0gsQ0FBQztDQUNGO0FBN0NELHNDQTZDQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIGZzIGZyb20gJ2ZzJztcbmltcG9ydCAqIGFzIHBhdGggZnJvbSAncGF0aCc7XG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tICdjb25zdHJ1Y3RzJztcbmltcG9ydCAqIGFzIGNkayBmcm9tICdhd3MtY2RrLWxpYic7XG5pbXBvcnQgeyBBc3NldCB9IGZyb20gJ2F3cy1jZGstbGliL2F3cy1zMy1hc3NldHMnO1xuaW1wb3J0IHsgQXNzZXRQcm9wcywgUzNBc3NldCwgQXNzZXRQcm92aWRlciBhcyBBc3NldFByb3ZpZGVySW50ZXJmYWNlIH0gZnJvbSAnQGF3cy1hbXBsaWZ5L2dyYXBocWwtdHJhbnNmb3JtZXItaW50ZXJmYWNlcyc7XG5cbmNvbnN0IFRFTVBfUFJFRklYID0gJ3RyYW5zZm9ybWVyLWFzc2V0cyc7XG5jb25zdCBGVU5DVElPTl9QUkVGSVggPSAnZnVuY3Rpb25zJztcbmNvbnN0IFJFU09MVkVSX1BSRUZJWCA9ICdyZXNvbHZlcnMnO1xuXG4vKipcbiAqIFRoZSBhc3NldCBwcm92aWRlciBicmlkZ2VzIHRoZSBnYXAgYmV0d2VlbiBjcmVhdGlvbiBvZiBmaWxlIGFzc2V0cyBpbiB0aGUgdHJhbnNmb3JtZXIgKHdoaWNoIHByb3ZpZGUgYSBuYW1lK2NvbnRlbnRzIHR1cGxlKVxuICogd2l0aCB0aGUgcGF0aCBtZXRob2Qgd2hpY2ggaXMgdXNlZCBpbiBDREsuXG4gKiBUaGUgQ0RLIFMzIGFzc2V0IHJlcXVpcmUgdGhlIGNvbnRlbnRzIHRvIGJlIHdyaXR0ZW4gdG8gdGhlIGZpbGUgc3lzdGVtIGZpcnN0LlxuICogVGhlIGFzc2V0IHByb3ZpZGVyIHdyaXRlcyB0byBhIHRlbXBvcmFyeSBkaXJlY3RvcnkgYmVmb3JlIGNyZWF0aW5nIHRoZSBDREsgUzMgYXNzZXQuXG4gKlxuICovXG5leHBvcnQgY2xhc3MgQXNzZXRQcm92aWRlciBpbXBsZW1lbnRzIEFzc2V0UHJvdmlkZXJJbnRlcmZhY2Uge1xuICBwcml2YXRlIHJlYWRvbmx5IHRlbXBBc3NldERpcjogc3RyaW5nO1xuICBwdWJsaWMgcmVhZG9ubHkgcmVzb2x2ZXJBc3NldHM6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPSB7fTtcblxuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0KSB7XG4gICAgdGhpcy50ZW1wQXNzZXREaXIgPSBjZGsuRmlsZVN5c3RlbS5ta2R0ZW1wKGAke1RFTVBfUFJFRklYfS0ke3Njb3BlLm5vZGUuYWRkcn1gKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGVzIGEgbmV3IENESyBTMyBhc3NldC4gVGhlIGZpbGUgY29udGVudHMgaW4gYXNzZXRQcm9wcyBpcyBmaXJzdCBzdG9yZWQgaW4gYSB0ZW1wb3JhcnkgZmlsZSB0aGF0IGlzIHJlZmVyZW5jZWQgYnkgdGhlIENESyBTMyBhc3NldC5cbiAgICogQHBhcmFtIGFzc2V0U2NvcGUgdGhlIHBhcmVudCBvZiB0aGUgYXNzZXRcbiAgICogQHBhcmFtIGFzc2V0SWQgdW5pcXVlIElEIGZvciBDREsgUzMgYXNzZXRcbiAgICogQHBhcmFtIGFzc2V0UHJvcHMgbmFtZSBhbmQgY29udGVudHMgb2YgZmlsZSB0byBiZSBhZGRlZCB0byBDREsgUzMgYXNzZXRcbiAgICogQHJldHVybnMgdGhlIENESyBTMyBhc3NldFxuICAgKi9cbiAgcHVibGljIHByb3ZpZGUoYXNzZXRTY29wZTogQ29uc3RydWN0LCBhc3NldElkOiBzdHJpbmcsIGFzc2V0UHJvcHM6IEFzc2V0UHJvcHMpOiBTM0Fzc2V0IHtcbiAgICByZXR1cm4gbmV3IEFzc2V0KGFzc2V0U2NvcGUsIGFzc2V0SWQsIHsgcGF0aDogdGhpcy5hZGRBc3NldChhc3NldFByb3BzLmZpbGVOYW1lLCBhc3NldFByb3BzLmZpbGVDb250ZW50KSB9KTtcbiAgfVxuXG4gIHByaXZhdGUgYWRkQXNzZXQoZmlsZU5hbWU6IHN0cmluZywgY29udGVudHM6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgdGhpcy50cmFja1Jlc29sdmVyQXNzZXQoZmlsZU5hbWUsIGNvbnRlbnRzKTtcbiAgICBjb25zdCB3cml0YWJsZUNvbnRlbnRzID0gdGhpcy5pc0NvbnRlbnRzQVJlZmVyZW5jZShmaWxlTmFtZSkgPyB0aGlzLmRlcmVmZXJlbmNlQ29udGVudHMoY29udGVudHMpIDogY29udGVudHM7XG4gICAgY29uc3QgZmlsZVBhdGggPSBwYXRoLmpvaW4odGhpcy50ZW1wQXNzZXREaXIsIGZpbGVOYW1lKTtcbiAgICBjb25zdCBmaWxlRGlyTmFtZSA9IHBhdGguZGlybmFtZShmaWxlUGF0aCk7XG4gICAgaWYgKCFmcy5leGlzdHNTeW5jKGZpbGVEaXJOYW1lKSkge1xuICAgICAgZnMubWtkaXJTeW5jKGZpbGVEaXJOYW1lLCB7IHJlY3Vyc2l2ZTogdHJ1ZSB9KTtcbiAgICB9XG4gICAgZnMud3JpdGVGaWxlU3luYyhmaWxlUGF0aCwgd3JpdGFibGVDb250ZW50cyk7XG4gICAgcmV0dXJuIGZpbGVQYXRoO1xuICB9XG5cbiAgcHJpdmF0ZSBpc0NvbnRlbnRzQVJlZmVyZW5jZShmaWxlTmFtZTogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIGZpbGVOYW1lLnN0YXJ0c1dpdGgoRlVOQ1RJT05fUFJFRklYKTtcbiAgfVxuXG4gIHByaXZhdGUgZGVyZWZlcmVuY2VDb250ZW50cyhjb250ZW50czogc3RyaW5nKTogQnVmZmVyIHtcbiAgICByZXR1cm4gZnMucmVhZEZpbGVTeW5jKGNvbnRlbnRzKTtcbiAgfVxuXG4gIHByaXZhdGUgdHJhY2tSZXNvbHZlckFzc2V0KGZpbGVOYW1lOiBzdHJpbmcsIGNvbnRlbnRzOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBpZiAoZmlsZU5hbWUuc3RhcnRzV2l0aChSRVNPTFZFUl9QUkVGSVgpKSB7XG4gICAgICBjb25zdCByZXNvbHZlckZpbGVOYW1lID0gZmlsZU5hbWUuc3BsaXQoJy8nKVsxXTtcbiAgICAgIHRoaXMucmVzb2x2ZXJBc3NldHNbcmVzb2x2ZXJGaWxlTmFtZV0gPSBjb250ZW50cztcbiAgICB9XG4gIH1cbn1cbiJdfQ==
@@ -152,7 +152,17 @@ const validateDataSourceStrategy = (strategy) => {
152
152
  const dbConnectionConfig = strategy.dbConnectionConfig;
153
153
  if ((0, graphql_transformer_interfaces_1.isSqlModelDataSourceSsmDbConnectionConfig)(dbConnectionConfig) ||
154
154
  (0, graphql_transformer_interfaces_1.isSqlModelDataSourceSsmDbConnectionStringConfig)(dbConnectionConfig)) {
155
- const invalidSSMPaths = Object.values(dbConnectionConfig).filter((value) => typeof value === 'string' && !isValidSSMPath(value));
155
+ const ssmPaths = Object.values(dbConnectionConfig).filter((value) => typeof value === 'string');
156
+ if ((0, graphql_transformer_interfaces_1.isSqlModelDataSourceSsmDbConnectionStringConfig)(dbConnectionConfig)) {
157
+ const hasMultipleSSMPaths = Array.isArray(dbConnectionConfig?.connectionUriSsmPath);
158
+ if (hasMultipleSSMPaths) {
159
+ if (dbConnectionConfig?.connectionUriSsmPath?.length < 1) {
160
+ throw new Error(`Invalid data source strategy "${strategy.name}". connectionUriSsmPath must be a string or non-empty array.`);
161
+ }
162
+ ssmPaths.push(...dbConnectionConfig.connectionUriSsmPath);
163
+ }
164
+ }
165
+ const invalidSSMPaths = ssmPaths.filter((value) => !isValidSSMPath(value));
156
166
  if (invalidSSMPaths.length > 0) {
157
167
  throw new Error(`Invalid data source strategy "${strategy.name}". Following SSM paths must start with '/' in dbConnectionConfig: ${invalidSSMPaths.join(', ')}.`);
158
168
  }
@@ -191,4 +201,4 @@ exports.validateDataSourceStrategy = validateDataSourceStrategy;
191
201
  const isValidSSMPath = (path) => {
192
202
  return path.startsWith('/');
193
203
  };
194
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1zb3VyY2UtY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2ludGVybmFsL2RhdGEtc291cmNlLWNvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxxQ0FBbUk7QUFDbkksb0ZBTStDO0FBQy9DLGdHQUtxRDtBQUNyRCw2Q0FBb0Q7QUFPcEQ7Ozs7Ozs7R0FPRztBQUNJLE1BQU0sc0NBQXNDLEdBQUcsQ0FDcEQsTUFBYyxFQUNkLGtCQUFvRCxFQUNaLEVBQUU7SUFDMUMsSUFBSSxDQUFDLElBQUEsd0NBQWEsRUFBQyxrQkFBa0IsQ0FBQyxFQUFFO1FBQ3RDLE9BQU8sRUFBRSxDQUFDO0tBQ1g7SUFFRCxNQUFNLFlBQVksR0FBRyxJQUFBLGVBQUssRUFBQyxNQUFNLENBQUMsQ0FBQztJQUVuQyxNQUFNLFNBQVMsR0FBRyxZQUFZLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxzQ0FBVyxDQUFDLENBQUM7SUFDN0QsTUFBTSxZQUFZLEdBQUcsWUFBWSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMseUNBQWMsQ0FBQyxDQUFDO0lBQ25FLElBQUksQ0FBQyxTQUFTLElBQUksQ0FBQyxZQUFZLEVBQUU7UUFDL0IsT0FBTyxFQUFFLENBQUM7S0FDWDtJQUVELE1BQU0sNkJBQTZCLEdBQTJDLEVBQUUsQ0FBQztJQUVqRixJQUFJLFNBQVMsRUFBRTtRQUNiLE1BQU0sTUFBTSxHQUFHLElBQUEsaURBQXNCLEVBQUMsU0FBUyxDQUFDLENBQUM7UUFDakQsS0FBSyxNQUFNLEtBQUssSUFBSSxNQUFNLEVBQUU7WUFDMUIsNkJBQTZCLENBQUMsSUFBSSxDQUFDO2dCQUNqQyxRQUFRLEVBQUUsT0FBTztnQkFDakIsU0FBUyxFQUFFLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSztnQkFDM0IsUUFBUSxFQUFFLGtCQUFrQjthQUM3QixDQUFDLENBQUM7U0FDSjtLQUNGO0lBRUQsSUFBSSxZQUFZLEVBQUU7UUFDaEIs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LElBQUksZ0RBQWdELENBQUMsQ0FBQzthQUNqSDtTQUNGO0tBQ0Y7U0FBTTtRQUNMLE1BQU0sSUFBSSxLQUFLLENBQUMsaUNBQWlDLFFBQVEsQ0FBQyxJQUFJLGlFQUFpRSxDQUFDLENBQUM7S0FDbEk7QUFDSCxDQUFDLENBQUM7QUE3Q1csUUFBQSwwQkFBMEIsOEJBNkNyQztBQUVGLE1BQU0sY0FBYyxHQUFHLENBQUMsSUFBWSxFQUFXLEVBQUU7SUFDL0MsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0FBQzlCLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERlZmluaXRpb25Ob2RlLCBGaWVsZERlZmluaXRpb25Ob2RlLCBJbnRlcmZhY2VUeXBlRGVmaW5pdGlvbk5vZGUsIE9iamVjdFR5cGVEZWZpbml0aW9uTm9kZSwgcGFyc2UsIHByaW50IH0gZnJvbSAnZ3JhcGhxbCc7XG5pbXBvcnQge1xuICBpc0J1aWx0SW5HcmFwaHFsTm9kZSxcbiAgaXNTcWxTdHJhdGVneSxcbiAgaXNRdWVyeU5vZGUsXG4gIGlzTXV0YXRpb25Ob2RlLFxuICBmaWVsZHNXaXRoU3FsRGlyZWN0aXZlLFxufSBmcm9tICdAYXdzLWFtcGxpZnkvZ3JhcGhxbC10cmFuc2Zvcm1lci1jb3JlJztcbmltcG9ydCB7XG4gIERhdGFTb3VyY2VTdHJhdGVnaWVzUHJvdmlkZXIsXG4gIGlzU3FsTW9kZWxEYXRhU291cmNlU3NtRGJDb25uZWN0aW9uQ29uZmlnLFxuICBpc1NxbE1vZGVsRGF0YVNvdXJjZVNlY3JldHNNYW5hZ2VyRGJDb25uZWN0aW9uQ29uZmlnLFxuICBpc1NxbE1vZGVsRGF0YVNvdXJjZVNzbURiQ29ubmVjdGlvblN0cmluZ0NvbmZpZyxcbn0gZnJvbSAnQGF3cy1hbXBsaWZ5L2dyYXBocWwtdHJhbnNmb3JtZXItaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBUb2tlbiwgQXJuLCBBcm5Gb3JtYXQgfSBmcm9tICdhd3MtY2RrLWxpYic7XG5pbXBvcnQge1xuICBDdXN0b21TcWxEYXRhU291cmNlU3RyYXRlZ3kgYXMgQ29uc3RydWN0Q3VzdG9tU3FsRGF0YVNvdXJjZVN0cmF0ZWd5LFxuICBNb2RlbERhdGFTb3VyY2VTdHJhdGVneSBhcyBDb25zdHJ1Y3RNb2RlbERhdGFTb3VyY2VTdHJhdGVneSxcbn0gZnJvbSAnLi4vbW9kZWwtZGF0YXNvdXJjZS1zdHJhdGVneS10eXBlcyc7XG5pbXBvcnQgeyBJQW1wbGlmeUdyYXBocWxEZWZpbml0aW9uIH0gZnJvbSAnLi4vdHlwZXMnO1xuXG4vKipcbiAqIENyZWF0ZXMgYW4gaW50ZXJmYWNlIGZsYXZvciBvZiBjdXN0b21TcWxEYXRhU291cmNlU3RyYXRlZ2llcyBmcm9tIGEgZmFjdG9yeSBtZXRob2QncyBzY2hlbWEgYW5kIGRhdGEgc291cmNlLiBJbnRlcm5hbGx5LCB0aGlzIGZ1bmN0aW9uXG4gKiBzY2FucyB0aGUgZmllbGRzIG9mIGBRdWVyeWAgYW5kIGBNdXRhdGlvbmAgbG9va2luZyBmb3IgZmllbGRzIGFubm90YXRlZCB3aXRoIHRoZSBgQHNxbGAgZGlyZWN0aXZlIGFuZCBkZXNpZ25hdGVzIHRoZSBzcGVjaWZpZWRcbiAqIGRhdGFTb3VyY2VTdHJhdGVneSB0byBmdWxmaWxsIHRob3NlIGN1c3RvbSBxdWVyaWVzLlxuICpcbiAqIE5vdGUgdGhhdCB3ZSBkbyBub3Qgc2NhbiBmb3IgYFN1YnNjcmlwdGlvbmAgZmllbGRzOiBgQHNxbGAgZGlyZWN0aXZlcyBhcmUgbm90IGFsbG93ZWQgb24gdGhvc2UsIGFuZCBpdCB3b3VsZG4ndCBtYWtlIHNlbnNlIHRvIGRvIHNvXG4gKiBhbnl3YXksIHNpbmNlIHN1YnNjcmlwdGlvbnMgYXJlIHByb2Nlc3NlZCBmcm9tIGFuIGluY29taW5nIE11dGF0aW9uLCBub3QgYXMgdGhlIHJlc3VsdCBvZiBhIGRpcmVjdCBkYXRhc291cmNlIGFjY2Vzcy5cbiAqL1xuZXhwb3J0IGNvbnN0IGNvbnN0cnVjdEN1c3RvbVNxbERhdGFTb3VyY2VTdHJhdGVnaWVzID0gKFxuICBzY2hlbWE6IHN0cmluZyxcbiAgZGF0YVNvdXJjZVN0cmF0ZWd5OiBDb25zdHJ1Y3RNb2RlbERhdGFTb3VyY2VTdHJhdGVneSxcbik6IENvbnN0cnVjdEN1c3RvbVNxbERhdGFTb3VyY2VTdHJhdGVneVtdID0+IHtcbiAgaWYgKCFpc1NxbFN0cmF0ZWd5KGRhdGFTb3VyY2VTdHJhdGVneSkpIHtcbiAgICByZXR1cm4gW107XG4gIH1cblxuICBjb25zdCBwYXJzZWRTY2hlbWEgPSBwYXJzZShzY2hlbWEpO1xuXG4gIGNvbnN0IHF1ZXJ5Tm9kZSA9IHBhcnNlZFNjaGVtYS5kZWZpbml0aW9ucy5maW5kKGlzUXVlcnlOb2RlKTtcbiAgY29uc3QgbXV0YXRpb25Ob2RlID0gcGFyc2VkU2NoZW1hLmRlZmluaXRpb25zLmZpbmQoaXNNdXRhdGlvbk5vZGUpO1xuICBpZiAoIXF1ZXJ5Tm9kZSAmJiAhbXV0YXRpb25Ob2RlKSB7XG4gICAgcmV0dXJuIFtdO1xuICB9XG5cbiAgY29uc3QgY3VzdG9tU3FsRGF0YVNvdXJjZVN0cmF0ZWdpZXM6IENvbnN0cnVjdEN1c3RvbVNxbERhdGFTb3VyY2VTdHJhdGVneVtdID0gW107XG5cbiAgaWYgKHF1ZXJ5Tm9kZSkge1xuICAgIGNvbnN0IGZpZWxkcyA9IGZpZWxkc1dpdGhTcWxEaXJlY3RpdmUocXVlcnlOb2RlKTtcbiAgICBmb3IgKGNvbnN0IGZpZWxkIG9mIGZpZWxkcykge1xuICAgICAgY3VzdG9tU3FsRGF0YVNvdXJjZVN0cmF0ZWdpZXMucHVzaCh7XG4gICAgICAgIHR5cGVOYW1lOiAnUXVlcnknLFxuICAgICAgICBmaWVsZE5hbWU6IGZpZWxkLm5hbWUudmFsdWUsXG4gICAgICAgIHN0cmF0ZWd5OiBkYXRhU291cmNlU3RyYXRlZ3ksXG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBpZiAobXV0YXRpb25Ob2RlKSB7XG4gICAgY29uc3QgZmllbGRzID0gZmllbGRzV2l0aFNxbERpcmVjdGl2ZShtdXRhdGlvbk5vZGUpO1xuICAgIGZvciAoY29uc3QgZmllbGQgb2YgZmllbGRzKSB7XG4gICAgICBjdXN0b21TcWxEYXRhU291cmNlU3RyYXRlZ2llcy5wdXNoKHtcbiAgICAgICAgdHlwZU5hbWU6ICdNdXRhdGlvbicsXG4gICAgICAgIGZpZWxkTmFtZTogZmllbGQubmFtZS52YWx1ZSxcbiAgICAgICAgc3RyYXRlZ3k6IGRhdGFTb3VyY2VTdHJhdGVneSxcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBjdXN0b21TcWxEYXRhU291cmNlU3RyYXRlZ2llcztcbn07XG5cbi8qKlxuICogRXh0cmFjdHMgdGhlIGRhdGEgc291cmNlIHByb3ZpZGVyIGZyb20gdGhlIGRlZmluaXRpb24uIFRoaXMganVtcHMgdGhyb3VnaCBzb21lIGhvb3BzIHRvIGF2b2lkIGNoYW5naW5nIHRoZSBwdWJsaWMgaW50ZXJmYWNlLiBJZiB3ZSBkZWNpZGVcbiAqIHRvIGNoYW5nZSB0aGUgcHVibGljIGludGVyZmFjZSB0byBzaW1wbGlmeSB0aGUgc3RydWN0dXJlLCB0aGVuIHRoaXMgcHJvY2VzcyBnZXRzIGEgbG90IHNpbXBsZXIuXG4gKi9cbmV4cG9ydCBjb25zdCBnZXREYXRhU291cmNlU3RyYXRlZ2llc1Byb3ZpZGVyID0gKGRlZmluaXRpb246IElBbXBsaWZ5R3JhcGhxbERlZmluaXRpb24pOiBEYXRhU291cmNlU3RyYXRlZ2llc1Byb3ZpZGVyID0+IHtcbiAgY29uc3QgcHJvdmlkZXI6IERhdGFTb3VyY2VTdHJhdGVnaWVzUHJvdmlkZXIgPSB7XG4gICAgLy8gV2UgY2FuIGRpcmVjdGx5IHVzZSB0aGUgaW50ZXJmYWNlIHN0cmF0ZWdpZXMsIGV2ZW4gdGhvdWdoIHRoZSBTUUwgc3RyYXRlZ2llcyBoYXZlIHRoZSBjdXN0b21TcWxTdGF0ZW1lbnRzIGZpZWxkIHRoYXQgaXMgdW51c2VkIGJ5IHRoZVxuICAgIC8vIHRyYW5zZm9ybWVyIGZsYXZvciBvZiB0aGlzIHR5cGVcbiAgICBkYXRhU291cmNlU3RyYXRlZ2llczogZGVmaW5pdGlvbi5kYXRhU291cmNlU3RyYXRlZ2llcyxcbiAgICBzcWxEaXJlY3RpdmVEYXRhU291cmNlU3RyYXRlZ2llczogW10sXG4gIH07XG5cbiAgLy8gV2UnbGwgY29sbGVjdCBhbGwgdGhlIGN1c3RvbSBTUUwgc3RhdGVtZW50cyBmcm9tIHRoZSBkZWZpbml0aW9uIGludG8gYSBzaW5nbGUgbWFwLCBhbmQgdXNlIHRoYXQgdG8gbWFrZSBvdXJcbiAgLy8gU3FsRGlyZWN0aXZlRGF0YVNvdXJjZVN0cmF0ZWdpZXNcbiAgY29uc3QgY3VzdG9tU3FsU3RhdGVtZW50czogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9IHt9O1xuXG4gIGNvbnN0IGNvbnN0cnVjdFNxbFN0cmF0ZWdpZXMgPSBkZWZpbml0aW9uLmN1c3RvbVNxbERhdGFTb3VyY2VTdHJhdGVnaWVzID8/IFtdO1xuXG4gIC8vIE5vdGUgdGhhdCB3ZSdyZSByZWx5aW5nIG9uIHRoZSBgY3VzdG9tU3FsU3RhdGVtZW50c2Agb2JqZWN0IHJlZmVyZW5jZSB0byBzdGF5IHRoZSBzYW1lIHRocm91Z2hvdXQgdGhpcyBsb29wLiBEb24ndCByZWFzc2lnbiBpdCwgb3IgdGhlXG4gIC8vIGNvbGxlY3RlZCBzcWxEaXJlY3RpdmVTdHJhdGVnaWVzIHdpbGwgYnJlYWtcbiAgY29uc3RydWN0U3FsU3RyYXRlZ2llcy5mb3JFYWNoKChzcWxTdHJhdGVneSkgPT4ge1xuICAgIGlmIChzcWxTdHJhdGVneS5zdHJhdGVneS5jdXN0b21TcWxTdGF0ZW1lbnRzKSB7XG4gICAgICBPYmplY3QuYXNzaWduKGN1c3RvbVNxbFN0YXRlbWVudHMsIHNxbFN0cmF0ZWd5LnN0cmF0ZWd5LmN1c3RvbVNxbFN0YXRlbWVudHMpO1xuICAgIH1cblxuICAgIHByb3ZpZGVyLnNxbERpcmVjdGl2ZURhdGFTb3VyY2VTdHJhdGVnaWVzIS5wdXNoKHtcbiAgICAgIHR5cGVOYW1lOiBzcWxTdHJhdGVneS50eXBlTmFtZSxcbiAgICAgIGZpZWxkTmFtZTogc3FsU3RyYXRlZ3kuZmllbGROYW1lLFxuICAgICAgc3RyYXRlZ3k6IHNxbFN0cmF0ZWd5LnN0cmF0ZWd5LFxuICAgICAgY3VzdG9tU3FsU3RhdGVtZW50cyxcbiAgICB9KTtcbiAgfSk7XG5cbiAgcmV0dXJuIHByb3ZpZGVyO1xufTtcblxuLyoqXG4gKiBDcmVhdGVzIGEgbmV3IHNjaGVtYSBieSBtZXJnaW5nIHRoZSBpbmRpdmlkdWFsIHNjaGVtYXMgY29udGFpbmVkIGluIHRoZSBkZWZpbml0aW9ucywgY29tYmluaW5nIGZpZWxkcyBvZiB0aGUgUXVlcnkgYW5kIE11dGF0aW9uIHR5cGVzIGluXG4gKiBpbmRpdmlkdWFsIGRlZmluaXRpb25zIGludG8gYSBzaW5nbGUgY29tYmluZWQgZGVmaW5pdGlvbi4gQWRkaW5nIGRpcmVjdGl2ZXMgdG8gYFF1ZXJ5YCBhbmQgYE11dGF0aW9uYCB0eXBlcyBwYXJ0aWNpcGF0aW5nIGluIGFcbiAqIGNvbWJpbmF0aW9uIGlzIG5vdCBzdXBwb3J0ZWQgKHRoZSBiZWhhdmlvciBpcyB1bmRlZmluZWQgd2hldGhlciB0aG9zZSBkaXJlY3RpdmVzIGFyZSBtaWdyYXRlZCkuXG4gKi9cbmV4cG9ydCBjb25zdCBzY2hlbWFCeU1lcmdpbmdEZWZpbml0aW9ucyA9IChkZWZpbml0aW9uczogSUFtcGxpZnlHcmFwaHFsRGVmaW5pdGlvbltdKTogc3RyaW5nID0+IHtcbiAgY29uc3Qgc2NoZW1hID0gZGVmaW5pdGlvbnMubWFwKChkZWYpID0+IGRlZi5zY2hlbWEpLmpvaW4oJ1xcbicpO1xuICBjb25zdCBwYXJzZWRTY2hlbWEgPSBwYXJzZShzY2hlbWEpO1xuXG4gIC8vIFdlIHN0b3JlIHRoZSBRdWVyeSAmIE11dGF0aW9uIGRlZmluaXRpb25zIHNlcGFyYXRlbHkuIFNpbmNlIHRoZSBpbnRlcmZhY2VzIGFyZSByZWFkb25seSwgd2UnbGwgaGF2ZSB0byByZS1jb21wb3NlIHRoZSB0eXBlcyBhZnRlciB3ZSd2ZVxuICAvLyBjb2xsZWN0ZWQgYWxsIHRoZSBmaWVsZHNcbiAgY29uc3QgcXVlcnlBbmRNdXRhdGlvbkRlZmluaXRpb25zOiBSZWNvcmQ8XG4gICAgc3RyaW5nLFxuICAgIHtcbiAgICAgIG5vZGU6IE9iamVjdFR5cGVEZWZpbml0aW9uTm9kZSB8IEludGVyZmFjZVR5cGVEZWZpbml0aW9uTm9kZTtcbiAgICAgIGZpZWxkczogRmllbGREZWZpbml0aW9uTm9kZVtdO1xuICAgIH1cbiAgPiA9IHt9O1xuXG4gIC8vIFRocm93cyBpZiB0aGUgZmllbGQgaGFzIGFscmVhZHkgYmVlbiBlbmNvdW50ZXJlZFxuICBjb25zdCB2YWxpZGF0ZUZpZWxkID0gKHR5cGVOYW1lOiBzdHJpbmcsIGZpZWxkTmFtZTogc3RyaW5nKTogdm9pZCA9PiB7XG4gICAgY29uc3QgZmllbGRzID0gcXVlcnlBbmRNdXRhdGlvbkRlZmluaXRpb25zW3R5cGVOYW1lXT8uZmllbGRzO1xuICAgIGlmICghZmllbGRzKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGlmIChmaWVsZHMuZmluZCgoZmllbGQpID0+IGZpZWxkLm5hbWUudmFsdWUgPT09IGZpZWxkTmFtZSkpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgYFRoZSBjdXN0b20gJHt0eXBlTmFtZX0gZmllbGQgJyR7ZmllbGROYW1lfScgd2FzIGZvdW5kIGluIG11bHRpcGxlIGRlZmluaXRpb25zLCBidXQgYSBmaWVsZCBuYW1lIGNhbm5vdCBiZSBzaGFyZWQgYmV0d2VlbiBkZWZpbml0aW9ucy5gLFxuICAgICAgKTtcbiAgICB9XG4gIH07XG5cbiAgLy8gVHJhbnNmb3JtIHRoZSBzY2hlbWEgYnkgcmVkdWNpbmcgTXV0YXRpb24gJiBRdWVyeSB0eXBlczpcbiAgLy8gLSBDb2xsZWN0IE11dGF0aW9uIGFuZCBRdWVyeSBkZWZpbml0aW9uc1xuICAvLyAtIEFsdGVyIHRoZSBwYXJzZWQgc2NoZW1hIGJ5IGZpbHRlcmluZyBvdXQgTXV0YXRpb24gJiBRdWVyeSB0eXBlc1xuICAvLyAtIEFkZCB0aGUgY29tYmluZWQgTXV0YXRpb24gJiBRdWVyeSBkZWZpbml0aW9ucyB0byB0aGUgZmlsdGVyZWQgc2NoZW1hXG4gIHBhcnNlZFNjaGVtYS5kZWZpbml0aW9ucy5maWx0ZXIoaXNCdWlsdEluR3JhcGhxbE5vZGUpLmZvckVhY2goKGRlZikgPT4ge1xuICAgIGNvbnN0IHR5cGVOYW1lID0gZGVmLm5hbWUudmFsdWU7XG4gICAgaWYgKCFxdWVyeUFuZE11dGF0aW9uRGVmaW5pdGlvbnNbdHlwZU5hbWVdKSB7XG4gICAgICBxdWVyeUFuZE11dGF0aW9uRGVmaW5pdGlvbnNbdHlwZU5hbWVdID0ge1xuICAgICAgICBub2RlOiBkZWYsXG4gICAgICAgIC8vIGBPYmplY3RUeXBlRGVmaW5pdGlvbk5vZGUuZmllbGRzYCBpcyBhIFJlYWRvbmx5QXJyYXk7IHNvIHdlIGhhdmUgdG8gY3JlYXRlIGEgbmV3IG11dGFibGUgYXJyYXkgdG8gY29sbGVjdCBhbGwgdGhlIGZpZWxkc1xuICAgICAgICBmaWVsZHM6IFsuLi4oZGVmLmZpZWxkcyA/PyBbXSldLFxuICAgICAgfTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICAoZGVmLmZpZWxkcyA/PyBbXSkuZm9yRWFjaCgoZmllbGQpID0+IHtcbiAgICAgIHZhbGlkYXRlRmllbGQodHlwZU5hbWUsIGZpZWxkLm5hbWUudmFsdWUpO1xuICAgIH0pO1xuXG4gICAgcXVlcnlBbmRNdXRhdGlvbkRlZmluaXRpb25zW3R5cGVOYW1lXS5maWVsZHMgPSBbLi4ucXVlcnlBbmRNdXRhdGlvbkRlZmluaXRpb25zW3R5cGVOYW1lXS5maWVsZHMsIC4uLihkZWYuZmllbGRzID8/IFtdKV07XG4gIH0pO1xuXG4gIC8vIEdhdGhlciB0aGUgY29sbGVjdGVkIFF1ZXJ5ICYgTXV0YXRpb24gZmllbGRzIGludG8gPD0yIG5ldyBkZWZpbml0aW9uc1xuICBjb25zdCBjb21iaW5lZERlZmluaXRpb25zID0gT2JqZWN0LnZhbHVlcyhxdWVyeUFuZE11dGF0aW9uRGVmaW5pdGlvbnMpXG4gICAgLnNvcnQoKGEsIGIpID0+IGEubm9kZS5uYW1lLnZhbHVlLmxvY2FsZUNvbXBhcmUoYi5ub2RlLm5hbWUudmFsdWUpKVxuICAgIC5yZWR1Y2UoKGFjYywgY3VyKSA9PiB7XG4gICAgICBjb25zdCBkZWZpbml0aW9uTm9kZSA9IHtcbiAgICAgICAgLi4uY3VyLm5vZGUsXG4gICAgICAgIGZpZWxkczogY3VyLmZpZWxkcyxcbiAgICAgIH07XG4gICAgICByZXR1cm4gWy4uLmFjYywgZGVmaW5pdGlvbk5vZGVdO1xuICAgIH0sIFtdIGFzIERlZmluaXRpb25Ob2RlW10pO1xuXG4gIC8vIEZpbHRlciBvdXQgdGhlIG9sZCBRdWVyeSAmIE11dGF0aW9uIGRlZmluaXRpb25zXG4gIGNvbnN0IGZpbHRlcmVkRGVmaW5pdGlvbnMgPSBwYXJzZWRTY2hlbWEuZGVmaW5pdGlvbnMuZmlsdGVyKChkZWYpID0+ICFpc0J1aWx0SW5HcmFwaHFsTm9kZShkZWYpKTtcblxuICAvLyBDb21wb3NlIHRoZSBuZXcgc2NoZW1hIGJ5IGFwcGVuZGluZyB0aGUgY29sbGVjdGVkIGRlZmluaXRpb25zIHRvIHRoZSBmaWx0ZXJlZCBkZWZpbml0aW9ucy4gVGhpcyBtZWFucyB0aGF0IGV2ZXJ5IHF1ZXJ5IHdpbGwgYmVcbiAgLy8gcmV3cml0dGVuIHN1Y2ggdGhhdCB0aGUgTXV0YXRpb24gYW5kIFF1ZXJ5IHR5cGVzIGFwcGVhciBhdCB0aGUgZW5kIG9mIHRoZSBzY2hlbWEuXG4gIGNvbnN0IG5ld1NjaGVtYSA9IHtcbiAgICAuLi5wYXJzZWRTY2hlbWEsXG4gICAgZGVmaW5pdGlvbnM6IFsuLi5maWx0ZXJlZERlZmluaXRpb25zLCAuLi5jb21iaW5lZERlZmluaXRpb25zXSxcbiAgfTtcblxuICBjb25zdCBjb21iaW5lZFNjaGVtYVN0cmluZyA9IHByaW50KG5ld1NjaGVtYSk7XG4gIHJldHVybiBjb21iaW5lZFNjaGVtYVN0cmluZztcbn07XG5cbi8qXG4gKiBWYWxpZGF0ZXMgdGhlIHVzZXIgaW5wdXQgZm9yIHRoZSBkYXRhU291cmNlU3RyYXRlZ3kuIFRoaXMgaXMgYSBuby1vcCBmb3IgRHluYW1vREIgc3RyYXRlZ2llcyBmb3Igbm93LlxuICogQHBhcmFtIHN0cmF0ZWd5IHVzZXIgcHJvdmlkZWQgbW9kZWwgZGF0YSBzb3VyY2Ugc3RyYXRlZ3lcbiAqIEByZXR1cm5zIHZhbGlkYXRlcyBhbmQgdGhyb3dzIGFuIGVycm9yIGlmIHRoZSBzdHJhdGVneSBpcyBpbnZhbGlkXG4gKi9cbmV4cG9ydCBjb25zdCB2YWxpZGF0ZURhdGFTb3VyY2VTdHJhdGVneSA9IChzdHJhdGVneTogQ29uc3RydWN0TW9kZWxEYXRhU291cmNlU3RyYXRlZ3kpOiB2b2lkID0+IHtcbiAgaWYgKCFpc1NxbFN0cmF0ZWd5KHN0cmF0ZWd5KSkge1xuICAgIHJldHVybjtcbiAgfVxuXG4gIGNvbnN0IGRiQ29ubmVjdGlvbkNvbmZpZyA9IHN0cmF0ZWd5LmRiQ29ubmVjdGlvbkNvbmZpZztcbiAgaWYgKFxuICAgIGlzU3FsTW9kZWxEYXRhU291cmNlU3NtRGJDb25uZWN0aW9uQ29uZmlnKGRiQ29ubmVjdGlvbkNvbmZpZykgfHxcbiAgICBpc1NxbE1vZGVsRGF0YVNvdXJjZVNzbURiQ29ubmVjdGlvblN0cmluZ0NvbmZpZyhkYkNvbm5lY3Rpb25Db25maWcpXG4gICkge1xuICAgIGNvbnN0IGludmFsaWRTU01QYXRocyA9IE9iamVjdC52YWx1ZXMoZGJDb25uZWN0aW9uQ29uZmlnKS5maWx0ZXIoKHZhbHVlKSA9PiB0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcnICYmICFpc1ZhbGlkU1NNUGF0aCh2YWx1ZSkpO1xuICAgIGlmIChpbnZhbGlkU1NNUGF0aHMubGVuZ3RoID4gMCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICBgSW52YWxpZCBkYXRhIHNvdXJjZSBzdHJhdGVneSBcIiR7XG4gICAgICAgICAgc3RyYXRlZ3kubmFtZVxuICAgICAgICB9XCIuIEZvbGxvd2luZyBTU00gcGF0aHMgbXVzdCBzdGFydCB3aXRoICcvJyBpbiBkYkNvbm5lY3Rpb25Db25maWc6ICR7aW52YWxpZFNTTVBhdGhzLmpvaW4oJywgJyl9LmAsXG4gICAgICApO1xuICAgIH1cbiAgfSBlbHNlIGlmIChpc1NxbE1vZGVsRGF0YVNvdXJjZVNlY3JldHNNYW5hZ2VyRGJDb25uZWN0aW9uQ29uZmlnKGRiQ29ubmVjdGlvbkNvbmZpZykpIHtcbiAgICBpZiAoIVRva2VuLmlzVW5yZXNvbHZlZChkYkNvbm5lY3Rpb25Db25maWcuc2VjcmV0QXJuKSkge1xuICAgICAgdHJ5IHtcbiAgICAgICAgY29uc3QgYXJuQ29tcG9uZW50cyA9IEFybi5zcGxpdChkYkNvbm5lY3Rpb25Db25maWcuc2VjcmV0QXJuLCBBcm5Gb3JtYXQuQ09MT05fUkVTT1VSQ0VfTkFNRSk7XG4gICAgICAgIGlmIChhcm5Db21wb25lbnRzLnNlcnZpY2UgIT09ICdzZWNyZXRzbWFuYWdlcicgfHwgYXJuQ29tcG9uZW50cy5yZXNvdXJjZSAhPT0gJ3NlY3JldCcpIHtcbiAgICAgICAgICAvLyBlcnJvciBtZXNzYWdlIGRvZXMgbm90IG1hdHRlciBiZWNhdXNlIGl0IGluc2lkZSB0cnkvY2F0Y2hcbiAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoKTtcbiAgICAgICAgfVxuICAgICAgfSBjYXRjaCB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBkYXRhIHNvdXJjZSBzdHJhdGVneSBcIiR7c3RyYXRlZ3kubmFtZX1cIi4gVGhlIHZhbHVlIG9mIHNlY3JldEFybiBpcyBub3QgYSB2YWxpZCBTZWNyZXRzIE1hbmFnZXIgQVJOLmApO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChkYkNvbm5lY3Rpb25Db25maWcua2V5QXJuICYmICFUb2tlbi5pc1VucmVzb2x2ZWQoZGJDb25uZWN0aW9uQ29uZmlnLmtleUFybikpIHtcbiAgICAgIHRyeSB7XG4gICAgICAgIGNvbnN0IGFybkNvbXBvbmVudHMgPSBBcm4uc3BsaXQoZGJDb25uZWN0aW9uQ29uZmlnLmtleUFybiwgQXJuRm9ybWF0LlNMQVNIX1JFU09VUkNFX05BTUUpO1xuICAgICAgICBpZiAoYXJuQ29tcG9uZW50cy5zZXJ2aWNlICE9PSAna21zJyB8fCBhcm5Db21wb25lbnRzLnJlc291cmNlICE9PSAna2V5Jykge1xuICAgICAgICAgIC8vIGVycm9yIG1lc3NhZ2UgZG9lcyBub3QgbWF0dGVyIGJlY2F1c2UgaXQgaW5zaWRlIHRyeS9jYXRjaFxuICAgICAgICAgIHRocm93IG5ldyBFcnJvcigpO1xuICAgICAgICB9XG4gICAgICB9IGNhdGNoIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGRhdGEgc291cmNlIHN0cmF0ZWd5IFwiJHtzdHJhdGVneS5uYW1lfVwiLiBUaGUgdmFsdWUgb2Yga2V5QXJuIGlzIG5vdCBhIHZhbGlkIEtNUyBBUk4uYCk7XG4gICAgICB9XG4gICAgfVxuICB9IGVsc2Uge1xuICAgIHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBkYXRhIHNvdXJjZSBzdHJhdGVneSBcIiR7c3RyYXRlZ3kubmFtZX1cIi4gZGJDb25uZWN0aW9uQ29uZmlnIGRvZXMgbm90IGluY2x1ZGUgU1NNIHBhdGhzIG9yIFNlY3JldCBBUk4uYCk7XG4gIH1cbn07XG5cbmNvbnN0IGlzVmFsaWRTU01QYXRoID0gKHBhdGg6IHN0cmluZyk6IGJvb2xlYW4gPT4ge1xuICByZXR1cm4gcGF0aC5zdGFydHNXaXRoKCcvJyk7XG59O1xuIl19
204
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1zb3VyY2UtY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2ludGVybmFsL2RhdGEtc291cmNlLWNvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxxQ0FBbUk7QUFDbkksb0ZBTStDO0FBQy9DLGdHQUtxRDtBQUNyRCw2Q0FBb0Q7QUFPcEQ7Ozs7Ozs7R0FPRztBQUNJLE1BQU0sc0NBQXNDLEdBQUcsQ0FDcEQsTUFBYyxFQUNkLGtCQUFvRCxFQUNaLEVBQUU7SUFDMUMsSUFBSSxDQUFDLElBQUEsd0NBQWEsRUFBQyxrQkFBa0IsQ0FBQyxFQUFFO1FBQ3RDLE9BQU8sRUFBRSxDQUFDO0tBQ1g7SUFFRCxNQUFNLFlBQVksR0FBRyxJQUFBLGVBQUssRUFBQyxNQUFNLENBQUMsQ0FBQztJQUVuQyxNQUFNLFNBQVMsR0FBRyxZQUFZLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxzQ0FBVyxDQUFDLENBQUM7SUFDN0QsTUFBTSxZQUFZLEdBQUcsWUFBWSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMseUNBQWMsQ0FBQyxDQUFDO0lBQ25FLElBQUksQ0FBQyxTQUFTLElBQUksQ0FBQyxZQUFZLEVBQUU7UUFDL0IsT0FBTyxFQUFFLENBQUM7S0FDWDtJQUVELE1BQU0sNkJBQTZCLEdBQTJDLEVBQUUsQ0FBQztJQUVqRixJQUFJLFNBQVMsRUFBRTtRQUNiLE1BQU0sTUFBTSxHQUFHLElBQUEsaURBQXNCLEVBQUMsU0FBUyxDQUFDLENBQUM7UUFDakQsS0FBSyxNQUFNLEtBQUssSUFBSSxNQUFNLEVBQUU7WUFDMUIsNkJBQTZCLENBQUMsSUFBSSxDQUFDO2dCQUNqQyxRQUFRLEVBQUUsT0FBTztnQkFDakIsU0FBUyxFQUFFLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSztnQkFDM0IsUUFBUSxFQUFFLGtCQUFrQjthQUM3QixDQUFDLENBQUM7U0FDSjtLQUNGO0lBRUQsSUFBSSxZQUFZLEVBQUU7UUFDaEIsTUFBTSxNQUFNLEdBQUcsSUFBQSxpREFBc0IsRUFBQyxZQUFZLENBQUMsQ0FBQztRQUNwRCxLQUFLLE1BQU0sS0FBSyxJQUFJLE1BQU0sRUFBRTtZQUMxQiw2QkFBNkIsQ0FBQyxJQUFJLENBQUM7Z0JBQ2pDLFFBQVEsRUFBRSxVQUFVO2dCQUNwQixTQUFTLEVBQUUsS0FBSyxDQUFDLElBQUksQ0FBQyxLQUFLO2dCQUMzQixRQUFRLEVBQUUsa0JBQWtCO2FBQzdCLENBQUMsQ0FBQztTQUNKO0tBQ0Y7SUFFRCxPQUFPLDZCQUE2QixDQUFDO0FBQ3ZDLENBQUMsQ0FBQztBQXpDVyxRQUFBLHNDQUFzQywwQ0F5Q2pEO0FBRUY7OztHQUdHO0FBQ0ksTUFBTSwrQkFBK0IsR0FBRyxDQUFDLFVBQXFDLEVBQWdDLEVBQUU7SUFDckgsTUFBTSxRQUFRLEdBQWlDO1FBQzdDLHdJQUF3STtRQUN4SSxrQ0FBa0M7UUFDbEMsb0JBQW9CLEVBQUUsVUFBVSxDQUFDLG9CQUFvQjtRQUNyRCxnQ0FBZ0MsRUFBRSxFQUFFO0tBQ3JDLENBQUM7SUFFRiw4R0FBOEc7SUFDOUcsbUNBQW1DO0lBQ25DLE1BQU0sbUJBQW1CLEdBQTJCLEVBQUUsQ0FBQztJQUV2RCxNQUFNLHNCQUFzQixHQUFHLFVBQVUsQ0FBQyw2QkFBNkIsSUFBSSxFQUFFLENBQUM7SUFFOUUseUlBQXlJO0lBQ3pJLDhDQUE4QztJQUM5QyxzQkFBc0IsQ0FBQyxPQUFPLENBQUMsQ0FBQyxXQUFXLEVBQUUsRUFBRTtRQUM3QyxJQUFJLFdBQVcsQ0FBQyxRQUFRLENBQUMsbUJBQW1CLEVBQUU7WUFDNUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxtQkFBbUIsRUFBRSxXQUFXLENBQUMsUUFBUSxDQUFDLG1CQUFtQixDQUFDLENBQUM7U0FDOUU7UUFFRCxRQUFRLENBQUMsZ0NBQWlDLENBQUMsSUFBSSxDQUFDO1lBQzlDLFFBQVEsRUFBRSxXQUFXLENBQUMsUUFBUTtZQUM5QixTQUFTLEVBQUUsV0FBVyxDQUFDLFNBQVM7WUFDaEMsUUFBUSxFQUFFLFdBQVcsQ0FBQyxRQUFRO1lBQzlCLG1CQUFtQjtTQUNwQixDQUFDLENBQUM7SUFDTCxDQUFDLENBQUMsQ0FBQztJQUVILE9BQU8sUUFBUSxDQUFDO0FBQ2xCLENBQUMsQ0FBQztBQTlCVyxRQUFBLCtCQUErQixtQ0E4QjFDO0FBRUY7Ozs7R0FJRztBQUNJLE1BQU0sMEJBQTBCLEdBQUcsQ0FBQyxXQUF3QyxFQUFVLEVBQUU7SUFDN0YsTUFBTSxNQUFNLEdBQUcsV0FBVyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUMvRCxNQUFNLFlBQVksR0FBRyxJQUFBLGVBQUssRUFBQyxNQUFNLENBQUMsQ0FBQztJQUVuQywwSUFBMEk7SUFDMUksMkJBQTJCO0lBQzNCLE1BQU0sMkJBQTJCLEdBTTdCLEVBQUUsQ0FBQztJQUVQLG1EQUFtRDtJQUNuRCxNQUFNLGFBQWEsR0FBRyxDQUFDLFFBQWdCLEVBQUUsU0FBaUIsRUFBUSxFQUFFO1FBQ2xFLE1BQU0sTUFBTSxHQUFHLDJCQUEyQixDQUFDLFFBQVEsQ0FBQyxFQUFFLE1BQU0sQ0FBQztRQUM3RCxJQUFJLENBQUMsTUFBTSxFQUFFO1lBQ1gsT0FBTztTQUNSO1FBQ0QsSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEtBQUssS0FBSyxTQUFTLENBQUMsRUFBRTtZQUMxRCxNQUFNLElBQUksS0FBSyxDQUNiLGNBQWMsUUFBUSxXQUFXLFNBQVMsNkZBQTZGLENBQ3hJLENBQUM7U0FDSDtJQUNILENBQUMsQ0FBQztJQUVGLDJEQUEyRDtJQUMzRCwyQ0FBMkM7SUFDM0Msb0VBQW9FO0lBQ3BFLHlFQUF5RTtJQUN6RSxZQUFZLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQywrQ0FBb0IsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFO1FBQ3BFLE1BQU0sUUFBUSxHQUFHLEdBQUcsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDO1FBQ2hDLElBQUksQ0FBQywyQkFBMkIsQ0FBQyxRQUFRLENBQUMsRUFBRTtZQUMxQywyQkFBMkIsQ0FBQyxRQUFRLENBQUMsR0FBRztnQkFDdEMsSUFBSSxFQUFFLEdBQUc7Z0JBQ1QsMkhBQTJIO2dCQUMzSCxNQUFNLEVBQUUsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLE1BQU0sSUFBSSxFQUFFLENBQUMsQ0FBQzthQUNoQyxDQUFDO1lBQ0YsT0FBTztTQUNSO1FBRUQsQ0FBQyxHQUFHLENBQUMsTUFBTSxJQUFJLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFO1lBQ25DLGFBQWEsQ0FBQyxRQUFRLEVBQUUsS0FBSyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUM1QyxDQUFDLENBQUMsQ0FBQztRQUVILDJCQUEyQixDQUFDLFFBQVEsQ0FBQyxDQUFDLE1BQU0sR0FBRyxDQUFDLEdBQUcsMkJBQTJCLENBQUMsUUFBUSxDQUFDLENBQUMsTUFBTSxFQUFFLEdBQUcsQ0FBQyxHQUFHLENBQUMsTUFBTSxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDMUgsQ0FBQyxDQUFDLENBQUM7SUFFSCx3RUFBd0U7SUFDeEUsTUFBTSxtQkFBbUIsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLDJCQUEyQixDQUFDO1NBQ25FLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDbEUsTUFBTSxDQUFDLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxFQUFFO1FBQ25CLE1BQU0sY0FBYyxHQUFHO1lBQ3JCLEdBQUcsR0FBRyxDQUFDLElBQUk7WUFDWCxNQUFNLEVBQUUsR0FBRyxDQUFDLE1BQU07U0FDbkIsQ0FBQztRQUNGLE9BQU8sQ0FBQyxHQUFHLEdBQUcsRUFBRSxjQUFjLENBQUMsQ0FBQztJQUNsQyxDQUFDLEVBQUUsRUFBc0IsQ0FBQyxDQUFDO0lBRTdCLGtEQUFrRDtJQUNsRCxNQUFNLG1CQUFtQixHQUFHLFlBQVksQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxDQUFDLElBQUEsK0NBQW9CLEVBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztJQUVqRyxpSUFBaUk7SUFDakksb0ZBQW9GO0lBQ3BGLE1BQU0sU0FBUyxHQUFHO1FBQ2hCLEdBQUcsWUFBWTtRQUNmLFdBQVcsRUFBRSxDQUFDLEdBQUcsbUJBQW1CLEVBQUUsR0FBRyxtQkFBbUIsQ0FBQztLQUM5RCxDQUFDO0lBRUYsTUFBTSxvQkFBb0IsR0FBRyxJQUFBLGVBQUssRUFBQyxTQUFTLENBQUMsQ0FBQztJQUM5QyxPQUFPLG9CQUFvQixDQUFDO0FBQzlCLENBQUMsQ0FBQztBQXhFVyxRQUFBLDBCQUEwQiw4QkF3RXJDO0FBRUY7Ozs7R0FJRztBQUNJLE1BQU0sMEJBQTBCLEdBQUcsQ0FBQyxRQUEwQyxFQUFRLEVBQUU7SUFDN0YsSUFBSSxDQUFDLElBQUEsd0NBQWEsRUFBQyxRQUFRLENBQUMsRUFBRTtRQUM1QixPQUFPO0tBQ1I7SUFFRCxNQUFNLGtCQUFrQixHQUFHLFFBQVEsQ0FBQyxrQkFBa0IsQ0FBQztJQUN2RCxJQUNFLElBQUEsMEVBQXlDLEVBQUMsa0JBQWtCLENBQUM7UUFDN0QsSUFBQSxnRkFBK0MsRUFBQyxrQkFBa0IsQ0FBQyxFQUNuRTtRQUNBLE1BQU0sUUFBUSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLE9BQU8sS0FBSyxLQUFLLFFBQVEsQ0FBQyxDQUFDO1FBQ2hHLElBQUksSUFBQSxnRkFBK0MsRUFBQyxrQkFBa0IsQ0FBQyxFQUFFO1lBQ3ZFLE1BQU0sbUJBQW1CLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQyxrQkFBa0IsRUFBRSxvQkFBb0IsQ0FBQyxDQUFDO1lBQ3BGLElBQUksbUJBQW1CLEVBQUU7Z0JBQ3ZCLElBQUksa0JBQWtCLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxHQUFHLENBQUMsRUFBRTtvQkFDeEQsTUFBTSxJQUFJLEtBQUssQ0FBQyxpQ0FBaUMsUUFBUSxDQUFDLElBQUksOERBQThELENBQUMsQ0FBQztpQkFDL0g7Z0JBQ0QsUUFBUSxDQUFDLElBQUksQ0FBQyxHQUFHLGtCQUFrQixDQUFDLG9CQUFvQixDQUFDLENBQUM7YUFDM0Q7U0FDRjtRQUVELE1BQU0sZUFBZSxHQUFHLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7UUFDM0UsSUFBSSxlQUFlLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtZQUM5QixNQUFNLElBQUksS0FBSyxDQUNiLGlDQUNFLFFBQVEsQ0FBQyxJQUNYLHFFQUFxRSxlQUFlLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQ25HLENBQUM7U0FDSDtLQUNGO1NBQU0sSUFBSSxJQUFBLHFGQUFvRCxFQUFDLGtCQUFrQixDQUFDLEVBQUU7UUFDbkYsSUFBSSxDQUFDLG1CQUFLLENBQUMsWUFBWSxDQUFDLGtCQUFrQixDQUFDLFNBQVMsQ0FBQyxFQUFFO1lBQ3JELElBQUk7Z0JBQ0YsTUFBTSxhQUFhLEdBQUcsaUJBQUcsQ0FBQyxLQUFLLENBQUMsa0JBQWtCLENBQUMsU0FBUyxFQUFFLHVCQUFTLENBQUMsbUJBQW1CLENBQUMsQ0FBQztnQkFDN0YsSUFBSSxhQUFhLENBQUMsT0FBTyxLQUFLLGdCQUFnQixJQUFJLGFBQWEsQ0FBQyxRQUFRLEtBQUssUUFBUSxFQUFFO29CQUNyRiw0REFBNEQ7b0JBQzVELE1BQU0sSUFBSSxLQUFLLEVBQUUsQ0FBQztpQkFDbkI7YUFDRjtZQUFDLE1BQU07Z0JBQ04sTUFBTSxJQUFJLEtBQUssQ0FBQyxpQ0FBaUMsUUFBUSxDQUFDLElBQUksK0RBQStELENBQUMsQ0FBQzthQUNoSTtTQUNGO1FBRUQsSUFBSSxrQkFBa0IsQ0FBQyxNQUFNLElBQUksQ0FBQyxtQkFBSyxDQUFDLFlBQVksQ0FBQyxrQkFBa0IsQ0FBQyxNQUFNLENBQUMsRUFBRTtZQUMvRSxJQUFJO2dCQUNGLE1BQU0sYUFBYSxHQUFHLGlCQUFHLENBQUMsS0FBSyxDQUFDLGtCQUFrQixDQUFDLE1BQU0sRUFBRSx1QkFBUyxDQUFDLG1CQUFtQixDQUFDLENBQUM7Z0JBQzFGLElBQUksYUFBYSxDQUFDLE9BQU8sS0FBSyxLQUFLLElBQUksYUFBYSxDQUFDLFFBQVEsS0FBSyxLQUFLLEVBQUU7b0JBQ3ZFLDREQUE0RDtvQkFDNUQsTUFBTSxJQUFJLEtBQUssRUFBRSxDQUFDO2lCQUNuQjthQUNGO1lBQUMsTUFBTTtnQkFDTixNQUFNLElBQUksS0FBSyxDQUFDLGlDQUFpQyxRQUFRLENBQUMsSUFBSSxnREFBZ0QsQ0FBQyxDQUFDO2FBQ2pIO1NBQ0Y7S0FDRjtTQUFNO1FBQ0wsTUFBTSxJQUFJLEtBQUssQ0FBQyxpQ0FBaUMsUUFBUSxDQUFDLElBQUksaUVBQWlFLENBQUMsQ0FBQztLQUNsSTtBQUNILENBQUMsQ0FBQztBQXhEVyxRQUFBLDBCQUEwQiw4QkF3RHJDO0FBRUYsTUFBTSxjQUFjLEdBQUcsQ0FBQyxJQUFZLEVBQVcsRUFBRTtJQUMvQyxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUM7QUFDOUIsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGVmaW5pdGlvbk5vZGUsIEZpZWxkRGVmaW5pdGlvbk5vZGUsIEludGVyZmFjZVR5cGVEZWZpbml0aW9uTm9kZSwgT2JqZWN0VHlwZURlZmluaXRpb25Ob2RlLCBwYXJzZSwgcHJpbnQgfSBmcm9tICdncmFwaHFsJztcbmltcG9ydCB7XG4gIGlzQnVpbHRJbkdyYXBocWxOb2RlLFxuICBpc1NxbFN0cmF0ZWd5LFxuICBpc1F1ZXJ5Tm9kZSxcbiAgaXNNdXRhdGlvbk5vZGUsXG4gIGZpZWxkc1dpdGhTcWxEaXJlY3RpdmUsXG59IGZyb20gJ0Bhd3MtYW1wbGlmeS9ncmFwaHFsLXRyYW5zZm9ybWVyLWNvcmUnO1xuaW1wb3J0IHtcbiAgRGF0YVNvdXJjZVN0cmF0ZWdpZXNQcm92aWRlcixcbiAgaXNTcWxNb2RlbERhdGFTb3VyY2VTc21EYkNvbm5lY3Rpb25Db25maWcsXG4gIGlzU3FsTW9kZWxEYXRhU291cmNlU2VjcmV0c01hbmFnZXJEYkNvbm5lY3Rpb25Db25maWcsXG4gIGlzU3FsTW9kZWxEYXRhU291cmNlU3NtRGJDb25uZWN0aW9uU3RyaW5nQ29uZmlnLFxufSBmcm9tICdAYXdzLWFtcGxpZnkvZ3JhcGhxbC10cmFuc2Zvcm1lci1pbnRlcmZhY2VzJztcbmltcG9ydCB7IFRva2VuLCBBcm4sIEFybkZvcm1hdCB9IGZyb20gJ2F3cy1jZGstbGliJztcbmltcG9ydCB7XG4gIEN1c3RvbVNxbERhdGFTb3VyY2VTdHJhdGVneSBhcyBDb25zdHJ1Y3RDdXN0b21TcWxEYXRhU291cmNlU3RyYXRlZ3ksXG4gIE1vZGVsRGF0YVNvdXJjZVN0cmF0ZWd5IGFzIENvbnN0cnVjdE1vZGVsRGF0YVNvdXJjZVN0cmF0ZWd5LFxufSBmcm9tICcuLi9tb2RlbC1kYXRhc291cmNlLXN0cmF0ZWd5LXR5cGVzJztcbmltcG9ydCB7IElBbXBsaWZ5R3JhcGhxbERlZmluaXRpb24gfSBmcm9tICcuLi90eXBlcyc7XG5cbi8qKlxuICogQ3JlYXRlcyBhbiBpbnRlcmZhY2UgZmxhdm9yIG9mIGN1c3RvbVNxbERhdGFTb3VyY2VTdHJhdGVnaWVzIGZyb20gYSBmYWN0b3J5IG1ldGhvZCdzIHNjaGVtYSBhbmQgZGF0YSBzb3VyY2UuIEludGVybmFsbHksIHRoaXMgZnVuY3Rpb25cbiAqIHNjYW5zIHRoZSBmaWVsZHMgb2YgYFF1ZXJ5YCBhbmQgYE11dGF0aW9uYCBsb29raW5nIGZvciBmaWVsZHMgYW5ub3RhdGVkIHdpdGggdGhlIGBAc3FsYCBkaXJlY3RpdmUgYW5kIGRlc2lnbmF0ZXMgdGhlIHNwZWNpZmllZFxuICogZGF0YVNvdXJjZVN0cmF0ZWd5IHRvIGZ1bGZpbGwgdGhvc2UgY3VzdG9tIHF1ZXJpZXMuXG4gKlxuICogTm90ZSB0aGF0IHdlIGRvIG5vdCBzY2FuIGZvciBgU3Vic2NyaXB0aW9uYCBmaWVsZHM6IGBAc3FsYCBkaXJlY3RpdmVzIGFyZSBub3QgYWxsb3dlZCBvbiB0aG9zZSwgYW5kIGl0IHdvdWxkbid0IG1ha2Ugc2Vuc2UgdG8gZG8gc29cbiAqIGFueXdheSwgc2luY2Ugc3Vic2NyaXB0aW9ucyBhcmUgcHJvY2Vzc2VkIGZyb20gYW4gaW5jb21pbmcgTXV0YXRpb24sIG5vdCBhcyB0aGUgcmVzdWx0IG9mIGEgZGlyZWN0IGRhdGFzb3VyY2UgYWNjZXNzLlxuICovXG5leHBvcnQgY29uc3QgY29uc3RydWN0Q3VzdG9tU3FsRGF0YVNvdXJjZVN0cmF0ZWdpZXMgPSAoXG4gIHNjaGVtYTogc3RyaW5nLFxuICBkYXRhU291cmNlU3RyYXRlZ3k6IENvbnN0cnVjdE1vZGVsRGF0YVNvdXJjZVN0cmF0ZWd5LFxuKTogQ29uc3RydWN0Q3VzdG9tU3FsRGF0YVNvdXJjZVN0cmF0ZWd5W10gPT4ge1xuICBpZiAoIWlzU3FsU3RyYXRlZ3koZGF0YVNvdXJjZVN0cmF0ZWd5KSkge1xuICAgIHJldHVybiBbXTtcbiAgfVxuXG4gIGNvbnN0IHBhcnNlZFNjaGVtYSA9IHBhcnNlKHNjaGVtYSk7XG5cbiAgY29uc3QgcXVlcnlOb2RlID0gcGFyc2VkU2NoZW1hLmRlZmluaXRpb25zLmZpbmQoaXNRdWVyeU5vZGUpO1xuICBjb25zdCBtdXRhdGlvbk5vZGUgPSBwYXJzZWRTY2hlbWEuZGVmaW5pdGlvbnMuZmluZChpc011dGF0aW9uTm9kZSk7XG4gIGlmICghcXVlcnlOb2RlICYmICFtdXRhdGlvbk5vZGUpIHtcbiAgICByZXR1cm4gW107XG4gIH1cblxuICBjb25zdCBjdXN0b21TcWxEYXRhU291cmNlU3RyYXRlZ2llczogQ29uc3RydWN0Q3VzdG9tU3FsRGF0YVNvdXJjZVN0cmF0ZWd5W10gPSBbXTtcblxuICBpZiAocXVlcnlOb2RlKSB7XG4gICAgY29uc3QgZmllbGRzID0gZmllbGRzV2l0aFNxbERpcmVjdGl2ZShxdWVyeU5vZGUpO1xuICAgIGZvciAoY29uc3QgZmllbGQgb2YgZmllbGRzKSB7XG4gICAgICBjdXN0b21TcWxEYXRhU291cmNlU3RyYXRlZ2llcy5wdXNoKHtcbiAgICAgICAgdHlwZU5hbWU6ICdRdWVyeScsXG4gICAgICAgIGZpZWxkTmFtZTogZmllbGQubmFtZS52YWx1ZSxcbiAgICAgICAgc3RyYXRlZ3k6IGRhdGFTb3VyY2VTdHJhdGVneSxcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIGlmIChtdXRhdGlvbk5vZGUpIHtcbiAgICBjb25zdCBmaWVsZHMgPSBmaWVsZHNXaXRoU3FsRGlyZWN0aXZlKG11dGF0aW9uTm9kZSk7XG4gICAgZm9yIChjb25zdCBmaWVsZCBvZiBmaWVsZHMpIHtcbiAgICAgIGN1c3RvbVNxbERhdGFTb3VyY2VTdHJhdGVnaWVzLnB1c2goe1xuICAgICAgICB0eXBlTmFtZTogJ011dGF0aW9uJyxcbiAgICAgICAgZmllbGROYW1lOiBmaWVsZC5uYW1lLnZhbHVlLFxuICAgICAgICBzdHJhdGVneTogZGF0YVNvdXJjZVN0cmF0ZWd5LFxuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIGN1c3RvbVNxbERhdGFTb3VyY2VTdHJhdGVnaWVzO1xufTtcblxuLyoqXG4gKiBFeHRyYWN0cyB0aGUgZGF0YSBzb3VyY2UgcHJvdmlkZXIgZnJvbSB0aGUgZGVmaW5pdGlvbi4gVGhpcyBqdW1wcyB0aHJvdWdoIHNvbWUgaG9vcHMgdG8gYXZvaWQgY2hhbmdpbmcgdGhlIHB1YmxpYyBpbnRlcmZhY2UuIElmIHdlIGRlY2lkZVxuICogdG8gY2hhbmdlIHRoZSBwdWJsaWMgaW50ZXJmYWNlIHRvIHNpbXBsaWZ5IHRoZSBzdHJ1Y3R1cmUsIHRoZW4gdGhpcyBwcm9jZXNzIGdldHMgYSBsb3Qgc2ltcGxlci5cbiAqL1xuZXhwb3J0IGNvbnN0IGdldERhdGFTb3VyY2VTdHJhdGVnaWVzUHJvdmlkZXIgPSAoZGVmaW5pdGlvbjogSUFtcGxpZnlHcmFwaHFsRGVmaW5pdGlvbik6IERhdGFTb3VyY2VTdHJhdGVnaWVzUHJvdmlkZXIgPT4ge1xuICBjb25zdCBwcm92aWRlcjogRGF0YVNvdXJjZVN0cmF0ZWdpZXNQcm92aWRlciA9IHtcbiAgICAvLyBXZSBjYW4gZGlyZWN0bHkgdXNlIHRoZSBpbnRlcmZhY2Ugc3RyYXRlZ2llcywgZXZlbiB0aG91Z2ggdGhlIFNRTCBzdHJhdGVnaWVzIGhhdmUgdGhlIGN1c3RvbVNxbFN0YXRlbWVudHMgZmllbGQgdGhhdCBpcyB1bnVzZWQgYnkgdGhlXG4gICAgLy8gdHJhbnNmb3JtZXIgZmxhdm9yIG9mIHRoaXMgdHlwZVxuICAgIGRhdGFTb3VyY2VTdHJhdGVnaWVzOiBkZWZpbml0aW9uLmRhdGFTb3VyY2VTdHJhdGVnaWVzLFxuICAgIHNxbERpcmVjdGl2ZURhdGFTb3VyY2VTdHJhdGVnaWVzOiBbXSxcbiAgfTtcblxuICAvLyBXZSdsbCBjb2xsZWN0IGFsbCB0aGUgY3VzdG9tIFNRTCBzdGF0ZW1lbnRzIGZyb20gdGhlIGRlZmluaXRpb24gaW50byBhIHNpbmdsZSBtYXAsIGFuZCB1c2UgdGhhdCB0byBtYWtlIG91clxuICAvLyBTcWxEaXJlY3RpdmVEYXRhU291cmNlU3RyYXRlZ2llc1xuICBjb25zdCBjdXN0b21TcWxTdGF0ZW1lbnRzOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+ID0ge307XG5cbiAgY29uc3QgY29uc3RydWN0U3FsU3RyYXRlZ2llcyA9IGRlZmluaXRpb24uY3VzdG9tU3FsRGF0YVNvdXJjZVN0cmF0ZWdpZXMgPz8gW107XG5cbiAgLy8gTm90ZSB0aGF0IHdlJ3JlIHJlbHlpbmcgb24gdGhlIGBjdXN0b21TcWxTdGF0ZW1lbnRzYCBvYmplY3QgcmVmZXJlbmNlIHRvIHN0YXkgdGhlIHNhbWUgdGhyb3VnaG91dCB0aGlzIGxvb3AuIERvbid0IHJlYXNzaWduIGl0LCBvciB0aGVcbiAgLy8gY29sbGVjdGVkIHNxbERpcmVjdGl2ZVN0cmF0ZWdpZXMgd2lsbCBicmVha1xuICBjb25zdHJ1Y3RTcWxTdHJhdGVnaWVzLmZvckVhY2goKHNxbFN0cmF0ZWd5KSA9PiB7XG4gICAgaWYgKHNxbFN0cmF0ZWd5LnN0cmF0ZWd5LmN1c3RvbVNxbFN0YXRlbWVudHMpIHtcbiAgICAgIE9iamVjdC5hc3NpZ24oY3VzdG9tU3FsU3RhdGVtZW50cywgc3FsU3RyYXRlZ3kuc3RyYXRlZ3kuY3VzdG9tU3FsU3RhdGVtZW50cyk7XG4gICAgfVxuXG4gICAgcHJvdmlkZXIuc3FsRGlyZWN0aXZlRGF0YVNvdXJjZVN0cmF0ZWdpZXMhLnB1c2goe1xuICAgICAgdHlwZU5hbWU6IHNxbFN0cmF0ZWd5LnR5cGVOYW1lLFxuICAgICAgZmllbGROYW1lOiBzcWxTdHJhdGVneS5maWVsZE5hbWUsXG4gICAgICBzdHJhdGVneTogc3FsU3RyYXRlZ3kuc3RyYXRlZ3ksXG4gICAgICBjdXN0b21TcWxTdGF0ZW1lbnRzLFxuICAgIH0pO1xuICB9KTtcblxuICByZXR1cm4gcHJvdmlkZXI7XG59O1xuXG4vKipcbiAqIENyZWF0ZXMgYSBuZXcgc2NoZW1hIGJ5IG1lcmdpbmcgdGhlIGluZGl2aWR1YWwgc2NoZW1hcyBjb250YWluZWQgaW4gdGhlIGRlZmluaXRpb25zLCBjb21iaW5pbmcgZmllbGRzIG9mIHRoZSBRdWVyeSBhbmQgTXV0YXRpb24gdHlwZXMgaW5cbiAqIGluZGl2aWR1YWwgZGVmaW5pdGlvbnMgaW50byBhIHNpbmdsZSBjb21iaW5lZCBkZWZpbml0aW9uLiBBZGRpbmcgZGlyZWN0aXZlcyB0byBgUXVlcnlgIGFuZCBgTXV0YXRpb25gIHR5cGVzIHBhcnRpY2lwYXRpbmcgaW4gYVxuICogY29tYmluYXRpb24gaXMgbm90IHN1cHBvcnRlZCAodGhlIGJlaGF2aW9yIGlzIHVuZGVmaW5lZCB3aGV0aGVyIHRob3NlIGRpcmVjdGl2ZXMgYXJlIG1pZ3JhdGVkKS5cbiAqL1xuZXhwb3J0IGNvbnN0IHNjaGVtYUJ5TWVyZ2luZ0RlZmluaXRpb25zID0gKGRlZmluaXRpb25zOiBJQW1wbGlmeUdyYXBocWxEZWZpbml0aW9uW10pOiBzdHJpbmcgPT4ge1xuICBjb25zdCBzY2hlbWEgPSBkZWZpbml0aW9ucy5tYXAoKGRlZikgPT4gZGVmLnNjaGVtYSkuam9pbignXFxuJyk7XG4gIGNvbnN0IHBhcnNlZFNjaGVtYSA9IHBhcnNlKHNjaGVtYSk7XG5cbiAgLy8gV2Ugc3RvcmUgdGhlIFF1ZXJ5ICYgTXV0YXRpb24gZGVmaW5pdGlvbnMgc2VwYXJhdGVseS4gU2luY2UgdGhlIGludGVyZmFjZXMgYXJlIHJlYWRvbmx5LCB3ZSdsbCBoYXZlIHRvIHJlLWNvbXBvc2UgdGhlIHR5cGVzIGFmdGVyIHdlJ3ZlXG4gIC8vIGNvbGxlY3RlZCBhbGwgdGhlIGZpZWxkc1xuICBjb25zdCBxdWVyeUFuZE11dGF0aW9uRGVmaW5pdGlvbnM6IFJlY29yZDxcbiAgICBzdHJpbmcsXG4gICAge1xuICAgICAgbm9kZTogT2JqZWN0VHlwZURlZmluaXRpb25Ob2RlIHwgSW50ZXJmYWNlVHlwZURlZmluaXRpb25Ob2RlO1xuICAgICAgZmllbGRzOiBGaWVsZERlZmluaXRpb25Ob2RlW107XG4gICAgfVxuICA+ID0ge307XG5cbiAgLy8gVGhyb3dzIGlmIHRoZSBmaWVsZCBoYXMgYWxyZWFkeSBiZWVuIGVuY291bnRlcmVkXG4gIGNvbnN0IHZhbGlkYXRlRmllbGQgPSAodHlwZU5hbWU6IHN0cmluZywgZmllbGROYW1lOiBzdHJpbmcpOiB2b2lkID0+IHtcbiAgICBjb25zdCBmaWVsZHMgPSBxdWVyeUFuZE11dGF0aW9uRGVmaW5pdGlvbnNbdHlwZU5hbWVdPy5maWVsZHM7XG4gICAgaWYgKCFmaWVsZHMpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgaWYgKGZpZWxkcy5maW5kKChmaWVsZCkgPT4gZmllbGQubmFtZS52YWx1ZSA9PT0gZmllbGROYW1lKSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICBgVGhlIGN1c3RvbSAke3R5cGVOYW1lfSBmaWVsZCAnJHtmaWVsZE5hbWV9JyB3YXMgZm91bmQgaW4gbXVsdGlwbGUgZGVmaW5pdGlvbnMsIGJ1dCBhIGZpZWxkIG5hbWUgY2Fubm90IGJlIHNoYXJlZCBiZXR3ZWVuIGRlZmluaXRpb25zLmAsXG4gICAgICApO1xuICAgIH1cbiAgfTtcblxuICAvLyBUcmFuc2Zvcm0gdGhlIHNjaGVtYSBieSByZWR1Y2luZyBNdXRhdGlvbiAmIFF1ZXJ5IHR5cGVzOlxuICAvLyAtIENvbGxlY3QgTXV0YXRpb24gYW5kIFF1ZXJ5IGRlZmluaXRpb25zXG4gIC8vIC0gQWx0ZXIgdGhlIHBhcnNlZCBzY2hlbWEgYnkgZmlsdGVyaW5nIG91dCBNdXRhdGlvbiAmIFF1ZXJ5IHR5cGVzXG4gIC8vIC0gQWRkIHRoZSBjb21iaW5lZCBNdXRhdGlvbiAmIFF1ZXJ5IGRlZmluaXRpb25zIHRvIHRoZSBmaWx0ZXJlZCBzY2hlbWFcbiAgcGFyc2VkU2NoZW1hLmRlZmluaXRpb25zLmZpbHRlcihpc0J1aWx0SW5HcmFwaHFsTm9kZSkuZm9yRWFjaCgoZGVmKSA9PiB7XG4gICAgY29uc3QgdHlwZU5hbWUgPSBkZWYubmFtZS52YWx1ZTtcbiAgICBpZiAoIXF1ZXJ5QW5kTXV0YXRpb25EZWZpbml0aW9uc1t0eXBlTmFtZV0pIHtcbiAgICAgIHF1ZXJ5QW5kTXV0YXRpb25EZWZpbml0aW9uc1t0eXBlTmFtZV0gPSB7XG4gICAgICAgIG5vZGU6IGRlZixcbiAgICAgICAgLy8gYE9iamVjdFR5cGVEZWZpbml0aW9uTm9kZS5maWVsZHNgIGlzIGEgUmVhZG9ubHlBcnJheTsgc28gd2UgaGF2ZSB0byBjcmVhdGUgYSBuZXcgbXV0YWJsZSBhcnJheSB0byBjb2xsZWN0IGFsbCB0aGUgZmllbGRzXG4gICAgICAgIGZpZWxkczogWy4uLihkZWYuZmllbGRzID8/IFtdKV0sXG4gICAgICB9O1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIChkZWYuZmllbGRzID8/IFtdKS5mb3JFYWNoKChmaWVsZCkgPT4ge1xuICAgICAgdmFsaWRhdGVGaWVsZCh0eXBlTmFtZSwgZmllbGQubmFtZS52YWx1ZSk7XG4gICAgfSk7XG5cbiAgICBxdWVyeUFuZE11dGF0aW9uRGVmaW5pdGlvbnNbdHlwZU5hbWVdLmZpZWxkcyA9IFsuLi5xdWVyeUFuZE11dGF0aW9uRGVmaW5pdGlvbnNbdHlwZU5hbWVdLmZpZWxkcywgLi4uKGRlZi5maWVsZHMgPz8gW10pXTtcbiAgfSk7XG5cbiAgLy8gR2F0aGVyIHRoZSBjb2xsZWN0ZWQgUXVlcnkgJiBNdXRhdGlvbiBmaWVsZHMgaW50byA8PTIgbmV3IGRlZmluaXRpb25zXG4gIGNvbnN0IGNvbWJpbmVkRGVmaW5pdGlvbnMgPSBPYmplY3QudmFsdWVzKHF1ZXJ5QW5kTXV0YXRpb25EZWZpbml0aW9ucylcbiAgICAuc29ydCgoYSwgYikgPT4gYS5ub2RlLm5hbWUudmFsdWUubG9jYWxlQ29tcGFyZShiLm5vZGUubmFtZS52YWx1ZSkpXG4gICAgLnJlZHVjZSgoYWNjLCBjdXIpID0+IHtcbiAgICAgIGNvbnN0IGRlZmluaXRpb25Ob2RlID0ge1xuICAgICAgICAuLi5jdXIubm9kZSxcbiAgICAgICAgZmllbGRzOiBjdXIuZmllbGRzLFxuICAgICAgfTtcbiAgICAgIHJldHVybiBbLi4uYWNjLCBkZWZpbml0aW9uTm9kZV07XG4gICAgfSwgW10gYXMgRGVmaW5pdGlvbk5vZGVbXSk7XG5cbiAgLy8gRmlsdGVyIG91dCB0aGUgb2xkIFF1ZXJ5ICYgTXV0YXRpb24gZGVmaW5pdGlvbnNcbiAgY29uc3QgZmlsdGVyZWREZWZpbml0aW9ucyA9IHBhcnNlZFNjaGVtYS5kZWZpbml0aW9ucy5maWx0ZXIoKGRlZikgPT4gIWlzQnVpbHRJbkdyYXBocWxOb2RlKGRlZikpO1xuXG4gIC8vIENvbXBvc2UgdGhlIG5ldyBzY2hlbWEgYnkgYXBwZW5kaW5nIHRoZSBjb2xsZWN0ZWQgZGVmaW5pdGlvbnMgdG8gdGhlIGZpbHRlcmVkIGRlZmluaXRpb25zLiBUaGlzIG1lYW5zIHRoYXQgZXZlcnkgcXVlcnkgd2lsbCBiZVxuICAvLyByZXdyaXR0ZW4gc3VjaCB0aGF0IHRoZSBNdXRhdGlvbiBhbmQgUXVlcnkgdHlwZXMgYXBwZWFyIGF0IHRoZSBlbmQgb2YgdGhlIHNjaGVtYS5cbiAgY29uc3QgbmV3U2NoZW1hID0ge1xuICAgIC4uLnBhcnNlZFNjaGVtYSxcbiAgICBkZWZpbml0aW9uczogWy4uLmZpbHRlcmVkRGVmaW5pdGlvbnMsIC4uLmNvbWJpbmVkRGVmaW5pdGlvbnNdLFxuICB9O1xuXG4gIGNvbnN0IGNvbWJpbmVkU2NoZW1hU3RyaW5nID0gcHJpbnQobmV3U2NoZW1hKTtcbiAgcmV0dXJuIGNvbWJpbmVkU2NoZW1hU3RyaW5nO1xufTtcblxuLypcbiAqIFZhbGlkYXRlcyB0aGUgdXNlciBpbnB1dCBmb3IgdGhlIGRhdGFTb3VyY2VTdHJhdGVneS4gVGhpcyBpcyBhIG5vLW9wIGZvciBEeW5hbW9EQiBzdHJhdGVnaWVzIGZvciBub3cuXG4gKiBAcGFyYW0gc3RyYXRlZ3kgdXNlciBwcm92aWRlZCBtb2RlbCBkYXRhIHNvdXJjZSBzdHJhdGVneVxuICogQHJldHVybnMgdmFsaWRhdGVzIGFuZCB0aHJvd3MgYW4gZXJyb3IgaWYgdGhlIHN0cmF0ZWd5IGlzIGludmFsaWRcbiAqL1xuZXhwb3J0IGNvbnN0IHZhbGlkYXRlRGF0YVNvdXJjZVN0cmF0ZWd5ID0gKHN0cmF0ZWd5OiBDb25zdHJ1Y3RNb2RlbERhdGFTb3VyY2VTdHJhdGVneSk6IHZvaWQgPT4ge1xuICBpZiAoIWlzU3FsU3RyYXRlZ3koc3RyYXRlZ3kpKSB7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgY29uc3QgZGJDb25uZWN0aW9uQ29uZmlnID0gc3RyYXRlZ3kuZGJDb25uZWN0aW9uQ29uZmlnO1xuICBpZiAoXG4gICAgaXNTcWxNb2RlbERhdGFTb3VyY2VTc21EYkNvbm5lY3Rpb25Db25maWcoZGJDb25uZWN0aW9uQ29uZmlnKSB8fFxuICAgIGlzU3FsTW9kZWxEYXRhU291cmNlU3NtRGJDb25uZWN0aW9uU3RyaW5nQ29uZmlnKGRiQ29ubmVjdGlvbkNvbmZpZylcbiAgKSB7XG4gICAgY29uc3Qgc3NtUGF0aHMgPSBPYmplY3QudmFsdWVzKGRiQ29ubmVjdGlvbkNvbmZpZykuZmlsdGVyKCh2YWx1ZSkgPT4gdHlwZW9mIHZhbHVlID09PSAnc3RyaW5nJyk7XG4gICAgaWYgKGlzU3FsTW9kZWxEYXRhU291cmNlU3NtRGJDb25uZWN0aW9uU3RyaW5nQ29uZmlnKGRiQ29ubmVjdGlvbkNvbmZpZykpIHtcbiAgICAgIGNvbnN0IGhhc011bHRpcGxlU1NNUGF0aHMgPSBBcnJheS5pc0FycmF5KGRiQ29ubmVjdGlvbkNvbmZpZz8uY29ubmVjdGlvblVyaVNzbVBhdGgpO1xuICAgICAgaWYgKGhhc011bHRpcGxlU1NNUGF0aHMpIHtcbiAgICAgICAgaWYgKGRiQ29ubmVjdGlvbkNvbmZpZz8uY29ubmVjdGlvblVyaVNzbVBhdGg/Lmxlbmd0aCA8IDEpIHtcbiAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgZGF0YSBzb3VyY2Ugc3RyYXRlZ3kgXCIke3N0cmF0ZWd5Lm5hbWV9XCIuIGNvbm5lY3Rpb25VcmlTc21QYXRoIG11c3QgYmUgYSBzdHJpbmcgb3Igbm9uLWVtcHR5IGFycmF5LmApO1xuICAgICAgICB9XG4gICAgICAgIHNzbVBhdGhzLnB1c2goLi4uZGJDb25uZWN0aW9uQ29uZmlnLmNvbm5lY3Rpb25VcmlTc21QYXRoKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBjb25zdCBpbnZhbGlkU1NNUGF0aHMgPSBzc21QYXRocy5maWx0ZXIoKHZhbHVlKSA9PiAhaXNWYWxpZFNTTVBhdGgodmFsdWUpKTtcbiAgICBpZiAoaW52YWxpZFNTTVBhdGhzLmxlbmd0aCA+IDApIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgYEludmFsaWQgZGF0YSBzb3VyY2Ugc3RyYXRlZ3kgXCIke1xuICAgICAgICAgIHN0cmF0ZWd5Lm5hbWVcbiAgICAgICAgfVwiLiBGb2xsb3dpbmcgU1NNIHBhdGhzIG11c3Qgc3RhcnQgd2l0aCAnLycgaW4gZGJDb25uZWN0aW9uQ29uZmlnOiAke2ludmFsaWRTU01QYXRocy5qb2luKCcsICcpfS5gLFxuICAgICAgKTtcbiAgICB9XG4gIH0gZWxzZSBpZiAoaXNTcWxNb2RlbERhdGFTb3VyY2VTZWNyZXRzTWFuYWdlckRiQ29ubmVjdGlvbkNvbmZpZyhkYkNvbm5lY3Rpb25Db25maWcpKSB7XG4gICAgaWYgKCFUb2tlbi5pc1VucmVzb2x2ZWQoZGJDb25uZWN0aW9uQ29uZmlnLnNlY3JldEFybikpIHtcbiAgICAgIHRyeSB7XG4gICAgICAgIGNvbnN0IGFybkNvbXBvbmVudHMgPSBBcm4uc3BsaXQoZGJDb25uZWN0aW9uQ29uZmlnLnNlY3JldEFybiwgQXJuRm9ybWF0LkNPTE9OX1JFU09VUkNFX05BTUUpO1xuICAgICAgICBpZiAoYXJuQ29tcG9uZW50cy5zZXJ2aWNlICE9PSAnc2VjcmV0c21hbmFnZXInIHx8IGFybkNvbXBvbmVudHMucmVzb3VyY2UgIT09ICdzZWNyZXQnKSB7XG4gICAgICAgICAgLy8gZXJyb3IgbWVzc2FnZSBkb2VzIG5vdCBtYXR0ZXIgYmVjYXVzZSBpdCBpbnNpZGUgdHJ5L2NhdGNoXG4gICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCk7XG4gICAgICAgIH1cbiAgICAgIH0gY2F0Y2gge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgZGF0YSBzb3VyY2Ugc3RyYXRlZ3kgXCIke3N0cmF0ZWd5Lm5hbWV9XCIuIFRoZSB2YWx1ZSBvZiBzZWNyZXRBcm4gaXMgbm90IGEgdmFsaWQgU2VjcmV0cyBNYW5hZ2VyIEFSTi5gKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAoZGJDb25uZWN0aW9uQ29uZmlnLmtleUFybiAmJiAhVG9rZW4uaXNVbnJlc29sdmVkKGRiQ29ubmVjdGlvbkNvbmZpZy5rZXlBcm4pKSB7XG4gICAgICB0cnkge1xuICAgICAgICBjb25zdCBhcm5Db21wb25lbnRzID0gQXJuLnNwbGl0KGRiQ29ubmVjdGlvbkNvbmZpZy5rZXlBcm4sIEFybkZvcm1hdC5TTEFTSF9SRVNPVVJDRV9OQU1FKTtcbiAgICAgICAgaWYgKGFybkNvbXBvbmVudHMuc2VydmljZSAhPT0gJ2ttcycgfHwgYXJuQ29tcG9uZW50cy5yZXNvdXJjZSAhPT0gJ2tleScpIHtcbiAgICAgICAgICAvLyBlcnJvciBtZXNzYWdlIGRvZXMgbm90IG1hdHRlciBiZWNhdXNlIGl0IGluc2lkZSB0cnkvY2F0Y2hcbiAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoKTtcbiAgICAgICAgfVxuICAgICAgfSBjYXRjaCB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBkYXRhIHNvdXJjZSBzdHJhdGVneSBcIiR7c3RyYXRlZ3kubmFtZX1cIi4gVGhlIHZhbHVlIG9mIGtleUFybiBpcyBub3QgYSB2YWxpZCBLTVMgQVJOLmApO1xuICAgICAgfVxuICAgIH1cbiAgfSBlbHNlIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgZGF0YSBzb3VyY2Ugc3RyYXRlZ3kgXCIke3N0cmF0ZWd5Lm5hbWV9XCIuIGRiQ29ubmVjdGlvbkNvbmZpZyBkb2VzIG5vdCBpbmNsdWRlIFNTTSBwYXRocyBvciBTZWNyZXQgQVJOLmApO1xuICB9XG59O1xuXG5jb25zdCBpc1ZhbGlkU1NNUGF0aCA9IChwYXRoOiBzdHJpbmcpOiBib29sZWFuID0+IHtcbiAgcmV0dXJuIHBhdGguc3RhcnRzV2l0aCgnLycpO1xufTtcbiJdfQ==
@@ -2,6 +2,6 @@ export * from './authorization-modes';
2
2
  export * from './construct-exports';
3
3
  export * from './default-parameters';
4
4
  export * from './conflict-resolution';
5
- export * from './asset-manager';
5
+ export * from './asset-provider';
6
6
  export * from './codegen-assets';
7
7
  export * from './model-type-name';
@@ -18,7 +18,7 @@ __exportStar(require("./authorization-modes"), exports);
18
18
  __exportStar(require("./construct-exports"), exports);
19
19
  __exportStar(require("./default-parameters"), exports);
20
20
  __exportStar(require("./conflict-resolution"), exports);
21
- __exportStar(require("./asset-manager"), exports);
21
+ __exportStar(require("./asset-provider"), exports);
22
22
  __exportStar(require("./codegen-assets"), exports);
23
23
  __exportStar(require("./model-type-name"), exports);
24
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW50ZXJuYWwvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLHdEQUFzQztBQUN0QyxzREFBb0M7QUFDcEMsdURBQXFDO0FBQ3JDLHdEQUFzQztBQUN0QyxrREFBZ0M7QUFDaEMsbURBQWlDO0FBQ2pDLG9EQUFrQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vYXV0aG9yaXphdGlvbi1tb2Rlcyc7XG5leHBvcnQgKiBmcm9tICcuL2NvbnN0cnVjdC1leHBvcnRzJztcbmV4cG9ydCAqIGZyb20gJy4vZGVmYXVsdC1wYXJhbWV0ZXJzJztcbmV4cG9ydCAqIGZyb20gJy4vY29uZmxpY3QtcmVzb2x1dGlvbic7XG5leHBvcnQgKiBmcm9tICcuL2Fzc2V0LW1hbmFnZXInO1xuZXhwb3J0ICogZnJvbSAnLi9jb2RlZ2VuLWFzc2V0cyc7XG5leHBvcnQgKiBmcm9tICcuL21vZGVsLXR5cGUtbmFtZSc7XG4iXX0=
24
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW50ZXJuYWwvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLHdEQUFzQztBQUN0QyxzREFBb0M7QUFDcEMsdURBQXFDO0FBQ3JDLHdEQUFzQztBQUN0QyxtREFBaUM7QUFDakMsbURBQWlDO0FBQ2pDLG9EQUFrQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vYXV0aG9yaXphdGlvbi1tb2Rlcyc7XG5leHBvcnQgKiBmcm9tICcuL2NvbnN0cnVjdC1leHBvcnRzJztcbmV4cG9ydCAqIGZyb20gJy4vZGVmYXVsdC1wYXJhbWV0ZXJzJztcbmV4cG9ydCAqIGZyb20gJy4vY29uZmxpY3QtcmVzb2x1dGlvbic7XG5leHBvcnQgKiBmcm9tICcuL2Fzc2V0LXByb3ZpZGVyJztcbmV4cG9ydCAqIGZyb20gJy4vY29kZWdlbi1hc3NldHMnO1xuZXhwb3J0ICogZnJvbSAnLi9tb2RlbC10eXBlLW5hbWUnO1xuIl19
@@ -99,8 +99,13 @@ export type SqlModelDataSourceDbConnectionConfig = SqlModelDataSourceSecretsMana
99
99
  * @experimental
100
100
  */
101
101
  export interface SqlModelDataSourceSsmDbConnectionStringConfig {
102
- /** The SSM Path to the secure connection string used for connecting to the database. **/
103
- readonly connectionUriSsmPath: string;
102
+ /**
103
+ * The SSM Path to the secure connection string used for connecting to the database. If more than one path is provided,
104
+ * the SQL Lambda will attempt to retrieve connection information from each path in order until it finds a valid
105
+ * path entry, then stop. If the connection information contained in that path is invalid, the SQL Lambda will not
106
+ * attempt to retrieve connection information from subsequent paths in the array.
107
+ **/
108
+ readonly connectionUriSsmPath: string | string[];
104
109
  }
105
110
  /**
106
111
  * The credentials stored in Secrets Manager that the lambda data source will use to connect to the database.
@@ -7,4 +7,4 @@
7
7
  // amplify-graphql-transformer-interfaces/src/model-datasource (the internal implementation)
8
8
  // #########################################################################################################################################
9
9
  Object.defineProperty(exports, "__esModule", { value: true });
10
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZWwtZGF0YXNvdXJjZS1zdHJhdGVneS10eXBlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9tb2RlbC1kYXRhc291cmNlLXN0cmF0ZWd5LXR5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSw0SUFBNEk7QUFDNUksNElBQTRJO0FBQzVJLDhEQUE4RDtBQUM5RCxFQUFFO0FBQ0YsNkdBQTZHO0FBQzdHLDRGQUE0RjtBQUM1Riw0SUFBNEkiLCJzb3VyY2VzQ29udGVudCI6WyIvLyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjI1xuLy8gVGhlc2UgYXJlIHRoZSBwdWJsaWMtZmFjaW5nIHR5cGVzIHVzZWQgYnkgY3VzdG9tZXJzIHRvIGRlZmluZSB0aGVpciBMMyBDREsgY29uc3RydWN0LiBNYW55IG9mIHRoZXNlIGhhdmUgY29ycmVzcG9uZGluZyBkZWZpbml0aW9ucyBpbiB0aGVcbi8vIHRyYW5zZm9ybWVyLWludGVyZmFjZXMgcGFja2FnZSB0byBkZWZpbmUgaW50ZXJuYWwgYmVoYXZpb3IuXG4vL1xuLy8gSWYgeW91IGNoYW5nZSB0eXBlcyBpbiB0aGlzIGZpbGUgKHRoZSBjdXN0b21lci1mYWNpbmcgaW50ZXJmYWNlKSwgYmUgc3VyZSB0byBtYWtlIGNvcnJlc3BvbmRpbmcgY2hhbmdlcyB0b1xuLy8gYW1wbGlmeS1ncmFwaHFsLXRyYW5zZm9ybWVyLWludGVyZmFjZXMvc3JjL21vZGVsLWRhdGFzb3VyY2UgKHRoZSBpbnRlcm5hbCBpbXBsZW1lbnRhdGlvbilcbi8vICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjXG5cbi8qKlxuICogQWxsIGtub3duIE1vZGVsRGF0YVNvdXJjZVN0cmF0ZWdpZXMuIENvbmNyZXRlIHN0cmF0ZWdpZXMgdmFyeSB3aWRlbHkgaW4gdGhlaXIgcmVxdWlyZW1lbnRzIGFuZCBpbXBsZW1lbnRhdGlvbnMuXG4gKi9cbmV4cG9ydCB0eXBlIE1vZGVsRGF0YVNvdXJjZVN0cmF0ZWd5ID1cbiAgfCBEZWZhdWx0RHluYW1vRGJNb2RlbERhdGFTb3VyY2VTdHJhdGVneVxuICB8IEFtcGxpZnlEeW5hbW9EYk1vZGVsRGF0YVNvdXJjZVN0cmF0ZWd5XG4gIHwgU1FMTGFtYmRhTW9kZWxEYXRhU291cmNlU3RyYXRlZ3k7XG5cbi8qKlxuICogQWxsIHN1cHBvcnRlZCBkYXRhYmFzZSB0eXBlcyB0aGF0IGNhbiBiZSB1c2VkIHRvIHJlc29sdmUgbW9kZWxzLlxuICovXG5leHBvcnQgdHlwZSBNb2RlbERhdGFTb3VyY2VTdHJhdGVneURiVHlwZSA9ICdEWU5BTU9EQicgfCBNb2RlbERhdGFTb3VyY2VTdHJhdGVneVNxbERiVHlwZTtcblxuLyoqXG4gKiBBbGwgc3VwcG9ydGVkIFNRTCBkYXRhYmFzZSB0eXBlcyB0aGF0IGNhbiBiZSB1c2VkIHRvIHJlc29sdmUgbW9kZWxzLlxuICovXG5leHBvcnQgdHlwZSBNb2RlbERhdGFTb3VyY2VTdHJhdGVneVNxbERiVHlwZSA9ICdNWVNRTCcgfCAnUE9TVEdSRVMnO1xuXG4vKipcbiAqIFVzZSBkZWZhdWx0IENsb3VkRm9ybWF0aW9uIHR5cGUgJ0FXUzo6RHluYW1vREI6OlRhYmxlJyB0byBwcm92aXNpb24gdGFibGUuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGVmYXVsdER5bmFtb0RiTW9kZWxEYXRhU291cmNlU3RyYXRlZ3kge1xuICByZWFkb25seSBkYlR5cGU6ICdEWU5BTU9EQic7XG4gIHJlYWRvbmx5IHByb3Zpc2lvblN0cmF0ZWd5OiAnREVGQVVMVCc7XG59XG5cbi8qKlxuICogVXNlIGN1c3RvbSByZXNvdXJjZSB0eXBlICdDdXN0b206OkFtcGxpZnlEeW5hbW9EQlRhYmxlJyB0byBwcm92aXNpb24gdGFibGUuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQW1wbGlmeUR5bmFtb0RiTW9kZWxEYXRhU291cmNlU3RyYXRlZ3kge1xuICByZWFkb25seSBkYlR5cGU6ICdEWU5BTU9EQic7XG4gIHJlYWRvbmx5IHByb3Zpc2lvblN0cmF0ZWd5OiAnQU1QTElGWV9UQUJMRSc7XG59XG5cbi8qKlxuICogQSBzdHJhdGVneSB0aGF0IGNyZWF0ZXMgYSBMYW1iZGEgdG8gY29ubmVjdCB0byBhIHByZS1leGlzdGluZyBTUUwgdGFibGUgdG8gcmVzb2x2ZSBtb2RlbCBkYXRhLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNRTExhbWJkYU1vZGVsRGF0YVNvdXJjZVN0cmF0ZWd5IHtcbiAgLyoqXG4gICAqIFRoZSBuYW1lIG9mIHRoZSBzdHJhdGVneS4gVGhpcyB3aWxsIGJlIHVzZWQgdG8gbmFtZSB0aGUgQXBwU3luYyBEYXRhU291cmNlIGl0c2VsZiwgcGx1cyBhbnkgYXNzb2NpYXRlZCByZXNvdXJjZXMgbGlrZSByZXNvbHZlciBMYW1iZGFzLlxuICAgKiBUaGlzIG5hbWUgbXVzdCBiZSB1bmlxdWUgYWNyb3NzIGFsbCBzY2hlbWEgZGVmaW5pdGlvbnMgaW4gYSBHcmFwaFFMIEFQSS5cbiAgICovXG4gIHJlYWRvbmx5IG5hbWU6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIHR5cGUgb2YgdGhlIFNRTCBkYXRhYmFzZSB1c2VkIHRvIHByb2Nlc3MgbW9kZWwgb3BlcmF0aW9ucyBmb3IgdGhpcyBkZWZpbml0aW9uLlxuICAgKi9cbiAgcmVhZG9ubHkgZGJUeXBlOiBNb2RlbERhdGFTb3VyY2VTdHJhdGVneVNxbERiVHlwZTtcblxuICAvKipcbiAgICogVGhlIHBhcmFtZXRlcnMgdGhlIExhbWJkYSBkYXRhIHNvdXJjZSB3aWxsIHVzZSB0byBjb25uZWN0IHRvIHRoZSBkYXRhYmFzZS5cbiAgICovXG4gIHJlYWRvbmx5IGRiQ29ubmVjdGlvbkNvbmZpZzogU3FsTW9kZWxEYXRhU291cmNlRGJDb25uZWN0aW9uQ29uZmlnO1xuXG4gIC8qKlxuICAgKiBUaGUgY29uZmlndXJhdGlvbiBvZiB0aGUgVlBDIGludG8gd2hpY2ggdG8gaW5zdGFsbCB0aGUgTGFtYmRhLlxuICAgKi9cbiAgcmVhZG9ubHkgdnBjQ29uZmlndXJhdGlvbj86IFZwY0NvbmZpZztcblxuICAvKipcbiAgICogQ3VzdG9tIFNRTCBzdGF0ZW1lbnRzLiBUaGUga2V5IGlzIHRoZSB2YWx1ZSBvZiB0aGUgYHJlZmVyZW5jZXNgIGF0dHJpYnV0ZSBvZiB0aGUgYEBzcWxgIGRpcmVjdGl2ZSBpbiB0aGUgYHNjaGVtYWA7IHRoZSB2YWx1ZSBpcyB0aGUgU1FMXG4gICAqIHRvIGJlIGV4ZWN1dGVkLlxuICAgKi9cbiAgcmVhZG9ubHkgY3VzdG9tU3FsU3RhdGVtZW50cz86IFJlY29yZDxzdHJpbmcsIHN0cmluZz47XG5cbiAgLyoqXG4gICAqIFRoZSBjb25maWd1cmF0aW9uIGZvciB0aGUgcHJvdmlzaW9uZWQgY29uY3VycmVuY3kgb2YgdGhlIExhbWJkYS5cbiAgICovXG4gIHJlYWRvbmx5IHNxbExhbWJkYVByb3Zpc2lvbmVkQ29uY3VycmVuY3lDb25maWc/OiBQcm92aXNpb25lZENvbmN1cnJlbmN5Q29uZmlnO1xufVxuXG4vKipcbiAqIENvbmZpZ3VyYXRpb24gb2YgdGhlIFZQQyBpbiB3aGljaCB0byBpbnN0YWxsIGEgTGFtYmRhIHRvIHJlc29sdmUgcXVlcmllcyBhZ2FpbnN0IGEgU1FMLWJhc2VkIGRhdGEgc291cmNlLiBUaGUgU1FMIExhbWJkYSB3aWxsIGJlIGRlcGxveWVkXG4gKiBpbnRvIHRoZSBzcGVjaWZpZWQgVlBDLCBzdWJuZXRzLCBhbmQgc2VjdXJpdHkgZ3JvdXBzLiBUaGUgc3BlY2lmaWVkIHN1Ym5ldHMgYW5kIHNlY3VyaXR5IGdyb3VwcyBtdXN0IGJlIGluIHRoZSBzYW1lIFZQQy4gVGhlIFZQQyBtdXN0XG4gKiBoYXZlIGF0IGxlYXN0IG9uZSBzdWJuZXQuIFRoZSBjb25zdHJ1Y3Qgd2lsbCBhbHNvIGNyZWF0ZSBWUEMgc2VydmljZSBlbmRwb2ludHMgaW4gdGhlIHNwZWNpZmllZCBzdWJuZXRzLCBhcyB3ZWxsIGFzIGluYm91bmQgc2VjdXJpdHlcbiAqIHJ1bGVzLCB0byBhbGxvdyB0cmFmZmljIG9uIHBvcnQgNDQzIHdpdGhpbiBlYWNoIHNlY3VyaXR5IGdyb3VwLiBUaGlzIGFsbG93cyB0aGUgTGFtYmRhIHRvIHJlYWQgZGF0YWJhc2UgY29ubmVjdGlvbiBpbmZvcm1hdGlvbiBmcm9tXG4gKiBTZWN1cmUgU3lzdGVtcyBNYW5hZ2VyLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFZwY0NvbmZpZyB7XG4gIC8qKiBUaGUgVlBDIHRvIGluc3RhbGwgdGhlIExhbWJkYSBkYXRhIHNvdXJjZSBpbi4gKi9cbiAgcmVhZG9ubHkgdnBjSWQ6IHN0cmluZztcblxuICAvKiogVGhlIHNlY3VyaXR5IGdyb3VwcyB0byBpbnN0YWxsIHRoZSBMYW1iZGEgZGF0YSBzb3VyY2UgaW4uICovXG4gIHJlYWRvbmx5IHNlY3VyaXR5R3JvdXBJZHM6IHN0cmluZ1tdO1xuXG4gIC8qKiBUaGUgc3VibmV0cyB0byBpbnN0YWxsIHRoZSBMYW1iZGEgZGF0YSBzb3VyY2UgaW4sIG9uZSBwZXIgYXZhaWxhYmlsaXR5IHpvbmUuICovXG4gIHJlYWRvbmx5IHN1Ym5ldEF2YWlsYWJpbGl0eVpvbmVDb25maWc6IFN1Ym5ldEF2YWlsYWJpbGl0eVpvbmVbXTtcbn1cblxuLyoqXG4gKiBUaGUgY29uZmlndXJhdGlvbiBmb3IgdGhlIHByb3Zpc2lvbmVkIGNvbmN1cnJlbmN5IG9mIHRoZSBMYW1iZGEuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUHJvdmlzaW9uZWRDb25jdXJyZW5jeUNvbmZpZyB7XG4gIC8qKiBUaGUgYW1vdW50IG9mIHByb3Zpc2lvbmVkIGNvbmN1cnJlbmN5IHRvIGFsbG9jYXRlLiAqKi9cbiAgcmVhZG9ubHkgcHJvdmlzaW9uZWRDb25jdXJyZW50RXhlY3V0aW9uczogbnVtYmVyO1xufVxuXG4vKipcbiAqIFN1Ym5ldCBjb25maWd1cmF0aW9uIGZvciBWUEMgZW5kcG9pbnRzIHVzZWQgYnkgYSBMYW1iZGEgcmVzb2x2ZXIgZm9yIGEgU1FMLWJhc2VkIGRhdGEgc291cmNlLiBBbHRob3VnaCBpdCBpcyBwb3NzaWJsZSB0byBjcmVhdGUgbXVsdGlwbGVcbiAqIHN1Ym5ldHMgaW4gYSBzaW5nbGUgYXZhaWxhYmlsaXR5IHpvbmUsIFZQQyBzZXJ2aWNlIGVuZHBvaW50cyBtYXkgb25seSBiZSBkZXBsb3llZCB0byBhIHNpbmdsZSBzdWJuZXQgaW4gYSBnaXZlbiBhdmFpbGFiaWxpdHkgem9uZS4gVGhpc1xuICogc3RydWN0dXJlIGVuc3VyZXMgdGhhdCB0aGUgTGFtYmRhIGZ1bmN0aW9uIGFuZCBWUEMgc2VydmljZSBlbmRwb2ludHMgYXJlIG11dHVhbGx5IGNvbnNpc3RlbnQuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU3VibmV0QXZhaWxhYmlsaXR5Wm9uZSB7XG4gIC8qKiBUaGUgc3VibmV0IElEIHRvIGluc3RhbGwgdGhlIExhbWJkYSBkYXRhIHNvdXJjZSBpbi4gKi9cbiAgcmVhZG9ubHkgc3VibmV0SWQ6IHN0cmluZztcblxuICAvKiogVGhlIGF2YWlsYWJpbGl0eSB6b25lIG9mIHRoZSBzdWJuZXQuICovXG4gIHJlYWRvbmx5IGF2YWlsYWJpbGl0eVpvbmU6IHN0cmluZztcbn1cblxuLyoqXG4gKiBUaGUgY3JlZGVudGlhbHMgdGhlIGxhbWJkYSBkYXRhIHNvdXJjZSB3aWxsIHVzZSB0byBjb25uZWN0IHRvIHRoZSBkYXRhYmFzZS5cbiAqXG4gKiBAZXhwZXJpbWVudGFsXG4gKi9cbmV4cG9ydCB0eXBlIFNxbE1vZGVsRGF0YVNvdXJjZURiQ29ubmVjdGlvbkNvbmZpZyA9XG4gIHwgU3FsTW9kZWxEYXRhU291cmNlU2VjcmV0c01hbmFnZXJEYkNvbm5lY3Rpb25Db25maWdcbiAgfCBTcWxNb2RlbERhdGFTb3VyY2VTc21EYkNvbm5lY3Rpb25Db25maWdcbiAgfCBTcWxNb2RlbERhdGFTb3VyY2VTc21EYkNvbm5lY3Rpb25TdHJpbmdDb25maWc7XG5cbi8qKlxuICogVGhlIGNvbmZpZ3VyYXRpb24gb3B0aW9uIHRvIHVzZSBhIFNlY3VyZSBTeXN0ZW1zIE1hbmFnZXIgcGFyYW1ldGVyIHRvIHN0b3JlIHRoZSBjb25uZWN0aW9uIHN0cmluZyB0byB0aGUgZGF0YWJhc2UuXG4gKiBAZXhwZXJpbWVudGFsXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU3FsTW9kZWxEYXRhU291cmNlU3NtRGJDb25uZWN0aW9uU3RyaW5nQ29uZmlnIHtcbiAgLyoqIFRoZSBTU00gUGF0aCB0byB0aGUgc2VjdXJlIGNvbm5lY3Rpb24gc3RyaW5nIHVzZWQgZm9yIGNvbm5lY3RpbmcgdG8gdGhlIGRhdGFiYXNlLiAqKi9cbiAgcmVhZG9ubHkgY29ubmVjdGlvblVyaVNzbVBhdGg6IHN0cmluZztcbn1cblxuLyoqXG4gKiBUaGUgY3JlZGVudGlhbHMgc3RvcmVkIGluIFNlY3JldHMgTWFuYWdlciB0aGF0IHRoZSBsYW1iZGEgZGF0YSBzb3VyY2Ugd2lsbCB1c2UgdG8gY29ubmVjdCB0byB0aGUgZGF0YWJhc2UuXG4gKlxuICogVGhlIG1hbmFnZWQgc2VjcmV0IHNob3VsZCBiZSBpbiB0aGUgc2FtZSByZWdpb24gYXMgdGhlIGxhbWJkYS5cbiAqIEBleHBlcmltZW50YWxcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTcWxNb2RlbERhdGFTb3VyY2VTZWNyZXRzTWFuYWdlckRiQ29ubmVjdGlvbkNvbmZpZyB7XG4gIC8qKiBUaGUgQVJOIG9mIHRoZSBtYW5hZ2VkIHNlY3JldCB3aXRoIHVzZXJuYW1lLCBwYXNzd29yZCwgYW5kIGhvc3RuYW1lIHRvIHVzZSB3aGVuIGNvbm5lY3RpbmcgdG8gdGhlIGRhdGFiYXNlLiAqKi9cbiAgcmVhZG9ubHkgc2VjcmV0QXJuOiBzdHJpbmc7XG5cbiAgLyoqIFRoZSBBUk4gb2YgdGhlIGN1c3RvbWVyIG1hbmFnZWQgZW5jcnlwdGlvbiBrZXkgZm9yIHRoZSBzZWNyZXQuIElmIG5vdCBzdXBwbGllZCwgdGhlIHNlY3JldCBpcyBleHBlY3RlZCB0byBiZSBlbmNyeXB0ZWQgd2l0aCB0aGUgZGVmYXVsdCBBV1MtbWFuYWdlZCBrZXkuICoqL1xuICByZWFkb25seSBrZXlBcm4/OiBzdHJpbmc7XG5cbiAgLyoqIFRoZSBwb3J0IG51bWJlciBvZiB0aGUgZGF0YWJhc2UgcHJveHksIGNsdXN0ZXIsIG9yIGluc3RhbmNlLiAqL1xuICByZWFkb25seSBwb3J0OiBudW1iZXI7XG5cbiAgLyoqIFRoZSBkYXRhYmFzZSBuYW1lLiAqL1xuICByZWFkb25seSBkYXRhYmFzZU5hbWU6IHN0cmluZztcblxuICAvKiogVGhlIGhvc3RhbWUgb2YgdGhlIGRhdGFiYXNlLiAqL1xuICByZWFkb25seSBob3N0bmFtZTogc3RyaW5nO1xufVxuXG4vKipcbiAqIFRoZSBTZWN1cmUgU3lzdGVtcyBNYW5hZ2VyIHBhcmFtZXRlciBwYXRocyB0aGUgTGFtYmRhIGRhdGEgc291cmNlIHdpbGwgdXNlIHRvIGNvbm5lY3QgdG8gdGhlIGRhdGFiYXNlLlxuICpcbiAqIFRoZXNlIHBhcmFtZXRlcnMgYXJlIHJldHJpZXZlZCBmcm9tIFNlY3VyZSBTeXN0ZW1zIE1hbmFnZXIgaW4gdGhlIHNhbWUgcmVnaW9uIGFzIHRoZSBMYW1iZGEuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU3FsTW9kZWxEYXRhU291cmNlU3NtRGJDb25uZWN0aW9uQ29uZmlnIHtcbiAgLyoqIFRoZSBTZWN1cmUgU3lzdGVtcyBNYW5hZ2VyIHBhcmFtZXRlciBjb250YWluaW5nIHRoZSBob3N0bmFtZSBvZiB0aGUgZGF0YWJhc2UuIEZvciBSRFMtYmFzZWQgU1FMIGRhdGEgc291cmNlcywgdGhpcyBjYW4gYmUgdGhlIGhvc3RuYW1lXG4gICAqIG9mIGEgZGF0YWJhc2UgcHJveHksIGNsdXN0ZXIsIG9yIGluc3RhbmNlLlxuICAgKi9cbiAgcmVhZG9ubHkgaG9zdG5hbWVTc21QYXRoOiBzdHJpbmc7XG5cbiAgLyoqIFRoZSBTZWN1cmUgU3lzdGVtcyBNYW5hZ2VyIHBhcmFtZXRlciBjb250YWluaW5nIHRoZSBwb3J0IG51bWJlciBvZiB0aGUgZGF0YWJhc2UgcHJveHksIGNsdXN0ZXIsIG9yIGluc3RhbmNlLiAqL1xuICByZWFkb25seSBwb3J0U3NtUGF0aDogc3RyaW5nO1xuXG4gIC8qKiBUaGUgU2VjdXJlIFN5c3RlbXMgTWFuYWdlciBwYXJhbWV0ZXIgY29udGFpbmluZyB0aGUgdXNlcm5hbWUgdG8gdXNlIHdoZW4gY29ubmVjdGluZyB0byB0aGUgZGF0YWJhc2UuICovXG4gIHJlYWRvbmx5IHVzZXJuYW1lU3NtUGF0aDogc3RyaW5nO1xuXG4gIC8qKiBUaGUgU2VjdXJlIFN5c3RlbXMgTWFuYWdlciBwYXJhbWV0ZXIgY29udGFpbmluZyB0aGUgcGFzc3dvcmQgdG8gdXNlIHdoZW4gY29ubmVjdGluZyB0byB0aGUgZGF0YWJhc2UuICovXG4gIHJlYWRvbmx5IHBhc3N3b3JkU3NtUGF0aDogc3RyaW5nO1xuXG4gIC8qKiBUaGUgU2VjdXJlIFN5c3RlbXMgTWFuYWdlciBwYXJhbWV0ZXIgY29udGFpbmluZyB0aGUgZGF0YWJhc2UgbmFtZS4gKi9cbiAgcmVhZG9ubHkgZGF0YWJhc2VOYW1lU3NtUGF0aDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFRoZSBpbnB1dCB0eXBlIGZvciBkZWZpbmluZyBhIE1vZGVsRGF0YVNvdXJjZVN0cmF0ZWd5IHVzZWQgdG8gcmVzb2x2ZSBhIGZpZWxkIGFubm90YXRlZCB3aXRoIGEgYEBzcWxgIGRpcmVjdGl2ZS4gQWx0aG91Z2ggdGhpcyBpcyBhXG4gKiBwdWJsaWMgdHlwZSwgeW91IHNob3VsZCByYXJlbHkgbmVlZCB0byB1c2UgdGhpcy4gVGhlIEFtcGxpZnlHcmFwaHFsRGVmaW5pdGlvbiBmYWN0b3J5IG1ldGhvZHMgKGUuZy4sIGBmcm9tU3RyaW5nYCxcbiAqIGBmcm9tRmlsZXNBbmRTdHJhdGVneWApIHdpbGwgYXV0b21hdGljYWxseSBjb25zdHJ1Y3QgdGhpcyBzdHJ1Y3R1cmUgZm9yIHlvdS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBDdXN0b21TcWxEYXRhU291cmNlU3RyYXRlZ3kge1xuICAvKiogVGhlIGJ1aWx0LWluIHR5cGUgKGVpdGhlciBcIlF1ZXJ5XCIgb3IgXCJNdXRhdGlvblwiKSB3aXRoIHdoaWNoIHRoZSBjdXN0b20gU1FMIGlzIGFzc29jaWF0ZWQgKi9cbiAgcmVhZG9ubHkgdHlwZU5hbWU6ICdRdWVyeScgfCAnTXV0YXRpb24nO1xuXG4gIC8qKiBUaGUgZmllbGQgbmFtZSB3aXRoIHdoaWNoIHRoZSBjdXN0b20gU1FMIGlzIGFzc29jaWF0ZWQgKi9cbiAgcmVhZG9ubHkgZmllbGROYW1lOiBzdHJpbmc7XG5cbiAgLyoqIFRoZSBzdHJhdGVneSB1c2VkIHRvIGNyZWF0ZSB0aGUgZGF0YXNvdXJjZSB0aGF0IHdpbGwgcmVzb2x2ZSB0aGUgY3VzdG9tIFNRTCBzdGF0ZW1lbnQuICovXG4gIHJlYWRvbmx5IHN0cmF0ZWd5OiBTUUxMYW1iZGFNb2RlbERhdGFTb3VyY2VTdHJhdGVneTtcbn1cbiJdfQ==
10
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZWwtZGF0YXNvdXJjZS1zdHJhdGVneS10eXBlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9tb2RlbC1kYXRhc291cmNlLXN0cmF0ZWd5LXR5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSw0SUFBNEk7QUFDNUksNElBQTRJO0FBQzVJLDhEQUE4RDtBQUM5RCxFQUFFO0FBQ0YsNkdBQTZHO0FBQzdHLDRGQUE0RjtBQUM1Riw0SUFBNEkiLCJzb3VyY2VzQ29udGVudCI6WyIvLyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjI1xuLy8gVGhlc2UgYXJlIHRoZSBwdWJsaWMtZmFjaW5nIHR5cGVzIHVzZWQgYnkgY3VzdG9tZXJzIHRvIGRlZmluZSB0aGVpciBMMyBDREsgY29uc3RydWN0LiBNYW55IG9mIHRoZXNlIGhhdmUgY29ycmVzcG9uZGluZyBkZWZpbml0aW9ucyBpbiB0aGVcbi8vIHRyYW5zZm9ybWVyLWludGVyZmFjZXMgcGFja2FnZSB0byBkZWZpbmUgaW50ZXJuYWwgYmVoYXZpb3IuXG4vL1xuLy8gSWYgeW91IGNoYW5nZSB0eXBlcyBpbiB0aGlzIGZpbGUgKHRoZSBjdXN0b21lci1mYWNpbmcgaW50ZXJmYWNlKSwgYmUgc3VyZSB0byBtYWtlIGNvcnJlc3BvbmRpbmcgY2hhbmdlcyB0b1xuLy8gYW1wbGlmeS1ncmFwaHFsLXRyYW5zZm9ybWVyLWludGVyZmFjZXMvc3JjL21vZGVsLWRhdGFzb3VyY2UgKHRoZSBpbnRlcm5hbCBpbXBsZW1lbnRhdGlvbilcbi8vICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjXG5cbi8qKlxuICogQWxsIGtub3duIE1vZGVsRGF0YVNvdXJjZVN0cmF0ZWdpZXMuIENvbmNyZXRlIHN0cmF0ZWdpZXMgdmFyeSB3aWRlbHkgaW4gdGhlaXIgcmVxdWlyZW1lbnRzIGFuZCBpbXBsZW1lbnRhdGlvbnMuXG4gKi9cbmV4cG9ydCB0eXBlIE1vZGVsRGF0YVNvdXJjZVN0cmF0ZWd5ID1cbiAgfCBEZWZhdWx0RHluYW1vRGJNb2RlbERhdGFTb3VyY2VTdHJhdGVneVxuICB8IEFtcGxpZnlEeW5hbW9EYk1vZGVsRGF0YVNvdXJjZVN0cmF0ZWd5XG4gIHwgU1FMTGFtYmRhTW9kZWxEYXRhU291cmNlU3RyYXRlZ3k7XG5cbi8qKlxuICogQWxsIHN1cHBvcnRlZCBkYXRhYmFzZSB0eXBlcyB0aGF0IGNhbiBiZSB1c2VkIHRvIHJlc29sdmUgbW9kZWxzLlxuICovXG5leHBvcnQgdHlwZSBNb2RlbERhdGFTb3VyY2VTdHJhdGVneURiVHlwZSA9ICdEWU5BTU9EQicgfCBNb2RlbERhdGFTb3VyY2VTdHJhdGVneVNxbERiVHlwZTtcblxuLyoqXG4gKiBBbGwgc3VwcG9ydGVkIFNRTCBkYXRhYmFzZSB0eXBlcyB0aGF0IGNhbiBiZSB1c2VkIHRvIHJlc29sdmUgbW9kZWxzLlxuICovXG5leHBvcnQgdHlwZSBNb2RlbERhdGFTb3VyY2VTdHJhdGVneVNxbERiVHlwZSA9ICdNWVNRTCcgfCAnUE9TVEdSRVMnO1xuXG4vKipcbiAqIFVzZSBkZWZhdWx0IENsb3VkRm9ybWF0aW9uIHR5cGUgJ0FXUzo6RHluYW1vREI6OlRhYmxlJyB0byBwcm92aXNpb24gdGFibGUuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGVmYXVsdER5bmFtb0RiTW9kZWxEYXRhU291cmNlU3RyYXRlZ3kge1xuICByZWFkb25seSBkYlR5cGU6ICdEWU5BTU9EQic7XG4gIHJlYWRvbmx5IHByb3Zpc2lvblN0cmF0ZWd5OiAnREVGQVVMVCc7XG59XG5cbi8qKlxuICogVXNlIGN1c3RvbSByZXNvdXJjZSB0eXBlICdDdXN0b206OkFtcGxpZnlEeW5hbW9EQlRhYmxlJyB0byBwcm92aXNpb24gdGFibGUuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQW1wbGlmeUR5bmFtb0RiTW9kZWxEYXRhU291cmNlU3RyYXRlZ3kge1xuICByZWFkb25seSBkYlR5cGU6ICdEWU5BTU9EQic7XG4gIHJlYWRvbmx5IHByb3Zpc2lvblN0cmF0ZWd5OiAnQU1QTElGWV9UQUJMRSc7XG59XG5cbi8qKlxuICogQSBzdHJhdGVneSB0aGF0IGNyZWF0ZXMgYSBMYW1iZGEgdG8gY29ubmVjdCB0byBhIHByZS1leGlzdGluZyBTUUwgdGFibGUgdG8gcmVzb2x2ZSBtb2RlbCBkYXRhLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNRTExhbWJkYU1vZGVsRGF0YVNvdXJjZVN0cmF0ZWd5IHtcbiAgLyoqXG4gICAqIFRoZSBuYW1lIG9mIHRoZSBzdHJhdGVneS4gVGhpcyB3aWxsIGJlIHVzZWQgdG8gbmFtZSB0aGUgQXBwU3luYyBEYXRhU291cmNlIGl0c2VsZiwgcGx1cyBhbnkgYXNzb2NpYXRlZCByZXNvdXJjZXMgbGlrZSByZXNvbHZlciBMYW1iZGFzLlxuICAgKiBUaGlzIG5hbWUgbXVzdCBiZSB1bmlxdWUgYWNyb3NzIGFsbCBzY2hlbWEgZGVmaW5pdGlvbnMgaW4gYSBHcmFwaFFMIEFQSS5cbiAgICovXG4gIHJlYWRvbmx5IG5hbWU6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIHR5cGUgb2YgdGhlIFNRTCBkYXRhYmFzZSB1c2VkIHRvIHByb2Nlc3MgbW9kZWwgb3BlcmF0aW9ucyBmb3IgdGhpcyBkZWZpbml0aW9uLlxuICAgKi9cbiAgcmVhZG9ubHkgZGJUeXBlOiBNb2RlbERhdGFTb3VyY2VTdHJhdGVneVNxbERiVHlwZTtcblxuICAvKipcbiAgICogVGhlIHBhcmFtZXRlcnMgdGhlIExhbWJkYSBkYXRhIHNvdXJjZSB3aWxsIHVzZSB0byBjb25uZWN0IHRvIHRoZSBkYXRhYmFzZS5cbiAgICovXG4gIHJlYWRvbmx5IGRiQ29ubmVjdGlvbkNvbmZpZzogU3FsTW9kZWxEYXRhU291cmNlRGJDb25uZWN0aW9uQ29uZmlnO1xuXG4gIC8qKlxuICAgKiBUaGUgY29uZmlndXJhdGlvbiBvZiB0aGUgVlBDIGludG8gd2hpY2ggdG8gaW5zdGFsbCB0aGUgTGFtYmRhLlxuICAgKi9cbiAgcmVhZG9ubHkgdnBjQ29uZmlndXJhdGlvbj86IFZwY0NvbmZpZztcblxuICAvKipcbiAgICogQ3VzdG9tIFNRTCBzdGF0ZW1lbnRzLiBUaGUga2V5IGlzIHRoZSB2YWx1ZSBvZiB0aGUgYHJlZmVyZW5jZXNgIGF0dHJpYnV0ZSBvZiB0aGUgYEBzcWxgIGRpcmVjdGl2ZSBpbiB0aGUgYHNjaGVtYWA7IHRoZSB2YWx1ZSBpcyB0aGUgU1FMXG4gICAqIHRvIGJlIGV4ZWN1dGVkLlxuICAgKi9cbiAgcmVhZG9ubHkgY3VzdG9tU3FsU3RhdGVtZW50cz86IFJlY29yZDxzdHJpbmcsIHN0cmluZz47XG5cbiAgLyoqXG4gICAqIFRoZSBjb25maWd1cmF0aW9uIGZvciB0aGUgcHJvdmlzaW9uZWQgY29uY3VycmVuY3kgb2YgdGhlIExhbWJkYS5cbiAgICovXG4gIHJlYWRvbmx5IHNxbExhbWJkYVByb3Zpc2lvbmVkQ29uY3VycmVuY3lDb25maWc/OiBQcm92aXNpb25lZENvbmN1cnJlbmN5Q29uZmlnO1xufVxuXG4vKipcbiAqIENvbmZpZ3VyYXRpb24gb2YgdGhlIFZQQyBpbiB3aGljaCB0byBpbnN0YWxsIGEgTGFtYmRhIHRvIHJlc29sdmUgcXVlcmllcyBhZ2FpbnN0IGEgU1FMLWJhc2VkIGRhdGEgc291cmNlLiBUaGUgU1FMIExhbWJkYSB3aWxsIGJlIGRlcGxveWVkXG4gKiBpbnRvIHRoZSBzcGVjaWZpZWQgVlBDLCBzdWJuZXRzLCBhbmQgc2VjdXJpdHkgZ3JvdXBzLiBUaGUgc3BlY2lmaWVkIHN1Ym5ldHMgYW5kIHNlY3VyaXR5IGdyb3VwcyBtdXN0IGJlIGluIHRoZSBzYW1lIFZQQy4gVGhlIFZQQyBtdXN0XG4gKiBoYXZlIGF0IGxlYXN0IG9uZSBzdWJuZXQuIFRoZSBjb25zdHJ1Y3Qgd2lsbCBhbHNvIGNyZWF0ZSBWUEMgc2VydmljZSBlbmRwb2ludHMgaW4gdGhlIHNwZWNpZmllZCBzdWJuZXRzLCBhcyB3ZWxsIGFzIGluYm91bmQgc2VjdXJpdHlcbiAqIHJ1bGVzLCB0byBhbGxvdyB0cmFmZmljIG9uIHBvcnQgNDQzIHdpdGhpbiBlYWNoIHNlY3VyaXR5IGdyb3VwLiBUaGlzIGFsbG93cyB0aGUgTGFtYmRhIHRvIHJlYWQgZGF0YWJhc2UgY29ubmVjdGlvbiBpbmZvcm1hdGlvbiBmcm9tXG4gKiBTZWN1cmUgU3lzdGVtcyBNYW5hZ2VyLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFZwY0NvbmZpZyB7XG4gIC8qKiBUaGUgVlBDIHRvIGluc3RhbGwgdGhlIExhbWJkYSBkYXRhIHNvdXJjZSBpbi4gKi9cbiAgcmVhZG9ubHkgdnBjSWQ6IHN0cmluZztcblxuICAvKiogVGhlIHNlY3VyaXR5IGdyb3VwcyB0byBpbnN0YWxsIHRoZSBMYW1iZGEgZGF0YSBzb3VyY2UgaW4uICovXG4gIHJlYWRvbmx5IHNlY3VyaXR5R3JvdXBJZHM6IHN0cmluZ1tdO1xuXG4gIC8qKiBUaGUgc3VibmV0cyB0byBpbnN0YWxsIHRoZSBMYW1iZGEgZGF0YSBzb3VyY2UgaW4sIG9uZSBwZXIgYXZhaWxhYmlsaXR5IHpvbmUuICovXG4gIHJlYWRvbmx5IHN1Ym5ldEF2YWlsYWJpbGl0eVpvbmVDb25maWc6IFN1Ym5ldEF2YWlsYWJpbGl0eVpvbmVbXTtcbn1cblxuLyoqXG4gKiBUaGUgY29uZmlndXJhdGlvbiBmb3IgdGhlIHByb3Zpc2lvbmVkIGNvbmN1cnJlbmN5IG9mIHRoZSBMYW1iZGEuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUHJvdmlzaW9uZWRDb25jdXJyZW5jeUNvbmZpZyB7XG4gIC8qKiBUaGUgYW1vdW50IG9mIHByb3Zpc2lvbmVkIGNvbmN1cnJlbmN5IHRvIGFsbG9jYXRlLiAqKi9cbiAgcmVhZG9ubHkgcHJvdmlzaW9uZWRDb25jdXJyZW50RXhlY3V0aW9uczogbnVtYmVyO1xufVxuXG4vKipcbiAqIFN1Ym5ldCBjb25maWd1cmF0aW9uIGZvciBWUEMgZW5kcG9pbnRzIHVzZWQgYnkgYSBMYW1iZGEgcmVzb2x2ZXIgZm9yIGEgU1FMLWJhc2VkIGRhdGEgc291cmNlLiBBbHRob3VnaCBpdCBpcyBwb3NzaWJsZSB0byBjcmVhdGUgbXVsdGlwbGVcbiAqIHN1Ym5ldHMgaW4gYSBzaW5nbGUgYXZhaWxhYmlsaXR5IHpvbmUsIFZQQyBzZXJ2aWNlIGVuZHBvaW50cyBtYXkgb25seSBiZSBkZXBsb3llZCB0byBhIHNpbmdsZSBzdWJuZXQgaW4gYSBnaXZlbiBhdmFpbGFiaWxpdHkgem9uZS4gVGhpc1xuICogc3RydWN0dXJlIGVuc3VyZXMgdGhhdCB0aGUgTGFtYmRhIGZ1bmN0aW9uIGFuZCBWUEMgc2VydmljZSBlbmRwb2ludHMgYXJlIG11dHVhbGx5IGNvbnNpc3RlbnQuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU3VibmV0QXZhaWxhYmlsaXR5Wm9uZSB7XG4gIC8qKiBUaGUgc3VibmV0IElEIHRvIGluc3RhbGwgdGhlIExhbWJkYSBkYXRhIHNvdXJjZSBpbi4gKi9cbiAgcmVhZG9ubHkgc3VibmV0SWQ6IHN0cmluZztcblxuICAvKiogVGhlIGF2YWlsYWJpbGl0eSB6b25lIG9mIHRoZSBzdWJuZXQuICovXG4gIHJlYWRvbmx5IGF2YWlsYWJpbGl0eVpvbmU6IHN0cmluZztcbn1cblxuLyoqXG4gKiBUaGUgY3JlZGVudGlhbHMgdGhlIGxhbWJkYSBkYXRhIHNvdXJjZSB3aWxsIHVzZSB0byBjb25uZWN0IHRvIHRoZSBkYXRhYmFzZS5cbiAqXG4gKiBAZXhwZXJpbWVudGFsXG4gKi9cbmV4cG9ydCB0eXBlIFNxbE1vZGVsRGF0YVNvdXJjZURiQ29ubmVjdGlvbkNvbmZpZyA9XG4gIHwgU3FsTW9kZWxEYXRhU291cmNlU2VjcmV0c01hbmFnZXJEYkNvbm5lY3Rpb25Db25maWdcbiAgfCBTcWxNb2RlbERhdGFTb3VyY2VTc21EYkNvbm5lY3Rpb25Db25maWdcbiAgfCBTcWxNb2RlbERhdGFTb3VyY2VTc21EYkNvbm5lY3Rpb25TdHJpbmdDb25maWc7XG5cbi8qKlxuICogVGhlIGNvbmZpZ3VyYXRpb24gb3B0aW9uIHRvIHVzZSBhIFNlY3VyZSBTeXN0ZW1zIE1hbmFnZXIgcGFyYW1ldGVyIHRvIHN0b3JlIHRoZSBjb25uZWN0aW9uIHN0cmluZyB0byB0aGUgZGF0YWJhc2UuXG4gKiBAZXhwZXJpbWVudGFsXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU3FsTW9kZWxEYXRhU291cmNlU3NtRGJDb25uZWN0aW9uU3RyaW5nQ29uZmlnIHtcbiAgLyoqXG4gICAqIFRoZSBTU00gUGF0aCB0byB0aGUgc2VjdXJlIGNvbm5lY3Rpb24gc3RyaW5nIHVzZWQgZm9yIGNvbm5lY3RpbmcgdG8gdGhlIGRhdGFiYXNlLiBJZiBtb3JlIHRoYW4gb25lIHBhdGggaXMgcHJvdmlkZWQsXG4gICAqIHRoZSBTUUwgTGFtYmRhIHdpbGwgYXR0ZW1wdCB0byByZXRyaWV2ZSBjb25uZWN0aW9uIGluZm9ybWF0aW9uIGZyb20gZWFjaCBwYXRoIGluIG9yZGVyIHVudGlsIGl0IGZpbmRzIGEgdmFsaWRcbiAgICogcGF0aCBlbnRyeSwgdGhlbiBzdG9wLiBJZiB0aGUgY29ubmVjdGlvbiBpbmZvcm1hdGlvbiBjb250YWluZWQgaW4gdGhhdCBwYXRoIGlzIGludmFsaWQsIHRoZSBTUUwgTGFtYmRhIHdpbGwgbm90XG4gICAqIGF0dGVtcHQgdG8gcmV0cmlldmUgY29ubmVjdGlvbiBpbmZvcm1hdGlvbiBmcm9tIHN1YnNlcXVlbnQgcGF0aHMgaW4gdGhlIGFycmF5LlxuICAgKiovXG4gIHJlYWRvbmx5IGNvbm5lY3Rpb25VcmlTc21QYXRoOiBzdHJpbmcgfCBzdHJpbmdbXTtcbn1cblxuLyoqXG4gKiBUaGUgY3JlZGVudGlhbHMgc3RvcmVkIGluIFNlY3JldHMgTWFuYWdlciB0aGF0IHRoZSBsYW1iZGEgZGF0YSBzb3VyY2Ugd2lsbCB1c2UgdG8gY29ubmVjdCB0byB0aGUgZGF0YWJhc2UuXG4gKlxuICogVGhlIG1hbmFnZWQgc2VjcmV0IHNob3VsZCBiZSBpbiB0aGUgc2FtZSByZWdpb24gYXMgdGhlIGxhbWJkYS5cbiAqIEBleHBlcmltZW50YWxcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTcWxNb2RlbERhdGFTb3VyY2VTZWNyZXRzTWFuYWdlckRiQ29ubmVjdGlvbkNvbmZpZyB7XG4gIC8qKiBUaGUgQVJOIG9mIHRoZSBtYW5hZ2VkIHNlY3JldCB3aXRoIHVzZXJuYW1lLCBwYXNzd29yZCwgYW5kIGhvc3RuYW1lIHRvIHVzZSB3aGVuIGNvbm5lY3RpbmcgdG8gdGhlIGRhdGFiYXNlLiAqKi9cbiAgcmVhZG9ubHkgc2VjcmV0QXJuOiBzdHJpbmc7XG5cbiAgLyoqIFRoZSBBUk4gb2YgdGhlIGN1c3RvbWVyIG1hbmFnZWQgZW5jcnlwdGlvbiBrZXkgZm9yIHRoZSBzZWNyZXQuIElmIG5vdCBzdXBwbGllZCwgdGhlIHNlY3JldCBpcyBleHBlY3RlZCB0byBiZSBlbmNyeXB0ZWQgd2l0aCB0aGUgZGVmYXVsdCBBV1MtbWFuYWdlZCBrZXkuICoqL1xuICByZWFkb25seSBrZXlBcm4/OiBzdHJpbmc7XG5cbiAgLyoqIFRoZSBwb3J0IG51bWJlciBvZiB0aGUgZGF0YWJhc2UgcHJveHksIGNsdXN0ZXIsIG9yIGluc3RhbmNlLiAqL1xuICByZWFkb25seSBwb3J0OiBudW1iZXI7XG5cbiAgLyoqIFRoZSBkYXRhYmFzZSBuYW1lLiAqL1xuICByZWFkb25seSBkYXRhYmFzZU5hbWU6IHN0cmluZztcblxuICAvKiogVGhlIGhvc3RhbWUgb2YgdGhlIGRhdGFiYXNlLiAqL1xuICByZWFkb25seSBob3N0bmFtZTogc3RyaW5nO1xufVxuXG4vKipcbiAqIFRoZSBTZWN1cmUgU3lzdGVtcyBNYW5hZ2VyIHBhcmFtZXRlciBwYXRocyB0aGUgTGFtYmRhIGRhdGEgc291cmNlIHdpbGwgdXNlIHRvIGNvbm5lY3QgdG8gdGhlIGRhdGFiYXNlLlxuICpcbiAqIFRoZXNlIHBhcmFtZXRlcnMgYXJlIHJldHJpZXZlZCBmcm9tIFNlY3VyZSBTeXN0ZW1zIE1hbmFnZXIgaW4gdGhlIHNhbWUgcmVnaW9uIGFzIHRoZSBMYW1iZGEuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU3FsTW9kZWxEYXRhU291cmNlU3NtRGJDb25uZWN0aW9uQ29uZmlnIHtcbiAgLyoqIFRoZSBTZWN1cmUgU3lzdGVtcyBNYW5hZ2VyIHBhcmFtZXRlciBjb250YWluaW5nIHRoZSBob3N0bmFtZSBvZiB0aGUgZGF0YWJhc2UuIEZvciBSRFMtYmFzZWQgU1FMIGRhdGEgc291cmNlcywgdGhpcyBjYW4gYmUgdGhlIGhvc3RuYW1lXG4gICAqIG9mIGEgZGF0YWJhc2UgcHJveHksIGNsdXN0ZXIsIG9yIGluc3RhbmNlLlxuICAgKi9cbiAgcmVhZG9ubHkgaG9zdG5hbWVTc21QYXRoOiBzdHJpbmc7XG5cbiAgLyoqIFRoZSBTZWN1cmUgU3lzdGVtcyBNYW5hZ2VyIHBhcmFtZXRlciBjb250YWluaW5nIHRoZSBwb3J0IG51bWJlciBvZiB0aGUgZGF0YWJhc2UgcHJveHksIGNsdXN0ZXIsIG9yIGluc3RhbmNlLiAqL1xuICByZWFkb25seSBwb3J0U3NtUGF0aDogc3RyaW5nO1xuXG4gIC8qKiBUaGUgU2VjdXJlIFN5c3RlbXMgTWFuYWdlciBwYXJhbWV0ZXIgY29udGFpbmluZyB0aGUgdXNlcm5hbWUgdG8gdXNlIHdoZW4gY29ubmVjdGluZyB0byB0aGUgZGF0YWJhc2UuICovXG4gIHJlYWRvbmx5IHVzZXJuYW1lU3NtUGF0aDogc3RyaW5nO1xuXG4gIC8qKiBUaGUgU2VjdXJlIFN5c3RlbXMgTWFuYWdlciBwYXJhbWV0ZXIgY29udGFpbmluZyB0aGUgcGFzc3dvcmQgdG8gdXNlIHdoZW4gY29ubmVjdGluZyB0byB0aGUgZGF0YWJhc2UuICovXG4gIHJlYWRvbmx5IHBhc3N3b3JkU3NtUGF0aDogc3RyaW5nO1xuXG4gIC8qKiBUaGUgU2VjdXJlIFN5c3RlbXMgTWFuYWdlciBwYXJhbWV0ZXIgY29udGFpbmluZyB0aGUgZGF0YWJhc2UgbmFtZS4gKi9cbiAgcmVhZG9ubHkgZGF0YWJhc2VOYW1lU3NtUGF0aDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFRoZSBpbnB1dCB0eXBlIGZvciBkZWZpbmluZyBhIE1vZGVsRGF0YVNvdXJjZVN0cmF0ZWd5IHVzZWQgdG8gcmVzb2x2ZSBhIGZpZWxkIGFubm90YXRlZCB3aXRoIGEgYEBzcWxgIGRpcmVjdGl2ZS4gQWx0aG91Z2ggdGhpcyBpcyBhXG4gKiBwdWJsaWMgdHlwZSwgeW91IHNob3VsZCByYXJlbHkgbmVlZCB0byB1c2UgdGhpcy4gVGhlIEFtcGxpZnlHcmFwaHFsRGVmaW5pdGlvbiBmYWN0b3J5IG1ldGhvZHMgKGUuZy4sIGBmcm9tU3RyaW5nYCxcbiAqIGBmcm9tRmlsZXNBbmRTdHJhdGVneWApIHdpbGwgYXV0b21hdGljYWxseSBjb25zdHJ1Y3QgdGhpcyBzdHJ1Y3R1cmUgZm9yIHlvdS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBDdXN0b21TcWxEYXRhU291cmNlU3RyYXRlZ3kge1xuICAvKiogVGhlIGJ1aWx0LWluIHR5cGUgKGVpdGhlciBcIlF1ZXJ5XCIgb3IgXCJNdXRhdGlvblwiKSB3aXRoIHdoaWNoIHRoZSBjdXN0b20gU1FMIGlzIGFzc29jaWF0ZWQgKi9cbiAgcmVhZG9ubHkgdHlwZU5hbWU6ICdRdWVyeScgfCAnTXV0YXRpb24nO1xuXG4gIC8qKiBUaGUgZmllbGQgbmFtZSB3aXRoIHdoaWNoIHRoZSBjdXN0b20gU1FMIGlzIGFzc29jaWF0ZWQgKi9cbiAgcmVhZG9ubHkgZmllbGROYW1lOiBzdHJpbmc7XG5cbiAgLyoqIFRoZSBzdHJhdGVneSB1c2VkIHRvIGNyZWF0ZSB0aGUgZGF0YXNvdXJjZSB0aGF0IHdpbGwgcmVzb2x2ZSB0aGUgY3VzdG9tIFNRTCBzdGF0ZW1lbnQuICovXG4gIHJlYWRvbmx5IHN0cmF0ZWd5OiBTUUxMYW1iZGFNb2RlbERhdGFTb3VyY2VTdHJhdGVneTtcbn1cbiJdfQ==
@@ -63,7 +63,8 @@ exports.isSqlModelDataSourceSecretsManagerDbConnectionConfig = isSqlModelDataSou
63
63
  * @returns true if the object is shaped like a SqlModelDataSourceSsmDbConnectionStringConfig
64
64
  */
65
65
  const isSqlModelDataSourceSsmDbConnectionStringConfig = (obj) => {
66
- return (typeof obj === 'object' || typeof obj === 'function') && typeof obj.connectionUriSsmPath === 'string';
66
+ return ((typeof obj === 'object' || typeof obj === 'function') &&
67
+ (typeof obj.connectionUriSsmPath === 'string' || Array.isArray(obj.connectionUriSsmPath)));
67
68
  };
68
69
  exports.isSqlModelDataSourceSsmDbConnectionStringConfig = isSqlModelDataSourceSsmDbConnectionStringConfig;
69
70
  /**
@@ -90,5 +91,5 @@ class SQLLambdaModelDataSourceStrategyFactory {
90
91
  }
91
92
  exports.SQLLambdaModelDataSourceStrategyFactory = SQLLambdaModelDataSourceStrategyFactory;
92
93
  _a = JSII_RTTI_SYMBOL_1;
93
- SQLLambdaModelDataSourceStrategyFactory[_a] = { fqn: "@aws-amplify/graphql-api-construct.SQLLambdaModelDataSourceStrategyFactory", version: "1.9.0-gen2-release-0418-2.0" };
94
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3FsLW1vZGVsLWRhdGFzb3VyY2Utc3RyYXRlZ3kuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvc3FsLW1vZGVsLWRhdGFzb3VyY2Utc3RyYXRlZ3kudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSx5QkFBeUI7QUFDekIsNkJBQTZCO0FBQzdCLG9GQUFvRTtBQVNwRTs7OztHQUlHO0FBQ0ksTUFBTSxrQ0FBa0MsR0FBRyxDQUFDLEdBQVEsRUFBMkMsRUFBRTtJQUN0RyxPQUFPLENBQ0wsQ0FBQyxPQUFPLEdBQUcsS0FBSyxRQUFRLElBQUksT0FBTyxHQUFHLEtBQUssVUFBVSxDQUFDO1FBQ3RELE9BQU8sR0FBRyxDQUFDLElBQUksS0FBSyxRQUFRO1FBQzVCLE9BQU8sR0FBRyxDQUFDLE1BQU0sS0FBSyxRQUFRO1FBQzlCLElBQUEsc0NBQVcsRUFBQyxHQUFHLENBQUMsTUFBTSxDQUFDO1FBQ3ZCLElBQUEsOENBQXNDLEVBQUMsR0FBRyxDQUFDLGtCQUFrQixDQUFDLENBQy9ELENBQUM7QUFDSixDQUFDLENBQUM7QUFSVyxRQUFBLGtDQUFrQyxzQ0FRN0M7QUFFRjs7OztHQUlHO0FBQ0ksTUFBTSxzQ0FBc0MsR0FBRyxDQUFDLEdBQVEsRUFBK0MsRUFBRTtJQUM5RyxPQUFPLENBQ0wsSUFBQSxpREFBeUMsRUFBQyxHQUFHLENBQUM7UUFDOUMsSUFBQSw0REFBb0QsRUFBQyxHQUFHLENBQUM7UUFDekQsSUFBQSx1REFBK0MsRUFBQyxHQUFHLENBQUMsQ0FDckQsQ0FBQztBQUNKLENBQUMsQ0FBQztBQU5XLFFBQUEsc0NBQXNDLDBDQU1qRDtBQUVGOzs7O0dBSUc7QUFDSSxNQUFNLHlDQUF5QyxHQUFHLENBQUMsR0FBUSxFQUFrRCxFQUFFO0lBQ3BILE9BQU8sQ0FDTCxDQUFDLE9BQU8sR0FBRyxLQUFLLFFBQVEsSUFBSSxPQUFPLEdBQUcsS0FBSyxVQUFVLENBQUM7UUFDdEQsT0FBTyxHQUFHLENBQUMsZUFBZSxLQUFLLFFBQVE7UUFDdkMsT0FBTyxHQUFHLENBQUMsV0FBVyxLQUFLLFFBQVE7UUFDbkMsT0FBTyxHQUFHLENBQUMsZUFBZSxLQUFLLFFBQVE7UUFDdkMsT0FBTyxHQUFHLENBQUMsZUFBZSxLQUFLLFFBQVE7UUFDdkMsT0FBTyxHQUFHLENBQUMsbUJBQW1CLEtBQUssUUFBUSxDQUM1QyxDQUFDO0FBQ0osQ0FBQyxDQUFDO0FBVFcsUUFBQSx5Q0FBeUMsNkNBU3BEO0FBRUY7Ozs7R0FJRztBQUNJLE1BQU0sb0RBQW9ELEdBQUcsQ0FDbEUsR0FBUSxFQUNtRCxFQUFFO0lBQzdELE9BQU8sQ0FDTCxDQUFDLE9BQU8sR0FBRyxLQUFLLFFBQVEsSUFBSSxPQUFPLEdBQUcsS0FBSyxVQUFVLENBQUM7UUFDdEQsT0FBTyxHQUFHLENBQUMsU0FBUyxLQUFLLFFBQVE7UUFDakMsT0FBTyxHQUFHLENBQUMsSUFBSSxLQUFLLFFBQVE7UUFDNUIsT0FBTyxHQUFHLENBQUMsWUFBWSxLQUFLLFFBQVE7UUFDcEMsT0FBTyxHQUFHLENBQUMsUUFBUSxJQUFJLFFBQVEsQ0FDaEMsQ0FBQztBQUNKLENBQUMsQ0FBQztBQVZXLFFBQUEsb0RBQW9ELHdEQVUvRDtBQUVGOzs7O0dBSUc7QUFDSSxNQUFNLCtDQUErQyxHQUFHLENBQUMsR0FBUSxFQUF3RCxFQUFFO0lBQ2hJLE9BQU8sQ0FBQyxPQUFPLEdBQUcsS0FBSyxRQUFRLElBQUksT0FBTyxHQUFHLEtBQUssVUFBVSxDQUFDLElBQUksT0FBTyxHQUFHLENBQUMsb0JBQW9CLEtBQUssUUFBUSxDQUFDO0FBQ2hILENBQUMsQ0FBQztBQUZXLFFBQUEsK0NBQStDLG1EQUUxRDtBQUVGOztHQUVHO0FBQ0gsTUFBYSx1Q0FBdUM7SUFDbEQ7Ozs7O09BS0c7SUFDSCxNQUFNLENBQUMsa0JBQWtCLENBQ3ZCLFFBQWtCLEVBQ2xCLE9BQXlFO1FBRXpFLE1BQU0sbUJBQW1CLEdBQUcsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsRUFBRSxRQUFRLEVBQTBCLEVBQUU7WUFDcEYsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQyxJQUFJLENBQUM7WUFDM0MsR0FBRyxDQUFDLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxZQUFZLENBQUMsUUFBUSxFQUFFLE1BQU0sQ0FBQyxDQUFDO1lBQ2xELE9BQU8sR0FBRyxDQUFDO1FBQ2IsQ0FBQyxFQUFFLEVBQTRCLENBQUMsQ0FBQztRQUVqQyxPQUFPO1lBQ0wsbUJBQW1CO1lBQ25CLEdBQUcsT0FBTztTQUNYLENBQUM7SUFDSixDQUFDOztBQXJCSCwwRkFzQkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBmcyBmcm9tICdmcyc7XG5pbXBvcnQgKiBhcyBwYXRoIGZyb20gJ3BhdGgnO1xuaW1wb3J0IHsgaXNTcWxEYlR5cGUgfSBmcm9tICdAYXdzLWFtcGxpZnkvZ3JhcGhxbC10cmFuc2Zvcm1lci1jb3JlJztcbmltcG9ydCB7XG4gIFNRTExhbWJkYU1vZGVsRGF0YVNvdXJjZVN0cmF0ZWd5LFxuICBTcWxNb2RlbERhdGFTb3VyY2VEYkNvbm5lY3Rpb25Db25maWcsXG4gIFNxbE1vZGVsRGF0YVNvdXJjZVNzbURiQ29ubmVjdGlvbkNvbmZpZyxcbiAgU3FsTW9kZWxEYXRhU291cmNlU2VjcmV0c01hbmFnZXJEYkNvbm5lY3Rpb25Db25maWcsXG4gIFNxbE1vZGVsRGF0YVNvdXJjZVNzbURiQ29ubmVjdGlvblN0cmluZ0NvbmZpZyxcbn0gZnJvbSAnLi9tb2RlbC1kYXRhc291cmNlLXN0cmF0ZWd5LXR5cGVzJztcblxuLyoqXG4gKiBUeXBlIHByZWRpY2F0ZSB0aGF0IHJldHVybnMgdHJ1ZSBpZiB0aGUgb2JqZWN0IGlzIGEgU1FMTGFtYmRhTW9kZWxEYXRhU291cmNlU3RyYXRlZ3kuXG4gKiBAcGFyYW0gb2JqIHRoZSBvYmplY3QgdG8gaW5zcGVjdFxuICogQHJldHVybnMgdHJ1ZSBpZiB0aGUgb2JqZWN0IGlzIHNoYXBlZCBsaWtlIGEgU1FMTGFtYmRhTW9kZWxEYXRhU291cmNlU3RyYXRlZ3lcbiAqL1xuZXhwb3J0IGNvbnN0IGlzU1FMTGFtYmRhTW9kZWxEYXRhU291cmNlU3RyYXRlZ3kgPSAob2JqOiBhbnkpOiBvYmogaXMgU1FMTGFtYmRhTW9kZWxEYXRhU291cmNlU3RyYXRlZ3kgPT4ge1xuICByZXR1cm4gKFxuICAgICh0eXBlb2Ygb2JqID09PSAnb2JqZWN0JyB8fCB0eXBlb2Ygb2JqID09PSAnZnVuY3Rpb24nKSAmJlxuICAgIHR5cGVvZiBvYmoubmFtZSA9PT0gJ3N0cmluZycgJiZcbiAgICB0eXBlb2Ygb2JqLmRiVHlwZSA9PT0gJ3N0cmluZycgJiZcbiAgICBpc1NxbERiVHlwZShvYmouZGJUeXBlKSAmJlxuICAgIGlzU3FsTW9kZWxEYXRhU291cmNlRGJDb25uZWN0aW9uQ29uZmlnKG9iai5kYkNvbm5lY3Rpb25Db25maWcpXG4gICk7XG59O1xuXG4vKipcbiAqIFR5cGUgcHJlZGljYXRlIHRoYXQgcmV0dXJucyB0cnVlIGlmIHRoZSBvYmplY3QgaXMgYSBTcWxNb2RlbERhdGFTb3VyY2VEYkNvbm5lY3Rpb25Db25maWcuXG4gKiBAcGFyYW0gb2JqIHRoZSBvYmplY3QgdG8gaW5zcGVjdFxuICogQHJldHVybnMgdHJ1ZSBpZiB0aGUgb2JqZWN0IGlzIHNoYXBlZCBsaWtlIGEgU3FsTW9kZWxEYXRhU291cmNlRGJDb25uZWN0aW9uQ29uZmlnXG4gKi9cbmV4cG9ydCBjb25zdCBpc1NxbE1vZGVsRGF0YVNvdXJjZURiQ29ubmVjdGlvbkNvbmZpZyA9IChvYmo6IGFueSk6IG9iaiBpcyBTcWxNb2RlbERhdGFTb3VyY2VEYkNvbm5lY3Rpb25Db25maWcgPT4ge1xuICByZXR1cm4gKFxuICAgIGlzU3FsTW9kZWxEYXRhU291cmNlU3NtRGJDb25uZWN0aW9uQ29uZmlnKG9iaikgfHxcbiAgICBpc1NxbE1vZGVsRGF0YVNvdXJjZVNlY3JldHNNYW5hZ2VyRGJDb25uZWN0aW9uQ29uZmlnKG9iaikgfHxcbiAgICBpc1NxbE1vZGVsRGF0YVNvdXJjZVNzbURiQ29ubmVjdGlvblN0cmluZ0NvbmZpZyhvYmopXG4gICk7XG59O1xuXG4vKipcbiAqIFR5cGUgcHJlZGljYXRlIHRoYXQgcmV0dXJucyB0cnVlIGlmIHRoZSBvYmplY3QgaXMgYSBTcWxNb2RlbERhdGFTb3VyY2VTc21EYkNvbm5lY3Rpb25Db25maWcuXG4gKiBAcGFyYW0gb2JqIHRoZSBvYmplY3QgdG8gaW5zcGVjdFxuICogQHJldHVybnMgdHJ1ZSBpZiB0aGUgb2JqZWN0IGlzIHNoYXBlZCBsaWtlIGEgU3FsTW9kZWxEYXRhU291cmNlU3NtRGJDb25uZWN0aW9uQ29uZmlnXG4gKi9cbmV4cG9ydCBjb25zdCBpc1NxbE1vZGVsRGF0YVNvdXJjZVNzbURiQ29ubmVjdGlvbkNvbmZpZyA9IChvYmo6IGFueSk6IG9iaiBpcyBTcWxNb2RlbERhdGFTb3VyY2VTc21EYkNvbm5lY3Rpb25Db25maWcgPT4ge1xuICByZXR1cm4gKFxuICAgICh0eXBlb2Ygb2JqID09PSAnb2JqZWN0JyB8fCB0eXBlb2Ygb2JqID09PSAnZnVuY3Rpb24nKSAmJlxuICAgIHR5cGVvZiBvYmouaG9zdG5hbWVTc21QYXRoID09PSAnc3RyaW5nJyAmJlxuICAgIHR5cGVvZiBvYmoucG9ydFNzbVBhdGggPT09ICdzdHJpbmcnICYmXG4gICAgdHlwZW9mIG9iai51c2VybmFtZVNzbVBhdGggPT09ICdzdHJpbmcnICYmXG4gICAgdHlwZW9mIG9iai5wYXNzd29yZFNzbVBhdGggPT09ICdzdHJpbmcnICYmXG4gICAgdHlwZW9mIG9iai5kYXRhYmFzZU5hbWVTc21QYXRoID09PSAnc3RyaW5nJ1xuICApO1xufTtcblxuLyoqXG4gKiBUeXBlIHByZWRpY2F0ZSB0aGF0IHJldHVybnMgdHJ1ZSBpZiB0aGUgb2JqZWN0IGlzIGEgU3FsTW9kZWxEYXRhU291cmNlU2VjcmV0c01hbmFnZXJEYkNvbm5lY3Rpb25Db25maWcuXG4gKiBAcGFyYW0gb2JqIHRoZSBvYmplY3QgdG8gaW5zcGVjdFxuICogQHJldHVybnMgdHJ1ZSBpZiB0aGUgb2JqZWN0IGlzIHNoYXBlZCBsaWtlIGEgU3FsTW9kZWxEYXRhU291cmNlU2VjcmV0c01hbmFnZXJEYkNvbm5lY3Rpb25Db25maWdcbiAqL1xuZXhwb3J0IGNvbnN0IGlzU3FsTW9kZWxEYXRhU291cmNlU2VjcmV0c01hbmFnZXJEYkNvbm5lY3Rpb25Db25maWcgPSAoXG4gIG9iajogYW55LFxuKTogb2JqIGlzIFNxbE1vZGVsRGF0YVNvdXJjZVNlY3JldHNNYW5hZ2VyRGJDb25uZWN0aW9uQ29uZmlnID0+IHtcbiAgcmV0dXJuIChcbiAgICAodHlwZW9mIG9iaiA9PT0gJ29iamVjdCcgfHwgdHlwZW9mIG9iaiA9PT0gJ2Z1bmN0aW9uJykgJiZcbiAgICB0eXBlb2Ygb2JqLnNlY3JldEFybiA9PT0gJ3N0cmluZycgJiZcbiAgICB0eXBlb2Ygb2JqLnBvcnQgPT09ICdudW1iZXInICYmXG4gICAgdHlwZW9mIG9iai5kYXRhYmFzZU5hbWUgPT09ICdzdHJpbmcnICYmXG4gICAgdHlwZW9mIG9iai5ob3N0bmFtZSA9PSAnc3RyaW5nJ1xuICApO1xufTtcblxuLyoqXG4gKiBUeXBlIHByZWRpY2F0ZSB0aGF0IHJldHVybnMgdHJ1ZSBpZiB0aGUgb2JqZWN0IGlzIGEgU3FsTW9kZWxEYXRhU291cmNlU3NtRGJDb25uZWN0aW9uU3RyaW5nQ29uZmlnLlxuICogQHBhcmFtIG9iaiB0aGUgb2JqZWN0IHRvIGluc3BlY3RcbiAqIEByZXR1cm5zIHRydWUgaWYgdGhlIG9iamVjdCBpcyBzaGFwZWQgbGlrZSBhIFNxbE1vZGVsRGF0YVNvdXJjZVNzbURiQ29ubmVjdGlvblN0cmluZ0NvbmZpZ1xuICovXG5leHBvcnQgY29uc3QgaXNTcWxNb2RlbERhdGFTb3VyY2VTc21EYkNvbm5lY3Rpb25TdHJpbmdDb25maWcgPSAob2JqOiBhbnkpOiBvYmogaXMgU3FsTW9kZWxEYXRhU291cmNlU3NtRGJDb25uZWN0aW9uU3RyaW5nQ29uZmlnID0+IHtcbiAgcmV0dXJuICh0eXBlb2Ygb2JqID09PSAnb2JqZWN0JyB8fCB0eXBlb2Ygb2JqID09PSAnZnVuY3Rpb24nKSAmJiB0eXBlb2Ygb2JqLmNvbm5lY3Rpb25VcmlTc21QYXRoID09PSAnc3RyaW5nJztcbn07XG5cbi8qKlxuICogQ2xhc3MgZXhwb3NpbmcgdXRpbGl0aWVzIHRvIHByb2R1Y2UgU1FMTGFtYmRhTW9kZWxEYXRhU291cmNlU3RyYXRlZ3kgb2JqZWN0cyBnaXZlbiB2YXJpb3VzIGlucHV0cy5cbiAqL1xuZXhwb3J0IGNsYXNzIFNRTExhbWJkYU1vZGVsRGF0YVNvdXJjZVN0cmF0ZWd5RmFjdG9yeSB7XG4gIC8qKlxuICAgKiBDcmVhdGVzIGEgU1FMTGFtYmRhTW9kZWxEYXRhU291cmNlU3RyYXRlZ3kgd2hlcmUgdGhlIGJpbmRpbmcncyBgY3VzdG9tU3FsU3RhdGVtZW50c2AgYXJlIHBvcHVsYXRlZCBmcm9tIGBzcWxGaWxlc2AuIFRoZSBrZXlcbiAgICogb2YgdGhlIGBjdXN0b21TcWxTdGF0ZW1lbnRzYCByZWNvcmQgaXMgdGhlIGZpbGUncyBiYXNlIG5hbWUgKHRoYXQgaXMsIHRoZSBuYW1lIG9mIHRoZSBmaWxlIG1pbnVzIHRoZSBkaXJlY3RvcnkgYW5kIGV4dGVuc2lvbikuXG4gICAqIEBwYXJhbSBzcWxGaWxlcyB0aGUgbGlzdCBvZiBmaWxlcyB0byBsb2FkIFNRTCBzdGF0ZW1lbnRzIGZyb20uXG4gICAqIEBwYXJhbSBvcHRpb25zIHRoZSByZW1haW5pbmcgU1FMTGFtYmRhTW9kZWxEYXRhU291cmNlU3RyYXRlZ3kgb3B0aW9ucy5cbiAgICovXG4gIHN0YXRpYyBmcm9tQ3VzdG9tU3FsRmlsZXMoXG4gICAgc3FsRmlsZXM6IHN0cmluZ1tdLFxuICAgIG9wdGlvbnM6IEV4Y2x1ZGU8U1FMTGFtYmRhTW9kZWxEYXRhU291cmNlU3RyYXRlZ3ksICdjdXN0b21TcWxTdGF0ZW1lbnRzJz4sXG4gICk6IFNRTExhbWJkYU1vZGVsRGF0YVNvdXJjZVN0cmF0ZWd5IHtcbiAgICBjb25zdCBjdXN0b21TcWxTdGF0ZW1lbnRzID0gc3FsRmlsZXMucmVkdWNlKChhY2MsIGZpbGVQYXRoKTogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9PiB7XG4gICAgICBjb25zdCBiYXNlbmFtZSA9IHBhdGgucGFyc2UoZmlsZVBhdGgpLm5hbWU7XG4gICAgICBhY2NbYmFzZW5hbWVdID0gZnMucmVhZEZpbGVTeW5jKGZpbGVQYXRoLCAndXRmOCcpO1xuICAgICAgcmV0dXJuIGFjYztcbiAgICB9LCB7fSBhcyBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+KTtcblxuICAgIHJldHVybiB7XG4gICAgICBjdXN0b21TcWxTdGF0ZW1lbnRzLFxuICAgICAgLi4ub3B0aW9ucyxcbiAgICB9O1xuICB9XG59XG4iXX0=
94
+ SQLLambdaModelDataSourceStrategyFactory[_a] = { fqn: "@aws-amplify/graphql-api-construct.SQLLambdaModelDataSourceStrategyFactory", version: "1.9.0-gen2-release-0423.0" };
95
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3FsLW1vZGVsLWRhdGFzb3VyY2Utc3RyYXRlZ3kuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvc3FsLW1vZGVsLWRhdGFzb3VyY2Utc3RyYXRlZ3kudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSx5QkFBeUI7QUFDekIsNkJBQTZCO0FBQzdCLG9GQUFvRTtBQVNwRTs7OztHQUlHO0FBQ0ksTUFBTSxrQ0FBa0MsR0FBRyxDQUFDLEdBQVEsRUFBMkMsRUFBRTtJQUN0RyxPQUFPLENBQ0wsQ0FBQyxPQUFPLEdBQUcsS0FBSyxRQUFRLElBQUksT0FBTyxHQUFHLEtBQUssVUFBVSxDQUFDO1FBQ3RELE9BQU8sR0FBRyxDQUFDLElBQUksS0FBSyxRQUFRO1FBQzVCLE9BQU8sR0FBRyxDQUFDLE1BQU0sS0FBSyxRQUFRO1FBQzlCLElBQUEsc0NBQVcsRUFBQyxHQUFHLENBQUMsTUFBTSxDQUFDO1FBQ3ZCLElBQUEsOENBQXNDLEVBQUMsR0FBRyxDQUFDLGtCQUFrQixDQUFDLENBQy9ELENBQUM7QUFDSixDQUFDLENBQUM7QUFSVyxRQUFBLGtDQUFrQyxzQ0FRN0M7QUFFRjs7OztHQUlHO0FBQ0ksTUFBTSxzQ0FBc0MsR0FBRyxDQUFDLEdBQVEsRUFBK0MsRUFBRTtJQUM5RyxPQUFPLENBQ0wsSUFBQSxpREFBeUMsRUFBQyxHQUFHLENBQUM7UUFDOUMsSUFBQSw0REFBb0QsRUFBQyxHQUFHLENBQUM7UUFDekQsSUFBQSx1REFBK0MsRUFBQyxHQUFHLENBQUMsQ0FDckQsQ0FBQztBQUNKLENBQUMsQ0FBQztBQU5XLFFBQUEsc0NBQXNDLDBDQU1qRDtBQUVGOzs7O0dBSUc7QUFDSSxNQUFNLHlDQUF5QyxHQUFHLENBQUMsR0FBUSxFQUFrRCxFQUFFO0lBQ3BILE9BQU8sQ0FDTCxDQUFDLE9BQU8sR0FBRyxLQUFLLFFBQVEsSUFBSSxPQUFPLEdBQUcsS0FBSyxVQUFVLENBQUM7UUFDdEQsT0FBTyxHQUFHLENBQUMsZUFBZSxLQUFLLFFBQVE7UUFDdkMsT0FBTyxHQUFHLENBQUMsV0FBVyxLQUFLLFFBQVE7UUFDbkMsT0FBTyxHQUFHLENBQUMsZUFBZSxLQUFLLFFBQVE7UUFDdkMsT0FBTyxHQUFHLENBQUMsZUFBZSxLQUFLLFFBQVE7UUFDdkMsT0FBTyxHQUFHLENBQUMsbUJBQW1CLEtBQUssUUFBUSxDQUM1QyxDQUFDO0FBQ0osQ0FBQyxDQUFDO0FBVFcsUUFBQSx5Q0FBeUMsNkNBU3BEO0FBRUY7Ozs7R0FJRztBQUNJLE1BQU0sb0RBQW9ELEdBQUcsQ0FDbEUsR0FBUSxFQUNtRCxFQUFFO0lBQzdELE9BQU8sQ0FDTCxDQUFDLE9BQU8sR0FBRyxLQUFLLFFBQVEsSUFBSSxPQUFPLEdBQUcsS0FBSyxVQUFVLENBQUM7UUFDdEQsT0FBTyxHQUFHLENBQUMsU0FBUyxLQUFLLFFBQVE7UUFDakMsT0FBTyxHQUFHLENBQUMsSUFBSSxLQUFLLFFBQVE7UUFDNUIsT0FBTyxHQUFHLENBQUMsWUFBWSxLQUFLLFFBQVE7UUFDcEMsT0FBTyxHQUFHLENBQUMsUUFBUSxJQUFJLFFBQVEsQ0FDaEMsQ0FBQztBQUNKLENBQUMsQ0FBQztBQVZXLFFBQUEsb0RBQW9ELHdEQVUvRDtBQUVGOzs7O0dBSUc7QUFDSSxNQUFNLCtDQUErQyxHQUFHLENBQUMsR0FBUSxFQUF3RCxFQUFFO0lBQ2hJLE9BQU8sQ0FDTCxDQUFDLE9BQU8sR0FBRyxLQUFLLFFBQVEsSUFBSSxPQUFPLEdBQUcsS0FBSyxVQUFVLENBQUM7UUFDdEQsQ0FBQyxPQUFPLEdBQUcsQ0FBQyxvQkFBb0IsS0FBSyxRQUFRLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsb0JBQW9CLENBQUMsQ0FBQyxDQUMxRixDQUFDO0FBQ0osQ0FBQyxDQUFDO0FBTFcsUUFBQSwrQ0FBK0MsbURBSzFEO0FBRUY7O0dBRUc7QUFDSCxNQUFhLHVDQUF1QztJQUNsRDs7Ozs7T0FLRztJQUNILE1BQU0sQ0FBQyxrQkFBa0IsQ0FDdkIsUUFBa0IsRUFDbEIsT0FBeUU7UUFFekUsTUFBTSxtQkFBbUIsR0FBRyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxFQUFFLFFBQVEsRUFBMEIsRUFBRTtZQUNwRixNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDLElBQUksQ0FBQztZQUMzQyxHQUFHLENBQUMsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDLFlBQVksQ0FBQyxRQUFRLEVBQUUsTUFBTSxDQUFDLENBQUM7WUFDbEQsT0FBTyxHQUFHLENBQUM7UUFDYixDQUFDLEVBQUUsRUFBNEIsQ0FBQyxDQUFDO1FBRWpDLE9BQU87WUFDTCxtQkFBbUI7WUFDbkIsR0FBRyxPQUFPO1NBQ1gsQ0FBQztJQUNKLENBQUM7O0FBckJILDBGQXNCQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIGZzIGZyb20gJ2ZzJztcbmltcG9ydCAqIGFzIHBhdGggZnJvbSAncGF0aCc7XG5pbXBvcnQgeyBpc1NxbERiVHlwZSB9IGZyb20gJ0Bhd3MtYW1wbGlmeS9ncmFwaHFsLXRyYW5zZm9ybWVyLWNvcmUnO1xuaW1wb3J0IHtcbiAgU1FMTGFtYmRhTW9kZWxEYXRhU291cmNlU3RyYXRlZ3ksXG4gIFNxbE1vZGVsRGF0YVNvdXJjZURiQ29ubmVjdGlvbkNvbmZpZyxcbiAgU3FsTW9kZWxEYXRhU291cmNlU3NtRGJDb25uZWN0aW9uQ29uZmlnLFxuICBTcWxNb2RlbERhdGFTb3VyY2VTZWNyZXRzTWFuYWdlckRiQ29ubmVjdGlvbkNvbmZpZyxcbiAgU3FsTW9kZWxEYXRhU291cmNlU3NtRGJDb25uZWN0aW9uU3RyaW5nQ29uZmlnLFxufSBmcm9tICcuL21vZGVsLWRhdGFzb3VyY2Utc3RyYXRlZ3ktdHlwZXMnO1xuXG4vKipcbiAqIFR5cGUgcHJlZGljYXRlIHRoYXQgcmV0dXJucyB0cnVlIGlmIHRoZSBvYmplY3QgaXMgYSBTUUxMYW1iZGFNb2RlbERhdGFTb3VyY2VTdHJhdGVneS5cbiAqIEBwYXJhbSBvYmogdGhlIG9iamVjdCB0byBpbnNwZWN0XG4gKiBAcmV0dXJucyB0cnVlIGlmIHRoZSBvYmplY3QgaXMgc2hhcGVkIGxpa2UgYSBTUUxMYW1iZGFNb2RlbERhdGFTb3VyY2VTdHJhdGVneVxuICovXG5leHBvcnQgY29uc3QgaXNTUUxMYW1iZGFNb2RlbERhdGFTb3VyY2VTdHJhdGVneSA9IChvYmo6IGFueSk6IG9iaiBpcyBTUUxMYW1iZGFNb2RlbERhdGFTb3VyY2VTdHJhdGVneSA9PiB7XG4gIHJldHVybiAoXG4gICAgKHR5cGVvZiBvYmogPT09ICdvYmplY3QnIHx8IHR5cGVvZiBvYmogPT09ICdmdW5jdGlvbicpICYmXG4gICAgdHlwZW9mIG9iai5uYW1lID09PSAnc3RyaW5nJyAmJlxuICAgIHR5cGVvZiBvYmouZGJUeXBlID09PSAnc3RyaW5nJyAmJlxuICAgIGlzU3FsRGJUeXBlKG9iai5kYlR5cGUpICYmXG4gICAgaXNTcWxNb2RlbERhdGFTb3VyY2VEYkNvbm5lY3Rpb25Db25maWcob2JqLmRiQ29ubmVjdGlvbkNvbmZpZylcbiAgKTtcbn07XG5cbi8qKlxuICogVHlwZSBwcmVkaWNhdGUgdGhhdCByZXR1cm5zIHRydWUgaWYgdGhlIG9iamVjdCBpcyBhIFNxbE1vZGVsRGF0YVNvdXJjZURiQ29ubmVjdGlvbkNvbmZpZy5cbiAqIEBwYXJhbSBvYmogdGhlIG9iamVjdCB0byBpbnNwZWN0XG4gKiBAcmV0dXJucyB0cnVlIGlmIHRoZSBvYmplY3QgaXMgc2hhcGVkIGxpa2UgYSBTcWxNb2RlbERhdGFTb3VyY2VEYkNvbm5lY3Rpb25Db25maWdcbiAqL1xuZXhwb3J0IGNvbnN0IGlzU3FsTW9kZWxEYXRhU291cmNlRGJDb25uZWN0aW9uQ29uZmlnID0gKG9iajogYW55KTogb2JqIGlzIFNxbE1vZGVsRGF0YVNvdXJjZURiQ29ubmVjdGlvbkNvbmZpZyA9PiB7XG4gIHJldHVybiAoXG4gICAgaXNTcWxNb2RlbERhdGFTb3VyY2VTc21EYkNvbm5lY3Rpb25Db25maWcob2JqKSB8fFxuICAgIGlzU3FsTW9kZWxEYXRhU291cmNlU2VjcmV0c01hbmFnZXJEYkNvbm5lY3Rpb25Db25maWcob2JqKSB8fFxuICAgIGlzU3FsTW9kZWxEYXRhU291cmNlU3NtRGJDb25uZWN0aW9uU3RyaW5nQ29uZmlnKG9iailcbiAgKTtcbn07XG5cbi8qKlxuICogVHlwZSBwcmVkaWNhdGUgdGhhdCByZXR1cm5zIHRydWUgaWYgdGhlIG9iamVjdCBpcyBhIFNxbE1vZGVsRGF0YVNvdXJjZVNzbURiQ29ubmVjdGlvbkNvbmZpZy5cbiAqIEBwYXJhbSBvYmogdGhlIG9iamVjdCB0byBpbnNwZWN0XG4gKiBAcmV0dXJucyB0cnVlIGlmIHRoZSBvYmplY3QgaXMgc2hhcGVkIGxpa2UgYSBTcWxNb2RlbERhdGFTb3VyY2VTc21EYkNvbm5lY3Rpb25Db25maWdcbiAqL1xuZXhwb3J0IGNvbnN0IGlzU3FsTW9kZWxEYXRhU291cmNlU3NtRGJDb25uZWN0aW9uQ29uZmlnID0gKG9iajogYW55KTogb2JqIGlzIFNxbE1vZGVsRGF0YVNvdXJjZVNzbURiQ29ubmVjdGlvbkNvbmZpZyA9PiB7XG4gIHJldHVybiAoXG4gICAgKHR5cGVvZiBvYmogPT09ICdvYmplY3QnIHx8IHR5cGVvZiBvYmogPT09ICdmdW5jdGlvbicpICYmXG4gICAgdHlwZW9mIG9iai5ob3N0bmFtZVNzbVBhdGggPT09ICdzdHJpbmcnICYmXG4gICAgdHlwZW9mIG9iai5wb3J0U3NtUGF0aCA9PT0gJ3N0cmluZycgJiZcbiAgICB0eXBlb2Ygb2JqLnVzZXJuYW1lU3NtUGF0aCA9PT0gJ3N0cmluZycgJiZcbiAgICB0eXBlb2Ygb2JqLnBhc3N3b3JkU3NtUGF0aCA9PT0gJ3N0cmluZycgJiZcbiAgICB0eXBlb2Ygb2JqLmRhdGFiYXNlTmFtZVNzbVBhdGggPT09ICdzdHJpbmcnXG4gICk7XG59O1xuXG4vKipcbiAqIFR5cGUgcHJlZGljYXRlIHRoYXQgcmV0dXJucyB0cnVlIGlmIHRoZSBvYmplY3QgaXMgYSBTcWxNb2RlbERhdGFTb3VyY2VTZWNyZXRzTWFuYWdlckRiQ29ubmVjdGlvbkNvbmZpZy5cbiAqIEBwYXJhbSBvYmogdGhlIG9iamVjdCB0byBpbnNwZWN0XG4gKiBAcmV0dXJucyB0cnVlIGlmIHRoZSBvYmplY3QgaXMgc2hhcGVkIGxpa2UgYSBTcWxNb2RlbERhdGFTb3VyY2VTZWNyZXRzTWFuYWdlckRiQ29ubmVjdGlvbkNvbmZpZ1xuICovXG5leHBvcnQgY29uc3QgaXNTcWxNb2RlbERhdGFTb3VyY2VTZWNyZXRzTWFuYWdlckRiQ29ubmVjdGlvbkNvbmZpZyA9IChcbiAgb2JqOiBhbnksXG4pOiBvYmogaXMgU3FsTW9kZWxEYXRhU291cmNlU2VjcmV0c01hbmFnZXJEYkNvbm5lY3Rpb25Db25maWcgPT4ge1xuICByZXR1cm4gKFxuICAgICh0eXBlb2Ygb2JqID09PSAnb2JqZWN0JyB8fCB0eXBlb2Ygb2JqID09PSAnZnVuY3Rpb24nKSAmJlxuICAgIHR5cGVvZiBvYmouc2VjcmV0QXJuID09PSAnc3RyaW5nJyAmJlxuICAgIHR5cGVvZiBvYmoucG9ydCA9PT0gJ251bWJlcicgJiZcbiAgICB0eXBlb2Ygb2JqLmRhdGFiYXNlTmFtZSA9PT0gJ3N0cmluZycgJiZcbiAgICB0eXBlb2Ygb2JqLmhvc3RuYW1lID09ICdzdHJpbmcnXG4gICk7XG59O1xuXG4vKipcbiAqIFR5cGUgcHJlZGljYXRlIHRoYXQgcmV0dXJucyB0cnVlIGlmIHRoZSBvYmplY3QgaXMgYSBTcWxNb2RlbERhdGFTb3VyY2VTc21EYkNvbm5lY3Rpb25TdHJpbmdDb25maWcuXG4gKiBAcGFyYW0gb2JqIHRoZSBvYmplY3QgdG8gaW5zcGVjdFxuICogQHJldHVybnMgdHJ1ZSBpZiB0aGUgb2JqZWN0IGlzIHNoYXBlZCBsaWtlIGEgU3FsTW9kZWxEYXRhU291cmNlU3NtRGJDb25uZWN0aW9uU3RyaW5nQ29uZmlnXG4gKi9cbmV4cG9ydCBjb25zdCBpc1NxbE1vZGVsRGF0YVNvdXJjZVNzbURiQ29ubmVjdGlvblN0cmluZ0NvbmZpZyA9IChvYmo6IGFueSk6IG9iaiBpcyBTcWxNb2RlbERhdGFTb3VyY2VTc21EYkNvbm5lY3Rpb25TdHJpbmdDb25maWcgPT4ge1xuICByZXR1cm4gKFxuICAgICh0eXBlb2Ygb2JqID09PSAnb2JqZWN0JyB8fCB0eXBlb2Ygb2JqID09PSAnZnVuY3Rpb24nKSAmJlxuICAgICh0eXBlb2Ygb2JqLmNvbm5lY3Rpb25VcmlTc21QYXRoID09PSAnc3RyaW5nJyB8fCBBcnJheS5pc0FycmF5KG9iai5jb25uZWN0aW9uVXJpU3NtUGF0aCkpXG4gICk7XG59O1xuXG4vKipcbiAqIENsYXNzIGV4cG9zaW5nIHV0aWxpdGllcyB0byBwcm9kdWNlIFNRTExhbWJkYU1vZGVsRGF0YVNvdXJjZVN0cmF0ZWd5IG9iamVjdHMgZ2l2ZW4gdmFyaW91cyBpbnB1dHMuXG4gKi9cbmV4cG9ydCBjbGFzcyBTUUxMYW1iZGFNb2RlbERhdGFTb3VyY2VTdHJhdGVneUZhY3Rvcnkge1xuICAvKipcbiAgICogQ3JlYXRlcyBhIFNRTExhbWJkYU1vZGVsRGF0YVNvdXJjZVN0cmF0ZWd5IHdoZXJlIHRoZSBiaW5kaW5nJ3MgYGN1c3RvbVNxbFN0YXRlbWVudHNgIGFyZSBwb3B1bGF0ZWQgZnJvbSBgc3FsRmlsZXNgLiBUaGUga2V5XG4gICAqIG9mIHRoZSBgY3VzdG9tU3FsU3RhdGVtZW50c2AgcmVjb3JkIGlzIHRoZSBmaWxlJ3MgYmFzZSBuYW1lICh0aGF0IGlzLCB0aGUgbmFtZSBvZiB0aGUgZmlsZSBtaW51cyB0aGUgZGlyZWN0b3J5IGFuZCBleHRlbnNpb24pLlxuICAgKiBAcGFyYW0gc3FsRmlsZXMgdGhlIGxpc3Qgb2YgZmlsZXMgdG8gbG9hZCBTUUwgc3RhdGVtZW50cyBmcm9tLlxuICAgKiBAcGFyYW0gb3B0aW9ucyB0aGUgcmVtYWluaW5nIFNRTExhbWJkYU1vZGVsRGF0YVNvdXJjZVN0cmF0ZWd5IG9wdGlvbnMuXG4gICAqL1xuICBzdGF0aWMgZnJvbUN1c3RvbVNxbEZpbGVzKFxuICAgIHNxbEZpbGVzOiBzdHJpbmdbXSxcbiAgICBvcHRpb25zOiBFeGNsdWRlPFNRTExhbWJkYU1vZGVsRGF0YVNvdXJjZVN0cmF0ZWd5LCAnY3VzdG9tU3FsU3RhdGVtZW50cyc+LFxuICApOiBTUUxMYW1iZGFNb2RlbERhdGFTb3VyY2VTdHJhdGVneSB7XG4gICAgY29uc3QgY3VzdG9tU3FsU3RhdGVtZW50cyA9IHNxbEZpbGVzLnJlZHVjZSgoYWNjLCBmaWxlUGF0aCk6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPT4ge1xuICAgICAgY29uc3QgYmFzZW5hbWUgPSBwYXRoLnBhcnNlKGZpbGVQYXRoKS5uYW1lO1xuICAgICAgYWNjW2Jhc2VuYW1lXSA9IGZzLnJlYWRGaWxlU3luYyhmaWxlUGF0aCwgJ3V0ZjgnKTtcbiAgICAgIHJldHVybiBhY2M7XG4gICAgfSwge30gYXMgUmVjb3JkPHN0cmluZywgc3RyaW5nPik7XG5cbiAgICByZXR1cm4ge1xuICAgICAgY3VzdG9tU3FsU3RhdGVtZW50cyxcbiAgICAgIC4uLm9wdGlvbnMsXG4gICAgfTtcbiAgfVxufVxuIl19
@@ -3,7 +3,11 @@
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
- # [3.5.0-gen2-release-0418-2.0](https://github.com/aws-amplify/amplify-category-api/compare/@aws-amplify/graphql-auth-transformer@3.4.4...@aws-amplify/graphql-auth-transformer@3.5.0-gen2-release-0418-2.0) (2024-04-18)
6
+ # [3.5.0-gen2-release-0423.0](https://github.com/aws-amplify/amplify-category-api/compare/@aws-amplify/graphql-auth-transformer@3.4.4...@aws-amplify/graphql-auth-transformer@3.5.0-gen2-release-0423.0) (2024-04-23)
7
+
8
+ ### Bug Fixes
9
+
10
+ - relational bidirectionality validation and improved error messages ([#2482](https://github.com/aws-amplify/amplify-category-api/issues/2482)) ([568fbc3](https://github.com/aws-amplify/amplify-category-api/commit/568fbc365e4945693f685ba8896d2e5f14031f2d))
7
11
 
8
12
  ### Features
9
13
 
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aws-amplify/graphql-auth-transformer",
3
- "version": "3.5.0-gen2-release-0418-2.0",
3
+ "version": "3.5.0-gen2-release-0423.0",
4
4
  "description": "Amplify GraphQL @auth transformer",
5
5
  "repository": {
6
6
  "type": "git",
@@ -29,23 +29,23 @@
29
29
  "extract-api": "ts-node ../../scripts/extract-api.ts"
30
30
  },
31
31
  "dependencies": {
32
- "@aws-amplify/graphql-directives": "1.1.0-gen2-release-0418-2.0",
33
- "@aws-amplify/graphql-model-transformer": "2.9.0-gen2-release-0418-2.0",
34
- "@aws-amplify/graphql-relational-transformer": "2.5.0-gen2-release-0418-2.0",
35
- "@aws-amplify/graphql-transformer-core": "2.6.1-gen2-release-0418-2.0",
36
- "@aws-amplify/graphql-transformer-interfaces": "3.7.0-gen2-release-0418-2.0",
32
+ "@aws-amplify/graphql-directives": "1.1.0-gen2-release-0423.0",
33
+ "@aws-amplify/graphql-model-transformer": "2.9.0-gen2-release-0423.0",
34
+ "@aws-amplify/graphql-relational-transformer": "2.5.0-gen2-release-0423.0",
35
+ "@aws-amplify/graphql-transformer-core": "2.7.0-gen2-release-0423.0",
36
+ "@aws-amplify/graphql-transformer-interfaces": "3.7.0-gen2-release-0423.0",
37
37
  "graphql": "^15.5.0",
38
38
  "graphql-mapping-template": "4.20.15",
39
- "graphql-transformer-common": "4.30.1-gen2-release-0418-2.0",
39
+ "graphql-transformer-common": "4.30.1-gen2-release-0423.0",
40
40
  "lodash": "^4.17.21",
41
41
  "md5": "^2.3.0"
42
42
  },
43
43
  "devDependencies": {
44
- "@aws-amplify/graphql-function-transformer": "2.1.21-gen2-release-0418-2.0",
45
- "@aws-amplify/graphql-index-transformer": "2.4.0-gen2-release-0418-2.0",
46
- "@aws-amplify/graphql-searchable-transformer": "2.7.0-gen2-release-0418-2.0",
47
- "@aws-amplify/graphql-sql-transformer": "0.3.0-gen2-release-0418-2.0",
48
- "@aws-amplify/graphql-transformer-test-utils": "0.5.1-gen2-release-0418-2.0",
44
+ "@aws-amplify/graphql-function-transformer": "2.1.21-gen2-release-0423.0",
45
+ "@aws-amplify/graphql-index-transformer": "2.4.0-gen2-release-0423.0",
46
+ "@aws-amplify/graphql-searchable-transformer": "2.7.0-gen2-release-0423.0",
47
+ "@aws-amplify/graphql-sql-transformer": "0.3.0-gen2-release-0423.0",
48
+ "@aws-amplify/graphql-transformer-test-utils": "0.5.1-gen2-release-0423.0",
49
49
  "@types/node": "^12.12.6"
50
50
  },
51
51
  "peerDependencies": {
@@ -87,5 +87,5 @@
87
87
  "/__tests__/"
88
88
  ]
89
89
  },
90
- "gitHead": "1752c32dcd54a85370c3ea3f298e25fe25909d93"
90
+ "gitHead": "f450cc3e4a785bd0068a1cdb070c424328b64a8c"
91
91
  }
@@ -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
- ## [2.3.4-gen2-release-0418-2.0](https://github.com/aws-amplify/amplify-category-api/compare/@aws-amplify/graphql-default-value-transformer@2.3.3...@aws-amplify/graphql-default-value-transformer@2.3.4-gen2-release-0418-2.0) (2024-04-18)
6
+ ## [2.3.4-gen2-release-0423.0](https://github.com/aws-amplify/amplify-category-api/compare/@aws-amplify/graphql-default-value-transformer@2.3.3...@aws-amplify/graphql-default-value-transformer@2.3.4-gen2-release-0423.0) (2024-04-23)
7
7
 
8
8
  **Note:** Version bump only for package @aws-amplify/graphql-default-value-transformer
9
9
 
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aws-amplify/graphql-default-value-transformer",
3
- "version": "2.3.4-gen2-release-0418-2.0",
3
+ "version": "2.3.4-gen2-release-0423.0",
4
4
  "description": "Amplify GraphQL default value transformer",
5
5
  "repository": {
6
6
  "type": "git",
@@ -29,17 +29,17 @@
29
29
  "extract-api": "ts-node ../../scripts/extract-api.ts"
30
30
  },
31
31
  "dependencies": {
32
- "@aws-amplify/graphql-directives": "1.1.0-gen2-release-0418-2.0",
33
- "@aws-amplify/graphql-transformer-core": "2.6.1-gen2-release-0418-2.0",
34
- "@aws-amplify/graphql-transformer-interfaces": "3.7.0-gen2-release-0418-2.0",
32
+ "@aws-amplify/graphql-directives": "1.1.0-gen2-release-0423.0",
33
+ "@aws-amplify/graphql-transformer-core": "2.7.0-gen2-release-0423.0",
34
+ "@aws-amplify/graphql-transformer-interfaces": "3.7.0-gen2-release-0423.0",
35
35
  "graphql": "^15.5.0",
36
36
  "graphql-mapping-template": "4.20.15",
37
- "graphql-transformer-common": "4.30.1-gen2-release-0418-2.0",
37
+ "graphql-transformer-common": "4.30.1-gen2-release-0423.0",
38
38
  "libphonenumber-js": "1.9.47"
39
39
  },
40
40
  "devDependencies": {
41
- "@aws-amplify/graphql-model-transformer": "2.9.0-gen2-release-0418-2.0",
42
- "@aws-amplify/graphql-transformer-test-utils": "0.5.1-gen2-release-0418-2.0"
41
+ "@aws-amplify/graphql-model-transformer": "2.9.0-gen2-release-0423.0",
42
+ "@aws-amplify/graphql-transformer-test-utils": "0.5.1-gen2-release-0423.0"
43
43
  },
44
44
  "jest": {
45
45
  "transform": {
@@ -76,5 +76,5 @@
76
76
  "/__tests__/"
77
77
  ]
78
78
  },
79
- "gitHead": "1752c32dcd54a85370c3ea3f298e25fe25909d93"
79
+ "gitHead": "f450cc3e4a785bd0068a1cdb070c424328b64a8c"
80
80
  }
@@ -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
- # [1.1.0-gen2-release-0418-2.0](https://github.com/aws-amplify/amplify-category-api/compare/@aws-amplify/graphql-directives@1.0.1...@aws-amplify/graphql-directives@1.1.0-gen2-release-0418-2.0) (2024-04-18)
6
+ # [1.1.0-gen2-release-0423.0](https://github.com/aws-amplify/amplify-category-api/compare/@aws-amplify/graphql-directives@1.0.1...@aws-amplify/graphql-directives@1.1.0-gen2-release-0423.0) (2024-04-23)
7
7
 
8
8
  ### Features
9
9
 
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aws-amplify/graphql-directives",
3
- "version": "1.1.0-gen2-release-0418-2.0",
3
+ "version": "1.1.0-gen2-release-0423.0",
4
4
  "description": "Directive definitions for Amplify GraphQL transformers.",
5
5
  "repository": {
6
6
  "type": "git",
@@ -62,5 +62,5 @@
62
62
  "src/directives/directive.ts"
63
63
  ]
64
64
  },
65
- "gitHead": "1752c32dcd54a85370c3ea3f298e25fe25909d93"
65
+ "gitHead": "f450cc3e4a785bd0068a1cdb070c424328b64a8c"
66
66
  }
@@ -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
- ## [2.1.21-gen2-release-0418-2.0](https://github.com/aws-amplify/amplify-category-api/compare/@aws-amplify/graphql-function-transformer@2.1.20...@aws-amplify/graphql-function-transformer@2.1.21-gen2-release-0418-2.0) (2024-04-18)
6
+ ## [2.1.21-gen2-release-0423.0](https://github.com/aws-amplify/amplify-category-api/compare/@aws-amplify/graphql-function-transformer@2.1.20...@aws-amplify/graphql-function-transformer@2.1.21-gen2-release-0423.0) (2024-04-23)
7
7
 
8
8
  **Note:** Version bump only for package @aws-amplify/graphql-function-transformer
9
9
 
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aws-amplify/graphql-function-transformer",
3
- "version": "2.1.21-gen2-release-0418-2.0",
3
+ "version": "2.1.21-gen2-release-0423.0",
4
4
  "description": "Amplify GraphQL @function transformer",
5
5
  "repository": {
6
6
  "type": "git",
@@ -28,15 +28,15 @@
28
28
  "extract-api": "ts-node ../../scripts/extract-api.ts"
29
29
  },
30
30
  "dependencies": {
31
- "@aws-amplify/graphql-directives": "1.1.0-gen2-release-0418-2.0",
32
- "@aws-amplify/graphql-transformer-core": "2.6.1-gen2-release-0418-2.0",
33
- "@aws-amplify/graphql-transformer-interfaces": "3.7.0-gen2-release-0418-2.0",
31
+ "@aws-amplify/graphql-directives": "1.1.0-gen2-release-0423.0",
32
+ "@aws-amplify/graphql-transformer-core": "2.7.0-gen2-release-0423.0",
33
+ "@aws-amplify/graphql-transformer-interfaces": "3.7.0-gen2-release-0423.0",
34
34
  "graphql": "^15.5.0",
35
35
  "graphql-mapping-template": "4.20.15",
36
- "graphql-transformer-common": "4.30.1-gen2-release-0418-2.0"
36
+ "graphql-transformer-common": "4.30.1-gen2-release-0423.0"
37
37
  },
38
38
  "devDependencies": {
39
- "@aws-amplify/graphql-transformer-test-utils": "0.5.1-gen2-release-0418-2.0"
39
+ "@aws-amplify/graphql-transformer-test-utils": "0.5.1-gen2-release-0423.0"
40
40
  },
41
41
  "peerDependencies": {
42
42
  "aws-cdk-lib": "^2.80.0",
@@ -79,5 +79,5 @@
79
79
  "/__tests__/"
80
80
  ]
81
81
  },
82
- "gitHead": "1752c32dcd54a85370c3ea3f298e25fe25909d93"
82
+ "gitHead": "f450cc3e4a785bd0068a1cdb070c424328b64a8c"
83
83
  }