@pipeline-builder/pipeline-core 3.4.68 → 3.4.70

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (62) hide show
  1. package/README.md +62 -33
  2. package/lib/config/app-config.d.ts +1 -1
  3. package/lib/config/app-config.js +20 -25
  4. package/lib/config/billing-config.d.ts +1 -1
  5. package/lib/config/billing-config.js +2 -5
  6. package/lib/config/config-types.d.ts +1 -1
  7. package/lib/config/config-types.js +2 -3
  8. package/lib/config/infrastructure-config.d.ts +1 -1
  9. package/lib/config/infrastructure-config.js +25 -38
  10. package/lib/config/server-config.d.ts +1 -1
  11. package/lib/config/server-config.js +12 -19
  12. package/lib/core/artifact-manager.js +3 -6
  13. package/lib/core/id-generator.js +4 -8
  14. package/lib/core/metadata-builder.d.ts +4 -4
  15. package/lib/core/metadata-builder.js +32 -44
  16. package/lib/core/network-types.d.ts +2 -2
  17. package/lib/core/network-types.js +2 -3
  18. package/lib/core/network.d.ts +3 -3
  19. package/lib/core/network.js +18 -20
  20. package/lib/core/pipeline-helpers.d.ts +3 -3
  21. package/lib/core/pipeline-helpers.js +73 -79
  22. package/lib/core/pipeline-types.d.ts +2 -2
  23. package/lib/core/pipeline-types.js +5 -11
  24. package/lib/core/role-types.js +2 -3
  25. package/lib/core/role.d.ts +3 -3
  26. package/lib/core/role.js +24 -25
  27. package/lib/core/security-group-types.js +2 -3
  28. package/lib/core/security-group.d.ts +3 -3
  29. package/lib/core/security-group.js +8 -9
  30. package/lib/handlers/plugin-lookup-handler.d.ts +1 -1
  31. package/lib/handlers/plugin-lookup-handler.js +18 -56
  32. package/lib/index.d.ts +17 -17
  33. package/lib/index.js +28 -71
  34. package/lib/pipeline/pipeline-builder.d.ts +5 -5
  35. package/lib/pipeline/pipeline-builder.js +73 -110
  36. package/lib/pipeline/pipeline-configuration.d.ts +5 -5
  37. package/lib/pipeline/pipeline-configuration.js +15 -19
  38. package/lib/pipeline/plugin-lookup.d.ts +3 -3
  39. package/lib/pipeline/plugin-lookup.js +32 -31
  40. package/lib/pipeline/source-builder.d.ts +2 -2
  41. package/lib/pipeline/source-builder.js +27 -29
  42. package/lib/pipeline/source-types.d.ts +1 -1
  43. package/lib/pipeline/source-types.js +2 -3
  44. package/lib/pipeline/stage-builder.d.ts +5 -5
  45. package/lib/pipeline/stage-builder.js +9 -9
  46. package/lib/pipeline/step-types.d.ts +4 -4
  47. package/lib/pipeline/step-types.js +2 -3
  48. package/lib/template/cache.d.ts +1 -1
  49. package/lib/template/cache.js +5 -9
  50. package/lib/template/evaluator.d.ts +1 -1
  51. package/lib/template/evaluator.js +11 -16
  52. package/lib/template/index.d.ts +9 -9
  53. package/lib/template/index.js +31 -56
  54. package/lib/template/metrics.js +6 -10
  55. package/lib/template/plugin-resolver.js +5 -9
  56. package/lib/template/tokenizer.js +13 -19
  57. package/lib/template/topo-sort.js +2 -5
  58. package/lib/template/validate.d.ts +1 -1
  59. package/lib/template/validate.js +20 -25
  60. package/lib/template/walker.d.ts +1 -1
  61. package/lib/template/walker.js +6 -10
  62. package/package.json +20 -14
@@ -1,5 +1,4 @@
1
- "use strict";
2
1
  // Copyright 2026 Pipeline Builder Contributors
3
2
  // SPDX-License-Identifier: Apache-2.0
4
- Object.defineProperty(exports, "__esModule", { value: true });
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic291cmNlLXR5cGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3BpcGVsaW5lL3NvdXJjZS10eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsK0NBQStDO0FBQy9DLHNDQUFzQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIENvcHlyaWdodCAyMDI2IFBpcGVsaW5lIEJ1aWxkZXIgQ29udHJpYnV0b3JzXG4vLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQXBhY2hlLTIuMFxuXG5pbXBvcnQgdHlwZSB7IFNlY3JldFZhbHVlIH0gZnJvbSAnYXdzLWNkay1saWInO1xuaW1wb3J0IHR5cGUgeyBUcmlnZ2VyVHlwZSB9IGZyb20gJy4uL2NvcmUvcGlwZWxpbmUtdHlwZXMnO1xuXG4vKipcbiAqIFMzIHNvdXJjZSBjb25maWd1cmF0aW9uIGZvciBDb2RlUGlwZWxpbmVcbiAqXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogY29uc3Qgc291cmNlOiBTM1NvdXJjZUNvbmZpZyA9IHtcbiAqICAgdHlwZTogJ3MzJyxcbiAqICAgb3B0aW9uczoge1xuICogICAgIGJ1Y2tldE5hbWU6ICdteS1zb3VyY2UtYnVja2V0JyxcbiAqICAgICBvYmplY3RLZXk6ICdzb3VyY2UuemlwJyxcbiAqICAgICB0cmlnZ2VyOiBUcmlnZ2VyVHlwZS5BVVRPXG4gKiAgIH1cbiAqIH07XG4gKiBgYGBcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTM1NvdXJjZUNvbmZpZyB7XG4gIHJlYWRvbmx5IHR5cGU6ICdzMyc7XG4gIHJlYWRvbmx5IG9wdGlvbnM6IFMzT3B0aW9ucztcbn1cblxuLyoqXG4gKiBHaXRIdWIgc291cmNlIGNvbmZpZ3VyYXRpb24gZm9yIENvZGVQaXBlbGluZVxuICpcbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBjb25zdCBzb3VyY2U6IEdpdEh1YlNvdXJjZUNvbmZpZyA9IHtcbiAqICAgdHlwZTogJ2dpdGh1YicsXG4gKiAgIG9wdGlvbnM6IHtcbiAqICAgICByZXBvOiAnb3duZXIvcmVwb3NpdG9yeScsXG4gKiAgICAgYnJhbmNoOiAnbWFpbicsXG4gKiAgICAgdHJpZ2dlcjogVHJpZ2dlclR5cGUuQVVUT1xuICogICB9XG4gKiB9O1xuICogYGBgXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgR2l0SHViU291cmNlQ29uZmlnIHtcbiAgcmVhZG9ubHkgdHlwZTogJ2dpdGh1Yic7XG4gIHJlYWRvbmx5IG9wdGlvbnM6IEdpdEh1Yk9wdGlvbnM7XG59XG5cbi8qKlxuICogQ29kZVN0YXIgY29ubmVjdGlvbiBzb3VyY2UgY29uZmlndXJhdGlvbiBmb3IgQ29kZVBpcGVsaW5lXG4gKlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGNvbnN0IHNvdXJjZTogQ29kZVN0YXJTb3VyY2VDb25maWcgPSB7XG4gKiAgIHR5cGU6ICdjb2Rlc3RhcicsXG4gKiAgIG9wdGlvbnM6IHtcbiAqICAgICByZXBvOiAnb3duZXIvcmVwb3NpdG9yeScsXG4gKiAgICAgYnJhbmNoOiAnbWFpbicsXG4gKiAgICAgY29ubmVjdGlvbkFybjogJ2Fybjphd3M6Y29kZXN0YXItY29ubmVjdGlvbnM6Li4uJyxcbiAqICAgICB0cmlnZ2VyOiBUcmlnZ2VyVHlwZS5BVVRPXG4gKiAgIH1cbiAqIH07XG4gKiBgYGBcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBDb2RlU3RhclNvdXJjZUNvbmZpZyB7XG4gIHJlYWRvbmx5IHR5cGU6ICdjb2Rlc3Rhcic7XG4gIHJlYWRvbmx5IG9wdGlvbnM6IENvZGVTdGFyT3B0aW9ucztcbn1cblxuLyoqXG4gKiBDb25maWd1cmF0aW9uIG9wdGlvbnMgZm9yIFMzIHBpcGVsaW5lIHNvdXJjZVxuICovXG5leHBvcnQgaW50ZXJmYWNlIFMzT3B0aW9ucyB7XG4gIC8qKlxuICAgKiBOYW1lIG9mIHRoZSBTMyBidWNrZXQgY29udGFpbmluZyB0aGUgc291cmNlIGNvZGVcbiAgICogQGV4YW1wbGUgJ215LXBpcGVsaW5lLXNvdXJjZS1idWNrZXQnXG4gICAqL1xuICByZWFkb25seSBidWNrZXROYW1lOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIE9iamVjdCBrZXkgKHBhdGgpIHRvIHRoZSBzb3VyY2UgYXJjaGl2ZSB3aXRoaW4gdGhlIGJ1Y2tldFxuICAgKiBAZGVmYXVsdCAnc291cmNlLnppcCdcbiAgICovXG4gIHJlYWRvbmx5IG9iamVjdEtleT86IHN0cmluZztcblxuICAvKipcbiAgICogUGlwZWxpbmUgdHJpZ2dlciBiZWhhdmlvclxuICAgKiBAZGVmYXVsdCBUcmlnZ2VyVHlwZS5OT05FXG4gICAqL1xuICByZWFkb25seSB0cmlnZ2VyPzogVHJpZ2dlclR5cGU7XG5cbiAgLyoqXG4gICAqIENyb24gZXhwcmVzc2lvbiBmb3Igc2NoZWR1bGVkIHRyaWdnZXIgKGUuZy4sICdjcm9uKDAgMCAqICogPyAqKScgZm9yIGRhaWx5KS5cbiAgICogT25seSB1c2VkIHdoZW4gdHJpZ2dlciBpcyBTQ0hFRFVMRS5cbiAgICovXG4gIHJlYWRvbmx5IHNjaGVkdWxlPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIENvbmZpZ3VyYXRpb24gb3B0aW9ucyBmb3IgR2l0SHViIHBpcGVsaW5lIHNvdXJjZVxuICovXG5leHBvcnQgaW50ZXJmYWNlIEdpdEh1Yk9wdGlvbnMge1xuICAvKipcbiAgICogR2l0SHViIHJlcG9zaXRvcnkgaW4gdGhlIGZvcm1hdCBcIm93bmVyL3JlcG9cIlxuICAgKiBAZXhhbXBsZSAnbXlvcmcvbXlyZXBvJ1xuICAgKi9cbiAgcmVhZG9ubHkgcmVwbzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBCcmFuY2ggdG8gdHJhY2tcbiAgICogQGRlZmF1bHQgJ21haW4nXG4gICAqL1xuICByZWFkb25seSBicmFuY2g/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEdpdEh1YiBwZXJzb25hbCBhY2Nlc3MgdG9rZW4gb3IgU2VjcmV0VmFsdWVcbiAgICogSWYgbm90IHByb3ZpZGVkLCB1c2VzIGRlZmF1bHQgR2l0SHViIGF1dGhlbnRpY2F0aW9uXG4gICAqL1xuICByZWFkb25seSB0b2tlbj86IFNlY3JldFZhbHVlIHwgc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBQaXBlbGluZSB0cmlnZ2VyIGJlaGF2aW9yXG4gICAqIEBkZWZhdWx0IFRyaWdnZXJUeXBlLk5PTkVcbiAgICovXG4gIHJlYWRvbmx5IHRyaWdnZXI/OiBUcmlnZ2VyVHlwZTtcblxuICAvKipcbiAgICogQ3JvbiBleHByZXNzaW9uIGZvciBzY2hlZHVsZWQgdHJpZ2dlciAoZS5nLiwgJ2Nyb24oMCAwICogKiA/ICopJyBmb3IgZGFpbHkpLlxuICAgKiBPbmx5IHVzZWQgd2hlbiB0cmlnZ2VyIGlzIFNDSEVEVUxFLlxuICAgKi9cbiAgcmVhZG9ubHkgc2NoZWR1bGU/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogQ29uZmlndXJhdGlvbiBvcHRpb25zIGZvciBDb2RlU3RhciBjb25uZWN0aW9uIHBpcGVsaW5lIHNvdXJjZVxuICovXG5leHBvcnQgaW50ZXJmYWNlIENvZGVTdGFyT3B0aW9ucyB7XG4gIC8qKlxuICAgKiBSZXBvc2l0b3J5IGlkZW50aWZpZXIgaW4gdGhlIGZvcm1hdCBcIm93bmVyL3JlcG9cIlxuICAgKiBAZXhhbXBsZSAnbXlvcmcvbXlyZXBvJ1xuICAgKi9cbiAgcmVhZG9ubHkgcmVwbzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBCcmFuY2ggdG8gdHJhY2tcbiAgICogQGRlZmF1bHQgJ21haW4nXG4gICAqL1xuICByZWFkb25seSBicmFuY2g/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEFSTiBvZiB0aGUgQ29kZVN0YXIgY29ubmVjdGlvbiB0byB1c2VcbiAgICogQ2FuIGJlIGEgc3RyaW5nIEFSTiBvciBTZWNyZXRWYWx1ZVxuICAgKiBAZXhhbXBsZSAnYXJuOmF3czpjb2Rlc3Rhci1jb25uZWN0aW9uczp1cy1lYXN0LTE6MTIzNDU2Nzg5MDEyOmNvbm5lY3Rpb24vYWJjMTIzJ1xuICAgKi9cbiAgcmVhZG9ubHkgY29ubmVjdGlvbkFybjogU2VjcmV0VmFsdWUgfCBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFBpcGVsaW5lIHRyaWdnZXIgYmVoYXZpb3JcbiAgICogQGRlZmF1bHQgVHJpZ2dlclR5cGUuTk9ORVxuICAgKi9cbiAgcmVhZG9ubHkgdHJpZ2dlcj86IFRyaWdnZXJUeXBlO1xuXG4gIC8qKlxuICAgKiBDcm9uIGV4cHJlc3Npb24gZm9yIHNjaGVkdWxlZCB0cmlnZ2VyIChlLmcuLCAnY3JvbigwIDAgKiAqID8gKiknIGZvciBkYWlseSkuXG4gICAqIE9ubHkgdXNlZCB3aGVuIHRyaWdnZXIgaXMgU0NIRURVTEUuXG4gICAqL1xuICByZWFkb25seSBzY2hlZHVsZT86IHN0cmluZztcblxuICAvKipcbiAgICogV2hldGhlciB0byBlbmFibGUgZnVsbCBjbG9uZSBjYXBhYmlsaXR5IGluIENvZGVCdWlsZFxuICAgKiBXaGVuIHRydWUsIENvZGVCdWlsZCBjYW4gcGVyZm9ybSBnaXQgb3BlcmF0aW9ucyBvbiB0aGUgZnVsbCByZXBvc2l0b3J5XG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICByZWFkb25seSBjb2RlQnVpbGRDbG9uZU91dHB1dD86IGJvb2xlYW47XG59XG5cbi8qKlxuICogQ29kZUNvbW1pdCBzb3VyY2UgY29uZmlndXJhdGlvbiBmb3IgQ29kZVBpcGVsaW5lXG4gKlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGNvbnN0IHNvdXJjZTogQ29kZUNvbW1pdFNvdXJjZUNvbmZpZyA9IHtcbiAqICAgdHlwZTogJ2NvZGVjb21taXQnLFxuICogICBvcHRpb25zOiB7XG4gKiAgICAgcmVwb3NpdG9yeU5hbWU6ICdteS1yZXBvJyxcbiAqICAgICBicmFuY2g6ICdtYWluJyxcbiAqICAgICB0cmlnZ2VyOiBUcmlnZ2VyVHlwZS5BVVRPXG4gKiAgIH1cbiAqIH07XG4gKiBgYGBcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBDb2RlQ29tbWl0U291cmNlQ29uZmlnIHtcbiAgcmVhZG9ubHkgdHlwZTogJ2NvZGVjb21taXQnO1xuICByZWFkb25seSBvcHRpb25zOiBDb2RlQ29tbWl0T3B0aW9ucztcbn1cblxuLyoqXG4gKiBDb25maWd1cmF0aW9uIG9wdGlvbnMgZm9yIENvZGVDb21taXQgcGlwZWxpbmUgc291cmNlXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ29kZUNvbW1pdE9wdGlvbnMge1xuICAvKipcbiAgICogTmFtZSBvZiB0aGUgQ29kZUNvbW1pdCByZXBvc2l0b3J5XG4gICAqIEBleGFtcGxlICdteS1yZXBvJ1xuICAgKi9cbiAgcmVhZG9ubHkgcmVwb3NpdG9yeU5hbWU6IHN0cmluZztcblxuICAvKipcbiAgICogQnJhbmNoIHRvIHRyYWNrXG4gICAqIEBkZWZhdWx0ICdtYWluJ1xuICAgKi9cbiAgcmVhZG9ubHkgYnJhbmNoPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBQaXBlbGluZSB0cmlnZ2VyIGJlaGF2aW9yXG4gICAqIEBkZWZhdWx0IFRyaWdnZXJUeXBlLk5PTkVcbiAgICovXG4gIHJlYWRvbmx5IHRyaWdnZXI/OiBUcmlnZ2VyVHlwZTtcbn1cbiJdfQ==
3
+ export {};
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic291cmNlLXR5cGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3BpcGVsaW5lL3NvdXJjZS10eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwrQ0FBK0M7QUFDL0Msc0NBQXNDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29weXJpZ2h0IDIwMjYgUGlwZWxpbmUgQnVpbGRlciBDb250cmlidXRvcnNcbi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBcGFjaGUtMi4wXG5cbmltcG9ydCB0eXBlIHsgU2VjcmV0VmFsdWUgfSBmcm9tICdhd3MtY2RrLWxpYic7XG5pbXBvcnQgdHlwZSB7IFRyaWdnZXJUeXBlIH0gZnJvbSAnLi4vY29yZS9waXBlbGluZS10eXBlcy5qcyc7XG5cbi8qKlxuICogUzMgc291cmNlIGNvbmZpZ3VyYXRpb24gZm9yIENvZGVQaXBlbGluZVxuICpcbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBjb25zdCBzb3VyY2U6IFMzU291cmNlQ29uZmlnID0ge1xuICogICB0eXBlOiAnczMnLFxuICogICBvcHRpb25zOiB7XG4gKiAgICAgYnVja2V0TmFtZTogJ215LXNvdXJjZS1idWNrZXQnLFxuICogICAgIG9iamVjdEtleTogJ3NvdXJjZS56aXAnLFxuICogICAgIHRyaWdnZXI6IFRyaWdnZXJUeXBlLkFVVE9cbiAqICAgfVxuICogfTtcbiAqIGBgYFxuICovXG5leHBvcnQgaW50ZXJmYWNlIFMzU291cmNlQ29uZmlnIHtcbiAgcmVhZG9ubHkgdHlwZTogJ3MzJztcbiAgcmVhZG9ubHkgb3B0aW9uczogUzNPcHRpb25zO1xufVxuXG4vKipcbiAqIEdpdEh1YiBzb3VyY2UgY29uZmlndXJhdGlvbiBmb3IgQ29kZVBpcGVsaW5lXG4gKlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGNvbnN0IHNvdXJjZTogR2l0SHViU291cmNlQ29uZmlnID0ge1xuICogICB0eXBlOiAnZ2l0aHViJyxcbiAqICAgb3B0aW9uczoge1xuICogICAgIHJlcG86ICdvd25lci9yZXBvc2l0b3J5JyxcbiAqICAgICBicmFuY2g6ICdtYWluJyxcbiAqICAgICB0cmlnZ2VyOiBUcmlnZ2VyVHlwZS5BVVRPXG4gKiAgIH1cbiAqIH07XG4gKiBgYGBcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBHaXRIdWJTb3VyY2VDb25maWcge1xuICByZWFkb25seSB0eXBlOiAnZ2l0aHViJztcbiAgcmVhZG9ubHkgb3B0aW9uczogR2l0SHViT3B0aW9ucztcbn1cblxuLyoqXG4gKiBDb2RlU3RhciBjb25uZWN0aW9uIHNvdXJjZSBjb25maWd1cmF0aW9uIGZvciBDb2RlUGlwZWxpbmVcbiAqXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogY29uc3Qgc291cmNlOiBDb2RlU3RhclNvdXJjZUNvbmZpZyA9IHtcbiAqICAgdHlwZTogJ2NvZGVzdGFyJyxcbiAqICAgb3B0aW9uczoge1xuICogICAgIHJlcG86ICdvd25lci9yZXBvc2l0b3J5JyxcbiAqICAgICBicmFuY2g6ICdtYWluJyxcbiAqICAgICBjb25uZWN0aW9uQXJuOiAnYXJuOmF3czpjb2Rlc3Rhci1jb25uZWN0aW9uczouLi4nLFxuICogICAgIHRyaWdnZXI6IFRyaWdnZXJUeXBlLkFVVE9cbiAqICAgfVxuICogfTtcbiAqIGBgYFxuICovXG5leHBvcnQgaW50ZXJmYWNlIENvZGVTdGFyU291cmNlQ29uZmlnIHtcbiAgcmVhZG9ubHkgdHlwZTogJ2NvZGVzdGFyJztcbiAgcmVhZG9ubHkgb3B0aW9uczogQ29kZVN0YXJPcHRpb25zO1xufVxuXG4vKipcbiAqIENvbmZpZ3VyYXRpb24gb3B0aW9ucyBmb3IgUzMgcGlwZWxpbmUgc291cmNlXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUzNPcHRpb25zIHtcbiAgLyoqXG4gICAqIE5hbWUgb2YgdGhlIFMzIGJ1Y2tldCBjb250YWluaW5nIHRoZSBzb3VyY2UgY29kZVxuICAgKiBAZXhhbXBsZSAnbXktcGlwZWxpbmUtc291cmNlLWJ1Y2tldCdcbiAgICovXG4gIHJlYWRvbmx5IGJ1Y2tldE5hbWU6IHN0cmluZztcblxuICAvKipcbiAgICogT2JqZWN0IGtleSAocGF0aCkgdG8gdGhlIHNvdXJjZSBhcmNoaXZlIHdpdGhpbiB0aGUgYnVja2V0XG4gICAqIEBkZWZhdWx0ICdzb3VyY2UuemlwJ1xuICAgKi9cbiAgcmVhZG9ubHkgb2JqZWN0S2V5Pzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBQaXBlbGluZSB0cmlnZ2VyIGJlaGF2aW9yXG4gICAqIEBkZWZhdWx0IFRyaWdnZXJUeXBlLk5PTkVcbiAgICovXG4gIHJlYWRvbmx5IHRyaWdnZXI/OiBUcmlnZ2VyVHlwZTtcblxuICAvKipcbiAgICogQ3JvbiBleHByZXNzaW9uIGZvciBzY2hlZHVsZWQgdHJpZ2dlciAoZS5nLiwgJ2Nyb24oMCAwICogKiA/ICopJyBmb3IgZGFpbHkpLlxuICAgKiBPbmx5IHVzZWQgd2hlbiB0cmlnZ2VyIGlzIFNDSEVEVUxFLlxuICAgKi9cbiAgcmVhZG9ubHkgc2NoZWR1bGU/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogQ29uZmlndXJhdGlvbiBvcHRpb25zIGZvciBHaXRIdWIgcGlwZWxpbmUgc291cmNlXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgR2l0SHViT3B0aW9ucyB7XG4gIC8qKlxuICAgKiBHaXRIdWIgcmVwb3NpdG9yeSBpbiB0aGUgZm9ybWF0IFwib3duZXIvcmVwb1wiXG4gICAqIEBleGFtcGxlICdteW9yZy9teXJlcG8nXG4gICAqL1xuICByZWFkb25seSByZXBvOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEJyYW5jaCB0byB0cmFja1xuICAgKiBAZGVmYXVsdCAnbWFpbidcbiAgICovXG4gIHJlYWRvbmx5IGJyYW5jaD86IHN0cmluZztcblxuICAvKipcbiAgICogR2l0SHViIHBlcnNvbmFsIGFjY2VzcyB0b2tlbiBvciBTZWNyZXRWYWx1ZVxuICAgKiBJZiBub3QgcHJvdmlkZWQsIHVzZXMgZGVmYXVsdCBHaXRIdWIgYXV0aGVudGljYXRpb25cbiAgICovXG4gIHJlYWRvbmx5IHRva2VuPzogU2VjcmV0VmFsdWUgfCBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFBpcGVsaW5lIHRyaWdnZXIgYmVoYXZpb3JcbiAgICogQGRlZmF1bHQgVHJpZ2dlclR5cGUuTk9ORVxuICAgKi9cbiAgcmVhZG9ubHkgdHJpZ2dlcj86IFRyaWdnZXJUeXBlO1xuXG4gIC8qKlxuICAgKiBDcm9uIGV4cHJlc3Npb24gZm9yIHNjaGVkdWxlZCB0cmlnZ2VyIChlLmcuLCAnY3JvbigwIDAgKiAqID8gKiknIGZvciBkYWlseSkuXG4gICAqIE9ubHkgdXNlZCB3aGVuIHRyaWdnZXIgaXMgU0NIRURVTEUuXG4gICAqL1xuICByZWFkb25seSBzY2hlZHVsZT86IHN0cmluZztcbn1cblxuLyoqXG4gKiBDb25maWd1cmF0aW9uIG9wdGlvbnMgZm9yIENvZGVTdGFyIGNvbm5lY3Rpb24gcGlwZWxpbmUgc291cmNlXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ29kZVN0YXJPcHRpb25zIHtcbiAgLyoqXG4gICAqIFJlcG9zaXRvcnkgaWRlbnRpZmllciBpbiB0aGUgZm9ybWF0IFwib3duZXIvcmVwb1wiXG4gICAqIEBleGFtcGxlICdteW9yZy9teXJlcG8nXG4gICAqL1xuICByZWFkb25seSByZXBvOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEJyYW5jaCB0byB0cmFja1xuICAgKiBAZGVmYXVsdCAnbWFpbidcbiAgICovXG4gIHJlYWRvbmx5IGJyYW5jaD86IHN0cmluZztcblxuICAvKipcbiAgICogQVJOIG9mIHRoZSBDb2RlU3RhciBjb25uZWN0aW9uIHRvIHVzZVxuICAgKiBDYW4gYmUgYSBzdHJpbmcgQVJOIG9yIFNlY3JldFZhbHVlXG4gICAqIEBleGFtcGxlICdhcm46YXdzOmNvZGVzdGFyLWNvbm5lY3Rpb25zOnVzLWVhc3QtMToxMjM0NTY3ODkwMTI6Y29ubmVjdGlvbi9hYmMxMjMnXG4gICAqL1xuICByZWFkb25seSBjb25uZWN0aW9uQXJuOiBTZWNyZXRWYWx1ZSB8IHN0cmluZztcblxuICAvKipcbiAgICogUGlwZWxpbmUgdHJpZ2dlciBiZWhhdmlvclxuICAgKiBAZGVmYXVsdCBUcmlnZ2VyVHlwZS5OT05FXG4gICAqL1xuICByZWFkb25seSB0cmlnZ2VyPzogVHJpZ2dlclR5cGU7XG5cbiAgLyoqXG4gICAqIENyb24gZXhwcmVzc2lvbiBmb3Igc2NoZWR1bGVkIHRyaWdnZXIgKGUuZy4sICdjcm9uKDAgMCAqICogPyAqKScgZm9yIGRhaWx5KS5cbiAgICogT25seSB1c2VkIHdoZW4gdHJpZ2dlciBpcyBTQ0hFRFVMRS5cbiAgICovXG4gIHJlYWRvbmx5IHNjaGVkdWxlPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRvIGVuYWJsZSBmdWxsIGNsb25lIGNhcGFiaWxpdHkgaW4gQ29kZUJ1aWxkXG4gICAqIFdoZW4gdHJ1ZSwgQ29kZUJ1aWxkIGNhbiBwZXJmb3JtIGdpdCBvcGVyYXRpb25zIG9uIHRoZSBmdWxsIHJlcG9zaXRvcnlcbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIHJlYWRvbmx5IGNvZGVCdWlsZENsb25lT3V0cHV0PzogYm9vbGVhbjtcbn1cblxuLyoqXG4gKiBDb2RlQ29tbWl0IHNvdXJjZSBjb25maWd1cmF0aW9uIGZvciBDb2RlUGlwZWxpbmVcbiAqXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogY29uc3Qgc291cmNlOiBDb2RlQ29tbWl0U291cmNlQ29uZmlnID0ge1xuICogICB0eXBlOiAnY29kZWNvbW1pdCcsXG4gKiAgIG9wdGlvbnM6IHtcbiAqICAgICByZXBvc2l0b3J5TmFtZTogJ215LXJlcG8nLFxuICogICAgIGJyYW5jaDogJ21haW4nLFxuICogICAgIHRyaWdnZXI6IFRyaWdnZXJUeXBlLkFVVE9cbiAqICAgfVxuICogfTtcbiAqIGBgYFxuICovXG5leHBvcnQgaW50ZXJmYWNlIENvZGVDb21taXRTb3VyY2VDb25maWcge1xuICByZWFkb25seSB0eXBlOiAnY29kZWNvbW1pdCc7XG4gIHJlYWRvbmx5IG9wdGlvbnM6IENvZGVDb21taXRPcHRpb25zO1xufVxuXG4vKipcbiAqIENvbmZpZ3VyYXRpb24gb3B0aW9ucyBmb3IgQ29kZUNvbW1pdCBwaXBlbGluZSBzb3VyY2VcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBDb2RlQ29tbWl0T3B0aW9ucyB7XG4gIC8qKlxuICAgKiBOYW1lIG9mIHRoZSBDb2RlQ29tbWl0IHJlcG9zaXRvcnlcbiAgICogQGV4YW1wbGUgJ215LXJlcG8nXG4gICAqL1xuICByZWFkb25seSByZXBvc2l0b3J5TmFtZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBCcmFuY2ggdG8gdHJhY2tcbiAgICogQGRlZmF1bHQgJ21haW4nXG4gICAqL1xuICByZWFkb25seSBicmFuY2g/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFBpcGVsaW5lIHRyaWdnZXIgYmVoYXZpb3JcbiAgICogQGRlZmF1bHQgVHJpZ2dlclR5cGUuTk9ORVxuICAgKi9cbiAgcmVhZG9ubHkgdHJpZ2dlcj86IFRyaWdnZXJUeXBlO1xufVxuIl19
@@ -1,11 +1,11 @@
1
1
  import type { ComputeType as CdkComputeType } from 'aws-cdk-lib/aws-codebuild';
2
2
  import { CodePipeline } from 'aws-cdk-lib/pipelines';
3
3
  import { Construct } from 'constructs';
4
- import { PluginLookup } from './plugin-lookup';
5
- import type { StageOptions } from './step-types';
6
- import type { ArtifactManager } from '../core/artifact-manager';
7
- import { UniqueId } from '../core/id-generator';
8
- import type { MetaDataType } from '../core/pipeline-types';
4
+ import { PluginLookup } from './plugin-lookup.js';
5
+ import type { StageOptions } from './step-types.js';
6
+ import type { ArtifactManager } from '../core/artifact-manager.js';
7
+ import { UniqueId } from '../core/id-generator.js';
8
+ import type { MetaDataType } from '../core/pipeline-types.js';
9
9
  /**
10
10
  * Configuration properties for the StageBuilder
11
11
  */
@@ -1,9 +1,10 @@
1
- "use strict";
2
1
  // Copyright 2026 Pipeline Builder Contributors
3
2
  // SPDX-License-Identifier: Apache-2.0
4
- Object.defineProperty(exports, "__esModule", { value: true });
5
- exports.StageBuilder = void 0;
6
- const pipeline_helpers_1 = require("../core/pipeline-helpers");
3
+ import { CodePipeline } from 'aws-cdk-lib/pipelines';
4
+ import { Construct } from 'constructs';
5
+ import { PluginLookup } from './plugin-lookup.js';
6
+ import { UniqueId } from '../core/id-generator.js';
7
+ import { createCodeBuildStep, merge } from '../core/pipeline-helpers.js';
7
8
  /**
8
9
  * Builds and adds pipeline stages (waves) to a CodePipeline.
9
10
  *
@@ -28,7 +29,7 @@ const pipeline_helpers_1 = require("../core/pipeline-helpers");
28
29
  * });
29
30
  * ```
30
31
  */
31
- class StageBuilder {
32
+ export class StageBuilder {
32
33
  scope;
33
34
  pluginLookup;
34
35
  uniqueId;
@@ -66,7 +67,7 @@ class StageBuilder {
66
67
  }
67
68
  resolveStep(stepConfig, stageName, stageAlias) {
68
69
  const plugin = this.pluginLookup.plugin(stepConfig.plugin);
69
- const stepMetadata = (0, pipeline_helpers_1.merge)(this.globalMetadata, stepConfig.metadata ?? {});
70
+ const stepMetadata = merge(this.globalMetadata, stepConfig.metadata ?? {});
70
71
  const pluginAlias = stepConfig.plugin.alias ?? stepConfig.plugin.name;
71
72
  if (stepConfig.inputArtifact && !this.artifactManager) {
72
73
  throw new Error(`Step "${pluginAlias}" requires inputArtifact but no artifactManager is configured.`);
@@ -83,7 +84,7 @@ class StageBuilder {
83
84
  this.artifactManager.getOutput(artifact),
84
85
  ]))
85
86
  : undefined;
86
- return (0, pipeline_helpers_1.createCodeBuildStep)({
87
+ return createCodeBuildStep({
87
88
  id: this.uniqueId.generate(`stage:${stageAlias}:${pluginAlias}`),
88
89
  uniqueId: this.uniqueId,
89
90
  plugin,
@@ -117,5 +118,4 @@ class StageBuilder {
117
118
  }
118
119
  }
119
120
  }
120
- exports.StageBuilder = StageBuilder;
121
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhZ2UtYnVpbGRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9waXBlbGluZS9zdGFnZS1idWlsZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSwrQ0FBK0M7QUFDL0Msc0NBQXNDOzs7QUFTdEMsK0RBQXNFO0FBb0N0RTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0F1Qkc7QUFDSCxNQUFhLFlBQVk7SUFDTixLQUFLLENBQVk7SUFDakIsWUFBWSxDQUFlO0lBQzNCLFFBQVEsQ0FBVztJQUNuQixjQUFjLENBQWU7SUFDN0Isa0JBQWtCLENBQWtCO0lBQ3BDLGVBQWUsQ0FBbUI7SUFDbEMsS0FBSyxDQUFVO0lBQ2YsYUFBYSxDQUEwQjtJQUV4RCxZQUFZLEtBQXdCO1FBQ2xDLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQztRQUN6QixJQUFJLENBQUMsWUFBWSxHQUFHLEtBQUssQ0FBQyxZQUFZLENBQUM7UUFDdkMsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUMsUUFBUSxDQUFDO1FBQy9CLElBQUksQ0FBQyxjQUFjLEdBQUcsS0FBSyxDQUFDLGNBQWMsQ0FBQztRQUMzQyxJQUFJLENBQUMsa0JBQWtCLEdBQUcsS0FBSyxDQUFDLGtCQUFrQixDQUFDO1FBQ25ELElBQUksQ0FBQyxlQUFlLEdBQUcsS0FBSyxDQUFDLGVBQWUsQ0FBQztRQUM3QyxJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUM7UUFDekIsSUFBSSxDQUFDLGFBQWEsR0FBRyxLQUFLLENBQUMsYUFBYSxDQUFDO0lBQzNDLENBQUM7SUFFRDs7O09BR0c7SUFDSCxRQUFRLENBQUMsUUFBc0IsRUFBRSxLQUFtQjtRQUNsRCxNQUFNLFVBQVUsR0FBRyxLQUFLLENBQUMsS0FBSyxJQUFJLEdBQUcsS0FBSyxDQUFDLFNBQVMsUUFBUSxDQUFDO1FBRTdELE1BQU0sUUFBUSxHQUFHLEtBQUssQ0FBQyxLQUFL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VUFBVSxDQUFDLE9BQU87WUFDM0IsS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLO1lBQ2pCLGtCQUFrQixFQUFFLElBQUksQ0FBQyxrQkFBa0I7WUFDM0MsS0FBSztZQUNMLGdCQUFnQjtZQUNoQixlQUFlLEVBQUUsSUFBSSxDQUFDLGVBQWU7WUFDckMsU0FBUztZQUNULFVBQVU7WUFDVixXQUFXO1lBQ1gsa0JBQWtCLEVBQUUsVUFBVSxDQUFDLGtCQUFrQjtZQUNqRCxtQkFBbUIsRUFBRSxVQUFVLENBQUMsbUJBQW1CO1lBQ25ELFdBQVcsRUFBRSxVQUFVLENBQUMsV0FBVztZQUNuQyxZQUFZLEVBQUUsVUFBVSxDQUFDLFlBQVk7WUFDckMsR0FBRyxFQUFFLFVBQVUsQ0FBQyxHQUFHO1lBQ25CLE9BQU8sRUFBRSxVQUFVLENBQUMsT0FBTyxJQUFJLE1BQU0sQ0FBQyxPQUFPLElBQUksU0FBUztZQUMxRCxlQUFlLEVBQUUsQ0FBQyxVQUFVLENBQUMsZUFBZSxJQUFJLE1BQU0sQ0FBQyxlQUFlLENBQStCO1lBQ3JHLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSztZQUNqQixhQUFhLEVBQUUsSUFBSSxDQUFDLGFBQWE7U0FDbEMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVEOztPQUVHO0lBQ0gsU0FBUyxDQUFDLFFBQXNCLEVBQUUsTUFBc0I7UUFDdEQsS0FBSyxNQUFNLEtBQUssSUFBSSxNQUFNLEVBQUUsQ0FBQztZQUMzQixJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUNqQyxDQUFDO0lBQ0gsQ0FBQztDQUNGO0FBeEdELG9DQXdHQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIENvcHlyaWdodCAyMDI2IFBpcGVsaW5lIEJ1aWxkZXIgQ29udHJpYnV0b3JzXG4vLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQXBhY2hlLTIuMFxuXG5pbXBvcnQgdHlwZSB7IENvbXB1dGVUeXBlIGFzIENka0NvbXB1dGVUeXBlIH0gZnJvbSAnYXdzLWNkay1saWIvYXdzLWNvZGVidWlsZCc7XG5pbXBvcnQgeyBDb2RlUGlwZWxpbmUgfSBmcm9tICdhd3MtY2RrLWxpYi9waXBlbGluZXMnO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSAnY29uc3RydWN0cyc7XG5pbXBvcnQgeyBQbHVnaW5Mb29rdXAgfSBmcm9tICcuL3BsdWdpbi1sb29rdXAnO1xuaW1wb3J0IHR5cGUgeyBTdGFnZU9wdGlvbnMgfSBmcm9tICcuL3N0ZXAtdHlwZXMnO1xuaW1wb3J0IHR5cGUgeyBBcnRpZmFjdE1hbmFnZXIgfSBmcm9tICcuLi9jb3JlL2FydGlmYWN0LW1hbmFnZXInO1xuaW1wb3J0IHsgVW5pcXVlSWQgfSBmcm9tICcuLi9jb3JlL2lkLWdlbmVyYXRvcic7XG5pbXBvcnQgeyBjcmVhdGVDb2RlQnVpbGRTdGVwLCBtZXJnZSB9IGZyb20gJy4uL2NvcmUvcGlwZWxpbmUtaGVscGVycyc7XG5pbXBvcnQgdHlwZSB7IE1ldGFEYXRhVHlwZSB9IGZyb20gJy4uL2NvcmUvcGlwZWxpbmUtdHlwZXMnO1xuXG4vKipcbiAqIENvbmZpZ3VyYXRpb24gcHJvcGVydGllcyBmb3IgdGhlIFN0YWdlQnVpbGRlclxuICovXG5leHBvcnQgaW50ZXJmYWNlIFN0YWdlQnVpbGRlclByb3BzIHtcbiAgLyoqIENESyBjb25zdHJ1Y3Qgc2NvcGUgZm9yIGNyZWF0aW5nIGNoaWxkIGNvbnN0cnVjdHMgKi9cbiAgcmVhZG9ubHkgc2NvcGU6IENvbnN0cnVjdDtcblxuICAvKiogUGx1Z2luIGxvb2t1cCBzZXJ2aWNlIGZvciByZXNvbHZpbmcgcGx1Z2luIHJlZmVyZW5jZXMgdG8gQ0RLIGNvbnN0cnVjdHMgKi9cbiAgcmVhZG9ubHkgcGx1Z2luTG9va3VwOiBQbHVnaW5Mb29rdXA7XG5cbiAgLyoqIFVuaXF1ZSBJRCBnZW5lcmF0b3IgZm9yIGNyZWF0aW5nIGRldGVybWluaXN0aWMgY29uc3RydWN0IElEcyAqL1xuICByZWFkb25seSB1bmlxdWVJZDogVW5pcXVlSWQ7XG5cbiAgLyoqIEdsb2JhbCBtZXRhZGF0YSBpbmhlcml0ZWQgYnkgYWxsIHN0YWdlIHN0ZXBzICovXG4gIHJlYWRvbmx5IGdsb2JhbE1ldGFkYXRhOiBNZXRhRGF0YVR5cGU7XG5cbiAgLyoqIERlZmF1bHQgQ29kZUJ1aWxkIGNvbXB1dGUgdHlwZSBmb3Igc3RlcHMgdGhhdCBkb24ndCBzcGVjaWZ5IG9uZSAqL1xuICByZWFkb25seSBkZWZhdWx0Q29tcHV0ZVR5cGU/OiBDZGtDb21wdXRlVHlwZTtcblxuICAvKiogQXJ0aWZhY3QgbWFuYWdlciBmb3IgcmVzb2x2aW5nIGlucHV0IGFydGlmYWN0IGtleXMgdG8gRmlsZVNldHMgKi9cbiAgcmVhZG9ubHkgYXJ0aWZhY3RNYW5hZ2VyPzogQXJ0aWZhY3RNYW5hZ2VyO1xuXG4gIC8qKiBUZW5hbnQgaWRlbnRpZmllciBmb3IgcmVzb2x2aW5nIHBlci1vcmcgc2VjcmV0cyBmcm9tIEFXUyBTZWNyZXRzIE1hbmFnZXIgKi9cbiAgcmVhZG9ubHkgb3JnSWQ/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFBpcGVsaW5lLWxldmVsIHNjb3BlIHVzZWQgdG8gcmVzb2x2ZSBge3sgcGlwZWxpbmUuKiB9fWAgdGVtcGxhdGUgdG9rZW5zXG4gICAqIGluc2lkZSBwbHVnaW4gc3BlY3MuIFJlcXVpcmVkIOKAlCBwYXNzZWQgdGhyb3VnaCB0byBgY3JlYXRlQ29kZUJ1aWxkU3RlcGBcbiAgICogb24gZXZlcnkgc3RlcC5cbiAgICovXG4gIHJlYWRvbmx5IHBpcGVsaW5lU2NvcGU6IFJlY29yZDxzdHJpbmcsIHVua25vd24+O1xufVxuXG4vKipcbiAqIEJ1aWxkcyBhbmQgYWRkcyBwaXBlbGluZSBzdGFnZXMgKHdhdmVzKSB0byBhIENvZGVQaXBlbGluZS5cbiAqXG4gKiBFYWNoIHN0YWdlIGlzIHJlc29sdmVkIGZyb20gaGlnaC1sZXZlbCBjb25maWd1cmF0aW9uIChwbHVnaW4gbmFtZXMpXG4gKiBpbnRvIENESyBDb2RlQnVpbGQgc3RlcHMgdmlhIFBsdWdpbkxvb2t1cCwgdGhlbiBhZGRlZCBhcyBhIHdhdmUuXG4gKlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGNvbnN0IHN0YWdlQnVpbGRlciA9IG5ldyBTdGFnZUJ1aWxkZXIoe1xuICogICBzY29wZTogdGhpcyxcbiAqICAgcGx1Z2luTG9va3VwLFxuICogICB1bmlxdWVJZCxcbiAqICAgZ2xvYmFsTWV0YWRhdGE6IG1lcmdlZE1ldGFkYXRhLFxuICogfSk7XG4gKiBzdGFnZUJ1aWxkZXIuYWRkU3RhZ2UocGlwZWxpbmUsIHtcbiAqICAgc3RhZ2VOYW1lOiAnSW50ZWdyYXRpb24gVGVzdHMnLFxuICogICBhbGlhczogJ2ludGVncmF0aW9uJyxcbiAqICAgc3RlcHM6IFtcbiAqICAgICB7IHBsdWdpbjogeyBuYW1lOiAnamVzdC1pbnRlZ3JhdGlvbicgfSB9LFxuICogICAgIHsgcGx1Z2luOiB7IG5hbWU6ICdlMmUtdGVzdHMnLCBhbGlhczogJ2N5cHJlc3MnIH0gfSxcbiAqICAgXSxcbiAqIH0pO1xuICogYGBgXG4gKi9cbmV4cG9ydCBjbGFzcyBTdGFnZUJ1aWxkZXIge1xuICBwcml2YXRlIHJlYWRvbmx5IHNjb3BlOiBDb25zdHJ1Y3Q7XG4gIHByaXZhdGUgcmVhZG9ubHkgcGx1Z2luTG9va3VwOiBQbHVnaW5Mb29rdXA7XG4gIHByaXZhdGUgcmVhZG9ubHkgdW5pcXVlSWQ6IFVuaXF1ZUlkO1xuICBwcml2YXRlIHJlYWRvbmx5IGdsb2JhbE1ldGFkYXRhOiBNZXRhRGF0YVR5cGU7XG4gIHByaXZhdGUgcmVhZG9ubHkgZGVmYXVsdENvbXB1dGVUeXBlPzogQ2RrQ29tcHV0ZVR5cGU7XG4gIHByaXZhdGUgcmVhZG9ubHkgYXJ0aWZhY3RNYW5hZ2VyPzogQXJ0aWZhY3RNYW5hZ2VyO1xuICBwcml2YXRlIHJlYWRvbmx5IG9yZ0lkPzogc3RyaW5nO1xuICBwcml2YXRlIHJlYWRvbmx5IHBpcGVsaW5lU2NvcGU6IFJlY29yZDxzdHJpbmcsIHVua25vd24+O1xuXG4gIGNvbnN0cnVjdG9yKHByb3BzOiBTdGFnZUJ1aWxkZXJQcm9wcykge1xuICAgIHRoaXMuc2NvcGUgPSBwcm9wcy5zY29wZTtcbiAgICB0aGlzLnBsdWdpbkxvb2t1cCA9IHByb3BzLnBsdWdpbkxvb2t1cDtcbiAgICB0aGlzLnVuaXF1ZUlkID0gcHJvcHMudW5pcXVlSWQ7XG4gICAgdGhpcy5nbG9iYWxNZXRhZGF0YSA9IHByb3BzLmdsb2JhbE1ldGFkYXRhO1xuICAgIHRoaXMuZGVmYXVsdENvbXB1dGVUeXBlID0gcHJvcHMuZGVmYXVsdENvbXB1dGVUeXBlO1xuICAgIHRoaXMuYXJ0aWZhY3RNYW5hZ2VyID0gcHJvcHMuYXJ0aWZhY3RNYW5hZ2VyO1xuICAgIHRoaXMub3JnSWQgPSBwcm9wcy5vcmdJZDtcbiAgICB0aGlzLnBpcGVsaW5lU2NvcGUgPSBwcm9wcy5waXBlbGluZVNjb3BlO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlc29sdmVzIGEgc3RhZ2UncyBwbHVnaW4tYmFzZWQgc3RlcCBjb25maWdzIGludG8gQ29kZUJ1aWxkIHN0ZXBzXG4gICAqIGFuZCBhZGRzIHRoZW0gYXMgYSB3YXZlIHRvIHRoZSBwaXBlbGluZS5cbiAgICovXG4gIGFkZFN0YWdlKHBpcGVsaW5lOiBDb2RlUGlwZWxpbmUsIHN0YWdlOiBTdGFnZU9wdGlvbnMpOiB2b2lkIHtcbiAgICBjb25zdCBzdGFnZUFsaWFzID0gc3RhZ2UuYWxpYXMgPz8gYCR7c3RhZ2Uuc3RhZ2VOYW1lfS1hbGlhc2A7XG5cbiAgICBjb25zdCBwcmVTdGVwcyA9IHN0YWdlLnN0ZXBzXG4gICAgICAuZmlsdGVyKHMgPT4gKHMucG9zaXRpb24gPz8gJ3ByZScpID09PSAncHJlJylcbiAgICAgIC5tYXAocyA9PiB0aGlzLnJlc29sdmVTdGVwKHMsIHN0YWdlLnN0YWdlTmFtZSwgc3RhZ2VBbGlhcykpO1xuICAgIGNvbnN0IHBvc3RTdGVwcyA9IHN0YWdlLnN0ZXBzXG4gICAgICAuZmlsdGVyKHMgPT4gcy5wb3NpdGlvbiA9PT0gJ3Bvc3QnKVxuICAgICAgLm1hcChzID0+IHRoaXMucmVzb2x2ZVN0ZXAocywgc3RhZ2Uuc3RhZ2VOYW1lLCBzdGFnZUFsaWFzKSk7XG5cbiAgICBwaXBlbGluZS5hZGRXYXZlKHN0YWdlQWxpYXMsIHtcbiAgICAgIC4uLihwcmVTdGVwcy5sZW5ndGggPiAwICYmIHsgcHJlOiBwcmVTdGVwcyB9KSxcbiAgICAgIC4uLihwb3N0U3RlcHMubGVuZ3RoID4gMCAmJiB7IHBvc3Q6IHBvc3RTdGVwcyB9KSxcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgcmVzb2x2ZVN0ZXAoc3RlcENvbmZpZzogU3RhZ2VPcHRpb25zWydzdGVwcyddW251bWJlcl0sIHN0YWdlTmFtZTogc3RyaW5nLCBzdGFnZUFsaWFzOiBzdHJpbmcpIHtcbiAgICBjb25zdCBwbHVnaW4gPSB0aGlzLnBsdWdpbkxvb2t1cC5wbHVnaW4oc3RlcENvbmZpZy5wbHVnaW4pO1xuICAgIGNvbnN0IHN0ZXBNZXRhZGF0YSA9IG1lcmdlKHRoaXMuZ2xvYmFsTWV0YWRhdGEsIHN0ZXBDb25maWcubWV0YWRhdGEgPz8ge30pO1xuICAgIGNvbnN0IHBsdWdpbkFsaWFzID0gc3RlcENvbmZpZy5wbHVnaW4uYWxpYXMgPz8gc3RlcENvbmZpZy5wbHVnaW4ubmFtZTtcblxuICAgIGlmIChzdGVwQ29uZmlnLmlucHV0QXJ0aWZhY3QgJiYgIXRoaXMuYXJ0aWZhY3RNYW5hZ2VyKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgIGBTdGVwIFwiJHtwbHVnaW5BbGlhc31cIiByZXF1aXJlcyBpbnB1dEFydGlmYWN0IGJ1dCBubyBhcnRpZmFjdE1hbmFnZXIgaXMgY29uZmlndXJlZC5gLFxuICAgICAgKTtcbiAgICB9XG4gICAgaWYgKHN0ZXBDb25maWcuYWRkaXRpb25hbElucHV0QXJ0aWZhY3RzPy5sZW5ndGggJiYgIXRoaXMuYXJ0aWZhY3RNYW5hZ2VyKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgIGBTdGVwIFwiJHtwbHVnaW5BbGlhc31cIiByZXF1aXJlcyBhZGRpdGlvbmFsSW5wdXRBcnRpZmFjdHMgYnV0IG5vIGFydGlmYWN0TWFuYWdlciBpcyBjb25maWd1cmVkLmAsXG4gICAgICApO1xuICAgIH1cblxuICAgIGNvbnN0IGlucHV0ID0gc3RlcENvbmZpZy5pbnB1dEFydGlmYWN0ICYmIHRoaXMuYXJ0aWZhY3RNYW5hZ2VyXG4gICAgICA/IHRoaXMuYXJ0aWZhY3RNYW5hZ2VyLmdldE91dHB1dChzdGVwQ29uZmlnLmlucHV0QXJ0aWZhY3QpXG4gICAgICA6IHVuZGVmaW5lZDtcblxuICAgIGNvbnN0IGFkZGl0aW9uYWxJbnB1dHMgPSBzdGVwQ29uZmlnLmFkZGl0aW9uYWxJbnB1dEFydGlmYWN0cz8ubGVuZ3RoICYmIHRoaXMuYXJ0aWZhY3RNYW5hZ2VyXG4gICAgICA/IE9iamVjdC5mcm9tRW50cmllcyhcbiAgICAgICAgc3RlcENvbmZpZy5hZGRpdGlvbmFsSW5wdXRBcnRpZmFjdHMubWFwKCh7IGFydGlmYWN0LCBkaXJlY3RvcnkgfSkgPT4gW1xuICAgICAgICAgIGRpcmVjdG9yeSB8fCBhcnRpZmFjdC5vdXRwdXREaXJlY3RvcnksXG4gICAgICAgICAgdGhpcy5hcnRpZmFjdE1hbmFnZXIhLmdldE91dHB1dChhcnRpZmFjdCksXG4gICAgICAgIF0pLFxuICAgICAgKVxuICAgICAgOiB1bmRlZmluZWQ7XG5cbiAgICByZXR1cm4gY3JlYXRlQ29kZUJ1aWxkU3RlcCh7XG4gICAgICBpZDogdGhpcy51bmlxdWVJZC5nZW5lcmF0ZShgc3RhZ2U6JHtzdGFnZUFsaWFzfToke3BsdWdpbkFsaWFzfWApLFxuICAgICAgdW5pcXVlSWQ6IHRoaXMudW5pcXVlSWQsXG4gICAgICBwbHVnaW4sXG4gICAgICBtZXRhZGF0YTogc3RlcE1ldGFkYXRhLFxuICAgICAgbmV0d29yazogc3RlcENvbmZpZy5uZXR3b3JrLFxuICAgICAgc2NvcGU6IHRoaXMuc2NvcGUsXG4gICAgICBkZWZhdWx0Q29tcHV0ZVR5cGU6IHRoaXMuZGVmYXVsdENvbXB1dGVUeXBlLFxuICAgICAgaW5wdXQsXG4gICAgICBhZGRpdGlvbmFsSW5wdXRzLFxuICAgICAgYXJ0aWZhY3RNYW5hZ2VyOiB0aGlzLmFydGlmYWN0TWFuYWdlcixcbiAgICAgIHN0YWdlTmFtZSxcbiAgICAgIHN0YWdlQWxpYXMsXG4gICAgICBwbHVnaW5BbGlhcyxcbiAgICAgIHByZUluc3RhbGxDb21tYW5kczogc3RlcENvbmZpZy5wcmVJbnN0YWxsQ29tbWFuZHMsXG4gICAgICBwb3N0SW5zdGFsbENvbW1hbmRzOiBzdGVwQ29uZmlnLnBvc3RJbnN0YWxsQ29tbWFuZHMsXG4gICAgICBwcmVDb21tYW5kczogc3RlcENvbmZpZy5wcmVDb21tYW5kcyxcbiAgICAgIHBvc3RDb21tYW5kczogc3RlcENvbmZpZy5wb3N0Q29tbWFuZHMsXG4gICAgICBlbnY6IHN0ZXBDb25maWcuZW52LFxuICAgICAgdGltZW91dDogc3RlcENvbmZpZy50aW1lb3V0ID8/IHBsdWdpbi50aW1lb3V0ID8/IHVuZGVmaW5lZCxcbiAgICAgIGZhaWx1cmVCZWhhdmlvcjogKHN0ZXBDb25maWcuZmFpbHVyZUJlaGF2aW9yID8/IHBsdWdpbi5mYWlsdXJlQmVoYXZpb3IpIGFzICdmYWlsJyB8ICd3YXJuJyB8ICdpZ25vcmUnLFxuICAgICAgb3JnSWQ6IHRoaXMub3JnSWQsXG4gICAgICBwaXBlbGluZVNjb3BlOiB0aGlzLnBpcGVsaW5lU2NvcGUsXG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogUmVzb2x2ZXMgYW5kIGFkZHMgbXVsdGlwbGUgc3RhZ2VzIGFzIHdhdmVzIHRvIHRoZSBwaXBlbGluZSwgaW4gb3JkZXIuXG4gICAqL1xuICBhZGRTdGFnZXMocGlwZWxpbmU6IENvZGVQaXBlbGluZSwgc3RhZ2VzOiBTdGFnZU9wdGlvbnNbXSk6IHZvaWQge1xuICAgIGZvciAoY29uc3Qgc3RhZ2Ugb2Ygc3RhZ2VzKSB7XG4gICAgICB0aGlzLmFkZFN0YWdlKHBpcGVsaW5lLCBzdGFnZSk7XG4gICAgfVxuICB9XG59XG4iXX0=
121
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhZ2UtYnVpbGRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9waXBlbGluZS9zdGFnZS1idWlsZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLCtDQUErQztBQUMvQyxzQ0FBc0M7QUFHdEMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3JELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDdkMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBR2xELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsS0FBSyxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFvQ3pFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXVCRztBQUNILE1BQU0sT0FBTyxZQUFZO0lBQ04sS0FBSyxDQUFZO0lBQ2pCLFlBQVksQ0FBZTtJQUMzQixRQUFRLENBQVc7SUFDbkIsY0FBYyxDQUFlO0lBQzdCLGtCQUFrQixDQUFrQjtJQUNwQyxlQUFlLENBQW1CO0lBQ2xDLEtBQUssQ0FBVTtJQUNmLGFBQWEsQ0FBMEI7SUFFeEQsWUFBWSxLQUF3QjtRQUNsQyxJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUM7UUFDekIsSUFBSSxDQUFDLFlBQVksR0FBRyxLQUFLLENBQUMsWUFBWSxDQUFDO1FBQ3ZDLElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDLFFBQVEsQ0FBQztRQUMvQixJQUFJLENBQUMsY0FBYyxHQUFHLEtBQUssQ0FBQyxjQUFjLENBQUM7UUFDM0MsSUFBSSxDQUFDLGtCQUFrQixHQUFHLEtBQUssQ0FBQyxrQkFBa0IsQ0FBQztRQUNuRCxJQUFJLENBQUMsZUFBZSxHQUFHLEtBQUssQ0FBQyxlQUFlLENBQUM7UUFDN0MsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUMsS0FB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Q0YiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb3B5cmlnaHQgMjAyNiBQaXBlbGluZSBCdWlsZGVyIENvbnRyaWJ1dG9yc1xuLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFwYWNoZS0yLjBcblxuaW1wb3J0IHR5cGUgeyBDb21wdXRlVHlwZSBhcyBDZGtDb21wdXRlVHlwZSB9IGZyb20gJ2F3cy1jZGstbGliL2F3cy1jb2RlYnVpbGQnO1xuaW1wb3J0IHsgQ29kZVBpcGVsaW5lIH0gZnJvbSAnYXdzLWNkay1saWIvcGlwZWxpbmVzJztcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gJ2NvbnN0cnVjdHMnO1xuaW1wb3J0IHsgUGx1Z2luTG9va3VwIH0gZnJvbSAnLi9wbHVnaW4tbG9va3VwLmpzJztcbmltcG9ydCB0eXBlIHsgU3RhZ2VPcHRpb25zIH0gZnJvbSAnLi9zdGVwLXR5cGVzLmpzJztcbmltcG9ydCB0eXBlIHsgQXJ0aWZhY3RNYW5hZ2VyIH0gZnJvbSAnLi4vY29yZS9hcnRpZmFjdC1tYW5hZ2VyLmpzJztcbmltcG9ydCB7IFVuaXF1ZUlkIH0gZnJvbSAnLi4vY29yZS9pZC1nZW5lcmF0b3IuanMnO1xuaW1wb3J0IHsgY3JlYXRlQ29kZUJ1aWxkU3RlcCwgbWVyZ2UgfSBmcm9tICcuLi9jb3JlL3BpcGVsaW5lLWhlbHBlcnMuanMnO1xuaW1wb3J0IHR5cGUgeyBNZXRhRGF0YVR5cGUgfSBmcm9tICcuLi9jb3JlL3BpcGVsaW5lLXR5cGVzLmpzJztcblxuLyoqXG4gKiBDb25maWd1cmF0aW9uIHByb3BlcnRpZXMgZm9yIHRoZSBTdGFnZUJ1aWxkZXJcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTdGFnZUJ1aWxkZXJQcm9wcyB7XG4gIC8qKiBDREsgY29uc3RydWN0IHNjb3BlIGZvciBjcmVhdGluZyBjaGlsZCBjb25zdHJ1Y3RzICovXG4gIHJlYWRvbmx5IHNjb3BlOiBDb25zdHJ1Y3Q7XG5cbiAgLyoqIFBsdWdpbiBsb29rdXAgc2VydmljZSBmb3IgcmVzb2x2aW5nIHBsdWdpbiByZWZlcmVuY2VzIHRvIENESyBjb25zdHJ1Y3RzICovXG4gIHJlYWRvbmx5IHBsdWdpbkxvb2t1cDogUGx1Z2luTG9va3VwO1xuXG4gIC8qKiBVbmlxdWUgSUQgZ2VuZXJhdG9yIGZvciBjcmVhdGluZyBkZXRlcm1pbmlzdGljIGNvbnN0cnVjdCBJRHMgKi9cbiAgcmVhZG9ubHkgdW5pcXVlSWQ6IFVuaXF1ZUlkO1xuXG4gIC8qKiBHbG9iYWwgbWV0YWRhdGEgaW5oZXJpdGVkIGJ5IGFsbCBzdGFnZSBzdGVwcyAqL1xuICByZWFkb25seSBnbG9iYWxNZXRhZGF0YTogTWV0YURhdGFUeXBlO1xuXG4gIC8qKiBEZWZhdWx0IENvZGVCdWlsZCBjb21wdXRlIHR5cGUgZm9yIHN0ZXBzIHRoYXQgZG9uJ3Qgc3BlY2lmeSBvbmUgKi9cbiAgcmVhZG9ubHkgZGVmYXVsdENvbXB1dGVUeXBlPzogQ2RrQ29tcHV0ZVR5cGU7XG5cbiAgLyoqIEFydGlmYWN0IG1hbmFnZXIgZm9yIHJlc29sdmluZyBpbnB1dCBhcnRpZmFjdCBrZXlzIHRvIEZpbGVTZXRzICovXG4gIHJlYWRvbmx5IGFydGlmYWN0TWFuYWdlcj86IEFydGlmYWN0TWFuYWdlcjtcblxuICAvKiogVGVuYW50IGlkZW50aWZpZXIgZm9yIHJlc29sdmluZyBwZXItb3JnIHNlY3JldHMgZnJvbSBBV1MgU2VjcmV0cyBNYW5hZ2VyICovXG4gIHJlYWRvbmx5IG9yZ0lkPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBQaXBlbGluZS1sZXZlbCBzY29wZSB1c2VkIHRvIHJlc29sdmUgYHt7IHBpcGVsaW5lLiogfX1gIHRlbXBsYXRlIHRva2Vuc1xuICAgKiBpbnNpZGUgcGx1Z2luIHNwZWNzLiBSZXF1aXJlZCDigJQgcGFzc2VkIHRocm91Z2ggdG8gYGNyZWF0ZUNvZGVCdWlsZFN0ZXBgXG4gICAqIG9uIGV2ZXJ5IHN0ZXAuXG4gICAqL1xuICByZWFkb25seSBwaXBlbGluZVNjb3BlOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPjtcbn1cblxuLyoqXG4gKiBCdWlsZHMgYW5kIGFkZHMgcGlwZWxpbmUgc3RhZ2VzICh3YXZlcykgdG8gYSBDb2RlUGlwZWxpbmUuXG4gKlxuICogRWFjaCBzdGFnZSBpcyByZXNvbHZlZCBmcm9tIGhpZ2gtbGV2ZWwgY29uZmlndXJhdGlvbiAocGx1Z2luIG5hbWVzKVxuICogaW50byBDREsgQ29kZUJ1aWxkIHN0ZXBzIHZpYSBQbHVnaW5Mb29rdXAsIHRoZW4gYWRkZWQgYXMgYSB3YXZlLlxuICpcbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBjb25zdCBzdGFnZUJ1aWxkZXIgPSBuZXcgU3RhZ2VCdWlsZGVyKHtcbiAqICAgc2NvcGU6IHRoaXMsXG4gKiAgIHBsdWdpbkxvb2t1cCxcbiAqICAgdW5pcXVlSWQsXG4gKiAgIGdsb2JhbE1ldGFkYXRhOiBtZXJnZWRNZXRhZGF0YSxcbiAqIH0pO1xuICogc3RhZ2VCdWlsZGVyLmFkZFN0YWdlKHBpcGVsaW5lLCB7XG4gKiAgIHN0YWdlTmFtZTogJ0ludGVncmF0aW9uIFRlc3RzJyxcbiAqICAgYWxpYXM6ICdpbnRlZ3JhdGlvbicsXG4gKiAgIHN0ZXBzOiBbXG4gKiAgICAgeyBwbHVnaW46IHsgbmFtZTogJ2plc3QtaW50ZWdyYXRpb24nIH0gfSxcbiAqICAgICB7IHBsdWdpbjogeyBuYW1lOiAnZTJlLXRlc3RzJywgYWxpYXM6ICdjeXByZXNzJyB9IH0sXG4gKiAgIF0sXG4gKiB9KTtcbiAqIGBgYFxuICovXG5leHBvcnQgY2xhc3MgU3RhZ2VCdWlsZGVyIHtcbiAgcHJpdmF0ZSByZWFkb25seSBzY29wZTogQ29uc3RydWN0O1xuICBwcml2YXRlIHJlYWRvbmx5IHBsdWdpbkxvb2t1cDogUGx1Z2luTG9va3VwO1xuICBwcml2YXRlIHJlYWRvbmx5IHVuaXF1ZUlkOiBVbmlxdWVJZDtcbiAgcHJpdmF0ZSByZWFkb25seSBnbG9iYWxNZXRhZGF0YTogTWV0YURhdGFUeXBlO1xuICBwcml2YXRlIHJlYWRvbmx5IGRlZmF1bHRDb21wdXRlVHlwZT86IENka0NvbXB1dGVUeXBlO1xuICBwcml2YXRlIHJlYWRvbmx5IGFydGlmYWN0TWFuYWdlcj86IEFydGlmYWN0TWFuYWdlcjtcbiAgcHJpdmF0ZSByZWFkb25seSBvcmdJZD86IHN0cmluZztcbiAgcHJpdmF0ZSByZWFkb25seSBwaXBlbGluZVNjb3BlOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPjtcblxuICBjb25zdHJ1Y3Rvcihwcm9wczogU3RhZ2VCdWlsZGVyUHJvcHMpIHtcbiAgICB0aGlzLnNjb3BlID0gcHJvcHMuc2NvcGU7XG4gICAgdGhpcy5wbHVnaW5Mb29rdXAgPSBwcm9wcy5wbHVnaW5Mb29rdXA7XG4gICAgdGhpcy51bmlxdWVJZCA9IHByb3BzLnVuaXF1ZUlkO1xuICAgIHRoaXMuZ2xvYmFsTWV0YWRhdGEgPSBwcm9wcy5nbG9iYWxNZXRhZGF0YTtcbiAgICB0aGlzLmRlZmF1bHRDb21wdXRlVHlwZSA9IHByb3BzLmRlZmF1bHRDb21wdXRlVHlwZTtcbiAgICB0aGlzLmFydGlmYWN0TWFuYWdlciA9IHByb3BzLmFydGlmYWN0TWFuYWdlcjtcbiAgICB0aGlzLm9yZ0lkID0gcHJvcHMub3JnSWQ7XG4gICAgdGhpcy5waXBlbGluZVNjb3BlID0gcHJvcHMucGlwZWxpbmVTY29wZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXNvbHZlcyBhIHN0YWdlJ3MgcGx1Z2luLWJhc2VkIHN0ZXAgY29uZmlncyBpbnRvIENvZGVCdWlsZCBzdGVwc1xuICAgKiBhbmQgYWRkcyB0aGVtIGFzIGEgd2F2ZSB0byB0aGUgcGlwZWxpbmUuXG4gICAqL1xuICBhZGRTdGFnZShwaXBlbGluZTogQ29kZVBpcGVsaW5lLCBzdGFnZTogU3RhZ2VPcHRpb25zKTogdm9pZCB7XG4gICAgY29uc3Qgc3RhZ2VBbGlhcyA9IHN0YWdlLmFsaWFzID8/IGAke3N0YWdlLnN0YWdlTmFtZX0tYWxpYXNgO1xuXG4gICAgY29uc3QgcHJlU3RlcHMgPSBzdGFnZS5zdGVwc1xuICAgICAgLmZpbHRlcihzID0+IChzLnBvc2l0aW9uID8/ICdwcmUnKSA9PT0gJ3ByZScpXG4gICAgICAubWFwKHMgPT4gdGhpcy5yZXNvbHZlU3RlcChzLCBzdGFnZS5zdGFnZU5hbWUsIHN0YWdlQWxpYXMpKTtcbiAgICBjb25zdCBwb3N0U3RlcHMgPSBzdGFnZS5zdGVwc1xuICAgICAgLmZpbHRlcihzID0+IHMucG9zaXRpb24gPT09ICdwb3N0JylcbiAgICAgIC5tYXAocyA9PiB0aGlzLnJlc29sdmVTdGVwKHMsIHN0YWdlLnN0YWdlTmFtZSwgc3RhZ2VBbGlhcykpO1xuXG4gICAgcGlwZWxpbmUuYWRkV2F2ZShzdGFnZUFsaWFzLCB7XG4gICAgICAuLi4ocHJlU3RlcHMubGVuZ3RoID4gMCAmJiB7IHByZTogcHJlU3RlcHMgfSksXG4gICAgICAuLi4ocG9zdFN0ZXBzLmxlbmd0aCA+IDAgJiYgeyBwb3N0OiBwb3N0U3RlcHMgfSksXG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIHJlc29sdmVTdGVwKHN0ZXBDb25maWc6IFN0YWdlT3B0aW9uc1snc3RlcHMnXVtudW1iZXJdLCBzdGFnZU5hbWU6IHN0cmluZywgc3RhZ2VBbGlhczogc3RyaW5nKSB7XG4gICAgY29uc3QgcGx1Z2luID0gdGhpcy5wbHVnaW5Mb29rdXAucGx1Z2luKHN0ZXBDb25maWcucGx1Z2luKTtcbiAgICBjb25zdCBzdGVwTWV0YWRhdGEgPSBtZXJnZSh0aGlzLmdsb2JhbE1ldGFkYXRhLCBzdGVwQ29uZmlnLm1ldGFkYXRhID8/IHt9KTtcbiAgICBjb25zdCBwbHVnaW5BbGlhcyA9IHN0ZXBDb25maWcucGx1Z2luLmFsaWFzID8/IHN0ZXBDb25maWcucGx1Z2luLm5hbWU7XG5cbiAgICBpZiAoc3RlcENvbmZpZy5pbnB1dEFydGlmYWN0ICYmICF0aGlzLmFydGlmYWN0TWFuYWdlcikge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICBgU3RlcCBcIiR7cGx1Z2luQWxpYXN9XCIgcmVxdWlyZXMgaW5wdXRBcnRpZmFjdCBidXQgbm8gYXJ0aWZhY3RNYW5hZ2VyIGlzIGNvbmZpZ3VyZWQuYCxcbiAgICAgICk7XG4gICAgfVxuICAgIGlmIChzdGVwQ29uZmlnLmFkZGl0aW9uYWxJbnB1dEFydGlmYWN0cz8ubGVuZ3RoICYmICF0aGlzLmFydGlmYWN0TWFuYWdlcikge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICBgU3RlcCBcIiR7cGx1Z2luQWxpYXN9XCIgcmVxdWlyZXMgYWRkaXRpb25hbElucHV0QXJ0aWZhY3RzIGJ1dCBubyBhcnRpZmFjdE1hbmFnZXIgaXMgY29uZmlndXJlZC5gLFxuICAgICAgKTtcbiAgICB9XG5cbiAgICBjb25zdCBpbnB1dCA9IHN0ZXBDb25maWcuaW5wdXRBcnRpZmFjdCAmJiB0aGlzLmFydGlmYWN0TWFuYWdlclxuICAgICAgPyB0aGlzLmFydGlmYWN0TWFuYWdlci5nZXRPdXRwdXQoc3RlcENvbmZpZy5pbnB1dEFydGlmYWN0KVxuICAgICAgOiB1bmRlZmluZWQ7XG5cbiAgICBjb25zdCBhZGRpdGlvbmFsSW5wdXRzID0gc3RlcENvbmZpZy5hZGRpdGlvbmFsSW5wdXRBcnRpZmFjdHM/Lmxlbmd0aCAmJiB0aGlzLmFydGlmYWN0TWFuYWdlclxuICAgICAgPyBPYmplY3QuZnJvbUVudHJpZXMoXG4gICAgICAgIHN0ZXBDb25maWcuYWRkaXRpb25hbElucHV0QXJ0aWZhY3RzLm1hcCgoeyBhcnRpZmFjdCwgZGlyZWN0b3J5IH0pID0+IFtcbiAgICAgICAgICBkaXJlY3RvcnkgfHwgYXJ0aWZhY3Qub3V0cHV0RGlyZWN0b3J5LFxuICAgICAgICAgIHRoaXMuYXJ0aWZhY3RNYW5hZ2VyIS5nZXRPdXRwdXQoYXJ0aWZhY3QpLFxuICAgICAgICBdKSxcbiAgICAgIClcbiAgICAgIDogdW5kZWZpbmVkO1xuXG4gICAgcmV0dXJuIGNyZWF0ZUNvZGVCdWlsZFN0ZXAoe1xuICAgICAgaWQ6IHRoaXMudW5pcXVlSWQuZ2VuZXJhdGUoYHN0YWdlOiR7c3RhZ2VBbGlhc306JHtwbHVnaW5BbGlhc31gKSxcbiAgICAgIHVuaXF1ZUlkOiB0aGlzLnVuaXF1ZUlkLFxuICAgICAgcGx1Z2luLFxuICAgICAgbWV0YWRhdGE6IHN0ZXBNZXRhZGF0YSxcbiAgICAgIG5ldHdvcms6IHN0ZXBDb25maWcubmV0d29yayxcbiAgICAgIHNjb3BlOiB0aGlzLnNjb3BlLFxuICAgICAgZGVmYXVsdENvbXB1dGVUeXBlOiB0aGlzLmRlZmF1bHRDb21wdXRlVHlwZSxcbiAgICAgIGlucHV0LFxuICAgICAgYWRkaXRpb25hbElucHV0cyxcbiAgICAgIGFydGlmYWN0TWFuYWdlcjogdGhpcy5hcnRpZmFjdE1hbmFnZXIsXG4gICAgICBzdGFnZU5hbWUsXG4gICAgICBzdGFnZUFsaWFzLFxuICAgICAgcGx1Z2luQWxpYXMsXG4gICAgICBwcmVJbnN0YWxsQ29tbWFuZHM6IHN0ZXBDb25maWcucHJlSW5zdGFsbENvbW1hbmRzLFxuICAgICAgcG9zdEluc3RhbGxDb21tYW5kczogc3RlcENvbmZpZy5wb3N0SW5zdGFsbENvbW1hbmRzLFxuICAgICAgcHJlQ29tbWFuZHM6IHN0ZXBDb25maWcucHJlQ29tbWFuZHMsXG4gICAgICBwb3N0Q29tbWFuZHM6IHN0ZXBDb25maWcucG9zdENvbW1hbmRzLFxuICAgICAgZW52OiBzdGVwQ29uZmlnLmVudixcbiAgICAgIHRpbWVvdXQ6IHN0ZXBDb25maWcudGltZW91dCA/PyBwbHVnaW4udGltZW91dCA/PyB1bmRlZmluZWQsXG4gICAgICBmYWlsdXJlQmVoYXZpb3I6IChzdGVwQ29uZmlnLmZhaWx1cmVCZWhhdmlvciA/PyBwbHVnaW4uZmFpbHVyZUJlaGF2aW9yKSBhcyAnZmFpbCcgfCAnd2FybicgfCAnaWdub3JlJyxcbiAgICAgIG9yZ0lkOiB0aGlzLm9yZ0lkLFxuICAgICAgcGlwZWxpbmVTY29wZTogdGhpcy5waXBlbGluZVNjb3BlLFxuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlc29sdmVzIGFuZCBhZGRzIG11bHRpcGxlIHN0YWdlcyBhcyB3YXZlcyB0byB0aGUgcGlwZWxpbmUsIGluIG9yZGVyLlxuICAgKi9cbiAgYWRkU3RhZ2VzKHBpcGVsaW5lOiBDb2RlUGlwZWxpbmUsIHN0YWdlczogU3RhZ2VPcHRpb25zW10pOiB2b2lkIHtcbiAgICBmb3IgKGNvbnN0IHN0YWdlIG9mIHN0YWdlcykge1xuICAgICAgdGhpcy5hZGRTdGFnZShwaXBlbGluZSwgc3RhZ2UpO1xuICAgIH1cbiAgfVxufVxuIl19
@@ -2,10 +2,10 @@ import type { PluginFilter, Plugin } from '@pipeline-builder/pipeline-data';
2
2
  import type { ComputeType as CdkComputeType } from 'aws-cdk-lib/aws-codebuild';
3
3
  import type { IFileSetProducer } from 'aws-cdk-lib/pipelines';
4
4
  import type { Construct } from 'constructs';
5
- import type { ArtifactKey, ArtifactManager } from '../core/artifact-manager';
6
- import type { UniqueId } from '../core/id-generator';
7
- import type { NetworkConfig } from '../core/network-types';
8
- import type { ComputeType, PluginType, MetaDataType, SourceType } from '../core/pipeline-types';
5
+ import type { ArtifactKey, ArtifactManager } from '../core/artifact-manager.js';
6
+ import type { UniqueId } from '../core/id-generator.js';
7
+ import type { NetworkConfig } from '../core/network-types.js';
8
+ import type { ComputeType, PluginType, MetaDataType, SourceType } from '../core/pipeline-types.js';
9
9
  /**
10
10
  * Options for selecting and configuring a plugin
11
11
  */
@@ -1,5 +1,4 @@
1
- "use strict";
2
1
  // Copyright 2026 Pipeline Builder Contributors
3
2
  // SPDX-License-Identifier: Apache-2.0
4
- Object.defineProperty(exports, "__esModule", { value: true });
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RlcC10eXBlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9waXBlbGluZS9zdGVwLXR5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSwrQ0FBK0M7QUFDL0Msc0NBQXNDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29weXJpZ2h0IDIwMjYgUGlwZWxpbmUgQnVpbGRlciBDb250cmlidXRvcnNcbi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBcGFjaGUtMi4wXG5cbmltcG9ydCB0eXBlIHsgUGx1Z2luRmlsdGVyLCBQbHVnaW4gfSBmcm9tICdAcGlwZWxpbmUtYnVpbGRlci9waXBlbGluZS1kYXRhJztcbmltcG9ydCB0eXBlIHsgQ29tcHV0ZVR5cGUgYXMgQ2RrQ29tcHV0ZVR5cGUgfSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtY29kZWJ1aWxkJztcbmltcG9ydCB0eXBlIHsgSUZpbGVTZXRQcm9kdWNlciB9IGZyb20gJ2F3cy1jZGstbGliL3BpcGVsaW5lcyc7XG5pbXBvcnQgdHlwZSB7IENvbnN0cnVjdCB9IGZyb20gJ2NvbnN0cnVjdHMnO1xuaW1wb3J0IHR5cGUgeyBBcnRpZmFjdEtleSwgQXJ0aWZhY3RNYW5hZ2VyIH0gZnJvbSAnLi4vY29yZS9hcnRpZmFjdC1tYW5hZ2VyJztcbmltcG9ydCB0eXBlIHsgVW5pcXVlSWQgfSBmcm9tICcuLi9jb3JlL2lkLWdlbmVyYXRvcic7XG5pbXBvcnQgdHlwZSB7IE5ldHdvcmtDb25maWcgfSBmcm9tICcuLi9jb3JlL25ldHdvcmstdHlwZXMnO1xuaW1wb3J0IHR5cGUgeyBDb21wdXRlVHlwZSwgUGx1Z2luVHlwZSwgTWV0YURhdGFUeXBlLCBTb3VyY2VUeXBlIH0gZnJvbSAnLi4vY29yZS9waXBlbGluZS10eXBlcyc7XG5cbi8qKlxuICogT3B0aW9ucyBmb3Igc2VsZWN0aW5nIGFuZCBjb25maWd1cmluZyBhIHBsdWdpblxuICovXG5leHBvcnQgaW50ZXJmYWNlIFBsdWdpbk9wdGlvbnMge1xuICAvKipcbiAgICogTmFtZSBvZiB0aGUgcGx1Z2luIHRvIHVzZVxuICAgKiBNdXN0IG1hdGNoIGEgcmVnaXN0ZXJlZCBwbHVnaW4gaW4gdGhlIGRhdGFiYXNlXG4gICAqL1xuICByZWFkb25seSBuYW1lOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIE9wdGlvbmFsIGFsaWFzIGZvciB0aGUgcGx1Z2luIGluc3RhbmNlXG4gICAqIFVzZWZ1bCB3aGVuIHVzaW5nIHRoZSBzYW1lIHBsdWdpbiBtdWx0aXBsZSB0aW1lcyB3aXRoIGRpZmZlcmVudCBjb25maWd1cmF0aW9uc1xuICAgKi9cbiAgcmVhZG9ubHkgYWxpYXM/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIE9wdGlvbmFsIGZpbHRlciBjcml0ZXJpYSBmb3IgcGx1Z2luIHNlbGVjdGlvblxuICAgKiBDYW4gYmUgdXNlZCB0byBzZWxlY3Qgc3BlY2lmaWMgcGx1Z2luIHZlcnNpb25zIG9yIHZhcmlhbnRzXG4gICAqL1xuICByZWFkb25seSBmaWx0ZXI/OiBQbHVnaW5GaWx0ZXI7XG5cbiAgLyoqXG4gICAqIEFkZGl0aW9uYWwgbWV0YWRhdGEgdG8gbWVyZ2Ugd2l0aCBwbHVnaW4ncyBkZWZhdWx0IG1ldGFkYXRhXG4gICAqIFRoaXMgbWV0YWRhdGEgd2lsbCBiZSBhdmFpbGFibGUgdG8gdGhlIHBsdWdpbiBkdXJpbmcgZXhlY3V0aW9uXG4gICAqL1xuICByZWFkb25seSBtZXRhZGF0YT86IE1ldGFEYXRhVHlwZTtcbn1cblxuLyoqXG4gKiBTeW50aGVzaXMgc3RlcCBjb25maWd1cmF0aW9uIGNvbWJpbmluZyBzb3VyY2UgYW5kIHBsdWdpbi5cbiAqIEV4dGVuZHMgU3RlcEN1c3RvbWl6YXRpb24gdG8gc3VwcG9ydCBpbmplY3RpbmcgY3VzdG9tIGNvbW1hbmRzIGFuZCBlbnYgdmFyc1xuICogaW50byB0aGUgc3ludGggQ29kZUJ1aWxkIHN0ZXAgKHNhbWUgaG9va3MgYXZhaWxhYmxlIGFzIHN0YWdlIHN0ZXBzKS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTeW50aE9wdGlvbnMgZXh0ZW5kcyBTdGVwQ3VzdG9taXphdGlvbiB7XG4gIC8qKlxuICAgKiBTb3VyY2UgY29uZmlndXJhdGlvbiAoUzMsIEdpdEh1Yiwgb3IgQ29kZVN0YXIpXG4gICAqL1xuICByZWFkb25seSBzb3VyY2U6IFNvdXJjZVR5cGU7XG5cbiAgLyoqXG4gICAqIFBsdWdpbiB0byB1c2UgZm9yIHN5bnRoZXNpc1xuICAgKi9cbiAgcmVhZG9ubHkgcGx1Z2luOiBQbHVnaW5PcHRpb25zO1xuXG4gIC8qKlxuICAgKiBBZGRpdGlvbmFsIG1ldGFkYXRhIGZvciB0aGUgc3ludGhlc2lzIHN0ZXBcbiAgICogVGhpcyB3aWxsIGJlIG1lcmdlZCB3aXRoIGdsb2JhbCBtZXRhZGF0YSBhbmQgcGx1Z2luIG1ldGFkYXRhXG4gICAqL1xuICByZWFkb25seSBtZXRhZGF0YT86IE1ldGFEYXRhVHlwZTtcblxuICAvKipcbiAgICogU3RlcC1sZXZlbCBuZXR3b3JrIGNvbmZpZ3VyYXRpb24gYXBwbGllZCBvbmx5IHRvIHRoZSBzeW50aCBDb2RlQnVpbGQgc3RlcC5cbiAgICogT3ZlcnJpZGVzIHRoZSBwaXBlbGluZS1sZXZlbCBgZGVmYXVsdHMubmV0d29ya2Agd2hlbiBib3RoIGFyZSBwcm92aWRlZC5cbiAgICovXG4gIHJlYWRvbmx5IG5ldHdvcms/OiBOZXR3b3JrQ29uZmlnO1xufVxuXG4vKipcbiAqIFBsdWdpbiBzcGVjIGRlZmluaW5nIHBsdWdpbiBiZWhhdmlvciBhbmQgcmVxdWlyZW1lbnRzLlxuICogVGhpcyBpcyB0eXBpY2FsbHkgbG9hZGVkIGZyb20gYSBwbHVnaW4gc3BlYyBmaWxlIChwbHVnaW4tc3BlYy55YW1sKS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBQbHVnaW5TcGVjIHtcbiAgLyoqXG4gICAqIFVuaXF1ZSBpZGVudGlmaWVyIGZvciB0aGUgcGx1Z2luXG4gICAqIEBleGFtcGxlICdub2RlanMtYnVpbGQnXG4gICAqL1xuICByZWFkb25seSBuYW1lOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEh1bWFuLXJlYWRhYmxlIGRlc2NyaXB0aW9uIG9mIHdoYXQgdGhlIHBsdWdpbiBkb2VzXG4gICAqIEBleGFtcGxlICdCdWlsZHMgYW5kIHRlc3RzIE5vZGUuanMgYXBwbGljYXRpb25zJ1xuICAgKi9cbiAgcmVhZG9ubHkgZGVzY3JpcHRpb24/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEtleXdvcmRzIGZvciBwbHVnaW4gZGlzY292ZXJ5IGFuZCBjYXRlZ29yaXphdGlvblxuICAgKiBAZXhhbXBsZSBbJ25vZGVqcycsICd0eXBlc2NyaXB0JywgJ2J1aWxkJywgJ3Rlc3QnXVxuICAgKi9cbiAgcmVhZG9ubHkga2V5d29yZHM/OiBzdHJpbmdbXTtcblxuICAvKipcbiAgICogUGx1Z2luIGNhdGVnb3J5IGZvciBBSS1hc3Npc3RlZCBzZWxlY3Rpb24gYW5kIG9yZ2FuaXphdGlvbi5cbiAgICogT25lIG9mOiBsYW5ndWFnZSwgc2VjdXJpdHksIHF1YWxpdHksIHRlc3RpbmcsIGRlcGxveSwgYXJ0aWZhY3QsXG4gICAqICAgICAgICAgaW5mcmFzdHJ1Y3R1cmUsIG1vbml0b3JpbmcsIG5vdGlmaWNhdGlvbiwgYWlcbiAgICovXG4gIHJlYWRvbmx5IGNhdGVnb3J5Pzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBTZW1hbnRpYyB2ZXJzaW9uIG9mIHRoZSBwbHVnaW5cbiAgICogQGV4YW1wbGUgJzEuMC4wJ1xuICAgKi9cbiAgcmVhZG9ubHkgdmVyc2lvbj86IHN0cmluZztcblxuICAvKipcbiAgICogVHlwZSBvZiBwaXBlbGluZSBzdGVwIHRoaXMgcGx1Z2luIGNyZWF0ZXNcbiAgICogQGRlZmF1bHQgUGx1Z2luVHlwZS5DT0RFX0JVSUxEX1NURVBcbiAgICovXG4gIHJlYWRvbmx5IHBsdWdpblR5cGU/OiBQbHVnaW5UeXBlO1xuXG4gIC8qKlxuICAgKiBDb2RlQnVpbGQgY29tcHV0ZSByZXNvdXJjZSBzaXplIHRvIHVzZVxuICAgKiBAZGVmYXVsdCBDb21wdXRlVHlwZS5TTUFMTFxuICAgKi9cbiAgcmVhZG9ubHkgY29tcHV0ZVR5cGU/OiBDb21wdXRlVHlwZTtcblxuICAvKipcbiAgICogTWF4aW11bSBleGVjdXRpb24gdGltZSBpbiBtaW51dGVzLlxuICAgKiBVc2VkIGFzIGZhbGxiYWNrIHdoZW4gdGhlIHBpcGVsaW5lIHN0ZXAgZG9lc24ndCBzZXQgdGltZW91dC5cbiAgICogQGRlZmF1bHQgNjAgKEFXUyBDb2RlQnVpbGQgZGVmYXVsdClcbiAgICovXG4gIHJlYWRvbmx5IHRpbWVvdXQ/OiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIFdoYXQgaGFwcGVucyB3aGVuIHRoaXMgc3RlcCBmYWlscy5cbiAgICogLSAnZmFpbCc6IFN0b3AgdGhlIHBpcGVsaW5lIChkZWZhdWx0KVxuICAgKiAtICd3YXJuJzogTG9nIGEgd2FybmluZyBhbmQgY29udGludWVcbiAgICogLSAnaWdub3JlJzogU2lsZW50bHkgY29udGludWVcbiAgICogQGRlZmF1bHQgJ2ZhaWwnXG4gICAqL1xuICByZWFkb25seSBmYWlsdXJlQmVoYXZpb3I/OiAnZmFpbCcgfCAnd2FybicgfCAnaWdub3JlJztcblxuICAvKipcbiAgICogU2VjcmV0IHJlcXVpcmVtZW50cyBmb3IgdGhpcyBwbHVnaW4uXG4gICAqIERlY2xhcmVzIG5hbWVkIHNlY3JldHMgdGhlIHBsdWdpbiBleHBlY3RzIGF0IGJ1aWxkIHRpbWUuXG4gICAqL1xuICByZWFkb25seSBzZWNyZXRzPzogQXJyYXk8eyBuYW1lOiBzdHJpbmc7IHJlcXVpcmVkOiBib29sZWFuOyBkZXNjcmlwdGlvbj86IHN0cmluZyB9PjtcblxuICAvKipcbiAgICogRGlyZWN0b3J5IGNvbnRhaW5pbmcgdGhlIHByaW1hcnkgYnVpbGQgb3V0cHV0IGFydGlmYWN0c1xuICAgKiBAZXhhbXBsZSAnZGlzdCdcbiAgICovXG4gIHJlYWRvbmx5IHByaW1hcnlPdXRwdXREaXJlY3Rvcnk/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBBZGRpdGlvbmFsIG1ldGFkYXRhIHRoYXQgY2FuIGJlIGFjY2Vzc2VkIGR1cmluZyBwbHVnaW4gZXhlY3V0aW9uXG4gICAqIEtleXMgc2hvdWxkIHVzZSB0aGUgZm9ybWF0ICdhd3M6Y2RrOntuYW1lc3BhY2V9OntrZXl9JyAoYWxsIGxvd2VyY2FzZSlcbiAgICovXG4gIHJlYWRvbmx5IG1ldGFkYXRhPzogUmVjb3JkPHN0cmluZywgc3RyaW5nIHwgbnVtYmVyIHwgYm9vbGVhbj47XG5cbiAgLyoqXG4gICAqIFBhdGggdG8gRG9ja2VyZmlsZSBvciBEb2NrZXJmaWxlIGNvbnRlbnRcbiAgICogVXNlZCB0byBidWlsZCB0aGUgY29udGFpbmVyIGVudmlyb25tZW50IGZvciB0aGlzIHBsdWdpblxuICAgKi9cbiAgcmVhZG9ubHkgZG9ja2VyZmlsZT86IHN0cmluZztcblxuICAvKipcbiAgICogQ29tbWFuZHMgdG8gcnVuIGR1cmluZyB0aGUgaW5zdGFsbCBwaGFzZVxuICAgKiBUeXBpY2FsbHkgdXNlZCBmb3IgaW5zdGFsbGluZyBkZXBlbmRlbmNpZXNcbiAgICogQGV4YW1wbGUgWyducG0gY2knLCAnbnBtIHJ1biBidWlsZCddXG4gICAqL1xuICByZWFkb25seSBpbnN0YWxsQ29tbWFuZHM/OiBzdHJpbmdbXTtcblxuICAvKipcbiAgICogQ29tbWFuZHMgdG8gcnVuIGR1cmluZyB0aGUgYnVpbGQvZXhlY3V0aW9uIHBoYXNlXG4gICAqIFRoZXNlIGFyZSB0aGUgbWFpbiBjb21tYW5kcyB0aGF0IHBlcmZvcm0gdGhlIHBsdWdpbidzIHdvcmtcbiAgICogQGV4YW1wbGUgWyducG0gdGVzdCcsICducG0gcnVuIGRlcGxveSddXG4gICAqL1xuICByZWFkb25seSBjb21tYW5kcz86IHN0cmluZ1tdO1xuXG4gIC8qKlxuICAgKiBFbnZpcm9ubWVudCB2YXJpYWJsZXMgdG8gc2V0IGluIHRoZSBidWlsZCBlbnZpcm9ubWVudFxuICAgKiBAZXhhbXBsZSB7IEFQSV9VUkw6ICdodHRwczovL2FwaS5leGFtcGxlLmNvbScsIExPR19MRVZFTDogJ2luZm8nIH1cbiAgICovXG4gIHJlYWRvbmx5IGVudj86IFJlY29yZDxzdHJpbmcsIHN0cmluZz47XG5cbiAgLyoqXG4gICAqIERvY2tlciBidWlsZCBhcmd1bWVudHMgcGFzc2VkIHZpYSAtLWJ1aWxkLWFyZyBhdCBpbWFnZSBidWlsZCB0aW1lLlxuICAgKiBVc2VkIHRvIHBhcmFtZXRlcml6ZSBEb2NrZXJmaWxlIEFSRyB2YWx1ZXMgd2hlbiBidWlsZGluZyB0aGUgcGx1Z2luIGltYWdlLlxuICAgKiBAZXhhbXBsZSB7IFBZVEhPTl9WRVJTSU9OOiAnMy4xMicsIE5PREVfRU5WOiAncHJvZHVjdGlvbicgfVxuICAgKi9cbiAgcmVhZG9ubHkgYnVpbGRBcmdzPzogUmVjb3JkPHN0cmluZywgc3RyaW5nPjtcblxuICAvKipcbiAgICogUGlwZWxpbmUgbWV0YWRhdGEga2V5cyB0aGUgcGx1Z2luIHJlZmVyZW5jZXMgdmlhIGB7eyBwaXBlbGluZS5tZXRhZGF0YS5YIH19YC5cbiAgICogRGVjbGFyZWQgYXMgYSBjb250cmFjdCDigJQgcGlwZWxpbmVzIHVzaW5nIHRoaXMgcGx1Z2luIG11c3Qgc3VwcGx5IGFsbFxuICAgKiBsaXN0ZWQga2V5cyB1bmxlc3MgdGhlIHRlbXBsYXRlIHVzZXMgYHwgZGVmYXVsdDogJy4uLidgLlxuICAgKiBAZXhhbXBsZSBbJ2VudicsICduYW1lc3BhY2UnLCAnY2x1c3Rlck5hbWUnXVxuICAgKi9cbiAgcmVhZG9ubHkgcmVxdWlyZWRNZXRhZGF0YT86IHN0cmluZ1tdO1xuXG4gIC8qKlxuICAgKiBQaXBlbGluZSB2YXJzIGtleXMgdGhlIHBsdWdpbiByZWZlcmVuY2VzIHZpYSBge3sgcGlwZWxpbmUudmFycy5YIH19YC5cbiAgICogQGV4YW1wbGUgWydicmFuY2gnLCAnc2xhY2tDaGFubmVsJ11cbiAgICovXG4gIHJlYWRvbmx5IHJlcXVpcmVkVmFycz86IHN0cmluZ1tdO1xuXG4gIC8qKlxuICAgKiBPcHRpb25hbCB0eXBlIGRlY2xhcmF0aW9ucyBmb3IgdGhlIG1ldGFkYXRhIGtleXMgbGlzdGVkIGluIGByZXF1aXJlZE1ldGFkYXRhYC5cbiAgICogVXNlZCBhdCB1cGxvYWQgdGltZSB0byB2ZXJpZnkgdGhhdCBjb2VyY2lvbiBmaWx0ZXJzIChgfCBudW1iZXJgLCBgfCBib29sYCxcbiAgICogYHwganNvbmApIG1hdGNoIHRoZSBkZWNsYXJlZCB0eXBlIOKAlCBlLmcuIGB7eyBwaXBlbGluZS5tZXRhZGF0YS5jb3VudCB8IG51bWJlciB9fWBcbiAgICogcmVxdWlyZXMgYGNvdW50OiAnbnVtYmVyJ2AgaGVyZSwgb3RoZXJ3aXNlIHRoZSBwbHVnaW4gaXMgcmVqZWN0ZWQuXG4gICAqIEtleXMgbm90IGRlY2xhcmVkIGRlZmF1bHQgdG8gYCdzdHJpbmcnYC5cbiAgICogQGV4YW1wbGUgeyBjb3VudDogJ251bWJlcicsIGVuYWJsZWQ6ICdib29sJyB9XG4gICAqL1xuICByZWFkb25seSBtZXRhZGF0YVR5cGVzPzogUmVjb3JkPHN0cmluZywgJ3N0cmluZycgfCAnbnVtYmVyJyB8ICdib29sJyB8ICdqc29uJz47XG5cbiAgLyoqXG4gICAqIE9wdGlvbmFsIHR5cGUgZGVjbGFyYXRpb25zIGZvciB2YXJzIGtleXMgKHNhbWUgc2VtYW50aWNzIGFzIGBtZXRhZGF0YVR5cGVzYCkuXG4gICAqL1xuICByZWFkb25seSB2YXJzVHlwZXM/OiBSZWNvcmQ8c3RyaW5nLCAnc3RyaW5nJyB8ICdudW1iZXInIHwgJ2Jvb2wnIHwgJ2pzb24nPjtcbn1cblxuLyoqXG4gKiBQZXItc3RlcCBjdXN0b21pemF0aW9uIG9wdGlvbnMgZm9yIGNvbW1hbmRzIGFuZCBlbnZpcm9ubWVudCB2YXJpYWJsZXMuXG4gKiBDdXN0b20gY29tbWFuZHMgYXJlIGluamVjdGVkIGJlZm9yZS9hZnRlciB0aGUgcGx1Z2luJ3MgY29tbWFuZHMuXG4gKiBDdXN0b20gZW52IHZhcnMgYXJlIG1lcmdlZCBvbiB0b3Agb2YgdGhlIHBsdWdpbidzIGRlZmF1bHRzLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFN0ZXBDdXN0b21pemF0aW9uIHtcbiAgLyoqIENvbW1hbmRzIHRvIHJ1biBiZWZvcmUgdGhlIHBsdWdpbidzIGluc3RhbGwgY29tbWFuZHMgKi9cbiAgcmVhZG9ubHkgcHJlSW5zdGFsbENvbW1hbmRzPzogc3RyaW5nW107XG5cbiAgLyoqIENvbW1hbmRzIHRvIHJ1biBhZnRlciB0aGUgcGx1Z2luJ3MgaW5zdGFsbCBjb21tYW5kcyAqL1xuICByZWFkb25seSBwb3N0SW5zdGFsbENvbW1hbmRzPzogc3RyaW5nW107XG5cbiAgLyoqIENvbW1hbmRzIHRvIHJ1biBiZWZvcmUgdGhlIHBsdWdpbidzIGJ1aWxkIGNvbW1hbmRzICovXG4gIHJlYWRvbmx5IHByZUNvbW1hbmRzPzogc3RyaW5nW107XG5cbiAgLyoqIENvbW1hbmRzIHRvIHJ1biBhZnRlciB0aGUgcGx1Z2luJ3MgYnVpbGQgY29tbWFuZHMgKi9cbiAgcmVhZG9ubHkgcG9zdENvbW1hbmRzPzogc3RyaW5nW107XG5cbiAgLyoqIEN1c3RvbSBlbnZpcm9ubWVudCB2YXJpYWJsZXMgbWVyZ2VkIG9uIHRvcCBvZiB0aGUgcGx1Z2luJ3MgZW52ICovXG4gIHJlYWRvbmx5IGVudj86IFJlY29yZDxzdHJpbmcsIHN0cmluZz47XG59XG5cbi8qKlxuICogQW4gYWRkaXRpb25hbCBpbnB1dCBhcnRpZmFjdCB3aXRoIGFuIG9wdGlvbmFsIG1vdW50IGRpcmVjdG9yeS5cbiAqIFdoZW4gZGlyZWN0b3J5IGlzIG9taXR0ZWQsIGRlZmF1bHRzIHRvIHRoZSBhcnRpZmFjdCdzIG91dHB1dERpcmVjdG9yeS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBBZGRpdGlvbmFsSW5wdXRBcnRpZmFjdENvbmZpZyB7XG4gIC8qKiBBcnRpZmFjdCBrZXkgaWRlbnRpZnlpbmcgdGhlIHNvdXJjZSBzdGVwJ3Mgb3V0cHV0ICovXG4gIHJlYWRvbmx5IGFydGlmYWN0OiBBcnRpZmFjdEtleTtcblxuICAvKiogRGlyZWN0b3J5IHRvIG1vdW50IHRoZSBpbnB1dCBhdC4gRGVmYXVsdHMgdG8gYXJ0aWZhY3Qub3V0cHV0RGlyZWN0b3J5IHdoZW4gb21pdHRlZC4gKi9cbiAgcmVhZG9ubHkgZGlyZWN0b3J5Pzogc3RyaW5nO1xufVxuXG4vKipcbiAqIENvbmZpZ3VyYXRpb24gZm9yIGEgc2luZ2xlIHN0ZXAgd2l0aGluIGEgcGlwZWxpbmUgc3RhZ2UuXG4gKiBVc2VzIFBsdWdpbk9wdGlvbnMgZm9yIG5hbWUtYmFzZWQgcGx1Z2luIHNlbGVjdGlvbiAocmVzb2x2ZWQgYXQgYnVpbGQgdGltZSkuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU3RhZ2VTdGVwT3B0aW9ucyBleHRlbmRzIFN0ZXBDdXN0b21pemF0aW9uIHtcbiAgLyoqIFBsdWdpbiB0byB1c2UgZm9yIHRoaXMgc3RlcCAqL1xuICByZWFkb25seSBwbHVnaW46IFBsdWdpbk9wdGlvbnM7XG5cbiAgLyoqIFN0ZXAtbGV2ZWwgbWV0YWRhdGEgbWVyZ2VkIHdpdGggc3RhZ2UgYW5kIGdsb2JhbCBtZXRhZGF0YSAqL1xuICByZWFkb25seSBtZXRhZGF0YT86IE1ldGFEYXRhVHlwZTtcblxuICAvKiogT3B0aW9uYWwgbmV0d29yayBjb25maWd1cmF0aW9uIGZvciB0aGlzIHN0ZXAncyBDb2RlQnVpbGQgYWN0aW9uICovXG4gIHJlYWRvbmx5IG5ldHdvcms/OiBOZXR3b3JrQ29uZmlnO1xuXG4gIC8qKlxuICAgKiBDb2RlQnVpbGQgdGltZW91dCBpbiBtaW51dGVzLlxuICAgKiBAZGVmYXVsdCA2MCAoQVdTIENvZGVCdWlsZCBkZWZhdWx0KVxuICAgKi9cbiAgcmVhZG9ubHkgdGltZW91dD86IG51bWJlcjtcblxuICAvKipcbiAgICogUG9zaXRpb24gb2YgdGhpcyBzdGVwIHdpdGhpbiB0aGUgcGlwZWxpbmUgd2F2ZS5cbiAgICogLSAncHJlJzogUnVucyBiZWZvcmUgdGhlIHN0YWdlIGRlcGxveW1lbnQgKGRlZmF1bHQpXG4gICAqIC0gJ3Bvc3QnOiBSdW5zIGFmdGVyIHRoZSBzdGFnZSBkZXBsb3ltZW50XG4gICAqIEBkZWZhdWx0ICdwcmUnXG4gICAqL1xuICByZWFkb25seSBwb3NpdGlvbj86ICdwcmUnIHwgJ3Bvc3QnO1xuXG4gIC8qKiBBcnRpZmFjdCBrZXkgZm9yIHRoaXMgc3RlcCdzIHByaW1hcnkgaW5wdXQgKHJlc29sdmVkIHZpYSBBcnRpZmFjdE1hbmFnZXIpICovXG4gIHJlYWRvbmx5IGlucHV0QXJ0aWZhY3Q/OiBBcnRpZmFjdEtleTtcblxuICAvKiogQWRkaXRpb25hbCBpbnB1dCBhcnRpZmFjdHMgZm9yIHRoaXMgc3RlcC4gRWFjaCBlbnRyeSBzcGVjaWZpZXMgYW4gYXJ0aWZhY3QgYW5kIGFuIG9wdGlvbmFsIG1vdW50IGRpcmVjdG9yeS4gKi9cbiAgcmVhZG9ubHkgYWRkaXRpb25hbElucHV0QXJ0aWZhY3RzPzogQWRkaXRpb25hbElucHV0QXJ0aWZhY3RDb25maWdbXTtcblxuICAvKiogT3ZlcnJpZGUgdGhlIHBsdWdpbidzIGZhaWx1cmUgYmVoYXZpb3IgZm9yIHRoaXMgc3RlcC4gKi9cbiAgcmVhZG9ubHkgZmFpbHVyZUJlaGF2aW9yPzogJ2ZhaWwnIHwgJ3dhcm4nIHwgJ2lnbm9yZSc7XG59XG5cbi8qKlxuICogQSBwaXBlbGluZSBzdGFnZSBjb250YWluaW5nIG9uZSBvciBtb3JlIGJ1aWxkIHN0ZXBzLlxuICogRWFjaCBzdGFnZSBtYXBzIHRvIGEgQ0RLIFBpcGVsaW5lIHdhdmUsIHdpdGggc3RlcHMgZXhlY3V0aW5nIHdpdGhpbiB0aGUgd2F2ZS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTdGFnZU9wdGlvbnMge1xuICAvKiogRGlzcGxheSBuYW1lIGZvciB0aGlzIHN0YWdlICovXG4gIHJlYWRvbmx5IHN0YWdlTmFtZTogc3RyaW5nO1xuXG4gIC8qKiBPcHRpb25hbCBhbGlhcyB1c2VkIGZvciB3YXZlL2NvbnN0cnVjdCBJRCBnZW5lcmF0aW9uLiBEZWZhdWx0cyB0byBzdGFnZU5hbWUuICovXG4gIHJlYWRvbmx5IGFsaWFzPzogc3RyaW5nO1xuXG4gIC8qKiBCdWlsZCBzdGVwcyB0byBleGVjdXRlIHdpdGhpbiB0aGlzIHN0YWdlICovXG4gIHJlYWRvbmx5IHN0ZXBzOiBTdGFnZVN0ZXBPcHRpb25zW107XG59XG5cbi8qKlxuICogT3B0aW9ucyBmb3IgY3JlYXRpbmcgYSBDb2RlQnVpbGQgc3RlcCBpbiB0aGUgcGlwZWxpbmVcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBDb2RlQnVpbGRTdGVwT3B0aW9ucyBleHRlbmRzIFN0ZXBDdXN0b21pemF0aW9uIHtcbiAgLyoqXG4gICAqIFVuaXF1ZSBpZGVudGlmaWVyIGZvciB0aGlzIENvZGVCdWlsZCBzdGVwXG4gICAqIFNob3VsZCBiZSBkZXNjcmlwdGl2ZSBhbmQgdW5pcXVlIHdpdGhpbiB0aGUgcGlwZWxpbmVcbiAgICogQGV4YW1wbGUgJ215LW9yZy1teS1wcm9qZWN0LXN5bnRoJ1xuICAgKi9cbiAgcmVhZG9ubHkgaWQ6IHN0cmluZztcblxuICAvKipcbiAgICogVW5pcXVlSWQgaW5zdGFuY2UgZm9yIGdlbmVyYXRpbmcgdW5pcXVlIGNvbnN0cnVjdCBJRHNcbiAgICogVXNlZCBmb3IgbmV0d29yayByZXNvdXJjZSBsb29rdXBzIChWUEMsIHN1Ym5ldHMsIHNlY3VyaXR5IGdyb3VwcylcbiAgICovXG4gIHJlYWRvbmx5IHVuaXF1ZUlkOiBVbmlxdWVJZDtcblxuICAvKipcbiAgICogUGx1Z2luIGNvbmZpZ3VyYXRpb24gZnJvbSB0aGUgZGF0YWJhc2VcbiAgICogQ29udGFpbnMgYWxsIHRoZSBwbHVnaW4ncyBzcGVjIGRhdGEgYW5kIHJ1bnRpbWUgaW5mb3JtYXRpb25cbiAgICovXG4gIHJlYWRvbmx5IHBsdWdpbjogUGx1Z2luO1xuXG4gIC8qKlxuICAgKiBDREsgc2NvcGUgdXNlZCB0byBjcmVhdGUgY29uc3RydWN0cyAoVlBDL3N1Ym5ldC9zZWN1cml0eS1ncm91cCBsb29rdXBzKS5cbiAgICovXG4gIHJlYWRvbmx5IHNjb3BlOiBDb25zdHJ1Y3Q7XG5cbiAgLyoqXG4gICAqIElucHV0IHNvdXJjZSBmb3IgdGhpcyBzdGVwXG4gICAqIFR5cGljYWxseSB0aGUgb3V0cHV0IGZyb20gYSBwcmV2aW91cyBzdGVwIG9yIHRoZSBwaXBlbGluZSBzb3VyY2VcbiAgICovXG4gIHJlYWRvbmx5IGlucHV0PzogSUZpbGVTZXRQcm9kdWNlcjtcblxuICAvKipcbiAgICogQWRkaXRpb25hbCBtZXRhZGF0YSB0byBtZXJnZSB3aXRoIHBsdWdpbiBtZXRhZGF0YVxuICAgKiBXaWxsIG92ZXJyaWRlIGNvbmZsaWN0aW5nIGtleXMgZnJvbSBwbHVnaW4gbWV0YWRhdGFcbiAgICovXG4gIHJlYWRvbmx5IG1ldGFkYXRhPzogTWV0YURhdGFUeXBlO1xuXG4gIC8qKlxuICAgKiBPcHRpb25hbCBuZXR3b3JrIGNvbmZpZ3VyYXRpb24gZm9yIHRoZSBDb2RlQnVpbGQgc3RlcC5cbiAgICogV2hlbiBwcm92aWRlZCwgcmVzb2x2ZXMgVlBDLCBzdWJuZXQgc2VsZWN0aW9uLCBhbmQgc2VjdXJpdHkgZ3JvdXBzXG4gICAqIHNvIHRoZSBidWlsZCBydW5zIGluc2lkZSB0aGUgc3BlY2lmaWVkIG5ldHdvcmsuXG4gICAqL1xuICByZWFkb25seSBuZXR3b3JrPzogTmV0d29ya0NvbmZpZztcblxuICAvKipcbiAgICogRmFsbGJhY2sgQ29kZUJ1aWxkIGNvbXB1dGUgdHlwZSB3aGVuIHRoZSBwbHVnaW4gZG9lc24ndCBzcGVjaWZ5IG9uZS5cbiAgICogQGRlZmF1bHQgQ29tcHV0ZVR5cGUuU01BTExcbiAgICovXG4gIHJlYWRvbmx5IGRlZmF1bHRDb21wdXRlVHlwZT86IENka0NvbXB1dGVUeXBlO1xuXG4gIC8qKlxuICAgKiBDb2RlQnVpbGQgdGltZW91dCBpbiBtaW51dGVzLlxuICAgKiBAZGVmYXVsdCA2MCAoQVdTIENvZGVCdWlsZCBkZWZhdWx0KVxuICAgKi9cbiAgcmVhZG9ubHkgdGltZW91dD86IG51bWJlcjtcblxuICAvKiogQWRkaXRpb25hbCBpbnB1dHMgbWFwcGVkIGJ5IGRpcmVjdG9yeSBwYXRoIChyZXNvbHZlZCBGaWxlU2V0cykgKi9cbiAgcmVhZG9ubHkgYWRkaXRpb25hbElucHV0cz86IFJlY29yZDxzdHJpbmcsIElGaWxlU2V0UHJvZHVjZXI+O1xuXG4gIC8qKlxuICAgKiBPcHRpb25hbCBhcnRpZmFjdCBtYW5hZ2VyIGZvciB0cmFja2luZyBidWlsZCBvdXRwdXRzXG4gICAqIFdoZW4gcHJvdmlkZWQgYW5kIHByaW1hcnlPdXRwdXREaXJlY3RvcnkgaXMgc2V0LCB0aGUgc3RlcCB3aWxsIGJlIHJlZ2lzdGVyZWRcbiAgICovXG4gIHJlYWRvbmx5IGFydGlmYWN0TWFuYWdlcj86IEFydGlmYWN0TWFuYWdlcjtcblxuICAvKipcbiAgICogU3RhZ2UgbmFtZSBmb3IgYXJ0aWZhY3Qga2V5IGdlbmVyYXRpb25cbiAgICovXG4gIHJlYWRvbmx5IHN0YWdlTmFtZT86IHN0cmluZztcblxuICAvKipcbiAgICogU3RhZ2UgYWxpYXMgZm9yIGFydGlmYWN0IGtleSBnZW5lcmF0aW9uXG4gICAqL1xuICByZWFkb25seSBzdGFnZUFsaWFzPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBQbHVnaW4gYWxpYXMgZm9yIGFydGlmYWN0IGtleSBnZW5lcmF0aW9uXG4gICAqL1xuICByZWFkb25seSBwbHVnaW5BbGlhcz86IHN0cmluZztcblxuICAvKipcbiAgICogRmFpbHVyZSBiZWhhdmlvciBmb3IgdGhpcyBzdGVwJ3MgYnVpbGQgY29tbWFuZHMuXG4gICAqIEFwcGxpZWQgYXQgc2hlbGwgbGV2ZWw6ICdmYWlsJyA9IGRlZmF1bHQsICd3YXJuJyA9IGxvZyArIGNvbnRpbnVlLCAnaWdub3JlJyA9IHx8IHRydWUuXG4gICAqL1xuICByZWFkb25seSBmYWlsdXJlQmVoYXZpb3I/OiAnZmFpbCcgfCAnd2FybicgfCAnaWdub3JlJztcblxuICAvKiogVGVuYW50IGlkZW50aWZpZXIgZm9yIHJlc29sdmluZyBwZXItb3JnIHNlY3JldHMgZnJvbSBBV1MgU2VjcmV0cyBNYW5hZ2VyICovXG4gIHJlYWRvbmx5IG9yZ0lkPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBQaXBlbGluZS1sZXZlbCBjb25maWcgdXNlZCBhcyB0aGUgYHBpcGVsaW5lLipgIHNjb3BlIHdoZW4gcmVzb2x2aW5nXG4gICAqIHRlbXBsYXRlIHRva2VucyBpbnNpZGUgcGx1Z2luIHNwZWNzLiBSZXF1aXJlZCDigJQgZXZlcnkgYHt7IHBpcGVsaW5lLiogfX1gXG4gICAqIHJlZmVyZW5jZSBpbiBhIHBsdWdpbiBzcGVjIGlzIGV2YWx1YXRlZCBhZ2FpbnN0IHRoaXMgb2JqZWN0IGF0IHN5bnRoIHRpbWUuXG4gICAqXG4gICAqIENhbGxlcnMgY29uc3RydWN0aW5nIGEgc3RlcCBkaXJlY3RseSBtdXN0IHByb3ZpZGUgdGhlIHBpcGVsaW5lIGlkZW50aXR5XG4gICAqICsgbWV0YWRhdGEgKyB2YXJzIHNvIHRlbXBsYXRlIHJlc29sdXRpb24gaXMgbmV2ZXIgc2lsZW50bHkgc2tpcHBlZC5cbiAgICovXG4gIHJlYWRvbmx5IHBpcGVsaW5lU2NvcGU6IFJlY29yZDxzdHJpbmcsIHVua25vd24+O1xufVxuIl19
3
+ export {};
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RlcC10eXBlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9waXBlbGluZS9zdGVwLXR5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLCtDQUErQztBQUMvQyxzQ0FBc0MiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb3B5cmlnaHQgMjAyNiBQaXBlbGluZSBCdWlsZGVyIENvbnRyaWJ1dG9yc1xuLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFwYWNoZS0yLjBcblxuaW1wb3J0IHR5cGUgeyBQbHVnaW5GaWx0ZXIsIFBsdWdpbiB9IGZyb20gJ0BwaXBlbGluZS1idWlsZGVyL3BpcGVsaW5lLWRhdGEnO1xuaW1wb3J0IHR5cGUgeyBDb21wdXRlVHlwZSBhcyBDZGtDb21wdXRlVHlwZSB9IGZyb20gJ2F3cy1jZGstbGliL2F3cy1jb2RlYnVpbGQnO1xuaW1wb3J0IHR5cGUgeyBJRmlsZVNldFByb2R1Y2VyIH0gZnJvbSAnYXdzLWNkay1saWIvcGlwZWxpbmVzJztcbmltcG9ydCB0eXBlIHsgQ29uc3RydWN0IH0gZnJvbSAnY29uc3RydWN0cyc7XG5pbXBvcnQgdHlwZSB7IEFydGlmYWN0S2V5LCBBcnRpZmFjdE1hbmFnZXIgfSBmcm9tICcuLi9jb3JlL2FydGlmYWN0LW1hbmFnZXIuanMnO1xuaW1wb3J0IHR5cGUgeyBVbmlxdWVJZCB9IGZyb20gJy4uL2NvcmUvaWQtZ2VuZXJhdG9yLmpzJztcbmltcG9ydCB0eXBlIHsgTmV0d29ya0NvbmZpZyB9IGZyb20gJy4uL2NvcmUvbmV0d29yay10eXBlcy5qcyc7XG5pbXBvcnQgdHlwZSB7IENvbXB1dGVUeXBlLCBQbHVnaW5UeXBlLCBNZXRhRGF0YVR5cGUsIFNvdXJjZVR5cGUgfSBmcm9tICcuLi9jb3JlL3BpcGVsaW5lLXR5cGVzLmpzJztcblxuLyoqXG4gKiBPcHRpb25zIGZvciBzZWxlY3RpbmcgYW5kIGNvbmZpZ3VyaW5nIGEgcGx1Z2luXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUGx1Z2luT3B0aW9ucyB7XG4gIC8qKlxuICAgKiBOYW1lIG9mIHRoZSBwbHVnaW4gdG8gdXNlXG4gICAqIE11c3QgbWF0Y2ggYSByZWdpc3RlcmVkIHBsdWdpbiBpbiB0aGUgZGF0YWJhc2VcbiAgICovXG4gIHJlYWRvbmx5IG5hbWU6IHN0cmluZztcblxuICAvKipcbiAgICogT3B0aW9uYWwgYWxpYXMgZm9yIHRoZSBwbHVnaW4gaW5zdGFuY2VcbiAgICogVXNlZnVsIHdoZW4gdXNpbmcgdGhlIHNhbWUgcGx1Z2luIG11bHRpcGxlIHRpbWVzIHdpdGggZGlmZmVyZW50IGNvbmZpZ3VyYXRpb25zXG4gICAqL1xuICByZWFkb25seSBhbGlhcz86IHN0cmluZztcblxuICAvKipcbiAgICogT3B0aW9uYWwgZmlsdGVyIGNyaXRlcmlhIGZvciBwbHVnaW4gc2VsZWN0aW9uXG4gICAqIENhbiBiZSB1c2VkIHRvIHNlbGVjdCBzcGVjaWZpYyBwbHVnaW4gdmVyc2lvbnMgb3IgdmFyaWFudHNcbiAgICovXG4gIHJlYWRvbmx5IGZpbHRlcj86IFBsdWdpbkZpbHRlcjtcblxuICAvKipcbiAgICogQWRkaXRpb25hbCBtZXRhZGF0YSB0byBtZXJnZSB3aXRoIHBsdWdpbidzIGRlZmF1bHQgbWV0YWRhdGFcbiAgICogVGhpcyBtZXRhZGF0YSB3aWxsIGJlIGF2YWlsYWJsZSB0byB0aGUgcGx1Z2luIGR1cmluZyBleGVjdXRpb25cbiAgICovXG4gIHJlYWRvbmx5IG1ldGFkYXRhPzogTWV0YURhdGFUeXBlO1xufVxuXG4vKipcbiAqIFN5bnRoZXNpcyBzdGVwIGNvbmZpZ3VyYXRpb24gY29tYmluaW5nIHNvdXJjZSBhbmQgcGx1Z2luLlxuICogRXh0ZW5kcyBTdGVwQ3VzdG9taXphdGlvbiB0byBzdXBwb3J0IGluamVjdGluZyBjdXN0b20gY29tbWFuZHMgYW5kIGVudiB2YXJzXG4gKiBpbnRvIHRoZSBzeW50aCBDb2RlQnVpbGQgc3RlcCAoc2FtZSBob29rcyBhdmFpbGFibGUgYXMgc3RhZ2Ugc3RlcHMpLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFN5bnRoT3B0aW9ucyBleHRlbmRzIFN0ZXBDdXN0b21pemF0aW9uIHtcbiAgLyoqXG4gICAqIFNvdXJjZSBjb25maWd1cmF0aW9uIChTMywgR2l0SHViLCBvciBDb2RlU3RhcilcbiAgICovXG4gIHJlYWRvbmx5IHNvdXJjZTogU291cmNlVHlwZTtcblxuICAvKipcbiAgICogUGx1Z2luIHRvIHVzZSBmb3Igc3ludGhlc2lzXG4gICAqL1xuICByZWFkb25seSBwbHVnaW46IFBsdWdpbk9wdGlvbnM7XG5cbiAgLyoqXG4gICAqIEFkZGl0aW9uYWwgbWV0YWRhdGEgZm9yIHRoZSBzeW50aGVzaXMgc3RlcFxuICAgKiBUaGlzIHdpbGwgYmUgbWVyZ2VkIHdpdGggZ2xvYmFsIG1ldGFkYXRhIGFuZCBwbHVnaW4gbWV0YWRhdGFcbiAgICovXG4gIHJlYWRvbmx5IG1ldGFkYXRhPzogTWV0YURhdGFUeXBlO1xuXG4gIC8qKlxuICAgKiBTdGVwLWxldmVsIG5ldHdvcmsgY29uZmlndXJhdGlvbiBhcHBsaWVkIG9ubHkgdG8gdGhlIHN5bnRoIENvZGVCdWlsZCBzdGVwLlxuICAgKiBPdmVycmlkZXMgdGhlIHBpcGVsaW5lLWxldmVsIGBkZWZhdWx0cy5uZXR3b3JrYCB3aGVuIGJvdGggYXJlIHByb3ZpZGVkLlxuICAgKi9cbiAgcmVhZG9ubHkgbmV0d29yaz86IE5ldHdvcmtDb25maWc7XG59XG5cbi8qKlxuICogUGx1Z2luIHNwZWMgZGVmaW5pbmcgcGx1Z2luIGJlaGF2aW9yIGFuZCByZXF1aXJlbWVudHMuXG4gKiBUaGlzIGlzIHR5cGljYWxseSBsb2FkZWQgZnJvbSBhIHBsdWdpbiBzcGVjIGZpbGUgKHBsdWdpbi1zcGVjLnlhbWwpLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFBsdWdpblNwZWMge1xuICAvKipcbiAgICogVW5pcXVlIGlkZW50aWZpZXIgZm9yIHRoZSBwbHVnaW5cbiAgICogQGV4YW1wbGUgJ25vZGVqcy1idWlsZCdcbiAgICovXG4gIHJlYWRvbmx5IG5hbWU6IHN0cmluZztcblxuICAvKipcbiAgICogSHVtYW4tcmVhZGFibGUgZGVzY3JpcHRpb24gb2Ygd2hhdCB0aGUgcGx1Z2luIGRvZXNcbiAgICogQGV4YW1wbGUgJ0J1aWxkcyBhbmQgdGVzdHMgTm9kZS5qcyBhcHBsaWNhdGlvbnMnXG4gICAqL1xuICByZWFkb25seSBkZXNjcmlwdGlvbj86IHN0cmluZztcblxuICAvKipcbiAgICogS2V5d29yZHMgZm9yIHBsdWdpbiBkaXNjb3ZlcnkgYW5kIGNhdGVnb3JpemF0aW9uXG4gICAqIEBleGFtcGxlIFsnbm9kZWpzJywgJ3R5cGVzY3JpcHQnLCAnYnVpbGQnLCAndGVzdCddXG4gICAqL1xuICByZWFkb25seSBrZXl3b3Jkcz86IHN0cmluZ1tdO1xuXG4gIC8qKlxuICAgKiBQbHVnaW4gY2F0ZWdvcnkgZm9yIEFJLWFzc2lzdGVkIHNlbGVjdGlvbiBhbmQgb3JnYW5pemF0aW9uLlxuICAgKiBPbmUgb2Y6IGxhbmd1YWdlLCBzZWN1cml0eSwgcXVhbGl0eSwgdGVzdGluZywgZGVwbG95LCBhcnRpZmFjdCxcbiAgICogICAgICAgICBpbmZyYXN0cnVjdHVyZSwgbW9uaXRvcmluZywgbm90aWZpY2F0aW9uLCBhaVxuICAgKi9cbiAgcmVhZG9ubHkgY2F0ZWdvcnk/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFNlbWFudGljIHZlcnNpb24gb2YgdGhlIHBsdWdpblxuICAgKiBAZXhhbXBsZSAnMS4wLjAnXG4gICAqL1xuICByZWFkb25seSB2ZXJzaW9uPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUeXBlIG9mIHBpcGVsaW5lIHN0ZXAgdGhpcyBwbHVnaW4gY3JlYXRlc1xuICAgKiBAZGVmYXVsdCBQbHVnaW5UeXBlLkNPREVfQlVJTERfU1RFUFxuICAgKi9cbiAgcmVhZG9ubHkgcGx1Z2luVHlwZT86IFBsdWdpblR5cGU7XG5cbiAgLyoqXG4gICAqIENvZGVCdWlsZCBjb21wdXRlIHJlc291cmNlIHNpemUgdG8gdXNlXG4gICAqIEBkZWZhdWx0IENvbXB1dGVUeXBlLlNNQUxMXG4gICAqL1xuICByZWFkb25seSBjb21wdXRlVHlwZT86IENvbXB1dGVUeXBlO1xuXG4gIC8qKlxuICAgKiBNYXhpbXVtIGV4ZWN1dGlvbiB0aW1lIGluIG1pbnV0ZXMuXG4gICAqIFVzZWQgYXMgZmFsbGJhY2sgd2hlbiB0aGUgcGlwZWxpbmUgc3RlcCBkb2Vzbid0IHNldCB0aW1lb3V0LlxuICAgKiBAZGVmYXVsdCA2MCAoQVdTIENvZGVCdWlsZCBkZWZhdWx0KVxuICAgKi9cbiAgcmVhZG9ubHkgdGltZW91dD86IG51bWJlcjtcblxuICAvKipcbiAgICogV2hhdCBoYXBwZW5zIHdoZW4gdGhpcyBzdGVwIGZhaWxzLlxuICAgKiAtICdmYWlsJzogU3RvcCB0aGUgcGlwZWxpbmUgKGRlZmF1bHQpXG4gICAqIC0gJ3dhcm4nOiBMb2cgYSB3YXJuaW5nIGFuZCBjb250aW51ZVxuICAgKiAtICdpZ25vcmUnOiBTaWxlbnRseSBjb250aW51ZVxuICAgKiBAZGVmYXVsdCAnZmFpbCdcbiAgICovXG4gIHJlYWRvbmx5IGZhaWx1cmVCZWhhdmlvcj86ICdmYWlsJyB8ICd3YXJuJyB8ICdpZ25vcmUnO1xuXG4gIC8qKlxuICAgKiBTZWNyZXQgcmVxdWlyZW1lbnRzIGZvciB0aGlzIHBsdWdpbi5cbiAgICogRGVjbGFyZXMgbmFtZWQgc2VjcmV0cyB0aGUgcGx1Z2luIGV4cGVjdHMgYXQgYnVpbGQgdGltZS5cbiAgICovXG4gIHJlYWRvbmx5IHNlY3JldHM/OiBBcnJheTx7IG5hbWU6IHN0cmluZzsgcmVxdWlyZWQ6IGJvb2xlYW47IGRlc2NyaXB0aW9uPzogc3RyaW5nIH0+O1xuXG4gIC8qKlxuICAgKiBEaXJlY3RvcnkgY29udGFpbmluZyB0aGUgcHJpbWFyeSBidWlsZCBvdXRwdXQgYXJ0aWZhY3RzXG4gICAqIEBleGFtcGxlICdkaXN0J1xuICAgKi9cbiAgcmVhZG9ubHkgcHJpbWFyeU91dHB1dERpcmVjdG9yeT86IHN0cmluZztcbiAgLyoqXG4gICAqIEFkZGl0aW9uYWwgbWV0YWRhdGEgdGhhdCBjYW4gYmUgYWNjZXNzZWQgZHVyaW5nIHBsdWdpbiBleGVjdXRpb25cbiAgICogS2V5cyBzaG91bGQgdXNlIHRoZSBmb3JtYXQgJ2F3czpjZGs6e25hbWVzcGFjZX06e2tleX0nIChhbGwgbG93ZXJjYXNlKVxuICAgKi9cbiAgcmVhZG9ubHkgbWV0YWRhdGE/OiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmcgfCBudW1iZXIgfCBib29sZWFuPjtcblxuICAvKipcbiAgICogUGF0aCB0byBEb2NrZXJmaWxlIG9yIERvY2tlcmZpbGUgY29udGVudFxuICAgKiBVc2VkIHRvIGJ1aWxkIHRoZSBjb250YWluZXIgZW52aXJvbm1lbnQgZm9yIHRoaXMgcGx1Z2luXG4gICAqL1xuICByZWFkb25seSBkb2NrZXJmaWxlPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBDb21tYW5kcyB0byBydW4gZHVyaW5nIHRoZSBpbnN0YWxsIHBoYXNlXG4gICAqIFR5cGljYWxseSB1c2VkIGZvciBpbnN0YWxsaW5nIGRlcGVuZGVuY2llc1xuICAgKiBAZXhhbXBsZSBbJ25wbSBjaScsICducG0gcnVuIGJ1aWxkJ11cbiAgICovXG4gIHJlYWRvbmx5IGluc3RhbGxDb21tYW5kcz86IHN0cmluZ1tdO1xuXG4gIC8qKlxuICAgKiBDb21tYW5kcyB0byBydW4gZHVyaW5nIHRoZSBidWlsZC9leGVjdXRpb24gcGhhc2VcbiAgICogVGhlc2UgYXJlIHRoZSBtYWluIGNvbW1hbmRzIHRoYXQgcGVyZm9ybSB0aGUgcGx1Z2luJ3Mgd29ya1xuICAgKiBAZXhhbXBsZSBbJ25wbSB0ZXN0JywgJ25wbSBydW4gZGVwbG95J11cbiAgICovXG4gIHJlYWRvbmx5IGNvbW1hbmRzPzogc3RyaW5nW107XG5cbiAgLyoqXG4gICAqIEVudmlyb25tZW50IHZhcmlhYmxlcyB0byBzZXQgaW4gdGhlIGJ1aWxkIGVudmlyb25tZW50XG4gICAqIEBleGFtcGxlIHsgQVBJX1VSTDogJ2h0dHBzOi8vYXBpLmV4YW1wbGUuY29tJywgTE9HX0xFVkVMOiAnaW5mbycgfVxuICAgKi9cbiAgcmVhZG9ubHkgZW52PzogUmVjb3JkPHN0cmluZywgc3RyaW5nPjtcblxuICAvKipcbiAgICogRG9ja2VyIGJ1aWxkIGFyZ3VtZW50cyBwYXNzZWQgdmlhIC0tYnVpbGQtYXJnIGF0IGltYWdlIGJ1aWxkIHRpbWUuXG4gICAqIFVzZWQgdG8gcGFyYW1ldGVyaXplIERvY2tlcmZpbGUgQVJHIHZhbHVlcyB3aGVuIGJ1aWxkaW5nIHRoZSBwbHVnaW4gaW1hZ2UuXG4gICAqIEBleGFtcGxlIHsgUFlUSE9OX1ZFUlNJT046ICczLjEyJywgTk9ERV9FTlY6ICdwcm9kdWN0aW9uJyB9XG4gICAqL1xuICByZWFkb25seSBidWlsZEFyZ3M/OiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+O1xuXG4gIC8qKlxuICAgKiBQaXBlbGluZSBtZXRhZGF0YSBrZXlzIHRoZSBwbHVnaW4gcmVmZXJlbmNlcyB2aWEgYHt7IHBpcGVsaW5lLm1ldGFkYXRhLlggfX1gLlxuICAgKiBEZWNsYXJlZCBhcyBhIGNvbnRyYWN0IOKAlCBwaXBlbGluZXMgdXNpbmcgdGhpcyBwbHVnaW4gbXVzdCBzdXBwbHkgYWxsXG4gICAqIGxpc3RlZCBrZXlzIHVubGVzcyB0aGUgdGVtcGxhdGUgdXNlcyBgfCBkZWZhdWx0OiAnLi4uJ2AuXG4gICAqIEBleGFtcGxlIFsnZW52JywgJ25hbWVzcGFjZScsICdjbHVzdGVyTmFtZSddXG4gICAqL1xuICByZWFkb25seSByZXF1aXJlZE1ldGFkYXRhPzogc3RyaW5nW107XG5cbiAgLyoqXG4gICAqIFBpcGVsaW5lIHZhcnMga2V5cyB0aGUgcGx1Z2luIHJlZmVyZW5jZXMgdmlhIGB7eyBwaXBlbGluZS52YXJzLlggfX1gLlxuICAgKiBAZXhhbXBsZSBbJ2JyYW5jaCcsICdzbGFja0NoYW5uZWwnXVxuICAgKi9cbiAgcmVhZG9ubHkgcmVxdWlyZWRWYXJzPzogc3RyaW5nW107XG5cbiAgLyoqXG4gICAqIE9wdGlvbmFsIHR5cGUgZGVjbGFyYXRpb25zIGZvciB0aGUgbWV0YWRhdGEga2V5cyBsaXN0ZWQgaW4gYHJlcXVpcmVkTWV0YWRhdGFgLlxuICAgKiBVc2VkIGF0IHVwbG9hZCB0aW1lIHRvIHZlcmlmeSB0aGF0IGNvZXJjaW9uIGZpbHRlcnMgKGB8IG51bWJlcmAsIGB8IGJvb2xgLFxuICAgKiBgfCBqc29uYCkgbWF0Y2ggdGhlIGRlY2xhcmVkIHR5cGUg4oCUIGUuZy4gYHt7IHBpcGVsaW5lLm1ldGFkYXRhLmNvdW50IHwgbnVtYmVyIH19YFxuICAgKiByZXF1aXJlcyBgY291bnQ6ICdudW1iZXInYCBoZXJlLCBvdGhlcndpc2UgdGhlIHBsdWdpbiBpcyByZWplY3RlZC5cbiAgICogS2V5cyBub3QgZGVjbGFyZWQgZGVmYXVsdCB0byBgJ3N0cmluZydgLlxuICAgKiBAZXhhbXBsZSB7IGNvdW50OiAnbnVtYmVyJywgZW5hYmxlZDogJ2Jvb2wnIH1cbiAgICovXG4gIHJlYWRvbmx5IG1ldGFkYXRhVHlwZXM/OiBSZWNvcmQ8c3RyaW5nLCAnc3RyaW5nJyB8ICdudW1iZXInIHwgJ2Jvb2wnIHwgJ2pzb24nPjtcblxuICAvKipcbiAgICogT3B0aW9uYWwgdHlwZSBkZWNsYXJhdGlvbnMgZm9yIHZhcnMga2V5cyAoc2FtZSBzZW1hbnRpY3MgYXMgYG1ldGFkYXRhVHlwZXNgKS5cbiAgICovXG4gIHJlYWRvbmx5IHZhcnNUeXBlcz86IFJlY29yZDxzdHJpbmcsICdzdHJpbmcnIHwgJ251bWJlcicgfCAnYm9vbCcgfCAnanNvbic+O1xufVxuXG4vKipcbiAqIFBlci1zdGVwIGN1c3RvbWl6YXRpb24gb3B0aW9ucyBmb3IgY29tbWFuZHMgYW5kIGVudmlyb25tZW50IHZhcmlhYmxlcy5cbiAqIEN1c3RvbSBjb21tYW5kcyBhcmUgaW5qZWN0ZWQgYmVmb3JlL2FmdGVyIHRoZSBwbHVnaW4ncyBjb21tYW5kcy5cbiAqIEN1c3RvbSBlbnYgdmFycyBhcmUgbWVyZ2VkIG9uIHRvcCBvZiB0aGUgcGx1Z2luJ3MgZGVmYXVsdHMuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU3RlcEN1c3RvbWl6YXRpb24ge1xuICAvKiogQ29tbWFuZHMgdG8gcnVuIGJlZm9yZSB0aGUgcGx1Z2luJ3MgaW5zdGFsbCBjb21tYW5kcyAqL1xuICByZWFkb25seSBwcmVJbnN0YWxsQ29tbWFuZHM/OiBzdHJpbmdbXTtcblxuICAvKiogQ29tbWFuZHMgdG8gcnVuIGFmdGVyIHRoZSBwbHVnaW4ncyBpbnN0YWxsIGNvbW1hbmRzICovXG4gIHJlYWRvbmx5IHBvc3RJbnN0YWxsQ29tbWFuZHM/OiBzdHJpbmdbXTtcblxuICAvKiogQ29tbWFuZHMgdG8gcnVuIGJlZm9yZSB0aGUgcGx1Z2luJ3MgYnVpbGQgY29tbWFuZHMgKi9cbiAgcmVhZG9ubHkgcHJlQ29tbWFuZHM/OiBzdHJpbmdbXTtcblxuICAvKiogQ29tbWFuZHMgdG8gcnVuIGFmdGVyIHRoZSBwbHVnaW4ncyBidWlsZCBjb21tYW5kcyAqL1xuICByZWFkb25seSBwb3N0Q29tbWFuZHM/OiBzdHJpbmdbXTtcblxuICAvKiogQ3VzdG9tIGVudmlyb25tZW50IHZhcmlhYmxlcyBtZXJnZWQgb24gdG9wIG9mIHRoZSBwbHVnaW4ncyBlbnYgKi9cbiAgcmVhZG9ubHkgZW52PzogUmVjb3JkPHN0cmluZywgc3RyaW5nPjtcbn1cblxuLyoqXG4gKiBBbiBhZGRpdGlvbmFsIGlucHV0IGFydGlmYWN0IHdpdGggYW4gb3B0aW9uYWwgbW91bnQgZGlyZWN0b3J5LlxuICogV2hlbiBkaXJlY3RvcnkgaXMgb21pdHRlZCwgZGVmYXVsdHMgdG8gdGhlIGFydGlmYWN0J3Mgb3V0cHV0RGlyZWN0b3J5LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEFkZGl0aW9uYWxJbnB1dEFydGlmYWN0Q29uZmlnIHtcbiAgLyoqIEFydGlmYWN0IGtleSBpZGVudGlmeWluZyB0aGUgc291cmNlIHN0ZXAncyBvdXRwdXQgKi9cbiAgcmVhZG9ubHkgYXJ0aWZhY3Q6IEFydGlmYWN0S2V5O1xuXG4gIC8qKiBEaXJlY3RvcnkgdG8gbW91bnQgdGhlIGlucHV0IGF0LiBEZWZhdWx0cyB0byBhcnRpZmFjdC5vdXRwdXREaXJlY3Rvcnkgd2hlbiBvbWl0dGVkLiAqL1xuICByZWFkb25seSBkaXJlY3Rvcnk/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogQ29uZmlndXJhdGlvbiBmb3IgYSBzaW5nbGUgc3RlcCB3aXRoaW4gYSBwaXBlbGluZSBzdGFnZS5cbiAqIFVzZXMgUGx1Z2luT3B0aW9ucyBmb3IgbmFtZS1iYXNlZCBwbHVnaW4gc2VsZWN0aW9uIChyZXNvbHZlZCBhdCBidWlsZCB0aW1lKS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTdGFnZVN0ZXBPcHRpb25zIGV4dGVuZHMgU3RlcEN1c3RvbWl6YXRpb24ge1xuICAvKiogUGx1Z2luIHRvIHVzZSBmb3IgdGhpcyBzdGVwICovXG4gIHJlYWRvbmx5IHBsdWdpbjogUGx1Z2luT3B0aW9ucztcblxuICAvKiogU3RlcC1sZXZlbCBtZXRhZGF0YSBtZXJnZWQgd2l0aCBzdGFnZSBhbmQgZ2xvYmFsIG1ldGFkYXRhICovXG4gIHJlYWRvbmx5IG1ldGFkYXRhPzogTWV0YURhdGFUeXBlO1xuXG4gIC8qKiBPcHRpb25hbCBuZXR3b3JrIGNvbmZpZ3VyYXRpb24gZm9yIHRoaXMgc3RlcCdzIENvZGVCdWlsZCBhY3Rpb24gKi9cbiAgcmVhZG9ubHkgbmV0d29yaz86IE5ldHdvcmtDb25maWc7XG5cbiAgLyoqXG4gICAqIENvZGVCdWlsZCB0aW1lb3V0IGluIG1pbnV0ZXMuXG4gICAqIEBkZWZhdWx0IDYwIChBV1MgQ29kZUJ1aWxkIGRlZmF1bHQpXG4gICAqL1xuICByZWFkb25seSB0aW1lb3V0PzogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBQb3NpdGlvbiBvZiB0aGlzIHN0ZXAgd2l0aGluIHRoZSBwaXBlbGluZSB3YXZlLlxuICAgKiAtICdwcmUnOiBSdW5zIGJlZm9yZSB0aGUgc3RhZ2UgZGVwbG95bWVudCAoZGVmYXVsdClcbiAgICogLSAncG9zdCc6IFJ1bnMgYWZ0ZXIgdGhlIHN0YWdlIGRlcGxveW1lbnRcbiAgICogQGRlZmF1bHQgJ3ByZSdcbiAgICovXG4gIHJlYWRvbmx5IHBvc2l0aW9uPzogJ3ByZScgfCAncG9zdCc7XG5cbiAgLyoqIEFydGlmYWN0IGtleSBmb3IgdGhpcyBzdGVwJ3MgcHJpbWFyeSBpbnB1dCAocmVzb2x2ZWQgdmlhIEFydGlmYWN0TWFuYWdlcikgKi9cbiAgcmVhZG9ubHkgaW5wdXRBcnRpZmFjdD86IEFydGlmYWN0S2V5O1xuXG4gIC8qKiBBZGRpdGlvbmFsIGlucHV0IGFydGlmYWN0cyBmb3IgdGhpcyBzdGVwLiBFYWNoIGVudHJ5IHNwZWNpZmllcyBhbiBhcnRpZmFjdCBhbmQgYW4gb3B0aW9uYWwgbW91bnQgZGlyZWN0b3J5LiAqL1xuICByZWFkb25seSBhZGRpdGlvbmFsSW5wdXRBcnRpZmFjdHM/OiBBZGRpdGlvbmFsSW5wdXRBcnRpZmFjdENvbmZpZ1tdO1xuXG4gIC8qKiBPdmVycmlkZSB0aGUgcGx1Z2luJ3MgZmFpbHVyZSBiZWhhdmlvciBmb3IgdGhpcyBzdGVwLiAqL1xuICByZWFkb25seSBmYWlsdXJlQmVoYXZpb3I/OiAnZmFpbCcgfCAnd2FybicgfCAnaWdub3JlJztcbn1cblxuLyoqXG4gKiBBIHBpcGVsaW5lIHN0YWdlIGNvbnRhaW5pbmcgb25lIG9yIG1vcmUgYnVpbGQgc3RlcHMuXG4gKiBFYWNoIHN0YWdlIG1hcHMgdG8gYSBDREsgUGlwZWxpbmUgd2F2ZSwgd2l0aCBzdGVwcyBleGVjdXRpbmcgd2l0aGluIHRoZSB3YXZlLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFN0YWdlT3B0aW9ucyB7XG4gIC8qKiBEaXNwbGF5IG5hbWUgZm9yIHRoaXMgc3RhZ2UgKi9cbiAgcmVhZG9ubHkgc3RhZ2VOYW1lOiBzdHJpbmc7XG5cbiAgLyoqIE9wdGlvbmFsIGFsaWFzIHVzZWQgZm9yIHdhdmUvY29uc3RydWN0IElEIGdlbmVyYXRpb24uIERlZmF1bHRzIHRvIHN0YWdlTmFtZS4gKi9cbiAgcmVhZG9ubHkgYWxpYXM/OiBzdHJpbmc7XG5cbiAgLyoqIEJ1aWxkIHN0ZXBzIHRvIGV4ZWN1dGUgd2l0aGluIHRoaXMgc3RhZ2UgKi9cbiAgcmVhZG9ubHkgc3RlcHM6IFN0YWdlU3RlcE9wdGlvbnNbXTtcbn1cblxuLyoqXG4gKiBPcHRpb25zIGZvciBjcmVhdGluZyBhIENvZGVCdWlsZCBzdGVwIGluIHRoZSBwaXBlbGluZVxuICovXG5leHBvcnQgaW50ZXJmYWNlIENvZGVCdWlsZFN0ZXBPcHRpb25zIGV4dGVuZHMgU3RlcEN1c3RvbWl6YXRpb24ge1xuICAvKipcbiAgICogVW5pcXVlIGlkZW50aWZpZXIgZm9yIHRoaXMgQ29kZUJ1aWxkIHN0ZXBcbiAgICogU2hvdWxkIGJlIGRlc2NyaXB0aXZlIGFuZCB1bmlxdWUgd2l0aGluIHRoZSBwaXBlbGluZVxuICAgKiBAZXhhbXBsZSAnbXktb3JnLW15LXByb2plY3Qtc3ludGgnXG4gICAqL1xuICByZWFkb25seSBpZDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBVbmlxdWVJZCBpbnN0YW5jZSBmb3IgZ2VuZXJhdGluZyB1bmlxdWUgY29uc3RydWN0IElEc1xuICAgKiBVc2VkIGZvciBuZXR3b3JrIHJlc291cmNlIGxvb2t1cHMgKFZQQywgc3VibmV0cywgc2VjdXJpdHkgZ3JvdXBzKVxuICAgKi9cbiAgcmVhZG9ubHkgdW5pcXVlSWQ6IFVuaXF1ZUlkO1xuXG4gIC8qKlxuICAgKiBQbHVnaW4gY29uZmlndXJhdGlvbiBmcm9tIHRoZSBkYXRhYmFzZVxuICAgKiBDb250YWlucyBhbGwgdGhlIHBsdWdpbidzIHNwZWMgZGF0YSBhbmQgcnVudGltZSBpbmZvcm1hdGlvblxuICAgKi9cbiAgcmVhZG9ubHkgcGx1Z2luOiBQbHVnaW47XG5cbiAgLyoqXG4gICAqIENESyBzY29wZSB1c2VkIHRvIGNyZWF0ZSBjb25zdHJ1Y3RzIChWUEMvc3VibmV0L3NlY3VyaXR5LWdyb3VwIGxvb2t1cHMpLlxuICAgKi9cbiAgcmVhZG9ubHkgc2NvcGU6IENvbnN0cnVjdDtcblxuICAvKipcbiAgICogSW5wdXQgc291cmNlIGZvciB0aGlzIHN0ZXBcbiAgICogVHlwaWNhbGx5IHRoZSBvdXRwdXQgZnJvbSBhIHByZXZpb3VzIHN0ZXAgb3IgdGhlIHBpcGVsaW5lIHNvdXJjZVxuICAgKi9cbiAgcmVhZG9ubHkgaW5wdXQ/OiBJRmlsZVNldFByb2R1Y2VyO1xuXG4gIC8qKlxuICAgKiBBZGRpdGlvbmFsIG1ldGFkYXRhIHRvIG1lcmdlIHdpdGggcGx1Z2luIG1ldGFkYXRhXG4gICAqIFdpbGwgb3ZlcnJpZGUgY29uZmxpY3Rpbmcga2V5cyBmcm9tIHBsdWdpbiBtZXRhZGF0YVxuICAgKi9cbiAgcmVhZG9ubHkgbWV0YWRhdGE/OiBNZXRhRGF0YVR5cGU7XG5cbiAgLyoqXG4gICAqIE9wdGlvbmFsIG5ldHdvcmsgY29uZmlndXJhdGlvbiBmb3IgdGhlIENvZGVCdWlsZCBzdGVwLlxuICAgKiBXaGVuIHByb3ZpZGVkLCByZXNvbHZlcyBWUEMsIHN1Ym5ldCBzZWxlY3Rpb24sIGFuZCBzZWN1cml0eSBncm91cHNcbiAgICogc28gdGhlIGJ1aWxkIHJ1bnMgaW5zaWRlIHRoZSBzcGVjaWZpZWQgbmV0d29yay5cbiAgICovXG4gIHJlYWRvbmx5IG5ldHdvcms/OiBOZXR3b3JrQ29uZmlnO1xuXG4gIC8qKlxuICAgKiBGYWxsYmFjayBDb2RlQnVpbGQgY29tcHV0ZSB0eXBlIHdoZW4gdGhlIHBsdWdpbiBkb2Vzbid0IHNwZWNpZnkgb25lLlxuICAgKiBAZGVmYXVsdCBDb21wdXRlVHlwZS5TTUFMTFxuICAgKi9cbiAgcmVhZG9ubHkgZGVmYXVsdENvbXB1dGVUeXBlPzogQ2RrQ29tcHV0ZVR5cGU7XG5cbiAgLyoqXG4gICAqIENvZGVCdWlsZCB0aW1lb3V0IGluIG1pbnV0ZXMuXG4gICAqIEBkZWZhdWx0IDYwIChBV1MgQ29kZUJ1aWxkIGRlZmF1bHQpXG4gICAqL1xuICByZWFkb25seSB0aW1lb3V0PzogbnVtYmVyO1xuXG4gIC8qKiBBZGRpdGlvbmFsIGlucHV0cyBtYXBwZWQgYnkgZGlyZWN0b3J5IHBhdGggKHJlc29sdmVkIEZpbGVTZXRzKSAqL1xuICByZWFkb25seSBhZGRpdGlvbmFsSW5wdXRzPzogUmVjb3JkPHN0cmluZywgSUZpbGVTZXRQcm9kdWNlcj47XG5cbiAgLyoqXG4gICAqIE9wdGlvbmFsIGFydGlmYWN0IG1hbmFnZXIgZm9yIHRyYWNraW5nIGJ1aWxkIG91dHB1dHNcbiAgICogV2hlbiBwcm92aWRlZCBhbmQgcHJpbWFyeU91dHB1dERpcmVjdG9yeSBpcyBzZXQsIHRoZSBzdGVwIHdpbGwgYmUgcmVnaXN0ZXJlZFxuICAgKi9cbiAgcmVhZG9ubHkgYXJ0aWZhY3RNYW5hZ2VyPzogQXJ0aWZhY3RNYW5hZ2VyO1xuXG4gIC8qKlxuICAgKiBTdGFnZSBuYW1lIGZvciBhcnRpZmFjdCBrZXkgZ2VuZXJhdGlvblxuICAgKi9cbiAgcmVhZG9ubHkgc3RhZ2VOYW1lPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBTdGFnZSBhbGlhcyBmb3IgYXJ0aWZhY3Qga2V5IGdlbmVyYXRpb25cbiAgICovXG4gIHJlYWRvbmx5IHN0YWdlQWxpYXM/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFBsdWdpbiBhbGlhcyBmb3IgYXJ0aWZhY3Qga2V5IGdlbmVyYXRpb25cbiAgICovXG4gIHJlYWRvbmx5IHBsdWdpbkFsaWFzPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBGYWlsdXJlIGJlaGF2aW9yIGZvciB0aGlzIHN0ZXAncyBidWlsZCBjb21tYW5kcy5cbiAgICogQXBwbGllZCBhdCBzaGVsbCBsZXZlbDogJ2ZhaWwnID0gZGVmYXVsdCwgJ3dhcm4nID0gbG9nICsgY29udGludWUsICdpZ25vcmUnID0gfHwgdHJ1ZS5cbiAgICovXG4gIHJlYWRvbmx5IGZhaWx1cmVCZWhhdmlvcj86ICdmYWlsJyB8ICd3YXJuJyB8ICdpZ25vcmUnO1xuXG4gIC8qKiBUZW5hbnQgaWRlbnRpZmllciBmb3IgcmVzb2x2aW5nIHBlci1vcmcgc2VjcmV0cyBmcm9tIEFXUyBTZWNyZXRzIE1hbmFnZXIgKi9cbiAgcmVhZG9ubHkgb3JnSWQ/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFBpcGVsaW5lLWxldmVsIGNvbmZpZyB1c2VkIGFzIHRoZSBgcGlwZWxpbmUuKmAgc2NvcGUgd2hlbiByZXNvbHZpbmdcbiAgICogdGVtcGxhdGUgdG9rZW5zIGluc2lkZSBwbHVnaW4gc3BlY3MuIFJlcXVpcmVkIOKAlCBldmVyeSBge3sgcGlwZWxpbmUuKiB9fWBcbiAgICogcmVmZXJlbmNlIGluIGEgcGx1Z2luIHNwZWMgaXMgZXZhbHVhdGVkIGFnYWluc3QgdGhpcyBvYmplY3QgYXQgc3ludGggdGltZS5cbiAgICpcbiAgICogQ2FsbGVycyBjb25zdHJ1Y3RpbmcgYSBzdGVwIGRpcmVjdGx5IG11c3QgcHJvdmlkZSB0aGUgcGlwZWxpbmUgaWRlbnRpdHlcbiAgICogKyBtZXRhZGF0YSArIHZhcnMgc28gdGVtcGxhdGUgcmVzb2x1dGlvbiBpcyBuZXZlciBzaWxlbnRseSBza2lwcGVkLlxuICAgKi9cbiAgcmVhZG9ubHkgcGlwZWxpbmVTY29wZTogUmVjb3JkPHN0cmluZywgdW5rbm93bj47XG59XG4iXX0=
@@ -1,4 +1,4 @@
1
- import { Token } from './tokenizer';
1
+ import { type Token } from './tokenizer.js';
2
2
  /**
3
3
  * Small LRU cache for parsed token streams. Keys are caller-chosen
4
4
  * (typically `${pluginId}:${version}:${fieldPath}`). Capacity is bounded
@@ -1,15 +1,12 @@
1
- "use strict";
2
1
  // Copyright 2026 Pipeline Builder Contributors
3
2
  // SPDX-License-Identifier: Apache-2.0
4
- Object.defineProperty(exports, "__esModule", { value: true });
5
- exports.defaultTokenCache = exports.TokenCache = void 0;
6
- const tokenizer_1 = require("./tokenizer");
3
+ import { tokenize } from './tokenizer.js';
7
4
  /**
8
5
  * Small LRU cache for parsed token streams. Keys are caller-chosen
9
6
  * (typically `${pluginId}:${version}:${fieldPath}`). Capacity is bounded
10
7
  * so synth-time resolution in long-running services doesn't leak.
11
8
  */
12
- class TokenCache {
9
+ export class TokenCache {
13
10
  max;
14
11
  map = new Map();
15
12
  constructor(max = 100) {
@@ -46,7 +43,7 @@ class TokenCache {
46
43
  const hit = this.get(key);
47
44
  if (hit)
48
45
  return hit;
49
- const tokens = (0, tokenizer_1.tokenize)(source);
46
+ const tokens = tokenize(source);
50
47
  this.set(key, tokens);
51
48
  return tokens;
52
49
  }
@@ -57,7 +54,6 @@ class TokenCache {
57
54
  return this.map.size;
58
55
  }
59
56
  }
60
- exports.TokenCache = TokenCache;
61
57
  // Shared default cache for callers that don't want to own one.
62
- exports.defaultTokenCache = new TokenCache();
63
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FjaGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdGVtcGxhdGUvY2FjaGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLCtDQUErQztBQUMvQyxzQ0FBc0M7OztBQUV0QywyQ0FBOEM7QUFFOUM7Ozs7R0FJRztBQUNILE1BQWEsVUFBVTtJQUNKLEdBQUcsQ0FBUztJQUNaLEdBQUcsR0FBRyxJQUFJLEdBQUcsRUFBbUIsQ0FBQztJQUVsRCxZQUFZLEdBQUcsR0FBRyxHQUFHO1FBQ25CLElBQUksQ0FBQyxHQUFHLEdBQUcsR0FBRyxDQUFDO0lBQ2pCLENBQUM7SUFFRCxHQUFHLENBQUMsR0FBVztRQUNiLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQzlCLElBQUksQ0FBQyxHQUFHO1lBQUUsT0FBTyxTQUFTLENBQUM7UUFDM0Isa0NBQWtDO1FBQ2xDLElBQUksQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3JCLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxHQUFHLENBQUMsQ0FBQztRQUN2QixPQUFPLEdBQUcsQ0FBQztJQUNiLENBQUM7SUFFRCxHQUFHLENBQUMsR0FBVyxFQUFFLE1BQWU7UUFDOUIsSUFBSSxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUM7WUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUM1QyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFDMUIsSUFBSSxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUM7WUFDN0IsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxLQUFlLENBQUM7WUFDdEQsSUFBSSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDMUIsQ0FBQztJQUNILENBQUM7SUFFRCxVQUFVLENBQUMsR0FBVztRQUNwQixJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUN2QixDQUFDO0lBRUQsZ0JBQWdCLENBQUMsTUFBYztRQUM3QixLQUFLLE1BQU0sQ0FBQyxJQUFJLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxFQUFFLENBQUM7WUFDNUMsSUFBSSxDQUFDLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQztnQkFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUMvQyxDQUFDO0lBQ0gsQ0FBQztJQUVELEtBQUssQ0FBQyxHQUFXLEVBQUUsTUFBYztRQUMvQixNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQzFCLElBQUksR0FBRztZQUFFLE9BQU8sR0FBRyxDQUFDO1FBQ3BCLE1BQU0sTUFBTSxHQUFHLElBQUEsb0JBQVEsRUFBQyxNQUFNLENBQUMsQ0FBQztRQUNoQyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxNQUFNLENBQUMsQ0FBQztRQUN0QixPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDO0lBRUQsS0FBSztRQUNILElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDbkIsQ0FBQztJQUVELElBQUksSUFBSTtRQUNOLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUM7SUFDdkIsQ0FBQztDQUNGO0FBbkRELGdDQW1EQztBQUVELCtEQUErRDtBQUNsRCxRQUFBLGlCQUFpQixHQUFHLElBQUksVUFBVSxFQUFFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb3B5cmlnaHQgMjAyNiBQaXBlbGluZSBCdWlsZGVyIENvbnRyaWJ1dG9yc1xuLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFwYWNoZS0yLjBcblxuaW1wb3J0IHsgdG9rZW5pemUsIFRva2VuIH0gZnJvbSAnLi90b2tlbml6ZXInO1xuXG4vKipcbiAqIFNtYWxsIExSVSBjYWNoZSBmb3IgcGFyc2VkIHRva2VuIHN0cmVhbXMuIEtleXMgYXJlIGNhbGxlci1jaG9zZW5cbiAqICh0eXBpY2FsbHkgYCR7cGx1Z2luSWR9OiR7dmVyc2lvbn06JHtmaWVsZFBhdGh9YCkuIENhcGFjaXR5IGlzIGJvdW5kZWRcbiAqIHNvIHN5bnRoLXRpbWUgcmVzb2x1dGlvbiBpbiBsb25nLXJ1bm5pbmcgc2VydmljZXMgZG9lc24ndCBsZWFrLlxuICovXG5leHBvcnQgY2xhc3MgVG9rZW5DYWNoZSB7XG4gIHByaXZhdGUgcmVhZG9ubHkgbWF4OiBudW1iZXI7XG4gIHByaXZhdGUgcmVhZG9ubHkgbWFwID0gbmV3IE1hcDxzdHJpbmcsIFRva2VuW10+KCk7XG5cbiAgY29uc3RydWN0b3IobWF4ID0gMTAwKSB7XG4gICAgdGhpcy5tYXggPSBtYXg7XG4gIH1cblxuICBnZXQoa2V5OiBzdHJpbmcpOiBUb2tlbltdIHwgdW5kZWZpbmVkIHtcbiAgICBjb25zdCBoaXQgPSB0aGlzLm1hcC5nZXQoa2V5KTtcbiAgICBpZiAoIWhpdCkgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICAvLyBSZWZyZXNoIHJlY2VuY3kgYnkgcmUtaW5zZXJ0aW5nXG4gICAgdGhpcy5tYXAuZGVsZXRlKGtleSk7XG4gICAgdGhpcy5tYXAuc2V0KGtleSwgaGl0KTtcbiAgICByZXR1cm4gaGl0O1xuICB9XG5cbiAgc2V0KGtleTogc3RyaW5nLCB0b2tlbnM6IFRva2VuW10pOiB2b2lkIHtcbiAgICBpZiAodGhpcy5tYXAuaGFzKGtleSkpIHRoaXMubWFwLmRlbGV0ZShrZXkpO1xuICAgIHRoaXMubWFwLnNldChrZXksIHRva2Vucyk7XG4gICAgaWYgKHRoaXMubWFwLnNpemUgPiB0aGlzLm1heCkge1xuICAgICAgY29uc3Qgb2xkZXN0ID0gdGhpcy5tYXAua2V5cygpLm5leHQoKS52YWx1ZSBhcyBzdHJpbmc7XG4gICAgICB0aGlzLm1hcC5kZWxldGUob2xkZXN0KTtcbiAgICB9XG4gIH1cblxuICBpbnZhbGlkYXRlKGtleTogc3RyaW5nKTogdm9pZCB7XG4gICAgdGhpcy5tYXAuZGVsZXRlKGtleSk7XG4gIH1cblxuICBpbnZhbGlkYXRlUHJlZml4KHByZWZpeDogc3RyaW5nKTogdm9pZCB7XG4gICAgZm9yIChjb25zdCBrIG9mIEFycmF5LmZyb20odGhpcy5tYXAua2V5cygpKSkge1xuICAgICAgaWYgKGsuc3RhcnRzV2l0aChwcmVmaXgpKSB0aGlzLm1hcC5kZWxldGUoayk7XG4gICAgfVxuICB9XG5cbiAgcGFyc2Uoa2V5OiBzdHJpbmcsIHNvdXJjZTogc3RyaW5nKTogVG9rZW5bXSB7XG4gICAgY29uc3QgaGl0ID0gdGhpcy5nZXQoa2V5KTtcbiAgICBpZiAoaGl0KSByZXR1cm4gaGl0O1xuICAgIGNvbnN0IHRva2VucyA9IHRva2VuaXplKHNvdXJjZSk7XG4gICAgdGhpcy5zZXQoa2V5LCB0b2tlbnMpO1xuICAgIHJldHVybiB0b2tlbnM7XG4gIH1cblxuICBjbGVhcigpOiB2b2lkIHtcbiAgICB0aGlzLm1hcC5jbGVhcigpO1xuICB9XG5cbiAgZ2V0IHNpemUoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5tYXAuc2l6ZTtcbiAgfVxufVxuXG4vLyBTaGFyZWQgZGVmYXVsdCBjYWNoZSBmb3IgY2FsbGVycyB0aGF0IGRvbid0IHdhbnQgdG8gb3duIG9uZS5cbmV4cG9ydCBjb25zdCBkZWZhdWx0VG9rZW5DYWNoZSA9IG5ldyBUb2tlbkNhY2hlKCk7XG4iXX0=
58
+ export const defaultTokenCache = new TokenCache();
59
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FjaGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdGVtcGxhdGUvY2FjaGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsK0NBQStDO0FBQy9DLHNDQUFzQztBQUV0QyxPQUFPLEVBQUUsUUFBUSxFQUFjLE1BQU0sZ0JBQWdCLENBQUM7QUFFdEQ7Ozs7R0FJRztBQUNILE1BQU0sT0FBTyxVQUFVO0lBQ0osR0FBRyxDQUFTO0lBQ1osR0FBRyxHQUFHLElBQUksR0FBRyxFQUFtQixDQUFDO0lBRWxELFlBQVksR0FBRyxHQUFHLEdBQUc7UUFDbkIsSUFBSSxDQUFDLEdBQUcsR0FBRyxHQUFHLENBQUM7SUFDakIsQ0FBQztJQUVELEdBQUcsQ0FBQyxHQUFXO1FBQ2IsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDOUIsSUFBSSxDQUFDLEdBQUc7WUFBRSxPQUFPLFNBQVMsQ0FBQztRQUMzQixrQ0FBa0M7UUFDbEMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDckIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBQ3ZCLE9BQU8sR0FBRyxDQUFDO0lBQ2IsQ0FBQztJQUVELEdBQUcsQ0FBQyxHQUFXLEVBQUUsTUFBZTtRQUM5QixJQUFJLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQztZQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQzVDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxNQUFNLENBQUMsQ0FBQztRQUMxQixJQUFJLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQztZQUM3QixNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksRUFBRSxDQUFDLElBQUksRUFBRSxDQUFDLEtBQWUsQ0FBQztZQUN0RCxJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUMxQixDQUFDO0lBQ0gsQ0FBQztJQUVELFVBQVUsQ0FBQyxHQUFXO1FBQ3BCLElBQUksQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ3ZCLENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxNQUFjO1FBQzdCLEtBQUssTUFBTSxDQUFDLElBQUksS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksRUFBRSxDQUFDLEVBQUUsQ0FBQztZQUM1QyxJQUFJLENBQUMsQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDO2dCQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQy9DLENBQUM7SUFDSCxDQUFDO0lBRUQsS0FBSyxDQUFDLEdBQVcsRUFBRSxNQUFjO1FBQy9CLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDMUIsSUFBSSxHQUFHO1lBQUUsT0FBTyxHQUFHLENBQUM7UUFDcEIsTUFBTSxNQUFNLEdBQUcsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ2hDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQ3RCLE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7SUFFRCxLQUFLO1FBQ0gsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUNuQixDQUFDO0lBRUQsSUFBSSxJQUFJO1FBQ04sT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQztJQUN2QixDQUFDO0NBQ0Y7QUFFRCwrREFBK0Q7QUFDL0QsTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdBQUcsSUFBSSxVQUFVLEVBQUUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIENvcHlyaWdodCAyMDI2IFBpcGVsaW5lIEJ1aWxkZXIgQ29udHJpYnV0b3JzXG4vLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQXBhY2hlLTIuMFxuXG5pbXBvcnQgeyB0b2tlbml6ZSwgdHlwZSBUb2tlbiB9IGZyb20gJy4vdG9rZW5pemVyLmpzJztcblxuLyoqXG4gKiBTbWFsbCBMUlUgY2FjaGUgZm9yIHBhcnNlZCB0b2tlbiBzdHJlYW1zLiBLZXlzIGFyZSBjYWxsZXItY2hvc2VuXG4gKiAodHlwaWNhbGx5IGAke3BsdWdpbklkfToke3ZlcnNpb259OiR7ZmllbGRQYXRofWApLiBDYXBhY2l0eSBpcyBib3VuZGVkXG4gKiBzbyBzeW50aC10aW1lIHJlc29sdXRpb24gaW4gbG9uZy1ydW5uaW5nIHNlcnZpY2VzIGRvZXNuJ3QgbGVhay5cbiAqL1xuZXhwb3J0IGNsYXNzIFRva2VuQ2FjaGUge1xuICBwcml2YXRlIHJlYWRvbmx5IG1heDogbnVtYmVyO1xuICBwcml2YXRlIHJlYWRvbmx5IG1hcCA9IG5ldyBNYXA8c3RyaW5nLCBUb2tlbltdPigpO1xuXG4gIGNvbnN0cnVjdG9yKG1heCA9IDEwMCkge1xuICAgIHRoaXMubWF4ID0gbWF4O1xuICB9XG5cbiAgZ2V0KGtleTogc3RyaW5nKTogVG9rZW5bXSB8IHVuZGVmaW5lZCB7XG4gICAgY29uc3QgaGl0ID0gdGhpcy5tYXAuZ2V0KGtleSk7XG4gICAgaWYgKCFoaXQpIHJldHVybiB1bmRlZmluZWQ7XG4gICAgLy8gUmVmcmVzaCByZWNlbmN5IGJ5IHJlLWluc2VydGluZ1xuICAgIHRoaXMubWFwLmRlbGV0ZShrZXkpO1xuICAgIHRoaXMubWFwLnNldChrZXksIGhpdCk7XG4gICAgcmV0dXJuIGhpdDtcbiAgfVxuXG4gIHNldChrZXk6IHN0cmluZywgdG9rZW5zOiBUb2tlbltdKTogdm9pZCB7XG4gICAgaWYgKHRoaXMubWFwLmhhcyhrZXkpKSB0aGlzLm1hcC5kZWxldGUoa2V5KTtcbiAgICB0aGlzLm1hcC5zZXQoa2V5LCB0b2tlbnMpO1xuICAgIGlmICh0aGlzLm1hcC5zaXplID4gdGhpcy5tYXgpIHtcbiAgICAgIGNvbnN0IG9sZGVzdCA9IHRoaXMubWFwLmtleXMoKS5uZXh0KCkudmFsdWUgYXMgc3RyaW5nO1xuICAgICAgdGhpcy5tYXAuZGVsZXRlKG9sZGVzdCk7XG4gICAgfVxuICB9XG5cbiAgaW52YWxpZGF0ZShrZXk6IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMubWFwLmRlbGV0ZShrZXkpO1xuICB9XG5cbiAgaW52YWxpZGF0ZVByZWZpeChwcmVmaXg6IHN0cmluZyk6IHZvaWQge1xuICAgIGZvciAoY29uc3QgayBvZiBBcnJheS5mcm9tKHRoaXMubWFwLmtleXMoKSkpIHtcbiAgICAgIGlmIChrLnN0YXJ0c1dpdGgocHJlZml4KSkgdGhpcy5tYXAuZGVsZXRlKGspO1xuICAgIH1cbiAgfVxuXG4gIHBhcnNlKGtleTogc3RyaW5nLCBzb3VyY2U6IHN0cmluZyk6IFRva2VuW10ge1xuICAgIGNvbnN0IGhpdCA9IHRoaXMuZ2V0KGtleSk7XG4gICAgaWYgKGhpdCkgcmV0dXJuIGhpdDtcbiAgICBjb25zdCB0b2tlbnMgPSB0b2tlbml6ZShzb3VyY2UpO1xuICAgIHRoaXMuc2V0KGtleSwgdG9rZW5zKTtcbiAgICByZXR1cm4gdG9rZW5zO1xuICB9XG5cbiAgY2xlYXIoKTogdm9pZCB7XG4gICAgdGhpcy5tYXAuY2xlYXIoKTtcbiAgfVxuXG4gIGdldCBzaXplKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMubWFwLnNpemU7XG4gIH1cbn1cblxuLy8gU2hhcmVkIGRlZmF1bHQgY2FjaGUgZm9yIGNhbGxlcnMgdGhhdCBkb24ndCB3YW50IHRvIG93biBvbmUuXG5leHBvcnQgY29uc3QgZGVmYXVsdFRva2VuQ2FjaGUgPSBuZXcgVG9rZW5DYWNoZSgpO1xuIl19
@@ -1,5 +1,5 @@
1
1
  import { ErrorCode } from '@pipeline-builder/api-core';
2
- import { SourcePosition, Token } from './tokenizer';
2
+ import type { SourcePosition, Token } from './tokenizer.js';
3
3
  export type Scope = Record<string, unknown>;
4
4
  export interface EvalError {
5
5
  code: ErrorCode;
@@ -1,17 +1,12 @@
1
- "use strict";
2
1
  // Copyright 2026 Pipeline Builder Contributors
3
2
  // SPDX-License-Identifier: Apache-2.0
4
- Object.defineProperty(exports, "__esModule", { value: true });
5
- exports.lookupPath = lookupPath;
6
- exports.resolve = resolve;
7
- exports.dependencies = dependencies;
8
- const api_core_1 = require("@pipeline-builder/api-core");
3
+ import { ErrorCode } from '@pipeline-builder/api-core';
9
4
  const RESERVED_ROOT_PATHS = new Set(['secrets']);
10
5
  /**
11
6
  * Look up a dot-separated path inside a scope object. Returns `undefined`
12
7
  * if any intermediate segment is missing or not an object.
13
8
  */
14
- function lookupPath(scope, path) {
9
+ export function lookupPath(scope, path) {
15
10
  let cur = scope;
16
11
  for (const segment of path) {
17
12
  if (cur == null || typeof cur !== 'object')
@@ -31,7 +26,7 @@ function lookupPath(scope, path) {
31
26
  * (string, because the template is embedded in surrounding literals).
32
27
  * Mixed-literal fields always return a string.
33
28
  */
34
- function resolve(tokens, scope, field) {
29
+ export function resolve(tokens, scope, field) {
35
30
  // Whole-field coercion shortcut: only apply coercion when the entire field
36
31
  // is a single expression (no surrounding literal text).
37
32
  if (tokens.length === 1 && tokens[0].kind === 'expr' && tokens[0].coerce) {
@@ -55,7 +50,7 @@ function resolveOne(tok, scope, field) {
55
50
  const root = tok.path[0];
56
51
  if (RESERVED_ROOT_PATHS.has(root)) {
57
52
  throw makeEvalError({
58
- code: api_core_1.ErrorCode.TEMPLATE_SECRETS_RESERVED,
53
+ code: ErrorCode.TEMPLATE_SECRETS_RESERVED,
59
54
  message: `'${root}' is a reserved scope — use the plugin's 'secrets:' field instead`,
60
55
  field,
61
56
  path: tok.path.join('.'),
@@ -67,7 +62,7 @@ function resolveOne(tok, scope, field) {
67
62
  if (tok.defaultValue !== undefined)
68
63
  return tok.defaultValue;
69
64
  throw makeEvalError({
70
- code: api_core_1.ErrorCode.TEMPLATE_UNKNOWN_PATH,
65
+ code: ErrorCode.TEMPLATE_UNKNOWN_PATH,
71
66
  message: `Template references unknown path '${tok.path.join('.')}' and no default provided`,
72
67
  field,
73
68
  path: tok.path.join('.'),
@@ -76,7 +71,7 @@ function resolveOne(tok, scope, field) {
76
71
  }
77
72
  if (typeof value === 'object') {
78
73
  throw makeEvalError({
79
- code: api_core_1.ErrorCode.TEMPLATE_TYPE_MISMATCH,
74
+ code: ErrorCode.TEMPLATE_TYPE_MISMATCH,
80
75
  message: `Template path '${tok.path.join('.')}' resolved to an object; only strings/numbers/booleans are interpolatable`,
81
76
  field,
82
77
  path: tok.path.join('.'),
@@ -92,7 +87,7 @@ function applyCoercion(raw, kind, tok, field) {
92
87
  const n = Number(raw);
93
88
  if (!Number.isFinite(n)) {
94
89
  throw makeEvalError({
95
- code: api_core_1.ErrorCode.TEMPLATE_TYPE_MISMATCH,
90
+ code: ErrorCode.TEMPLATE_TYPE_MISMATCH,
96
91
  message: `'${raw}' cannot be coerced to number at path '${tok.path.join('.')}'`,
97
92
  field,
98
93
  path: tok.path.join('.'),
@@ -108,7 +103,7 @@ function applyCoercion(raw, kind, tok, field) {
108
103
  if (v === 'false' || v === '0' || v === 'no' || v === '')
109
104
  return false;
110
105
  throw makeEvalError({
111
- code: api_core_1.ErrorCode.TEMPLATE_TYPE_MISMATCH,
106
+ code: ErrorCode.TEMPLATE_TYPE_MISMATCH,
112
107
  message: `'${raw}' cannot be coerced to bool at path '${tok.path.join('.')}'`,
113
108
  field,
114
109
  path: tok.path.join('.'),
@@ -121,7 +116,7 @@ function applyCoercion(raw, kind, tok, field) {
121
116
  }
122
117
  catch (err) {
123
118
  throw makeEvalError({
124
- code: api_core_1.ErrorCode.TEMPLATE_TYPE_MISMATCH,
119
+ code: ErrorCode.TEMPLATE_TYPE_MISMATCH,
125
120
  message: `'${raw}' is not valid JSON at path '${tok.path.join('.')}': ${err.message}`,
126
121
  field,
127
122
  path: tok.path.join('.'),
@@ -135,7 +130,7 @@ function applyCoercion(raw, kind, tok, field) {
135
130
  * Extract dependency paths from a token stream. Used by the topological
136
131
  * sort pass to order resolution of self-referencing documents.
137
132
  */
138
- function dependencies(tokens) {
133
+ export function dependencies(tokens) {
139
134
  const out = [];
140
135
  for (const tok of tokens) {
141
136
  if (tok.kind === 'expr')
@@ -152,4 +147,4 @@ function makeEvalError(e) {
152
147
  err.pos = e.pos;
153
148
  return err;
154
149
  }
155
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZhbHVhdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3RlbXBsYXRlL2V2YWx1YXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsK0NBQStDO0FBQy9DLHNDQUFzQzs7QUFxQnRDLGdDQU9DO0FBYUQsMEJBdUJDO0FBMEZELG9DQU1DO0FBOUpELHlEQUF1RDtBQWF2RCxNQUFNLG1CQUFtQixHQUFHLElBQUksR0FBRyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQztBQUVqRDs7O0dBR0c7QUFDSCxTQUFnQixVQUFVLENBQUMsS0FBWSxFQUFFLElBQWM7SUFDckQsSUFBSSxHQUFHLEdBQVksS0FBSyxDQUFDO0lBQ3pCLEtBQUssTUFBTSxPQUFPLElBQUksSUFBSSxFQUFFLENBQUM7UUFDM0IsSUFBSSxHQUFHLElBQUksSUFBSSxJQUFJLE9BQU8sR0FBRyxLQUFLLFFBQVE7WUFBRSxPQUFPLFNBQVMsQ0FBQztRQUM3RCxHQUFHLEdBQUksR0FBK0IsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNsRCxDQUFDO0lBQ0QsT0FBTyxHQUFHLENBQUM7QUFDYixDQUFDO0FBRUQ7Ozs7Ozs7Ozs7R0FVRztBQUNILFNBQWdCLE9BQU8sQ0FDckIsTUFBZSxFQUNmLEtBQVksRUFDWixLQUFjO0lBRWQsMkVBQTJFO0lBQzNFLHdEQUF3RDtJQUN4RCxJQUFJLE1BQU0sQ0FBQyxNQUFNLEtBQUssQ0FBQyxJQUFJLE1BQU0sQ0FBQyxDQUFDLENBQUUsQ0FBQyxJQUFJLEtBQUssTUFBTSxJQUFJLE1BQU0sQ0FBQyxDQUFDLENBQUUsQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUMzRSxNQUFNLEdBQUcsR0FBRyxNQUFNLENBQUMsQ0FBQyxDQUFzQyxDQUFDO1FBQzNELE1BQU0sR0FBRyxHQUFHLFVBQVUsQ0FBQyxHQUFHLEVBQUUsS0FBSyxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQzFDLE9BQU8sYUFBYSxDQUFDLEdBQUcsRUFBRSxHQUFH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QyxLQUFLLENBQUM7SUFDcEIsR0FBRyxDQUFDLElBQUksR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDO0lBQ2xCLEdBQUcsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQztJQUNoQixPQUFPLEdBQUcsQ0FBQztBQUNiLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb3B5cmlnaHQgMjAyNiBQaXBlbGluZSBCdWlsZGVyIENvbnRyaWJ1dG9yc1xuLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFwYWNoZS0yLjBcblxuaW1wb3J0IHsgRXJyb3JDb2RlIH0gZnJvbSAnQHBpcGVsaW5lLWJ1aWxkZXIvYXBpLWNvcmUnO1xuaW1wb3J0IHsgQ29lcmNlS2luZCwgU291cmNlUG9zaXRpb24sIFRva2VuIH0gZnJvbSAnLi90b2tlbml6ZXInO1xuXG5leHBvcnQgdHlwZSBTY29wZSA9IFJlY29yZDxzdHJpbmcsIHVua25vd24+O1xuXG5leHBvcnQgaW50ZXJmYWNlIEV2YWxFcnJvciB7XG4gIGNvZGU6IEVycm9yQ29kZTtcbiAgbWVzc2FnZTogc3RyaW5nO1xuICBmaWVsZD86IHN0cmluZztcbiAgcGF0aD86IHN0cmluZztcbiAgcG9zPzogU291cmNlUG9zaXRpb247XG59XG5cbmNvbnN0IFJFU0VSVkVEX1JPT1RfUEFUSFMgPSBuZXcgU2V0KFsnc2VjcmV0cyddKTtcblxuLyoqXG4gKiBMb29rIHVwIGEgZG90LXNlcGFyYXRlZCBwYXRoIGluc2lkZSBhIHNjb3BlIG9iamVjdC4gUmV0dXJucyBgdW5kZWZpbmVkYFxuICogaWYgYW55IGludGVybWVkaWF0ZSBzZWdtZW50IGlzIG1pc3Npbmcgb3Igbm90IGFuIG9iamVjdC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGxvb2t1cFBhdGgoc2NvcGU6IFNjb3BlLCBwYXRoOiBzdHJpbmdbXSk6IHVua25vd24ge1xuICBsZXQgY3VyOiB1bmtub3duID0gc2NvcGU7XG4gIGZvciAoY29uc3Qgc2VnbWVudCBvZiBwYXRoKSB7XG4gICAgaWYgKGN1ciA9PSBudWxsIHx8IHR5cGVvZiBjdXIgIT09ICdvYmplY3QnKSByZXR1cm4gdW5kZWZpbmVkO1xuICAgIGN1ciA9IChjdXIgYXMgUmVjb3JkPHN0cmluZywgdW5rbm93bj4pW3NlZ21lbnRdO1xuICB9XG4gIHJldHVybiBjdXI7XG59XG5cbi8qKlxuICogUmVzb2x2ZSBhIHRva2VuIHN0cmVhbSBhZ2FpbnN0IGEgc2NvcGUuIFJldHVybnMgdGhlIHJlc29sdmVkIHN0cmluZy5cbiAqIFRocm93cyBgRXZhbEVycm9yYCB3aGVuIGFuIHVucmVzb2x2ZWQgcGF0aCBoYXMgbm8gZGVmYXVsdCBmaWx0ZXIuXG4gKlxuICogQ29lcmNpb24gZmlsdGVycyAoYHwgbnVtYmVyYCwgYHwgYm9vbGAsIGB8IGpzb25gKSBvbmx5IHRha2UgZWZmZWN0XG4gKiB3aGVuIHRoZSB0ZW1wbGF0ZSBleHByZXNzaW9uIGlzIHRoZSBlbnRpcmUgZmllbGQg4oCUIGUuZy5cbiAqIGByZXBsaWNhczogXCJ7eyB2YXJzLmNvdW50IHwgbnVtYmVyIH19XCJgIHlpZWxkcyBgM2AgKG51bWJlcikgd2hpbGVcbiAqIGByZXBsaWNhczogXCJjb3VudD17eyB2YXJzLmNvdW50IHwgbnVtYmVyIH19XCJgIHlpZWxkcyBgXCJjb3VudD0zXCJgXG4gKiAoc3RyaW5nLCBiZWNhdXNlIHRoZSB0ZW1wbGF0ZSBpcyBlbWJlZGRlZCBpbiBzdXJyb3VuZGluZyBsaXRlcmFscykuXG4gKiBNaXhlZC1saXRlcmFsIGZpZWxkcyBhbHdheXMgcmV0dXJuIGEgc3RyaW5nLlxuICovXG5leHBvcnQgZnVuY3Rpb24gcmVzb2x2ZShcbiAgdG9rZW5zOiBUb2tlbltdLFxuICBzY29wZTogU2NvcGUsXG4gIGZpZWxkPzogc3RyaW5nLFxuKTogc3RyaW5nIHwgbnVtYmVyIHwgYm9vbGVhbiB8IG51bGwgfCB1bmtub3duW10gfCBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiB7XG4gIC8vIFdob2xlLWZpZWxkIGNvZXJjaW9uIHNob3J0Y3V0OiBvbmx5IGFwcGx5IGNvZXJjaW9uIHdoZW4gdGhlIGVudGlyZSBmaWVsZFxuICAvLyBpcyBhIHNpbmdsZSBleHByZXNzaW9uIChubyBzdXJyb3VuZGluZyBsaXRlcmFsIHRleHQpLlxuICBpZiAodG9rZW5zLmxlbmd0aCA9PT0gMSAmJiB0b2tlbnNbMF0hLmtpbmQgPT09ICdleHByJyAmJiB0b2tlbnNbMF0hLmNvZXJjZSkge1xuICAgIGNvbnN0IHRvayA9IHRva2Vuc1swXSEgYXMgRXh0cmFjdDxUb2tlbiwgeyBraW5kOiAnZXhwcicgfT47XG4gICAgY29uc3QgcmF3ID0gcmVzb2x2ZU9uZSh0b2ssIHNjb3BlLCBmaWVsZCk7XG4gICAgcmV0dXJuIGFwcGx5Q29lcmNpb24ocmF3LCB0b2suY29lcmNlISwgdG9rLCBmaWVsZCk7XG4gIH1cblxuICBjb25zdCBwYXJ0czogc3RyaW5nW10gPSBbXTtcbiAgZm9yIChjb25zdCB0b2sgb2YgdG9rZW5zKSB7XG4gICAgaWYgKHRvay5raW5kID09PSAnbGl0ZXJhbCcpIHtcbiAgICAgIHBhcnRzLnB1c2godG9rLnZhbHVlKTtcbiAgICAgIGNvbnRpbnVlO1xuICAgIH1cbiAgICBjb25zdCByYXcgPSByZXNvbHZlT25lKHRvaywgc2NvcGUsIGZpZWxkKTtcbiAgICBwYXJ0cy5wdXNoKHR5cGVvZiByYXcgPT09ICdzdHJpbmcnID8gcmF3IDogU3RyaW5nKHJhdykpO1xuICB9XG4gIHJldHVybiBwYXJ0cy5qb2luKCcnKTtcbn1cblxuLyoqIFJlc29sdmUgYSBzaW5nbGUgZXhwcmVzc2lvbiB0b2tlbiB0byBpdHMgc3RyaW5nIGZvcm0gKG5vIGNvZXJjaW9uKS4gKi9cbmZ1bmN0aW9uIHJlc29sdmVPbmUodG9rOiBFeHRyYWN0PFRva2VuLCB7IGtpbmQ6ICdleHByJyB9Piwgc2NvcGU6IFNjb3BlLCBmaWVsZD86IHN0cmluZyk6IHN0cmluZyB7XG4gIGNvbnN0IHJvb3QgPSB0b2sucGF0aFswXSE7XG4gIGlmIChSRVNFUlZFRF9ST09UX1BBVEhTLmhhcyhyb290KSkge1xuICAgIHRocm93IG1ha2VFdmFsRXJyb3Ioe1xuICAgICAgY29kZTogRXJyb3JDb2RlLlRFTVBMQVRFX1NFQ1JFVFNfUkVTRVJWRUQsXG4gICAgICBtZXNzYWdlOiBgJyR7cm9vdH0nIGlzIGEgcmVzZXJ2ZWQgc2NvcGUg4oCUIHVzZSB0aGUgcGx1Z2luJ3MgJ3NlY3JldHM6JyBmaWVsZCBpbnN0ZWFkYCxcbiAgICAgIGZpZWxkLFxuICAgICAgcGF0aDogdG9rLnBhdGguam9pbignLicpLFxuICAgICAgcG9zOiB0b2sucG9zLFxuICAgIH0pO1xuICB9XG4gIGNvbnN0IHZhbHVlID0gbG9va3VwUGF0aChzY29wZSwgdG9rLnBhdGgpO1xuICBpZiAodmFsdWUgPT0gbnVsbCB8fCB2YWx1ZSA9PT0gJycpIHtcbiAgICBpZiAodG9rLmRlZmF1bHRWYWx1ZSAhPT0gdW5kZWZpbmVkKSByZXR1cm4gdG9rLmRlZmF1bHRWYWx1ZTtcbiAgICB0aHJvdyBtYWtlRXZhbEVycm9yKHtcbiAgICAgIGNvZGU6IEVycm9yQ29kZS5URU1QTEFURV9VTktOT1dOX1BBVEgsXG4gICAgICBtZXNzYWdlOiBgVGVtcGxhdGUgcmVmZXJlbmNlcyB1bmtub3duIHBhdGggJyR7dG9rLnBhdGguam9pbignLicpfScgYW5kIG5vIGRlZmF1bHQgcHJvdmlkZWRgLFxuICAgICAgZmllbGQsXG4gICAgICBwYXRoOiB0b2sucGF0aC5qb2luKCcuJyksXG4gICAgICBwb3M6IHRvay5wb3MsXG4gICAgfSk7XG4gIH1cbiAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ29iamVjdCcpIHtcbiAgICB0aHJvdyBtYWtlRXZhbEVycm9yKHtcbiAgICAgIGNvZGU6IEVycm9yQ29kZS5URU1QTEFURV9UWVBFX01JU01BVENILFxuICAgICAgbWVzc2FnZTogYFRlbXBsYXRlIHBhdGggJyR7dG9rLnBhdGguam9pbignLicpfScgcmVzb2x2ZWQgdG8gYW4gb2JqZWN0OyBvbmx5IHN0cmluZ3MvbnVtYmVycy9ib29sZWFucyBhcmUgaW50ZXJwb2xhdGFibGVgLFxuICAgICAgZmllbGQsXG4gICAgICBwYXRoOiB0b2sucGF0aC5qb2luKCcuJyksXG4gICAgICBwb3M6IHRvay5wb3MsXG4gICAgfSk7XG4gIH1cbiAgcmV0dXJuIFN0cmluZyh2YWx1ZSk7XG59XG5cbi8qKiBBcHBseSBhIHdob2xlLWZpZWxkIGNvZXJjaW9uIGZpbHRlciB0byBhIHJlc29sdmVkIHN0cmluZyB2YWx1ZS4gKi9cbmZ1bmN0aW9uIGFwcGx5Q29lcmNpb24oXG4gIHJhdzogc3RyaW5nLFxuICBraW5kOiBDb2VyY2VLaW5kLFxuICB0b2s6IEV4dHJhY3Q8VG9rZW4sIHsga2luZDogJ2V4cHInIH0+LFxuICBmaWVsZD86IHN0cmluZyxcbik6IG51bWJlciB8IGJvb2xlYW4gfCBudWxsIHwgc3RyaW5nIHwgdW5rbm93bltdIHwgUmVjb3JkPHN0cmluZywgdW5rbm93bj4ge1xuICBzd2l0Y2ggKGtpbmQpIHtcbiAgICBjYXNlICdudW1iZXInOiB7XG4gICAgICBjb25zdCBuID0gTnVtYmVyKHJhdyk7XG4gICAgICBpZiAoIU51bWJlci5pc0Zpbml0ZShuKSkge1xuICAgICAgICB0aHJvdyBtYWtlRXZhbEVycm9yKHtcbiAgICAgICAgICBjb2RlOiBFcnJvckNvZGUuVEVNUExBVEVfVFlQRV9NSVNNQVRDSCxcbiAgICAgICAgICBtZXNzYWdlOiBgJyR7cmF3fScgY2Fubm90IGJlIGNvZXJjZWQgdG8gbnVtYmVyIGF0IHBhdGggJyR7dG9rLnBhdGguam9pbignLicpfSdgLFxuICAgICAgICAgIGZpZWxkLFxuICAgICAgICAgIHBhdGg6IHRvay5wYXRoLmpvaW4oJy4nKSxcbiAgICAgICAgICBwb3M6IHRvay5wb3MsXG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgICAgcmV0dXJuIG47XG4gICAgfVxuICAgIGNhc2UgJ2Jvb2wnOiB7XG4gICAgICBjb25zdCB2ID0gcmF3LnRyaW0oKS50b0xvd2VyQ2FzZSgpO1xuICAgICAgaWYgKHYgPT09ICd0cnVlJyB8fCB2ID09PSAnMScgfHwgdiA9PT0gJ3llcycpIHJldHVybiB0cnVlO1xuICAgICAgaWYgKHYgPT09ICdmYWxzZScgfHwgdiA9PT0gJzAnIHx8IHYgPT09ICdubycgfHwgdiA9PT0gJycpIHJldHVybiBmYWxzZTtcbiAgICAgIHRocm93IG1ha2VFdmFsRXJyb3Ioe1xuICAgICAgICBjb2RlOiBFcnJvckNvZGUuVEVNUExBVEVfVFlQRV9NSVNNQVRDSCxcbiAgICAgICAgbWVzc2FnZTogYCcke3Jhd30nIGNhbm5vdCBiZSBjb2VyY2VkIHRvIGJvb2wgYXQgcGF0aCAnJHt0b2sucGF0aC5qb2luKCcuJyl9J2AsXG4gICAgICAgIGZpZWxkLFxuICAgICAgICBwYXRoOiB0b2sucGF0aC5qb2luKCcuJyksXG4gICAgICAgIHBvczogdG9rLnBvcyxcbiAgICAgIH0pO1xuICAgIH1cbiAgICBjYXNlICdqc29uJzoge1xuICAgICAgdHJ5IHtcbiAgICAgICAgcmV0dXJuIEpTT04ucGFyc2UocmF3KSBhcyBzdHJpbmcgfCBudW1iZXIgfCBib29sZWFuIHwgbnVsbCB8IHVua25vd25bXSB8IFJlY29yZDxzdHJpbmcsIHVua25vd24+O1xuICAgICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICAgIHRocm93IG1ha2VFdmFsRXJyb3Ioe1xuICAgICAgICAgIGNvZGU6IEVycm9yQ29kZS5URU1QTEFURV9UWVBFX01JU01BVENILFxuICAgICAgICAgIG1lc3NhZ2U6IGAnJHtyYXd9JyBpcyBub3QgdmFsaWQgSlNPTiBhdCBwYXRoICcke3Rvay5wYXRoLmpvaW4oJy4nKX0nOiAkeyhlcnIgYXMgRXJyb3IpLm1lc3NhZ2V9YCxcbiAgICAgICAgICBmaWVsZCxcbiAgICAgICAgICBwYXRoOiB0b2sucGF0aC5qb2luKCcuJyksXG4gICAgICAgICAgcG9zOiB0b2sucG9zLFxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLyoqXG4gKiBFeHRyYWN0IGRlcGVuZGVuY3kgcGF0aHMgZnJvbSBhIHRva2VuIHN0cmVhbS4gVXNlZCBieSB0aGUgdG9wb2xvZ2ljYWxcbiAqIHNvcnQgcGFzcyB0byBvcmRlciByZXNvbHV0aW9uIG9mIHNlbGYtcmVmZXJlbmNpbmcgZG9jdW1lbnRzLlxuICovXG5leHBvcnQgZnVuY3Rpb24gZGVwZW5kZW5jaWVzKHRva2VuczogVG9rZW5bXSk6IHN0cmluZ1tdIHtcbiAgY29uc3Qgb3V0OiBzdHJpbmdbXSA9IFtdO1xuICBmb3IgKGNvbnN0IHRvayBvZiB0b2tlbnMpIHtcbiAgICBpZiAodG9rLmtpbmQgPT09ICdleHByJykgb3V0LnB1c2godG9rLnBhdGguam9pbignLicpKTtcbiAgfVxuICByZXR1cm4gb3V0O1xufVxuXG5mdW5jdGlvbiBtYWtlRXZhbEVycm9yKGU6IEV2YWxFcnJvcik6IEVycm9yICYgRXZhbEVycm9yIHtcbiAgY29uc3QgZXJyID0gbmV3IEVycm9yKGUubWVzc2FnZSkgYXMgRXJyb3IgJiBFdmFsRXJyb3I7XG4gIGVyci5uYW1lID0gJ1RlbXBsYXRlRXZhbEVycm9yJztcbiAgZXJyLmNvZGUgPSBlLmNvZGU7XG4gIGVyci5maWVsZCA9IGUuZmllbGQ7XG4gIGVyci5wYXRoID0gZS5wYXRoO1xuICBlcnIucG9zID0gZS5wb3M7XG4gIHJldHVybiBlcnI7XG59XG4iXX0=
150
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZhbHVhdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3RlbXBsYXRlL2V2YWx1YXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwrQ0FBK0M7QUFDL0Msc0NBQXNDO0FBRXRDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQWF2RCxNQUFNLG1CQUFtQixHQUFHLElBQUksR0FBRyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQztBQUVqRDs7O0dBR0c7QUFDSCxNQUFNLFVBQVUsVUFBVSxDQUFDLEtBQVksRUFBRSxJQUFjO0lBQ3JELElBQUksR0FBRyxHQUFZLEtBQUssQ0FBQztJQUN6QixLQUFLLE1BQU0sT0FBTyxJQUFJLElBQUksRUFBRSxDQUFDO1FBQzNCLElBQUksR0FBRyxJQUFJLElBQUksSUFBSSxPQUFPLEdBQUcsS0FBSyxRQUFRO1lBQUUsT0FBTyxTQUFTLENBQUM7UUFDN0QsR0FBRyxHQUFJLEdBQStCLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDbEQsQ0FBQztJQUNELE9BQU8sR0FBRyxDQUFDO0FBQ2IsQ0FBQztBQUVEOzs7Ozs7Ozs7O0dBVUc7QUFDSCxNQUFNLFVBQVUsT0FBTyxDQUNyQixNQUFlLEVBQ2YsS0FBWSxFQUNaLEtBQWM7SUFFZCwyRUFBMkU7SUFDM0Usd0RBQXdEO0lBQ3hELElBQUksTUFBTSxDQUFDLE1BQU0sS0FBSyxDQUFDLElBQUksTUFBTSxDQUFDLENBQUMsQ0FBRSxDQUFDLElBQUksS0FBSyxNQUFNLElBQUksTUFBTSxDQUFDLENBQUMsQ0FBRSxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQzNFLE1BQU0sR0FBRyxHQUFHLE1BQU0sQ0FBQyxDQUFDLENBQXNDLENBQUM7UUFDM0QsTUFBTSxHQUFHLEdBQUcsVUFBVSxDQUFDLEdBQUcsRUFBRSxLQUFLLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDMUMsT0FBTyxhQUFhLENBQUMsR0FBRyxFQUFFLEdBQUcs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QUFLLENBQUM7SUFDcEIsR0FBRyxDQUFDLElBQUksR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDO0lBQ2xCLEdBQUcsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQztJQUNoQixPQUFPLEdBQUcsQ0FBQztBQUNiLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb3B5cmlnaHQgMjAyNiBQaXBlbGluZSBCdWlsZGVyIENvbnRyaWJ1dG9yc1xuLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFwYWNoZS0yLjBcblxuaW1wb3J0IHsgRXJyb3JDb2RlIH0gZnJvbSAnQHBpcGVsaW5lLWJ1aWxkZXIvYXBpLWNvcmUnO1xuaW1wb3J0IHR5cGUgeyBDb2VyY2VLaW5kLCBTb3VyY2VQb3NpdGlvbiwgVG9rZW4gfSBmcm9tICcuL3Rva2VuaXplci5qcyc7XG5cbmV4cG9ydCB0eXBlIFNjb3BlID0gUmVjb3JkPHN0cmluZywgdW5rbm93bj47XG5cbmV4cG9ydCBpbnRlcmZhY2UgRXZhbEVycm9yIHtcbiAgY29kZTogRXJyb3JDb2RlO1xuICBtZXNzYWdlOiBzdHJpbmc7XG4gIGZpZWxkPzogc3RyaW5nO1xuICBwYXRoPzogc3RyaW5nO1xuICBwb3M/OiBTb3VyY2VQb3NpdGlvbjtcbn1cblxuY29uc3QgUkVTRVJWRURfUk9PVF9QQVRIUyA9IG5ldyBTZXQoWydzZWNyZXRzJ10pO1xuXG4vKipcbiAqIExvb2sgdXAgYSBkb3Qtc2VwYXJhdGVkIHBhdGggaW5zaWRlIGEgc2NvcGUgb2JqZWN0LiBSZXR1cm5zIGB1bmRlZmluZWRgXG4gKiBpZiBhbnkgaW50ZXJtZWRpYXRlIHNlZ21lbnQgaXMgbWlzc2luZyBvciBub3QgYW4gb2JqZWN0LlxuICovXG5leHBvcnQgZnVuY3Rpb24gbG9va3VwUGF0aChzY29wZTogU2NvcGUsIHBhdGg6IHN0cmluZ1tdKTogdW5rbm93biB7XG4gIGxldCBjdXI6IHVua25vd24gPSBzY29wZTtcbiAgZm9yIChjb25zdCBzZWdtZW50IG9mIHBhdGgpIHtcbiAgICBpZiAoY3VyID09IG51bGwgfHwgdHlwZW9mIGN1ciAhPT0gJ29iamVjdCcpIHJldHVybiB1bmRlZmluZWQ7XG4gICAgY3VyID0gKGN1ciBhcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPilbc2VnbWVudF07XG4gIH1cbiAgcmV0dXJuIGN1cjtcbn1cblxuLyoqXG4gKiBSZXNvbHZlIGEgdG9rZW4gc3RyZWFtIGFnYWluc3QgYSBzY29wZS4gUmV0dXJucyB0aGUgcmVzb2x2ZWQgc3RyaW5nLlxuICogVGhyb3dzIGBFdmFsRXJyb3JgIHdoZW4gYW4gdW5yZXNvbHZlZCBwYXRoIGhhcyBubyBkZWZhdWx0IGZpbHRlci5cbiAqXG4gKiBDb2VyY2lvbiBmaWx0ZXJzIChgfCBudW1iZXJgLCBgfCBib29sYCwgYHwganNvbmApIG9ubHkgdGFrZSBlZmZlY3RcbiAqIHdoZW4gdGhlIHRlbXBsYXRlIGV4cHJlc3Npb24gaXMgdGhlIGVudGlyZSBmaWVsZCDigJQgZS5nLlxuICogYHJlcGxpY2FzOiBcInt7IHZhcnMuY291bnQgfCBudW1iZXIgfX1cImAgeWllbGRzIGAzYCAobnVtYmVyKSB3aGlsZVxuICogYHJlcGxpY2FzOiBcImNvdW50PXt7IHZhcnMuY291bnQgfCBudW1iZXIgfX1cImAgeWllbGRzIGBcImNvdW50PTNcImBcbiAqIChzdHJpbmcsIGJlY2F1c2UgdGhlIHRlbXBsYXRlIGlzIGVtYmVkZGVkIGluIHN1cnJvdW5kaW5nIGxpdGVyYWxzKS5cbiAqIE1peGVkLWxpdGVyYWwgZmllbGRzIGFsd2F5cyByZXR1cm4gYSBzdHJpbmcuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiByZXNvbHZlKFxuICB0b2tlbnM6IFRva2VuW10sXG4gIHNjb3BlOiBTY29wZSxcbiAgZmllbGQ/OiBzdHJpbmcsXG4pOiBzdHJpbmcgfCBudW1iZXIgfCBib29sZWFuIHwgbnVsbCB8IHVua25vd25bXSB8IFJlY29yZDxzdHJpbmcsIHVua25vd24+IHtcbiAgLy8gV2hvbGUtZmllbGQgY29lcmNpb24gc2hvcnRjdXQ6IG9ubHkgYXBwbHkgY29lcmNpb24gd2hlbiB0aGUgZW50aXJlIGZpZWxkXG4gIC8vIGlzIGEgc2luZ2xlIGV4cHJlc3Npb24gKG5vIHN1cnJvdW5kaW5nIGxpdGVyYWwgdGV4dCkuXG4gIGlmICh0b2tlbnMubGVuZ3RoID09PSAxICYmIHRva2Vuc1swXSEua2luZCA9PT0gJ2V4cHInICYmIHRva2Vuc1swXSEuY29lcmNlKSB7XG4gICAgY29uc3QgdG9rID0gdG9rZW5zWzBdISBhcyBFeHRyYWN0PFRva2VuLCB7IGtpbmQ6ICdleHByJyB9PjtcbiAgICBjb25zdCByYXcgPSByZXNvbHZlT25lKHRvaywgc2NvcGUsIGZpZWxkKTtcbiAgICByZXR1cm4gYXBwbHlDb2VyY2lvbihyYXcsIHRvay5jb2VyY2UhLCB0b2ssIGZpZWxkKTtcbiAgfVxuXG4gIGNvbnN0IHBhcnRzOiBzdHJpbmdbXSA9IFtdO1xuICBmb3IgKGNvbnN0IHRvayBvZiB0b2tlbnMpIHtcbiAgICBpZiAodG9rLmtpbmQgPT09ICdsaXRlcmFsJykge1xuICAgICAgcGFydHMucHVzaCh0b2sudmFsdWUpO1xuICAgICAgY29udGludWU7XG4gICAgfVxuICAgIGNvbnN0IHJhdyA9IHJlc29sdmVPbmUodG9rLCBzY29wZSwgZmllbGQpO1xuICAgIHBhcnRzLnB1c2godHlwZW9mIHJhdyA9PT0gJ3N0cmluZycgPyByYXcgOiBTdHJpbmcocmF3KSk7XG4gIH1cbiAgcmV0dXJuIHBhcnRzLmpvaW4oJycpO1xufVxuXG4vKiogUmVzb2x2ZSBhIHNpbmdsZSBleHByZXNzaW9uIHRva2VuIHRvIGl0cyBzdHJpbmcgZm9ybSAobm8gY29lcmNpb24pLiAqL1xuZnVuY3Rpb24gcmVzb2x2ZU9uZSh0b2s6IEV4dHJhY3Q8VG9rZW4sIHsga2luZDogJ2V4cHInIH0+LCBzY29wZTogU2NvcGUsIGZpZWxkPzogc3RyaW5nKTogc3RyaW5nIHtcbiAgY29uc3Qgcm9vdCA9IHRvay5wYXRoWzBdITtcbiAgaWYgKFJFU0VSVkVEX1JPT1RfUEFUSFMuaGFzKHJvb3QpKSB7XG4gICAgdGhyb3cgbWFrZUV2YWxFcnJvcih7XG4gICAgICBjb2RlOiBFcnJvckNvZGUuVEVNUExBVEVfU0VDUkVUU19SRVNFUlZFRCxcbiAgICAgIG1lc3NhZ2U6IGAnJHtyb290fScgaXMgYSByZXNlcnZlZCBzY29wZSDigJQgdXNlIHRoZSBwbHVnaW4ncyAnc2VjcmV0czonIGZpZWxkIGluc3RlYWRgLFxuICAgICAgZmllbGQsXG4gICAgICBwYXRoOiB0b2sucGF0aC5qb2luKCcuJyksXG4gICAgICBwb3M6IHRvay5wb3MsXG4gICAgfSk7XG4gIH1cbiAgY29uc3QgdmFsdWUgPSBsb29rdXBQYXRoKHNjb3BlLCB0b2sucGF0aCk7XG4gIGlmICh2YWx1ZSA9PSBudWxsIHx8IHZhbHVlID09PSAnJykge1xuICAgIGlmICh0b2suZGVmYXVsdFZhbHVlICE9PSB1bmRlZmluZWQpIHJldHVybiB0b2suZGVmYXVsdFZhbHVlO1xuICAgIHRocm93IG1ha2VFdmFsRXJyb3Ioe1xuICAgICAgY29kZTogRXJyb3JDb2RlLlRFTVBMQVRFX1VOS05PV05fUEFUSCxcbiAgICAgIG1lc3NhZ2U6IGBUZW1wbGF0ZSByZWZlcmVuY2VzIHVua25vd24gcGF0aCAnJHt0b2sucGF0aC5qb2luKCcuJyl9JyBhbmQgbm8gZGVmYXVsdCBwcm92aWRlZGAsXG4gICAgICBmaWVsZCxcbiAgICAgIHBhdGg6IHRvay5wYXRoLmpvaW4oJy4nKSxcbiAgICAgIHBvczogdG9rLnBvcyxcbiAgICB9KTtcbiAgfVxuICBpZiAodHlwZW9mIHZhbHVlID09PSAnb2JqZWN0Jykge1xuICAgIHRocm93IG1ha2VFdmFsRXJyb3Ioe1xuICAgICAgY29kZTogRXJyb3JDb2RlLlRFTVBMQVRFX1RZUEVfTUlTTUFUQ0gsXG4gICAgICBtZXNzYWdlOiBgVGVtcGxhdGUgcGF0aCAnJHt0b2sucGF0aC5qb2luKCcuJyl9JyByZXNvbHZlZCB0byBhbiBvYmplY3Q7IG9ubHkgc3RyaW5ncy9udW1iZXJzL2Jvb2xlYW5zIGFyZSBpbnRlcnBvbGF0YWJsZWAsXG4gICAgICBmaWVsZCxcbiAgICAgIHBhdGg6IHRvay5wYXRoLmpvaW4oJy4nKSxcbiAgICAgIHBvczogdG9rLnBvcyxcbiAgICB9KTtcbiAgfVxuICByZXR1cm4gU3RyaW5nKHZhbHVlKTtcbn1cblxuLyoqIEFwcGx5IGEgd2hvbGUtZmllbGQgY29lcmNpb24gZmlsdGVyIHRvIGEgcmVzb2x2ZWQgc3RyaW5nIHZhbHVlLiAqL1xuZnVuY3Rpb24gYXBwbHlDb2VyY2lvbihcbiAgcmF3OiBzdHJpbmcsXG4gIGtpbmQ6IENvZXJjZUtpbmQsXG4gIHRvazogRXh0cmFjdDxUb2tlbiwgeyBraW5kOiAnZXhwcicgfT4sXG4gIGZpZWxkPzogc3RyaW5nLFxuKTogbnVtYmVyIHwgYm9vbGVhbiB8IG51bGwgfCBzdHJpbmcgfCB1bmtub3duW10gfCBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiB7XG4gIHN3aXRjaCAoa2luZCkge1xuICAgIGNhc2UgJ251bWJlcic6IHtcbiAgICAgIGNvbnN0IG4gPSBOdW1iZXIocmF3KTtcbiAgICAgIGlmICghTnVtYmVyLmlzRmluaXRlKG4pKSB7XG4gICAgICAgIHRocm93IG1ha2VFdmFsRXJyb3Ioe1xuICAgICAgICAgIGNvZGU6IEVycm9yQ29kZS5URU1QTEFURV9UWVBFX01JU01BVENILFxuICAgICAgICAgIG1lc3NhZ2U6IGAnJHtyYXd9JyBjYW5ub3QgYmUgY29lcmNlZCB0byBudW1iZXIgYXQgcGF0aCAnJHt0b2sucGF0aC5qb2luKCcuJyl9J2AsXG4gICAgICAgICAgZmllbGQsXG4gICAgICAgICAgcGF0aDogdG9rLnBhdGguam9pbignLicpLFxuICAgICAgICAgIHBvczogdG9rLnBvcyxcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgICByZXR1cm4gbjtcbiAgICB9XG4gICAgY2FzZSAnYm9vbCc6IHtcbiAgICAgIGNvbnN0IHYgPSByYXcudHJpbSgpLnRvTG93ZXJDYXNlKCk7XG4gICAgICBpZiAodiA9PT0gJ3RydWUnIHx8IHYgPT09ICcxJyB8fCB2ID09PSAneWVzJykgcmV0dXJuIHRydWU7XG4gICAgICBpZiAodiA9PT0gJ2ZhbHNlJyB8fCB2ID09PSAnMCcgfHwgdiA9PT0gJ25vJyB8fCB2ID09PSAnJykgcmV0dXJuIGZhbHNlO1xuICAgICAgdGhyb3cgbWFrZUV2YWxFcnJvcih7XG4gICAgICAgIGNvZGU6IEVycm9yQ29kZS5URU1QTEFURV9UWVBFX01JU01BVENILFxuICAgICAgICBtZXNzYWdlOiBgJyR7cmF3fScgY2Fubm90IGJlIGNvZXJjZWQgdG8gYm9vbCBhdCBwYXRoICcke3Rvay5wYXRoLmpvaW4oJy4nKX0nYCxcbiAgICAgICAgZmllbGQsXG4gICAgICAgIHBhdGg6IHRvay5wYXRoLmpvaW4oJy4nKSxcbiAgICAgICAgcG9zOiB0b2sucG9zLFxuICAgICAgfSk7XG4gICAgfVxuICAgIGNhc2UgJ2pzb24nOiB7XG4gICAgICB0cnkge1xuICAgICAgICByZXR1cm4gSlNPTi5wYXJzZShyYXcpIGFzIHN0cmluZyB8IG51bWJlciB8IGJvb2xlYW4gfCBudWxsIHwgdW5rbm93bltdIHwgUmVjb3JkPHN0cmluZywgdW5rbm93bj47XG4gICAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgICAgdGhyb3cgbWFrZUV2YWxFcnJvcih7XG4gICAgICAgICAgY29kZTogRXJyb3JDb2RlLlRFTVBMQVRFX1RZUEVfTUlTTUFUQ0gsXG4gICAgICAgICAgbWVzc2FnZTogYCcke3Jhd30nIGlzIG5vdCB2YWxpZCBKU09OIGF0IHBhdGggJyR7dG9rLnBhdGguam9pbignLicpfSc6ICR7KGVyciBhcyBFcnJvcikubWVzc2FnZX1gLFxuICAgICAgICAgIGZpZWxkLFxuICAgICAgICAgIHBhdGg6IHRvay5wYXRoLmpvaW4oJy4nKSxcbiAgICAgICAgICBwb3M6IHRvay5wb3MsXG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vKipcbiAqIEV4dHJhY3QgZGVwZW5kZW5jeSBwYXRocyBmcm9tIGEgdG9rZW4gc3RyZWFtLiBVc2VkIGJ5IHRoZSB0b3BvbG9naWNhbFxuICogc29ydCBwYXNzIHRvIG9yZGVyIHJlc29sdXRpb24gb2Ygc2VsZi1yZWZlcmVuY2luZyBkb2N1bWVudHMuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBkZXBlbmRlbmNpZXModG9rZW5zOiBUb2tlbltdKTogc3RyaW5nW10ge1xuICBjb25zdCBvdXQ6IHN0cmluZ1tdID0gW107XG4gIGZvciAoY29uc3QgdG9rIG9mIHRva2Vucykge1xuICAgIGlmICh0b2sua2luZCA9PT0gJ2V4cHInKSBvdXQucHVzaCh0b2sucGF0aC5qb2luKCcuJykpO1xuICB9XG4gIHJldHVybiBvdXQ7XG59XG5cbmZ1bmN0aW9uIG1ha2VFdmFsRXJyb3IoZTogRXZhbEVycm9yKTogRXJyb3IgJiBFdmFsRXJyb3Ige1xuICBjb25zdCBlcnIgPSBuZXcgRXJyb3IoZS5tZXNzYWdlKSBhcyBFcnJvciAmIEV2YWxFcnJvcjtcbiAgZXJyLm5hbWUgPSAnVGVtcGxhdGVFdmFsRXJyb3InO1xuICBlcnIuY29kZSA9IGUuY29kZTtcbiAgZXJyLmZpZWxkID0gZS5maWVsZDtcbiAgZXJyLnBhdGggPSBlLnBhdGg7XG4gIGVyci5wb3MgPSBlLnBvcztcbiAgcmV0dXJuIGVycjtcbn1cbiJdfQ==
@@ -1,13 +1,13 @@
1
- export { tokenize, hasTemplate, TokenizerError, MAX_FIELD_SIZE_BYTES, MAX_PATH_DEPTH, MAX_IDENTIFIER_LENGTH, type Token, type LiteralToken, type ExprToken, type SourcePosition, } from './tokenizer';
2
- export { resolve, lookupPath, dependencies, type Scope, type EvalError, } from './evaluator';
3
- export { walkAndBind, type WalkEntry, type FieldPredicate, } from './walker';
4
- export { topoSort, type TopoNode, type TopoResult, } from './topo-sort';
5
- export { TokenCache, defaultTokenCache, } from './cache';
6
- export { validateTemplates, detectCycles, allowedScopeRoots, type TemplateError, type ValidationResult, } from './validate';
7
- export { recordResolution, templateResolutionsTotal, templateResolutionDurationMs, } from './metrics';
1
+ export { tokenize, hasTemplate, TokenizerError, MAX_FIELD_SIZE_BYTES, MAX_PATH_DEPTH, MAX_IDENTIFIER_LENGTH, type Token, type LiteralToken, type ExprToken, type SourcePosition, } from './tokenizer.js';
2
+ export { resolve, lookupPath, dependencies, type Scope, type EvalError, } from './evaluator.js';
3
+ export { walkAndBind, type WalkEntry, type FieldPredicate, } from './walker.js';
4
+ export { topoSort, type TopoNode, type TopoResult, } from './topo-sort.js';
5
+ export { TokenCache, defaultTokenCache, } from './cache.js';
6
+ export { validateTemplates, detectCycles, allowedScopeRoots, type TemplateError, type ValidationResult, } from './validate.js';
7
+ export { recordResolution, templateResolutionsTotal, templateResolutionDurationMs, } from './metrics.js';
8
8
  import { ErrorCode } from '@pipeline-builder/api-core';
9
- import { type Scope } from './evaluator';
10
- import { type FieldPredicate } from './walker';
9
+ import { type Scope } from './evaluator.js';
10
+ import { type FieldPredicate } from './walker.js';
11
11
  export interface ResolveResult {
12
12
  errors: Array<{
13
13
  code: ErrorCode;