@dollhousemcp/mcp-server 2.0.18 → 2.0.19

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 (39) hide show
  1. package/CHANGELOG.md +4 -0
  2. package/dist/generated/version.d.ts +2 -2
  3. package/dist/generated/version.js +3 -3
  4. package/dist/handlers/ElementCRUDHandler.d.ts +30 -0
  5. package/dist/handlers/ElementCRUDHandler.d.ts.map +1 -1
  6. package/dist/handlers/ElementCRUDHandler.js +141 -2
  7. package/dist/handlers/mcp-aql/MCPAQLHandler.d.ts +3 -0
  8. package/dist/handlers/mcp-aql/MCPAQLHandler.d.ts.map +1 -1
  9. package/dist/handlers/mcp-aql/MCPAQLHandler.js +98 -1
  10. package/dist/handlers/mcp-aql/OperationRouter.d.ts.map +1 -1
  11. package/dist/handlers/mcp-aql/OperationRouter.js +6 -1
  12. package/dist/handlers/mcp-aql/OperationSchema.d.ts.map +1 -1
  13. package/dist/handlers/mcp-aql/OperationSchema.js +17 -1
  14. package/dist/handlers/mcp-aql/policies/AgentToolPolicyTranslator.d.ts.map +1 -1
  15. package/dist/handlers/mcp-aql/policies/AgentToolPolicyTranslator.js +2 -1
  16. package/dist/handlers/mcp-aql/policies/ElementPolicies.d.ts.map +1 -1
  17. package/dist/handlers/mcp-aql/policies/ElementPolicies.js +2 -1
  18. package/dist/handlers/mcp-aql/policies/OperationPolicies.d.ts.map +1 -1
  19. package/dist/handlers/mcp-aql/policies/OperationPolicies.js +6 -1
  20. package/dist/handlers/mcp-aql/policies/ToolClassification.d.ts.map +1 -1
  21. package/dist/handlers/mcp-aql/policies/ToolClassification.js +2 -1
  22. package/dist/server/tools/MCPAQLTools.js +2 -1
  23. package/dist/web/console/IngestRoutes.d.ts +6 -0
  24. package/dist/web/console/IngestRoutes.d.ts.map +1 -1
  25. package/dist/web/console/IngestRoutes.js +38 -9
  26. package/dist/web/console/LeaderElection.d.ts +39 -0
  27. package/dist/web/console/LeaderElection.d.ts.map +1 -1
  28. package/dist/web/console/LeaderElection.js +147 -29
  29. package/dist/web/console/LeaderForwardingSink.d.ts.map +1 -1
  30. package/dist/web/console/LeaderForwardingSink.js +5 -1
  31. package/dist/web/console/PromotionManager.d.ts.map +1 -1
  32. package/dist/web/console/PromotionManager.js +3 -11
  33. package/dist/web/public/app.js +62 -1
  34. package/dist/web/public/index.html +19 -17
  35. package/dist/web/public/sessions.js +111 -0
  36. package/dist/web/server.d.ts.map +1 -1
  37. package/dist/web/server.js +12 -10
  38. package/package.json +1 -1
  39. package/server.json +2 -2
@@ -1 +1 @@
1
- {"version":3,"file":"OperationRouter.d.ts","sourceRoot":"","sources":["../../../src/handlers/mcp-aql/OperationRouter.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,MAAM,MAAM,YAAY,GAAG,QAAQ,GAAG,MAAM,GAAG,QAAQ,GAAG,QAAQ,GAAG,SAAS,CAAC;AAE/E;;;;;;GAMG;AACH,MAAM,MAAM,gBAAgB,GAAG,GAAG,MAAM,IAAI,MAAM,EAAE,CAAC;AAErD;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,2CAA2C;IAC3C,QAAQ,EAAE,YAAY,CAAC;IACvB,wFAAwF;IACxF,OAAO,EAAE,gBAAgB,CAAC;IAC1B,uDAAuD;IACvD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,uDAAuD;IACvD,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,qGAAqG;IACrG,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC1C;AAED;;;;;;;;;GASG;AACH,eAAO,MAAM,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAyalD,CAAC;AAEX;;;;;;;;;;;GAWG;AACH;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAM9D;AAED,wBAAgB,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS,CAGtE;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,wBAAwB,CAAC,QAAQ,EAAE,YAAY,GAAG,MAAM,EAAE,CAIzE"}
1
+ {"version":3,"file":"OperationRouter.d.ts","sourceRoot":"","sources":["../../../src/handlers/mcp-aql/OperationRouter.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,MAAM,MAAM,YAAY,GAAG,QAAQ,GAAG,MAAM,GAAG,QAAQ,GAAG,QAAQ,GAAG,SAAS,CAAC;AAE/E;;;;;;GAMG;AACH,MAAM,MAAM,gBAAgB,GAAG,GAAG,MAAM,IAAI,MAAM,EAAE,CAAC;AAErD;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,2CAA2C;IAC3C,QAAQ,EAAE,YAAY,CAAC;IACvB,wFAAwF;IACxF,OAAO,EAAE,gBAAgB,CAAC;IAC1B,uDAAuD;IACvD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,uDAAuD;IACvD,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,qGAAqG;IACrG,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC1C;AAED;;;;;;;;;GASG;AACH,eAAO,MAAM,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CA8alD,CAAC;AAEX;;;;;;;;;;;GAWG;AACH;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAM9D;AAED,wBAAgB,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS,CAGtE;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,wBAAwB,CAAC,QAAQ,EAAE,YAAY,GAAG,MAAM,EAAE,CAIzE"}
@@ -128,6 +128,11 @@ export const OPERATION_ROUTES = {
128
128
  handler: 'Gatekeeper.verify',
129
129
  description: 'Submit verification code to unblock a danger zone operation',
130
130
  },
131
+ release_deadlock: {
132
+ endpoint: 'CREATE',
133
+ handler: 'Gatekeeper.releaseDeadlock',
134
+ description: 'Use out-of-band verification to deactivate all active elements and clear current-session activation state',
135
+ },
131
136
  // Issue #503: Beetlejuice safe-trigger for danger zone verification testing
132
137
  beetlejuice_beetlejuice_beetlejuice: {
133
138
  endpoint: 'CREATE',
@@ -477,4 +482,4 @@ export function getOperationsForEndpoint(endpoint) {
477
482
  .filter(([_, route]) => route.endpoint === endpoint)
478
483
  .map(([operation, _]) => operation);
479
484
  }
480
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiT3BlcmF0aW9uUm91dGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2hhbmRsZXJzL21jcC1hcWwvT3BlcmF0aW9uUm91dGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7OztHQVFHO0FBNkJIOzs7Ozs7Ozs7R0FTRztBQUNILE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFtQztJQUM5RCxvRUFBb0U7SUFDcEUsY0FBYyxFQUFFO1FBQ2QsUUFBUSxFQUFFLFFBQVE7UUFDbEIsT0FBTyxFQUFFLG9CQUFvQjtRQUM3QixXQUFXLEVBQUUsa0NBQWtDO0tBQ2hEO0lBQ0QsY0FBYyxFQUFFO1FBQ2QsUUFBUSxFQUFFLFFBQVE7UUFDbEIsT0FBTyxFQUFFLG9CQUFvQjtRQUM3QixXQUFXLEVBQUUsc0NBQXNDO0tBQ3BEO0lBQ0QsUUFBUSxFQUFFO1FBQ1IsUUFBUSxFQUFFLFFBQVE7UUFDbEIsT0FBTyxFQUFFLGlCQUFpQjtRQUMxQixXQUFXLEVBQUUscUNBQXFDO0tBQ25EO0lBQ0QsZ0JBQWdCLEVBQUU7UUFDaEIsUUFBUSxFQUFFLE1BQU07UUFDaEIsT0FBTyxFQUFFLHFCQUFxQjtRQUM5QixXQUFXLEVBQUUsb0RBQW9EO0tBQ2xFO0lBQ0QsdURBQXVEO0lBQ3ZELHNCQUFzQixFQUFFO1FBQ3RCLFFBQVEsRUFBRSxNQUFNO1FBQ2hCLE9BQU8sRUFBRSxjQUFjO1FBQ3ZCLFdBQVcsRUFBRSw4REFBOEQ7UUFDM0UsT0FBTyxFQUFFO1lBQ1AsY0FBYztZQUNkLHlCQUF5QjtZQUN6Qix3QkFBd0I7WUFDeEIsb0JBQW9CO1lBQ3BCLDRCQUE0QjtZQUM1QixrQkFBa0I7U0FDbkI7S0FDRjtJQUNELG1DQUFtQztJQUNuQyxTQUFTLEVBQUU7UUFDVCxRQUFRLEVBQUUsTUFBTTtRQUNoQixPQUFPLEVBQUUsY0FBYztRQUN2QixXQUFXLEVBQUUsNkNBQTZDO1FBQzFELE9BQU8sRUFBRSxDQUFDLHFCQUFxQixFQUFFLHlC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Q0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssQ0FBQyxFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsUUFBUSxLQUFLLFFBQVEsQ0FBQztTQUNuRCxHQUFHLENBQUMsQ0FBQyxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsU0FBUyxDQUFDLENBQUM7QUFDeEMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogT3BlcmF0aW9uIFJvdXRlciBmb3IgTUNQLUFRTFxuICpcbiAqIE1hcHMgTUNQIG9wZXJhdGlvbnMgdG8gQ1JVRCBlbmRwb2ludHMgKENSRUFURSwgUkVBRCwgVVBEQVRFLCBERUxFVEUpXG4gKiBhbmQgdGhlaXIgY29ycmVzcG9uZGluZyBoYW5kbGVyIGltcGxlbWVudGF0aW9ucy5cbiAqXG4gKiBUaGlzIHJvdXRpbmcgdGFibGUgZW5hYmxlcyB0aGUgdW5pZmllZCBNQ1AtQVFMIGVuZHBvaW50IHRvIGRpc3BhdGNoXG4gKiBvcGVyYXRpb25zIHRvIHRoZSBhcHByb3ByaWF0ZSBoYW5kbGVycyBiYXNlZCBvbiB0aGVpciBzZW1hbnRpYyBtZWFuaW5nLlxuICovXG5cbmV4cG9ydCB0eXBlIENSVURFbmRwb2ludCA9ICdDUkVBVEUnIHwgJ1JFQUQnIHwgJ1VQREFURScgfCAnREVMRVRFJyB8ICdFWEVDVVRFJztcblxuLyoqXG4gKiBIYW5kbGVyIHJlZmVyZW5jZSBpbiBkb3Qgbm90YXRpb24gZm9ybWF0OiBcIk1vZHVsZS5tZXRob2RcIlxuICogRXhhbXBsZXM6IFwiRWxlbWVudENSVUQuY3JlYXRlXCIsIFwiTWVtb3J5LmFkZEVudHJ5XCIsIFwiQWdlbnQuZXhlY3V0ZVwiXG4gKlxuICogVGhlIGZvcm1hdCBpcyByZXNvbHZlZCBieSBNQ1BBUUxIYW5kbGVyIHRvIGFjdHVhbCBtYW5hZ2VyIG1ldGhvZCBjYWxscy5cbiAqIEBzZWUgc3JjL2hhbmRsZXJzL21jcC1hcWwvTUNQQVFMSGFuZGxlci50cyBmb3IgcmVzb2x1dGlvbiBsb2dpY1xuICovXG5leHBvcnQgdHlwZSBIYW5kbGVyUmVmZXJlbmNlID0gYCR7c3RyaW5nfS4ke3N0cmluZ31gO1xuXG4vKipcbiAqIFJvdXRlIGRlZmluaXRpb24gZm9yIGFuIE1DUCBvcGVyYXRpb25cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBPcGVyYXRpb25Sb3V0ZSB7XG4gIC8qKiBDUlVEIGVuZHBvaW50IHRoaXMgb3BlcmF0aW9uIG1hcHMgdG8gKi9cbiAgZW5kcG9pbnQ6IENSVURFbmRwb2ludDtcbiAgLyoqIEhhbmRsZXIgbWV0aG9kIHJlc3BvbnNpYmxlIGZvciBleGVjdXRpbmcgdGhpcyBvcGVyYXRpb24gKGZvcm1hdDogXCJNb2R1bGUubWV0aG9kXCIpICovXG4gIGhhbmRsZXI6IEhhbmRsZXJSZWZlcmVuY2U7XG4gIC8qKiBPcHRpb25hbCBkZXNjcmlwdGlvbiBvZiB3aGF0IHRoaXMgb3BlcmF0aW9uIGRvZXMgKi9cbiAgZGVzY3JpcHRpb24/OiBzdHJpbmc7XG4gIC8qKiBBbHRlcm5hdGl2ZSBuYW1lcyB0aGF0IHJlc29sdmUgdG8gdGhpcyBvcGVyYXRpb24gKi9cbiAgYWxpYXNlcz86IHN0cmluZ1tdO1xuICAvKiogUGFyYW1ldGVycyBhdXRvbWF0aWNhbGx5IGluamVjdGVkIHdoZW4gdGhpcyBvcGVyYXRpb24gaXMgZGlzcGF0Y2hlZCAobWVyZ2VkIHVuZGVyIHVzZXIgcGFyYW1zKSAqL1xuICBpbXBsaWNpdFBhcmFtcz86IFJlY29yZDxzdHJpbmcsIHVua25vd24+O1xufVxuXG4vKipcbiAqIENvbXBsZXRlIG1hcHBpbmcgb2YgTUNQIG9wZXJhdGlvbnMgdG8gdGhlaXIgQ1JVREUgZW5kcG9pbnRzIGFuZCBoYW5kbGVycy5cbiAqXG4gKiBFbmRwb2ludCBzZW1hbnRpY3MgKENSVURFID0gQ1JVRCArIEV4ZWN1dGUpOlxuICogLSBDUkVBVEU6IE9wZXJhdGlvbnMgdGhhdCBjcmVhdGUgbmV3IHN0YXRlIChyZWFkT25seTogZmFsc2UsIGRlc3RydWN0aXZlOiBmYWxzZSlcbiAqIC0gUkVBRDogT3BlcmF0aW9ucyB0aGF0IG9ubHkgcmVhZCBleGlzdGluZyBzdGF0ZSAocmVhZE9ubHk6IHRydWUsIGRlc3RydWN0aXZlOiBmYWxzZSlcbiAqIC0gVVBEQVRFOiBPcGVyYXRpb25zIHRoYXQgbW9kaWZ5IGV4aXN0aW5nIHN0YXRlIChyZWFkT25seTogZmFsc2UsIGRlc3RydWN0aXZlOiB0cnVlKVxuICogLSBERUxFVEU6IE9wZXJhdGlvbnMgdGhhdCByZW1vdmUgc3RhdGUgKHJlYWRPbmx5OiBmYWxzZSwgZGVzdHJ1Y3RpdmU6IHRydWUpXG4gKiAtIEVYRUNVVEU6IE9wZXJhdGlvbnMgZm9yIHJ1bnRpbWUgZXhlY3V0aW9uIGxpZmVjeWNsZSAocmVhZE9ubHk6IGZhbHNlLCBkZXN0cnVjdGl2ZTogZmFsc2UsIHN0YXRlZnVsOiB0cnVlKVxuICovXG5leHBvcnQgY29uc3QgT1BFUkFUSU9OX1JPVVRFUzogUmVjb3JkPHN0cmluZywgT3BlcmF0aW9uUm91dGU+ID0ge1xuICAvLyA9PT09PSBDUkVBVEUgZW5kcG9pbnQgKHJlYWRPbmx5OiBmYWxzZSwgZGVzdHJ1Y3RpdmU6IGZhbHNlKSA9PT09PVxuICBjcmVhdGVfZWxlbWVudDoge1xuICAgIGVuZHBvaW50OiAnQ1JFQVRFJyxcbiAgICBoYW5kbGVyOiAnRWxlbWVudENSVUQuY3JlYXRlJyxcbiAgICBkZXNjcmlwdGlvbjogJ0NyZWF0ZSBhIG5ldyBlbGVtZW50IG9mIGFueSB0eXBlJyxcbiAgfSxcbiAgaW1wb3J0X2VsZW1lbnQ6IHtcbiAgICBlbmRwb2ludDogJ0NSRUFURScsXG4gICAgaGFuZGxlcjogJ0VsZW1lbnRDUlVELmltcG9ydCcsXG4gICAgZGVzY3JpcHRpb246ICdJbXBvcnQgYW4gZWxlbWVudCBmcm9tIGV4cG9ydGVkIGRhdGEnLFxuICB9LFxuICBhZGRFbnRyeToge1xuICAgIGVuZHBvaW50OiAnQ1JFQVRFJyxcbiAgICBoYW5kbGVyOiAnTWVtb3J5LmFkZEVudHJ5JyxcbiAgICBkZXNjcmlwdGlvbjogJ0FkZCBhIG5ldyBlbnRyeSB0byBhIG1lbW9yeSBlbGVtZW50JyxcbiAgfSxcbiAgYWN0aXZhdGVfZWxlbWVudDoge1xuICAgIGVuZHBvaW50OiAnUkVBRCcsXG4gICAgaGFuZGxlcjogJ0FjdGl2YXRpb24uYWN0aXZhdGUnLFxuICAgIGRlc2NyaXB0aW9uOiAnQWN0aXZhdGUgYW4gZWxlbWVudCBmb3IgdXNlIGluIHRoZSBjdXJyZW50IHNlc3Npb24nLFxuICB9LFxuICAvLyBJc3N1ZSAjNzc0OiBPcGVuIHBvcnRmb2xpbyBicm93c2VyIGluIHN5c3RlbSBicm93c2VyXG4gIG9wZW5fcG9ydGZvbGlvX2Jyb3dzZXI6IHtcbiAgICBlbmRwb2ludDogJ1JFQUQnLFxuICAgIGhhbmRsZXI6ICdCcm93c2VyLm9wZW4nLFxuICAgIGRlc2NyaXB0aW9uOiAnU3RhcnQgdGhlIHBvcnRmb2xpbyB3ZWIgVUkgYW5kIG9wZW4gaXQgaW4gdGhlIHN5c3RlbSBicm93c2VyJyxcbiAgICBhbGlhc2VzOiBbXG4gICAgICAnb3Blbl9jb25zb2xlJyxcbiAgICAgICdvcGVuX21hbmFnZW1lbnRfY29uc29sZScsXG4gICAgICAnb3Blbl9kb2xsaG91c2VfY29uc29sZScsXG4gICAgICAnb3Blbl9kb2xsaG91c2VfbWNwJyxcbiAgICAgICdvcGVuX2RvbGxob3VzZV9tY3BfY29uc29sZScsXG4gICAgICAnb3Blbl93ZWJfY29uc29sZScsXG4gICAgXSxcbiAgfSxcbiAgLy8gQ29uc29sZSB0YWIgZGVlcC1saW5rIG9wZXJhdGlvbnNcbiAgb3Blbl9sb2dzOiB7XG4gICAgZW5kcG9pbnQ6ICdSRUFEJyxcbiAgICBoYW5kbGVyOiAnQnJvd3Nlci5vcGVuJyxcbiAgICBkZXNjcmlwdGlvbjogJ09wZW4gdGhlIG1hbmFnZW1lbnQgY29uc29sZSBvbiB0aGUgbG9ncyB0YWInLFxuICAgIGFsaWFzZXM6IFsnb3Blbl9kb2xsaG91c2VfbG9ncycsICdvcGVuX2RvbGxob3VzZV9tY3BfbG9ncycsICdvcGVuX2xvZ192aWV3ZXInXSxcbiAgICBpbXBsaWNpdFBhcmFtczogeyB0YWI6ICdsb2dzJyB9LFxuICB9LFxuICBvcGVuX21ldHJpY3M6IHtcbiAgICBlbmRwb2ludDogJ1JFQUQnLFxuICAgIGhhbmRsZXI6ICdCcm93c2VyLm9wZW4nLFxuICAgIGRlc2NyaXB0aW9uOiAnT3BlbiB0aGUgbWFuYWdlbWVudCBjb25zb2xlIG9uIHRoZSBtZXRyaWNzIHRhYicsXG4gICAgYWxpYXNlczogWydvcGVuX2RvbGxob3VzZV9tZXRyaWNzJywgJ29wZW5fZG9sbGhvdXNlX21jcF9tZXRyaWNzJywgJ29wZW5fbWV0cmljc19kYXNoYm9hcmQnXSxcbiAgICBpbXBsaWNpdFBhcmFtczogeyB0YWI6ICdtZXRyaWNzJyB9LFxuICB9LFxuICBvcGVuX3Blcm1pc3Npb25zOiB7XG4gICAgZW5kcG9pbnQ6ICdSRUFEJyxcbiAgICBoYW5kbGVyOiAnQnJvd3Nlci5vcGVuJyxcbiAgICBkZXNjcmlwdGlvbjogJ09wZW4gdGhlIG1hbmFnZW1lbnQgY29uc29sZSBvbiB0aGUgcGVybWlzc2lvbnMgdGFiJyxcbiAgICBhbGlhc2VzOiBbJ29wZW5fZG9sbGhvdXNlX3Blcm1pc3Npb25zJywgJ29wZW5fZG9sbGhvdXNlX21jcF9wZXJtaXNzaW9ucyddLFxuICAgIGltcGxpY2l0UGFyYW1zOiB7IHRhYjogJ3Blcm1pc3Npb25zJyB9LFxuICB9LFxuICBvcGVuX3NldHVwOiB7XG4gICAgZW5kcG9pbnQ6ICdSRUFEJyxcbiAgICBoYW5kbGVyOiAnQnJvd3Nlci5vcGVuJyxcbiAgICBkZXNjcmlwdGlvbjogJ09wZW4gdGhlIG1hbmFnZW1lbnQgY29uc29sZSBvbiB0aGUgc2V0dXAvaW5zdGFsbCB0YWInLFxuICAgIGFsaWFzZXM6IFsnb3Blbl9kb2xsaG91c2Vfc2V0dXAnLCAnb3Blbl9kb2xsaG91c2VfbWNwX3NldHVwJywgJ29wZW5faW5zdGFsbGVyJ10sXG4gICAgaW1wbGljaXRQYXJhbXM6IHsgdGFiOiAnc2V0dXAnIH0sXG4gIH0sXG4gIC8vIElzc3VlICM0NTI6IEdhdGVrZWVwZXIgY29uZmlybWF0aW9uIGZsb3dcbiAgLy8gUm91dGVkIHRocm91Z2ggRVhFQ1VURSBzbyBNQ1AgY2xpZW50cyBjYW4gZ2F0ZSBpdCBzZXBhcmF0ZWx5IGZyb20gQ1JFQVRFLlxuICAvLyBjb25maXJtX29wZXJhdGlvbiBpcyBub24taWRlbXBvdGVudCBhbmQgYWN0cyBhcyBhIGh1bWFuLWluLXRoZS1sb29wIGNoZWNrcG9pbnQg4oCUXG4gIC8vIGl0IG11c3Qgbm90IHNpbGVudGx5IGF1dG8tYXBwcm92ZSB3aGVuIG9ubHkgQ1JFQVRFIGlzIGFsbG93ZWQuXG4gIGNvbmZpcm1fb3BlcmF0aW9uOiB7XG4gICAgZW5kcG9pbnQ6ICdFWEVDVVRFJyxcbiAgICBoYW5kbGVyOiAnR2F0ZWtlZXBlci5jb25maXJtJyxcbiAgICBkZXNjcmlwdGlvbjogJ0NvbmZpcm0gYSBwZW5kaW5nIG9wZXJhdGlvbiB0aGF0IHJlcXVpcmVzIHVzZXIgYXBwcm92YWwnLFxuICB9LFxuICAvLyBJc3N1ZSAjNjI1OiBDTEktbGV2ZWwgcGVybWlzc2lvbiBkZWxlZ2F0aW9uIHZpYSAtLXBlcm1pc3Npb24tcHJvbXB0LXRvb2xcbiAgLy8gSXNzdWUgIzY0NzogTW92ZWQgdG8gUkVBRCDigJQgdGhpcyBpcyBhIHBvbGljeSBldmFsdWF0aW9uIChyZWFkLW9ubHkpLCBub3QgYSBzdGF0ZSBtdXRhdGlvbi5cbiAgLy8gRW5hYmxlcyAtLXBlcm1pc3Npb24tcHJvbXB0LXRvb2wgdG8gcG9pbnQgYXQgbWNwX2FxbF9yZWFkLlxuICBwZXJtaXNzaW9uX3Byb21wdDoge1xuICAgIGVuZHBvaW50OiAnUkVBRCcsXG4gICAgaGFuZGxlcjogJ0dhdGVrZWVwZXIucGVybWlzc2lvblByb21wdCcsXG4gICAgZGVzY3JpcHRpb246ICdFdmFsdWF0ZSBDTEktbGV2ZWwgcGVybWlzc2lvbiBwcm9tcHRzIGZvciBub24taW50ZXJhY3RpdmUgc2Vzc2lvbnMgdmlhIC0tcGVybWlzc2lvbi1wcm9tcHQtdG9vbCcsXG4gIH0sXG4gIC8vIFBlcm1pc3Npb24gZXZhbHVhdGlvbiBmb3IgUHJlVG9vbFVzZSBob29rcyAoaW50ZXJhY3RpdmUgc2Vzc2lvbnMsIGFsbCBwbGF0Zm9ybXMpXG4gIGV2YWx1YXRlX3Blcm1pc3Npb246IHtcbiAgICBlbmRwb2ludDogJ1JFQUQnLFxuICAgIGhhbmRsZXI6ICdHYXRla2VlcGVyLmV2YWx1YXRlUGVybWlzc2lvbicsXG4gICAgZGVzY3JpcHRpb246ICdFdmFsdWF0ZSBDTEkgcGVybWlzc2lvbiBmb3IgYSB0b29sIHZpYSBIVFRQL2hvb2suIFJldHVybnMgcGxhdGZvcm0tZm9ybWF0dGVkIHJlc3BvbnNlIChjbGF1ZGVfY29kZSwgZ2VtaW5pLCBjdXJzb3IsIHdpbmRzdXJmLCBjb2RleCkuJyxcbiAgfSxcbiAgLy8gSXNzdWUgIzYyNSBQaGFzZSAyOiBDTEkgcG9saWN5IHZpc2liaWxpdHlcbiAgZ2V0X2VmZmVjdGl2ZV9jbGlfcG9saWNpZXM6IHtcbiAgICBlbmRwb2ludDogJ1JFQUQnLFxuICAgIGhhbmRsZXI6ICdHYXRla2VlcGVyLmdldEVmZmVjdGl2ZUNsaVBvbGljaWVzJyxcbiAgICBkZXNjcmlwdGlvbjogJ0dldCBlZmZlY3RpdmUgQ0xJIHBlcm1pc3Npb24gcG9saWNpZXMgZm9yIHRoZSBjdXJyZW50IHNlc3Npb24gKElzc3VlICM2MjUgUGhhc2UgMiknLFxuICB9LFxuICAvLyBJc3N1ZSAjNjI1IFBoYXNlIDM6IENMSSBhcHByb3ZhbCB3b3JrZmxvd1xuICBhcHByb3ZlX2NsaV9wZXJtaXNzaW9uOiB7XG4gICAgZW5kcG9pbnQ6ICdFWEVDVVRFJyxcbiAgICBoYW5kbGVyOiAnR2F0ZWtlZXBlci5hcHByb3ZlQ2xpUGVybWlzc2lvbicsXG4gICAgZGVzY3JpcHRpb246ICdBcHByb3ZlIGEgcGVuZGluZyBDTEkgdG9vbCBwZXJtaXNzaW9uIHJlcXVlc3QgKElzc3VlICM2MjUgUGhhc2UgMyknLFxuICB9LFxuICBnZXRfcGVuZGluZ19jbGlfYXBwcm92YWxzOiB7XG4gICAgZW5kcG9pbnQ6ICdSRUFEJyxcbiAgICBoYW5kbGVyOiAnR2F0ZWtlZXBlci5nZXRQZW5kaW5nQ2xpQXBwcm92YWxzJyxcbiAgICBkZXNjcmlwdGlvbjogJ0dldCBwZW5kaW5nIENMSSB0b29sIGFwcHJvdmFsIHJlcXVlc3RzIGZvciB0aGlzIHNlc3Npb24gKElzc3VlICM2MjUgUGhhc2UgMyknLFxuICB9LFxuICAvLyBJc3N1ZSAjMTQyOiBEYW5nZXIgem9uZSB2ZXJpZmljYXRpb24gZmxvd1xuICB2ZXJpZnlfY2hhbGxlbmdlOiB7XG4gICAgZW5kcG9pbnQ6ICdDUkVBVEUnLFxuICAgIGhhbmRsZXI6ICdHYXRla2VlcGVyLnZlcmlmeScsXG4gICAgZGVzY3JpcHRpb246ICdTdWJtaXQgdmVyaWZpY2F0aW9uIGNvZGUgdG8gdW5ibG9jayBhIGRhbmdlciB6b25lIG9wZXJhdGlvbicsXG4gIH0sXG4gIC8vIElzc3VlICM1MDM6IEJlZXRsZWp1aWNlIHNhZmUtdHJpZ2dlciBmb3IgZGFuZ2VyIHpvbmUgdmVyaWZpY2F0aW9uIHRlc3RpbmdcbiAgYmVldGxlanVpY2VfYmVldGxlanVpY2VfYmVldGxlanVpY2U6IHtcbiAgICBlbmRwb2ludDogJ0NSRUFURScsXG4gICAgaGFuZGxlcjogJ0dhdGVrZWVwZXIuYmVldGxlanVpY2UnLFxuICAgIGRlc2NyaXB0aW9uOiAnU2FmZS10cmlnZ2VyIHRoZSBmdWxsIGRhbmdlciB6b25lIHZlcmlmaWNhdGlvbiBwaXBlbGluZSBmb3IgdGVzdGluZyBwdXJwb3NlcycsXG4gIH0sXG5cbiAgLy8gPT09PT0gUkVBRCBlbmRwb2ludCAocmVhZE9ubHk6IHRydWUsIGRlc3RydWN0aXZlOiBmYWxzZSkgPT09PT1cbiAgLy8gVW5pZmllZCBzZWFyY2ggb3BlcmF0aW9uIChJc3N1ZSAjMjQzKVxuICBzZWFyY2g6IHtcbiAgICBlbmRwb2ludDogJ1JFQUQnLFxuICAgIGhhbmRsZXI6ICdVbmlmaWVkU2VhcmNoLnNlYXJjaCcsXG4gICAgZGVzY3JpcHRpb246ICdVbmlmaWVkIHNlYXJjaCBhY3Jvc3MgbG9jYWwsIEdpdEh1YiwgYW5kIGNvbGxlY3Rpb24gc291cmNlcyB3aXRoIHNjb3BlIHBhcmFtZXRlcicsXG4gIH0sXG4gIGxpc3RfZWxlbWVudHM6IHtcbiAgICBlbmRwb2ludDogJ1JFQUQnLFxuICAgIGhhbmRsZXI6ICdFbGVtZW50Q1JVRC5saXN0JyxcbiAgICBkZXNjcmlwdGlvbjogJ0xpc3QgZWxlbWVudHMgd2l0aCBwYWdpbmF0aW9uIChkZWZhdWx0IDIwL3BhZ2UpLCBmaWx0ZXJpbmcsIHNvcnRpbmcsIGFuZCBjb3VudCBhZ2dyZWdhdGlvbi4gUmV0dXJucyBzdHJ1Y3R1cmVkIEpTT04uJyxcbiAgfSxcbiAgZ2V0X2VsZW1lbnQ6IHtcbiAgICBlbmRwb2ludDogJ1JFQUQnLFxuICAgIGhhbmRsZXI6ICdFbGVtZW50Q1JVRC5nZXQnLFxuICAgIGRlc2NyaXB0aW9uOiAnR2V0IGFuIGVsZW1lbnQgYnkgbmFtZSBhbmQgdHlwZSwgcmV0dXJuaW5nIGZ1bGwgY29udGVudCBhbmQgbWV0YWRhdGEnLFxuICB9LFxuICBnZXRfZWxlbWVudF9kZXRhaWxzOiB7XG4gICAgZW5kcG9pbnQ6ICdSRUFEJyxcbiAgICBoYW5kbGVyOiAnRWxlbWVudENSVUQuZ2V0RGV0YWlscycsXG4gICAgZGVzY3JpcHRpb246ICdHZXQgZGV0YWlsZWQgaW5mb3JtYXRpb24gYWJvdXQgYSBzcGVjaWZpYyBlbGVtZW50JyxcbiAgfSxcbiAgc2VhcmNoX2VsZW1lbnRzOiB7XG4gICAgZW5kcG9pbnQ6ICdSRUFEJyxcbiAgICBoYW5kbGVyOiAnU2VhcmNoLnNlYXJjaCcsXG4gICAgZGVzY3JpcHRpb246ICdGdWxsLXRleHQgc2VhcmNoIGFjcm9zcyBlbGVtZW50IG5hbWVzLCBkZXNjcmlwdGlvbnMsIGFuZCBjb250ZW50LiBSZXR1cm5zIHN0cnVjdHVyZWQgSlNPTiB3aXRoIHBhZ2luYXRpb24uJyxcbiAgfSxcbiAgcXVlcnlfZWxlbWVudHM6IHtcbiAgICBlbmRwb2ludDogJ1JFQUQnLFxuICAgIGhhbmRsZXI6ICdTZWFyY2gucXVlcnknLFxuICAgIGRlc2NyaXB0aW9uOiAnUXVlcnkgZWxlbWVudHMgd2l0aCBmaWx0ZXJzLCBzb3J0aW5nLCBwYWdpbmF0aW9uLCBhbmQgY291bnQgYWdncmVnYXRpb24uIFJldHVybnMgc3RydWN0dXJlZCBKU09OLicsXG4gIH0sXG4gIGdldF9hY3RpdmVfZWxlbWVudHM6IHtcbiAgICBlbmRwb2ludDogJ1JFQUQnLFxuICAgIGhhbmRsZXI6ICdBY3RpdmF0aW9uLmdldEFjdGl2ZScsXG4gICAgZGVzY3JpcHRpb246ICdHZXQgYWxsIGN1cnJlbnRseSBhY3RpdmUgZWxlbWVudHMgd2l0aCByZW5kZXJlZCBjb250ZW50LCBvcHRpb25hbGx5IGZpbHRlcmVkIGJ5IHR5cGUnLFxuICB9LFxuICB2YWxpZGF0ZV9lbGVtZW50OiB7XG4gICAgZW5kcG9pbnQ6ICdSRUFEJyxcbiAgICBoYW5kbGVyOiAnRWxlbWVudENSVUQudmFsaWRhdGUnLFxuICAgIGRlc2NyaXB0aW9uOiAnVmFsaWRhdGUgYW4gZXhpc3RpbmcgZWxlbWVudCBieSBuYW1lJyxcbiAgfSxcbiAgcmVuZGVyOiB7XG4gICAgZW5kcG9pbnQ6ICdSRUFEJyxcbiAgICBoYW5kbGVyOiAnVGVtcGxhdGUucmVuZGVyJyxcbiAgICBkZXNjcmlwdGlvbjogJ1JlbmRlciBhIHRlbXBsYXRlIHdpdGggcHJvdmlkZWQgdmFyaWFibGVzJyxcbiAgfSxcbiAgZXhwb3J0X2VsZW1lbnQ6IHtcbiAgICBlbmRwb2ludDogJ1JFQUQnLFxuICAgIGhhbmRsZXI6ICdFbGVtZW50Q1JVRC5leHBvcnQnLFxuICAgIGRlc2NyaXB0aW9uOiAnRXhwb3J0IGFuIGVsZW1lbnQgdG8gYSBwb3J0YWJsZSBmb3JtYXQnLFxuICB9LFxuICBkZWFjdGl2YXRlX2VsZW1lbnQ6IHtcbiAgICBlbmRwb2ludDogJ1JFQUQnLFxuICAgIGhhbmRsZXI6ICdBY3RpdmF0aW9uLmRlYWN0aXZhdGUnLFxuICAgIGRlc2NyaXB0aW9uOiAnRGVhY3RpdmF0ZSBhbiBlbGVtZW50LCByZW1vdmluZyBpdCBmcm9tIHRoZSBjdXJyZW50IHNlc3Npb24nLFxuICB9LFxuICBpbnRyb3NwZWN0OiB7XG4gICAgZW5kcG9pbnQ6ICdSRUFEJyxcbiAgICBoYW5kbGVyOiAnSW50cm9zcGVjdGlvbi5yZXNvbHZlJyxcbiAgICBkZXNjcmlwdGlvbjogJ1F1ZXJ5IGF2YWlsYWJsZSBvcGVyYXRpb25zIGFuZCB0eXBlcyBmb3IgZGlzY292ZXJ5JyxcbiAgfSxcbiAgZ2V0X2NhcGFiaWxpdGllczoge1xuICAgIGVuZHBvaW50OiAnUkVBRCcsXG4gICAgaGFuZGxlcjogJ0ludHJvc3BlY3Rpb24uZ2V0Q2FwYWJpbGl0aWVzJyxcbiAgICBkZXNjcmlwdGlvbjogJ0dldCBhIGhpZ2gtbGV2ZWwgbWFwIG9mIGFsbCBzZXJ2ZXIgY2FwYWJpbGl0aWVzIGdyb3VwZWQgYnkgdXNlciBpbnRlbnQnLFxuICB9LFxuXG4gIC8vID09PT09IFVQREFURSBlbmRwb2ludCAocmVhZE9ubHk6IGZhbHNlLCBkZXN0cnVjdGl2ZTogdHJ1ZSkgPT09PT1cbiAgZWRpdF9lbGVtZW50OiB7XG4gICAgZW5kcG9pbnQ6ICdVUERBVEUnLFxuICAgIGhhbmRsZXI6ICdFbGVtZW50Q1JVRC5lZGl0JyxcbiAgICBkZXNjcmlwdGlvbjogJ0VkaXQgYSBzaW5nbGUgZmllbGQgb24gYW4gZWxlbWVudCcsXG4gIH0sXG4gIHVwZ3JhZGVfZWxlbWVudDoge1xuICAgIGVuZHBvaW50OiAnVVBEQVRFJyxcbiAgICBoYW5kbGVyOiAnRWxlbWVudENSVUQudXBncmFkZScsXG4gICAgZGVzY3JpcHRpb246ICdVcGdyYWRlIGVsZW1lbnQgZnJvbSB2MSBzaW5nbGUtYm9keSB0byB2MiBkdWFsLWZpZWxkIGZvcm1hdCAoaW5zdHJ1Y3Rpb25zICsgY29udGVudCknLFxuICB9LFxuXG4gIC8vID09PT09IERFTEVURSBlbmRwb2ludCAocmVhZE9ubHk6IGZhbHNlLCBkZXN0cnVjdGl2ZTogdHJ1ZSkgPT09PT1cbiAgZGVsZXRlX2VsZW1lbnQ6IHtcbiAgICBlbmRwb2ludDogJ0RFTEVURScsXG4gICAgaGFuZGxlcjogJ0VsZW1lbnRDUlVELmRlbGV0ZScsXG4gICAgZGVzY3JpcHRpb246ICdEZWxldGUgYW4gZWxlbWVudCcsXG4gIH0sXG4gIGNsZWFyOiB7XG4gICAgZW5kcG9pbnQ6ICdERUxFVEUnLFxuICAgIGhhbmRsZXI6ICdNZW1vcnkuY2xlYXInLFxuICAgIGRlc2NyaXB0aW9uOiAnQ2xlYXIgYWxsIGVudHJpZXMgZnJvbSBhIG1lbW9yeSBlbGVtZW50IChpcnJldmVyc2libGUpJyxcbiAgfSxcblxuICAvLyA9PT09PSBFWEVDVVRFIGVuZHBvaW50IChydW50aW1lIGV4ZWN1dGlvbiBsaWZlY3ljbGUpID09PT09XG4gIC8vIFRoZXNlIG9wZXJhdGlvbnMgbWFuYWdlIHRoZSBleGVjdXRpb24gbGlmZWN5Y2xlIG9mIGV4ZWN1dGFibGUgZWxlbWVudHNcbiAgLy8gKGFnZW50cywgd29ya2Zsb3dzLCBwaXBlbGluZXMpLiBVbmxpa2UgQ1JVRCB3aGljaCBtYW5hZ2VzIGRlZmluaXRpb25zLFxuICAvLyBFWEVDVVRFIG1hbmFnZXMgcnVudGltZSBzdGF0ZSBhbmQgaXMgaW5oZXJlbnRseSBub24taWRlbXBvdGVudC5cbiAgZXhlY3V0ZV9hZ2VudDoge1xuICAgIGVuZHBvaW50OiAnRVhFQ1VURScsXG4gICAgaGFuZGxlcjogJ0V4ZWN1dGUuZXhlY3V0ZScsXG4gICAgZGVzY3JpcHRpb246ICdTdGFydCBleGVjdXRpb24gb2YgYW4gYWdlbnQgb3IgZXhlY3V0YWJsZSBlbGVtZW50JyxcbiAgfSxcbiAgZ2V0X2V4ZWN1dGlvbl9zdGF0ZToge1xuICAgIGVuZHBvaW50OiAnUkVBRCcsXG4gICAgaGFuZGxlcjogJ0V4ZWN1dGUuZ2V0U3RhdGUnLFxuICAgIGRlc2NyaXB0aW9uOiAnUXVlcnkgY3VycmVudCBleGVjdXRpb24gc3RhdGUgaW5jbHVkaW5nIHByb2dyZXNzIGFuZCBmaW5kaW5ncycsXG4gIH0sXG4gIHJlY29yZF9leGVjdXRpb25fc3RlcDoge1xuICAgIGVuZHBvaW50OiAnQ1JFQVRFJyxcbiAgICBoYW5kbGVyOiAnRXhlY3V0ZS51cGRhdGVTdGF0ZScsXG4gICAgZGVzY3JpcHRpb246ICdSZWNvcmQgZXhlY3V0aW9uIHByb2dyZXNzLCBzdGVwIGNvbXBsZXRpb24sIG9yIGZpbmRpbmdzLiBSZXR1cm5zIGF1dG9ub215IGRpcmVjdGl2ZSB3aXRoIGNvbnRpbnVlL3BhdXNlIGRlY2lzaW9uIGFuZCBub3RpZmljYXRpb25zLicsXG4gIH0sXG4gIGNvbXBsZXRlX2V4ZWN1dGlvbjoge1xuICAgIGVuZHBvaW50OiAnRVhFQ1VURScsXG4gICAgaGFuZGxlcjogJ0V4ZWN1dGUuY29tcGxldGUnLFxuICAgIGRlc2NyaXB0aW9uOiAnU2lnbmFsIHRoYXQgZXhlY3V0aW9uIGZpbmlzaGVkIHN1Y2Nlc3NmdWxseSB3aXRoIHN1bW1hcnknLFxuICB9LFxuICBjb250aW51ZV9leGVjdXRpb246IHtcbiAgICBlbmRwb2ludDogJ0VYRUNVVEUnLFxuICAgIGhhbmRsZXI6ICdFeGVjdXRlLmNvbnRpbnVlJyxcbiAgICBkZXNjcmlwdGlvbjogJ1Jlc3VtZSBleGVjdXRpb24gZnJvbSBzYXZlZCBzdGF0ZScsXG4gIH0sXG4gIGFib3J0X2V4ZWN1dGlvbjoge1xuICAgIGVuZHBvaW50OiAnRVhFQ1VURScsXG4gICAgaGFuZGxlcjogJ0V4ZWN1dGUuYWJvcnQnLFxuICAgIGRlc2NyaXB0aW9uOiAnQWJvcnQgYSBydW5uaW5nIGFnZW50IGV4ZWN1dGlvbiwgcmVqZWN0aW5nIGZ1cnRoZXIgb3BlcmF0aW9ucyBmb3IgdGhlIGdvYWxJZCcsXG4gIH0sXG4gIGdldF9nYXRoZXJlZF9kYXRhOiB7XG4gICAgZW5kcG9pbnQ6ICdSRUFEJyxcbiAgICBoYW5kbGVyOiAnRXhlY3V0ZS5nZXRHYXRoZXJlZERhdGEnLFxuICAgIGRlc2NyaXB0aW9uOiAnR2V0IGFnZ3JlZ2F0ZWQgZXhlY3V0aW9uIGRhdGEgKHN0ZXBzLCBkZWNpc2lvbnMsIGZpbmRpbmdzLCBhbmQgc3VtbWFyeSBzdGF0aXN0aWNzKSBmb3IgYSBzcGVjaWZpYyBnb2FsLiBVc2UgYWZ0ZXIgcmVjb3JkX2V4ZWN1dGlvbl9zdGVwIGNhbGxzIHRvIHJldmlldyBwcm9ncmVzcy4nLFxuICB9LFxuICBwcmVwYXJlX2hhbmRvZmY6IHtcbiAgICBlbmRwb2ludDogJ0VYRUNVVEUnLFxuICAgIGhhbmRsZXI6ICdFeGVjdXRlLnByZXBhcmVIYW5kb2ZmJyxcbiAgICBkZXNjcmlwdGlvbjogJ1ByZXBhcmUgYSBzZXNzaW9uIGhhbmRvZmYgcGFja2FnZTogc2VyaWFsaXplcyBnb2FsIHByb2dyZXNzLCBnYXRoZXJlZCBkYXRhLCBhbmQgYWN0aXZlIGVsZW1lbnRzIGludG8gYSBjb21wcmVzc2VkLCBpbnRlZ3JpdHktY2hlY2tlZCBibG9jayB0aGF0IGNhbiBiZSBjb3B5LXBhc3RlZCB0byByZXN1bWUgaW4gYW5vdGhlciBzZXNzaW9uLicsXG4gIH0sXG4gIHJlc3VtZV9mcm9tX2hhbmRvZmY6IHtcbiAgICBlbmRwb2ludDogJ0VYRUNVVEUnLFxuICAgIGhhbmRsZXI6ICdFeGVjdXRlLnJlc3VtZUZyb21IYW5kb2ZmJyxcbiAgICBkZXNjcmlwdGlvbjogJ1Jlc3VtZSBhZ2VudCBleGVjdXRpb24gZnJvbSBhIGhhbmRvZmYgYmxvY2suIFZhbGlkYXRlcyBpbnRlZ3JpdHksIHZlcmlmaWVzIGFnZW50IG5hbWUgbWF0Y2gsIHJlc3RvcmVzIGNvbnRleHQsIGFuZCBjb250aW51ZXMgZXhlY3V0aW9uIHdpdGggY2FsbGVyLXN1cHBsaWVkIHBhcmFtZXRlcnMuJyxcbiAgfSxcblxuICAvLyA9PT09PSBDT0xMRUNUSU9OIG9wZXJhdGlvbnMgPT09PT1cbiAgYnJvd3NlX2NvbGxlY3Rpb246IHtcbiAgICBlbmRwb2ludDogJ1JFQUQnLFxuICAgIGhhbmRsZXI6ICdDb2xsZWN0aW9uLmJyb3dzZScsXG4gICAgZGVzY3JpcHRpb246ICdCcm93c2UgdGhlIERvbGxob3VzZU1DUCBjb21tdW5pdHkgY29sbGVjdGlvbiBieSBzZWN0aW9uIGFuZCB0eXBlJyxcbiAgfSxcbiAgc2VhcmNoX2NvbGxlY3Rpb246IHtcbiAgICBlbmRwb2ludDogJ1JFQUQnLFxuICAgIGhhbmRsZXI6ICdDb2xsZWN0aW9uLnNlYXJjaCcsXG4gICAgZGVzY3JpcHRpb246ICdTZWFyY2ggdGhlIGNvbW11bml0eSBjb2xsZWN0aW9uIGZvciBlbGVtZW50cyBieSBrZXl3b3JkcycsXG4gIH0sXG4gIHNlYXJjaF9jb2xsZWN0aW9uX2VuaGFuY2VkOiB7XG4gICAgZW5kcG9pbnQ6ICdSRUFEJyxcbiAgICBoYW5kbGVyOiAnQ29sbGVjdGlvbi5zZWFyY2hFbmhhbmNlZCcsXG4gICAgZGVzY3JpcHRpb246ICdBZHZhbmNlZCBzZWFyY2ggd2l0aCBwYWdpbmF0aW9uLCBmaWx0ZXJpbmcsIGFuZCBzb3J0aW5nJyxcbiAgfSxcbiAgZ2V0X2NvbGxlY3Rpb25fY29udGVudDoge1xuICAgIGVuZHBvaW50OiAnUkVBRCcsXG4gICAgaGFuZGxlcjogJ0NvbGxlY3Rpb24uZ2V0Q29udGVudCcsXG4gICAgZGVzY3JpcHRpb246ICdHZXQgZGV0YWlsZWQgaW5mb3JtYXRpb24gYWJvdXQgY29udGVudCBmcm9tIHRoZSBjb2xsZWN0aW9uJyxcbiAgfSxcbiAgZ2V0X2NvbGxlY3Rpb25fY2FjaGVfaGVhbHRoOiB7XG4gICAgZW5kcG9pbnQ6ICdSRUFEJyxcbiAgICBoYW5kbGVyOiAnQ29sbGVjdGlvbi5nZXRDYWNoZUhlYWx0aCcsXG4gICAgZGVzY3JpcHRpb246ICdHZXQgaGVhbHRoIHN0YXR1cyBhbmQgc3RhdGlzdGljcyBmb3IgdGhlIGNvbGxlY3Rpb24gY2FjaGUnLFxuICB9LFxuICBpbnN0YWxsX2NvbGxlY3Rpb25fY29udGVudDoge1xuICAgIGVuZHBvaW50OiAnQ1JFQVRFJyxcbiAgICBoYW5kbGVyOiAnQ29sbGVjdGlvbi5pbnN0YWxsJyxcbiAgICBkZXNjcmlwdGlvbjogJ0luc3RhbGwgYW4gZWxlbWVudCBmcm9tIHRoZSBjb2xsZWN0aW9uIHRvIHlvdXIgbG9jYWwgcG9ydGZvbGlvJyxcbiAgfSxcbiAgc3VibWl0X2NvbGxlY3Rpb25fY29udGVudDoge1xuICAgIGVuZHBvaW50OiAnQ1JFQVRFJyxcbiAgICBoYW5kbGVyOiAnQ29sbGVjdGlvbi5zdWJtaXQnLFxuICAgIGRlc2NyaXB0aW9uOiAnU3VibWl0IGEgbG9jYWwgZWxlbWVudCB0byB0aGUgY29tbXVuaXR5IGNvbGxlY3Rpb24gdmlhIEdpdEh1YicsXG4gIH0sXG5cbiAgLy8gPT09PT0gUE9SVEZPTElPIG9wZXJhdGlvbnMgPT09PT1cbiAgcG9ydGZvbGlvX3N0YXR1czoge1xuICAgIGVuZHBvaW50OiAnUkVBRCcsXG4gICAgaGFuZGxlcjogJ1BvcnRmb2xpby5zdGF0dXMnLFxuICAgIGRlc2NyaXB0aW9uOiAnQ2hlY2sgR2l0SHViIHBvcnRmb2xpbyByZXBvc2l0b3J5IHN0YXR1cyBhbmQgZWxlbWVudCBjb3VudHMnLFxuICB9LFxuICBwb3J0Zm9saW9fY29uZmlnOiB7XG4gICAgZW5kcG9pbnQ6ICdSRUFEJyxcbiAgICBoYW5kbGVyOiAnUG9ydGZvbGlvLmNvbmZpZycsXG4gICAgZGVzY3JpcHRpb246ICdDb25maWd1cmUgcG9ydGZvbGlvIHNldHRpbmdzIChhdXRvLXN5bmMsIHZpc2liaWxpdHksIGV0Yy4pJyxcbiAgfSxcbiAgc2VhcmNoX3BvcnRmb2xpbzoge1xuICAgIGVuZHBvaW50OiAnUkVBRCcsXG4gICAgaGFuZGxlcjogJ1BvcnRmb2xpby5zZWFyY2gnLFxuICAgIGRlc2NyaXB0aW9uOiAnU2VhcmNoIGxvY2FsIHBvcnRmb2xpbyBieSBjb250ZW50IG5hbWUsIGtleXdvcmRzLCBvciB0YWdzJyxcbiAgfSxcbiAgc2VhcmNoX2FsbDoge1xuICAgIGVuZHBvaW50OiAnUkVBRCcsXG4gICAgaGFuZGxlcjogJ1BvcnRmb2xpby5zZWFyY2hBbGwnLFxuICAgIGRlc2NyaXB0aW9uOiAnVW5pZmllZCBzZWFyY2ggYWNyb3NzIGxvY2FsLCBHaXRIdWIsIGFuZCBjb2xsZWN0aW9uIHNvdXJjZXMnLFxuICB9LFxuICBpbml0X3BvcnRmb2xpbzoge1xuICAgIGVuZHBvaW50OiAnQ1JFQVRFJyxcbiAgICBoYW5kbGVyOiAnUG9ydGZvbGlvLmluaXQnLFxuICAgIGRlc2NyaXB0aW9uOiAnSW5pdGlhbGl6ZSBhIG5ldyBHaXRIdWIgcG9ydGZvbGlvIHJlcG9zaXRvcnknLFxuICB9LFxuICBzeW5jX3BvcnRmb2xpbzoge1xuICAgIGVuZHBvaW50OiAnQ1JFQVRFJyxcbiAgICBoYW5kbGVyOiAnUG9ydGZvbGlvLnN5bmMnLFxuICAgIGRlc2NyaXB0aW9uOiAnU3luYyBsb2NhbCBwb3J0Zm9saW8gd2l0aCBHaXRIdWIgcmVwb3NpdG9yeScsXG4gIH0sXG4gIHBvcnRmb2xpb19lbGVtZW50X21hbmFnZXI6IHtcbiAgICBlbmRwb2ludDogJ0NSRUFURScsXG4gICAgaGFuZGxlcjogJ1BvcnRmb2xpby5lbGVtZW50TWFuYWdlcicsXG4gICAgZGVzY3JpcHRpb246ICdNYW5hZ2UgaW5kaXZpZHVhbCBlbGVtZW50cyBiZXR3ZWVuIGxvY2FsIGFuZCBHaXRIdWInLFxuICB9LFxuXG4gIC8vID09PT09IEFVVEggb3BlcmF0aW9ucyA9PT09PVxuICBzZXR1cF9naXRodWJfYXV0aDoge1xuICAgIGVuZHBvaW50OiAnQ1JFQVRFJyxcbiAgICBoYW5kbGVyOiAnQXV0aC5zZXR1cCcsXG4gICAgZGVzY3JpcHRpb246ICdTZXQgdXAgR2l0SHViIGF1dGhlbnRpY2F0aW9uIHVzaW5nIGRldmljZSBmbG93JyxcbiAgfSxcbiAgY2hlY2tfZ2l0aHViX2F1dGg6IHtcbiAgICBlbmRwb2ludDogJ1JFQUQnLFxuICAgIGhhbmRsZXI6ICdBdXRoLmNoZWNrJyxcbiAgICBkZXNjcmlwdGlvbjogJ0NoZWNrIGN1cnJlbnQgR2l0SHViIGF1dGhlbnRpY2F0aW9uIHN0YXR1cycsXG4gIH0sXG4gIGNsZWFyX2dpdGh1Yl9hdXRoOiB7XG4gICAgZW5kcG9pbnQ6ICdERUxFVEUnLFxuICAgIGhhbmRsZXI6ICdBdXRoLmNsZWFyJyxcbiAgICBkZXNjcmlwdGlvbjogJ1JlbW92ZSBHaXRIdWIgYXV0aGVudGljYXRpb24gYW5kIGRpc2Nvbm5lY3QnLFxuICB9LFxuICBjb25maWd1cmVfb2F1dGg6IHtcbiAgICBlbmRwb2ludDogJ0NSRUFURScsXG4gICAgaGFuZGxlcjogJ0F1dGguY29uZmlndXJlT0F1dGgnLFxuICAgIGRlc2NyaXB0aW9uOiAnQ29uZmlndXJlIEdpdEh1YiBPQXV0aCBjbGllbnQgSUQnLFxuICB9LFxuICBvYXV0aF9oZWxwZXJfc3RhdHVzOiB7XG4gICAgZW5kcG9pbnQ6ICdSRUFEJyxcbiAgICBoYW5kbGVyOiAnQXV0aC5vYXV0aEhlbHBlclN0YXR1cycsXG4gICAgZGVzY3JpcHRpb246ICdHZXQgZGlhZ25vc3RpYyBpbmZvcm1hdGlvbiBhYm91dCBPQXV0aCBoZWxwZXIgcHJvY2VzcycsXG4gIH0sXG5cbiAgLy8gPT09PT0gQ09ORklHIG9wZXJhdGlvbnMgPT09PT1cbiAgZG9sbGhvdXNlX2NvbmZpZzoge1xuICAgIGVuZHBvaW50OiAnUkVBRCcsXG4gICAgaGFuZGxlcjogJ0NvbmZpZy5tYW5hZ2UnLFxuICAgIGRlc2NyaXB0aW9uOiAnTWFuYWdlIERvbGxob3VzZU1DUCBjb25maWd1cmF0aW9uIHNldHRpbmdzJyxcbiAgfSxcbiAgY29udmVydF9za2lsbF9mb3JtYXQ6IHtcbiAgICBlbmRwb2ludDogJ1JFQUQnLFxuICAgIGhhbmRsZXI6ICdDb25maWcuY29udmVydFNraWxsRm9ybWF0JyxcbiAgICBkZXNjcmlwdGlvbjogJ0NvbnZlcnQgYmV0d2VlbiBjdXJyZW50IEFnZW50IFNraWxsIGFuZCBEb2xsaG91c2UgU2tpbGwgZm9ybWF0cyB3aXRoIHN0cnVjdHVyZWQgd2FybmluZ3MgYW5kIHJvdW5kdHJpcCBzdXBwb3J0JyxcbiAgfSxcbiAgZ2V0X2J1aWxkX2luZm86IHtcbiAgICBlbmRwb2ludDogJ1JFQUQnLFxuICAgIGhhbmRsZXI6ICdDb25maWcuZ2V0QnVpbGRJbmZvJyxcbiAgICBkZXNjcmlwdGlvbjogJ0dldCBjb21wcmVoZW5zaXZlIGJ1aWxkIGFuZCBydW50aW1lIGluZm9ybWF0aW9uJyxcbiAgfSxcbiAgZ2V0X2NhY2hlX2J1ZGdldF9yZXBvcnQ6IHtcbiAgICBlbmRwb2ludDogJ1JFQUQnLFxuICAgIGhhbmRsZXI6ICdDb25maWcuZ2V0Q2FjaGVCdWRnZXRSZXBvcnQnLFxuICAgIGRlc2NyaXB0aW9uOiAnR2V0IGdsb2JhbCBjYWNoZSBtZW1vcnkgYnVkZ2V0IHJlcG9ydCB3aXRoIHBlci1jYWNoZSBkaWFnbm9zdGljcycsXG4gIH0sXG5cbiAgLy8gPT09PT0gTE9HR0lORyBvcGVyYXRpb25zID09PT09XG4gIHF1ZXJ5X2xvZ3M6IHtcbiAgICBlbmRwb2ludDogJ1JFQUQnLFxuICAgIGhhbmRsZXI6ICdMb2dnaW5nLnF1ZXJ5JyxcbiAgICBkZXNjcmlwdGlvbjogJ1F1ZXJ5IHJlY2VudCBsb2cgZW50cmllcyBmcm9tIHRoZSBpbi1tZW1vcnkgYnVmZmVyIHdpdGggZmlsdGVyaW5nIGFuZCBwYWdpbmF0aW9uJyxcbiAgfSxcblxuICAvLyA9PT09PSBNRVRSSUNTIG9wZXJhdGlvbnMgPT09PT1cbiAgcXVlcnlfbWV0cmljczoge1xuICAgIGVuZHBvaW50OiAnUkVBRCcsXG4gICAgaGFuZGxlcjogJ01ldHJpY3MucXVlcnknLFxuICAgIGRlc2NyaXB0aW9uOiAnUXVlcnkgY29sbGVjdGVkIG1ldHJpY3Mgc25hcHNob3RzIHdpdGggZmlsdGVyaW5nIGJ5IG5hbWUsIHNvdXJjZSwgdHlwZSwgYW5kIHRpbWUgcmFuZ2UnLFxuICB9LFxuXG4gIC8vID09PT09IEVOSEFOQ0VEIElOREVYIG9wZXJhdGlvbnMgPT09PT1cbiAgZmluZF9zaW1pbGFyX2VsZW1lbnRzOiB7XG4gICAgZW5kcG9pbnQ6ICdSRUFEJyxcbiAgICBoYW5kbGVyOiAnRW5oYW5jZWRJbmRleC5maW5kU2ltaWxhcicsXG4gICAgZGVzY3JpcHRpb246ICdGaW5kIHNlbWFudGljYWxseSBzaW1pbGFyIGVsZW1lbnRzIHVzaW5nIE5MUCBzY29yaW5nJyxcbiAgfSxcbiAgZ2V0X2VsZW1lbnRfcmVsYXRpb25zaGlwczoge1xuICAgIGVuZHBvaW50OiAnUkVBRCcsXG4gICAgaGFuZGxlcjogJ0VuaGFuY2VkSW5kZXguZ2V0UmVsYXRpb25zaGlwcycsXG4gICAgZGVzY3JpcHRpb246ICdHZXQgYWxsIHJlbGF0aW9uc2hpcHMgZm9yIGEgc3BlY2lmaWMgZWxlbWVudCcsXG4gIH0sXG4gIHNlYXJjaF9ieV92ZXJiOiB7XG4gICAgZW5kcG9pbnQ6ICdSRUFEJyxcbiAgICBoYW5kbGVyOiAnRW5oYW5jZWRJbmRleC5zZWFyY2hCeVZlcmInLFxuICAgIGRlc2NyaXB0aW9uOiAnU2VhcmNoIGZvciBlbGVtZW50cyB0aGF0IGhhbmRsZSBhIHNwZWNpZmljIGFjdGlvbiB2ZXJiJyxcbiAgfSxcbiAgZ2V0X3JlbGF0aW9uc2hpcF9zdGF0czoge1xuICAgIGVuZHBvaW50OiAnUkVBRCcsXG4gICAgaGFuZGxlcjogJ0VuaGFuY2VkSW5kZXguZ2V0U3RhdHMnLFxuICAgIGRlc2NyaXB0aW9uOiAnR2V0IHN0YXRpc3RpY3MgYWJvdXQgRW5oYW5jZWQgSW5kZXggcmVsYXRpb25zaGlwcycsXG4gIH0sXG5cbiAgLy8gPT09PT0gUEVSU09OQSBvcGVyYXRpb25zID09PT09XG4gIGltcG9ydF9wZXJzb25hOiB7XG4gICAgZW5kcG9pbnQ6ICdDUkVBVEUnLFxuICAgIGhhbmRsZXI6ICdQZXJzb25hLmltcG9ydCcsXG4gICAgZGVzY3JpcHRpb246ICdJbXBvcnQgYSBwZXJzb25hIGZyb20gYSBmaWxlIHBhdGggb3IgSlNPTiBzdHJpbmcnLFxuICB9LFxufSBhcyBjb25zdDtcblxuLyoqXG4gKiBHZXQgdGhlIHJvdXRlIGRlZmluaXRpb24gZm9yIGEgZ2l2ZW4gb3BlcmF0aW9uIG5hbWUuXG4gKlxuICogQHBhcmFtIG9wZXJhdGlvbiAtIFRoZSBvcGVyYXRpb24gbmFtZSAoZS5nLiwgJ2NyZWF0ZV9lbGVtZW50JywgJ2xpc3RfZWxlbWVudHMnKVxuICogQHJldHVybnMgVGhlIHJvdXRlIGRlZmluaXRpb24sIG9yIHVuZGVmaW5lZCBpZiB0aGUgb3BlcmF0aW9uIGlzIG5vdCBmb3VuZFxuICpcbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBjb25zdCByb3V0ZSA9IGdldFJvdXRlKCdjcmVhdGVfZWxlbWVudCcpO1xuICogLy8geyBlbmRwb2ludDogJ0NSRUFURScsIGhhbmRsZXI6ICdFbGVtZW50Q1JVRC5jcmVhdGUnLCBkZXNjcmlwdGlvbjogJy4uLicgfVxuICogYGBgXG4gKi9cbi8qKlxuICogUmVzb2x2ZSBhbiBvcGVyYXRpb24gbmFtZSB0byBpdHMgY2Fub25pY2FsIGZvcm0sIGNoZWNraW5nIGFsaWFzZXMuXG4gKiBSZXR1cm5zIHRoZSBjYW5vbmljYWwgb3BlcmF0aW9uIG5hbWUsIG9yIHRoZSBpbnB1dCBpZiBubyBhbGlhcyBtYXRjaGVzLlxuICovXG5leHBvcnQgZnVuY3Rpb24gcmVzb2x2ZU9wZXJhdGlvbk5hbWUob3BlcmF0aW9uOiBzdHJpbmcpOiBzdHJpbmcge1xuICBpZiAob3BlcmF0aW9uIGluIE9QRVJBVElPTl9ST1VURVMpIHJldHVybiBvcGVyYXRpb247XG4gIGZvciAoY29uc3QgW2Nhbm9uaWNhbCwgcm91dGVdIG9mIE9iamVjdC5lbnRyaWVzKE9QRVJBVElPTl9ST1VURVMpKSB7XG4gICAgaWYgKHJvdXRlLmFsaWFzZXM/LmluY2x1ZGVzKG9wZXJhdGlvbikpIHJldHVybiBjYW5vbmljYWw7XG4gIH1cbiAgcmV0dXJuIG9wZXJhdGlvbjtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldFJvdXRlKG9wZXJhdGlvbjogc3RyaW5nKTogT3BlcmF0aW9uUm91dGUgfCB1bmRlZmluZWQge1xuICBjb25zdCBjYW5vbmljYWwgPSByZXNvbHZlT3BlcmF0aW9uTmFtZShvcGVyYXRpb24pO1xuICByZXR1cm4gT1BFUkFUSU9OX1JPVVRFU1tjYW5vbmljYWxdO1xufVxuXG4vKipcbiAqIEdldCBhbGwgb3BlcmF0aW9ucyB0aGF0IG1hcCB0byBhIHNwZWNpZmljIENSVUQgZW5kcG9pbnQuXG4gKlxuICogQHBhcmFtIGVuZHBvaW50IC0gVGhlIENSVUQgZW5kcG9pbnQgKCdDUkVBVEUnLCAnUkVBRCcsICdVUERBVEUnLCAnREVMRVRFJylcbiAqIEByZXR1cm5zIEFycmF5IG9mIG9wZXJhdGlvbiBuYW1lcyB0aGF0IG1hcCB0byB0aGlzIGVuZHBvaW50XG4gKlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGNvbnN0IGNyZWF0ZU9wcyA9IGdldE9wZXJhdGlvbnNGb3JFbmRwb2ludCgnQ1JFQVRFJyk7XG4gKiAvLyBbJ2NyZWF0ZV9lbGVtZW50JywgJ2ltcG9ydF9lbGVtZW50JywgJ2FkZEVudHJ5J11cbiAqIGBgYFxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0T3BlcmF0aW9uc0ZvckVuZHBvaW50KGVuZHBvaW50OiBDUlVERW5kcG9pbnQpOiBzdHJpbmdbXSB7XG4gIHJldHVybiBPYmplY3QuZW50cmllcyhPUEVSQVRJT05fUk9VVEVTKVxuICAgIC5maWx0ZXIoKFtfLCByb3V0ZV0pID0+IHJvdXRlLmVuZHBvaW50ID09PSBlbmRwb2ludClcbiAgICAubWFwKChbb3BlcmF0aW9uLCBfXSkgPT4gb3BlcmF0aW9uKTtcbn1cbiJdfQ==
485
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiT3BlcmF0aW9uUm91dGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2hhbmRsZXJzL21jcC1hcWwvT3BlcmF0aW9uUm91dGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7OztHQVFHO0FBNkJIOzs7Ozs7Ozs7R0FTRztBQUNILE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFtQztJQUM5RCxvRUFBb0U7SUFDcEUsY0FBYyxFQUFFO1FBQ2QsUUFBUSxFQUFFLFFBQVE7UUFDbEIsT0FBTyxFQUFFLG9CQUFvQjtRQUM3QixXQUFXLEVBQUUsa0NBQWtDO0tBQ2hEO0lBQ0QsY0FBYyxFQUFFO1FBQ2QsUUFBUSxFQUFFLFFBQVE7UUFDbEIsT0FBTyxFQUFFLG9CQUFvQjtRQUM3QixXQUFXLEVBQUUsc0NBQXNDO0tBQ3BEO0lBQ0QsUUFBUSxFQUFFO1FBQ1IsUUFBUSxFQUFFLFFBQVE7UUFDbEIsT0FBTyxFQUFFLGlCQUFpQjtRQUMxQixXQUFXLEVBQUUscUNBQXFDO0tBQ25EO0lBQ0QsZ0JBQWdCLEVBQUU7UUFDaEIsUUFBUSxFQUFFLE1BQU07UUFDaEIsT0FBTyxFQUFFLHFCQUFxQjtRQUM5QixXQUFXLEVBQUUsb0RBQW9EO0tBQ2xFO0lBQ0QsdURBQXVEO0lBQ3ZELHNCQUFzQixFQUFFO1FBQ3RCLFFBQVEsRUFBRSxNQUFNO1FBQ2hCLE9BQU8sRUFBRSxjQUFjO1FBQ3ZCLFdBQVcsRUFBRSw4REFBOEQ7UUFDM0UsT0FBTyxFQUFFO1lBQ1AsY0FBYztZQUNkLHlCQUF5QjtZQUN6Qix3QkFBd0I7WUFDeEIsb0JBQW9CO1lBQ3BCLDRCQUE0QjtZQUM1QixrQkFBa0I7U0FDbkI7S0FDRjtJQUNELG1DQUFtQztJQUNuQyxTQUFTLEVBQUU7UUFDVCxRQUFRLEVBQUUsTUFBTTtRQUNoQixPQUFPLEVBQUUsY0FBYztRQUN2QixXQUFXLEVBQUUsNkNBQTZDO1FBQzFELE9BQU8sRUFBRSxDQUFDLHFCQUFxQixFQUFFLHlC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V0c7QUFDSCxNQUFNLFVBQVUsd0JBQXdCLENBQUMsUUFBc0I7SUFDN0QsT0FBTyxNQUFNLENBQUMsT0FBTyxDQUFDLGdCQUFnQixDQUFDO1NBQ3BDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssQ0FBQyxFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsUUFBUSxLQUFLLFFBQVEsQ0FBQztTQUNuRCxHQUFHLENBQUMsQ0FBQyxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsU0FBUyxDQUFDLENBQUM7QUFDeEMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogT3BlcmF0aW9uIFJvdXRlciBmb3IgTUNQLUFRTFxuICpcbiAqIE1hcHMgTUNQIG9wZXJhdGlvbnMgdG8gQ1JVRCBlbmRwb2ludHMgKENSRUFURSwgUkVBRCwgVVBEQVRFLCBERUxFVEUpXG4gKiBhbmQgdGhlaXIgY29ycmVzcG9uZGluZyBoYW5kbGVyIGltcGxlbWVudGF0aW9ucy5cbiAqXG4gKiBUaGlzIHJvdXRpbmcgdGFibGUgZW5hYmxlcyB0aGUgdW5pZmllZCBNQ1AtQVFMIGVuZHBvaW50IHRvIGRpc3BhdGNoXG4gKiBvcGVyYXRpb25zIHRvIHRoZSBhcHByb3ByaWF0ZSBoYW5kbGVycyBiYXNlZCBvbiB0aGVpciBzZW1hbnRpYyBtZWFuaW5nLlxuICovXG5cbmV4cG9ydCB0eXBlIENSVURFbmRwb2ludCA9ICdDUkVBVEUnIHwgJ1JFQUQnIHwgJ1VQREFURScgfCAnREVMRVRFJyB8ICdFWEVDVVRFJztcblxuLyoqXG4gKiBIYW5kbGVyIHJlZmVyZW5jZSBpbiBkb3Qgbm90YXRpb24gZm9ybWF0OiBcIk1vZHVsZS5tZXRob2RcIlxuICogRXhhbXBsZXM6IFwiRWxlbWVudENSVUQuY3JlYXRlXCIsIFwiTWVtb3J5LmFkZEVudHJ5XCIsIFwiQWdlbnQuZXhlY3V0ZVwiXG4gKlxuICogVGhlIGZvcm1hdCBpcyByZXNvbHZlZCBieSBNQ1BBUUxIYW5kbGVyIHRvIGFjdHVhbCBtYW5hZ2VyIG1ldGhvZCBjYWxscy5cbiAqIEBzZWUgc3JjL2hhbmRsZXJzL21jcC1hcWwvTUNQQVFMSGFuZGxlci50cyBmb3IgcmVzb2x1dGlvbiBsb2dpY1xuICovXG5leHBvcnQgdHlwZSBIYW5kbGVyUmVmZXJlbmNlID0gYCR7c3RyaW5nfS4ke3N0cmluZ31gO1xuXG4vKipcbiAqIFJvdXRlIGRlZmluaXRpb24gZm9yIGFuIE1DUCBvcGVyYXRpb25cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBPcGVyYXRpb25Sb3V0ZSB7XG4gIC8qKiBDUlVEIGVuZHBvaW50IHRoaXMgb3BlcmF0aW9uIG1hcHMgdG8gKi9cbiAgZW5kcG9pbnQ6IENSVURFbmRwb2ludDtcbiAgLyoqIEhhbmRsZXIgbWV0aG9kIHJlc3BvbnNpYmxlIGZvciBleGVjdXRpbmcgdGhpcyBvcGVyYXRpb24gKGZvcm1hdDogXCJNb2R1bGUubWV0aG9kXCIpICovXG4gIGhhbmRsZXI6IEhhbmRsZXJSZWZlcmVuY2U7XG4gIC8qKiBPcHRpb25hbCBkZXNjcmlwdGlvbiBvZiB3aGF0IHRoaXMgb3BlcmF0aW9uIGRvZXMgKi9cbiAgZGVzY3JpcHRpb24/OiBzdHJpbmc7XG4gIC8qKiBBbHRlcm5hdGl2ZSBuYW1lcyB0aGF0IHJlc29sdmUgdG8gdGhpcyBvcGVyYXRpb24gKi9cbiAgYWxpYXNlcz86IHN0cmluZ1tdO1xuICAvKiogUGFyYW1ldGVycyBhdXRvbWF0aWNhbGx5IGluamVjdGVkIHdoZW4gdGhpcyBvcGVyYXRpb24gaXMgZGlzcGF0Y2hlZCAobWVyZ2VkIHVuZGVyIHVzZXIgcGFyYW1zKSAqL1xuICBpbXBsaWNpdFBhcmFtcz86IFJlY29yZDxzdHJpbmcsIHVua25vd24+O1xufVxuXG4vKipcbiAqIENvbXBsZXRlIG1hcHBpbmcgb2YgTUNQIG9wZXJhdGlvbnMgdG8gdGhlaXIgQ1JVREUgZW5kcG9pbnRzIGFuZCBoYW5kbGVycy5cbiAqXG4gKiBFbmRwb2ludCBzZW1hbnRpY3MgKENSVURFID0gQ1JVRCArIEV4ZWN1dGUpOlxuICogLSBDUkVBVEU6IE9wZXJhdGlvbnMgdGhhdCBjcmVhdGUgbmV3IHN0YXRlIChyZWFkT25seTogZmFsc2UsIGRlc3RydWN0aXZlOiBmYWxzZSlcbiAqIC0gUkVBRDogT3BlcmF0aW9ucyB0aGF0IG9ubHkgcmVhZCBleGlzdGluZyBzdGF0ZSAocmVhZE9ubHk6IHRydWUsIGRlc3RydWN0aXZlOiBmYWxzZSlcbiAqIC0gVVBEQVRFOiBPcGVyYXRpb25zIHRoYXQgbW9kaWZ5IGV4aXN0aW5nIHN0YXRlIChyZWFkT25seTogZmFsc2UsIGRlc3RydWN0aXZlOiB0cnVlKVxuICogLSBERUxFVEU6IE9wZXJhdGlvbnMgdGhhdCByZW1vdmUgc3RhdGUgKHJlYWRPbmx5OiBmYWxzZSwgZGVzdHJ1Y3RpdmU6IHRydWUpXG4gKiAtIEVYRUNVVEU6IE9wZXJhdGlvbnMgZm9yIHJ1bnRpbWUgZXhlY3V0aW9uIGxpZmVjeWNsZSAocmVhZE9ubHk6IGZhbHNlLCBkZXN0cnVjdGl2ZTogZmFsc2UsIHN0YXRlZnVsOiB0cnVlKVxuICovXG5leHBvcnQgY29uc3QgT1BFUkFUSU9OX1JPVVRFUzogUmVjb3JkPHN0cmluZywgT3BlcmF0aW9uUm91dGU+ID0ge1xuICAvLyA9PT09PSBDUkVBVEUgZW5kcG9pbnQgKHJlYWRPbmx5OiBmYWxzZSwgZGVzdHJ1Y3RpdmU6IGZhbHNlKSA9PT09PVxuICBjcmVhdGVfZWxlbWVudDoge1xuICAgIGVuZHBvaW50OiAnQ1JFQVRFJyxcbiAgICBoYW5kbGVyOiAnRWxlbWVudENSVUQuY3JlYXRlJyxcbiAgICBkZXNjcmlwdGlvbjogJ0NyZWF0ZSBhIG5ldyBlbGVtZW50IG9mIGFueSB0eXBlJyxcbiAgfSxcbiAgaW1wb3J0X2VsZW1lbnQ6IHtcbiAgICBlbmRwb2ludDogJ0NSRUFURScsXG4gICAgaGFuZGxlcjogJ0VsZW1lbnRDUlVELmltcG9ydCcsXG4gICAgZGVzY3JpcHRpb246ICdJbXBvcnQgYW4gZWxlbWVudCBmcm9tIGV4cG9ydGVkIGRhdGEnLFxuICB9LFxuICBhZGRFbnRyeToge1xuICAgIGVuZHBvaW50OiAnQ1JFQVRFJyxcbiAgICBoYW5kbGVyOiAnTWVtb3J5LmFkZEVudHJ5JyxcbiAgICBkZXNjcmlwdGlvbjogJ0FkZCBhIG5ldyBlbnRyeSB0byBhIG1lbW9yeSBlbGVtZW50JyxcbiAgfSxcbiAgYWN0aXZhdGVfZWxlbWVudDoge1xuICAgIGVuZHBvaW50OiAnUkVBRCcsXG4gICAgaGFuZGxlcjogJ0FjdGl2YXRpb24uYWN0aXZhdGUnLFxuICAgIGRlc2NyaXB0aW9uOiAnQWN0aXZhdGUgYW4gZWxlbWVudCBmb3IgdXNlIGluIHRoZSBjdXJyZW50IHNlc3Npb24nLFxuICB9LFxuICAvLyBJc3N1ZSAjNzc0OiBPcGVuIHBvcnRmb2xpbyBicm93c2VyIGluIHN5c3RlbSBicm93c2VyXG4gIG9wZW5fcG9ydGZvbGlvX2Jyb3dzZXI6IHtcbiAgICBlbmRwb2ludDogJ1JFQUQnLFxuICAgIGhhbmRsZXI6ICdCcm93c2VyLm9wZW4nLFxuICAgIGRlc2NyaXB0aW9uOiAnU3RhcnQgdGhlIHBvcnRmb2xpbyB3ZWIgVUkgYW5kIG9wZW4gaXQgaW4gdGhlIHN5c3RlbSBicm93c2VyJyxcbiAgICBhbGlhc2VzOiBbXG4gICAgICAnb3Blbl9jb25zb2xlJyxcbiAgICAgICdvcGVuX21hbmFnZW1lbnRfY29uc29sZScsXG4gICAgICAnb3Blbl9kb2xsaG91c2VfY29uc29sZScsXG4gICAgICAnb3Blbl9kb2xsaG91c2VfbWNwJyxcbiAgICAgICdvcGVuX2RvbGxob3VzZV9tY3BfY29uc29sZScsXG4gICAgICAnb3Blbl93ZWJfY29uc29sZScsXG4gICAgXSxcbiAgfSxcbiAgLy8gQ29uc29sZSB0YWIgZGVlcC1saW5rIG9wZXJhdGlvbnNcbiAgb3Blbl9sb2dzOiB7XG4gICAgZW5kcG9pbnQ6ICdSRUFEJyxcbiAgICBoYW5kbGVyOiAnQnJvd3Nlci5vcGVuJyxcbiAgICBkZXNjcmlwdGlvbjogJ09wZW4gdGhlIG1hbmFnZW1lbnQgY29uc29sZSBvbiB0aGUgbG9ncyB0YWInLFxuICAgIGFsaWFzZXM6IFsnb3Blbl9kb2xsaG91c2VfbG9ncycsICdvcGVuX2RvbGxob3VzZV9tY3BfbG9ncycsICdvcGVuX2xvZ192aWV3ZXInXSxcbiAgICBpbXBsaWNpdFBhcmFtczogeyB0YWI6ICdsb2dzJyB9LFxuICB9LFxuICBvcGVuX21ldHJpY3M6IHtcbiAgICBlbmRwb2ludDogJ1JFQUQnLFxuICAgIGhhbmRsZXI6ICdCcm93c2VyLm9wZW4nLFxuICAgIGRlc2NyaXB0aW9uOiAnT3BlbiB0aGUgbWFuYWdlbWVudCBjb25zb2xlIG9uIHRoZSBtZXRyaWNzIHRhYicsXG4gICAgYWxpYXNlczogWydvcGVuX2RvbGxob3VzZV9tZXRyaWNzJywgJ29wZW5fZG9sbGhvdXNlX21jcF9tZXRyaWNzJywgJ29wZW5fbWV0cmljc19kYXNoYm9hcmQnXSxcbiAgICBpbXBsaWNpdFBhcmFtczogeyB0YWI6ICdtZXRyaWNzJyB9LFxuICB9LFxuICBvcGVuX3Blcm1pc3Npb25zOiB7XG4gICAgZW5kcG9pbnQ6ICdSRUFEJyxcbiAgICBoYW5kbGVyOiAnQnJvd3Nlci5vcGVuJyxcbiAgICBkZXNjcmlwdGlvbjogJ09wZW4gdGhlIG1hbmFnZW1lbnQgY29uc29sZSBvbiB0aGUgcGVybWlzc2lvbnMgdGFiJyxcbiAgICBhbGlhc2VzOiBbJ29wZW5fZG9sbGhvdXNlX3Blcm1pc3Npb25zJywgJ29wZW5fZG9sbGhvdXNlX21jcF9wZXJtaXNzaW9ucyddLFxuICAgIGltcGxpY2l0UGFyYW1zOiB7IHRhYjogJ3Blcm1pc3Npb25zJyB9LFxuICB9LFxuICBvcGVuX3NldHVwOiB7XG4gICAgZW5kcG9pbnQ6ICdSRUFEJyxcbiAgICBoYW5kbGVyOiAnQnJvd3Nlci5vcGVuJyxcbiAgICBkZXNjcmlwdGlvbjogJ09wZW4gdGhlIG1hbmFnZW1lbnQgY29uc29sZSBvbiB0aGUgc2V0dXAvaW5zdGFsbCB0YWInLFxuICAgIGFsaWFzZXM6IFsnb3Blbl9kb2xsaG91c2Vfc2V0dXAnLCAnb3Blbl9kb2xsaG91c2VfbWNwX3NldHVwJywgJ29wZW5faW5zdGFsbGVyJ10sXG4gICAgaW1wbGljaXRQYXJhbXM6IHsgdGFiOiAnc2V0dXAnIH0sXG4gIH0sXG4gIC8vIElzc3VlICM0NTI6IEdhdGVrZWVwZXIgY29uZmlybWF0aW9uIGZsb3dcbiAgLy8gUm91dGVkIHRocm91Z2ggRVhFQ1VURSBzbyBNQ1AgY2xpZW50cyBjYW4gZ2F0ZSBpdCBzZXBhcmF0ZWx5IGZyb20gQ1JFQVRFLlxuICAvLyBjb25maXJtX29wZXJhdGlvbiBpcyBub24taWRlbXBvdGVudCBhbmQgYWN0cyBhcyBhIGh1bWFuLWluLXRoZS1sb29wIGNoZWNrcG9pbnQg4oCUXG4gIC8vIGl0IG11c3Qgbm90IHNpbGVudGx5IGF1dG8tYXBwcm92ZSB3aGVuIG9ubHkgQ1JFQVRFIGlzIGFsbG93ZWQuXG4gIGNvbmZpcm1fb3BlcmF0aW9uOiB7XG4gICAgZW5kcG9pbnQ6ICdFWEVDVVRFJyxcbiAgICBoYW5kbGVyOiAnR2F0ZWtlZXBlci5jb25maXJtJyxcbiAgICBkZXNjcmlwdGlvbjogJ0NvbmZpcm0gYSBwZW5kaW5nIG9wZXJhdGlvbiB0aGF0IHJlcXVpcmVzIHVzZXIgYXBwcm92YWwnLFxuICB9LFxuICAvLyBJc3N1ZSAjNjI1OiBDTEktbGV2ZWwgcGVybWlzc2lvbiBkZWxlZ2F0aW9uIHZpYSAtLXBlcm1pc3Npb24tcHJvbXB0LXRvb2xcbiAgLy8gSXNzdWUgIzY0NzogTW92ZWQgdG8gUkVBRCDigJQgdGhpcyBpcyBhIHBvbGljeSBldmFsdWF0aW9uIChyZWFkLW9ubHkpLCBub3QgYSBzdGF0ZSBtdXRhdGlvbi5cbiAgLy8gRW5hYmxlcyAtLXBlcm1pc3Npb24tcHJvbXB0LXRvb2wgdG8gcG9pbnQgYXQgbWNwX2FxbF9yZWFkLlxuICBwZXJtaXNzaW9uX3Byb21wdDoge1xuICAgIGVuZHBvaW50OiAnUkVBRCcsXG4gICAgaGFuZGxlcjogJ0dhdGVrZWVwZXIucGVybWlzc2lvblByb21wdCcsXG4gICAgZGVzY3JpcHRpb246ICdFdmFsdWF0ZSBDTEktbGV2ZWwgcGVybWlzc2lvbiBwcm9tcHRzIGZvciBub24taW50ZXJhY3RpdmUgc2Vzc2lvbnMgdmlhIC0tcGVybWlzc2lvbi1wcm9tcHQtdG9vbCcsXG4gIH0sXG4gIC8vIFBlcm1pc3Npb24gZXZhbHVhdGlvbiBmb3IgUHJlVG9vbFVzZSBob29rcyAoaW50ZXJhY3RpdmUgc2Vzc2lvbnMsIGFsbCBwbGF0Zm9ybXMpXG4gIGV2YWx1YXRlX3Blcm1pc3Npb246IHtcbiAgICBlbmRwb2ludDogJ1JFQUQnLFxuICAgIGhhbmRsZXI6ICdHYXRla2VlcGVyLmV2YWx1YXRlUGVybWlzc2lvbicsXG4gICAgZGVzY3JpcHRpb246ICdFdmFsdWF0ZSBDTEkgcGVybWlzc2lvbiBmb3IgYSB0b29sIHZpYSBIVFRQL2hvb2suIFJldHVybnMgcGxhdGZvcm0tZm9ybWF0dGVkIHJlc3BvbnNlIChjbGF1ZGVfY29kZSwgZ2VtaW5pLCBjdXJzb3IsIHdpbmRzdXJmLCBjb2RleCkuJyxcbiAgfSxcbiAgLy8gSXNzdWUgIzYyNSBQaGFzZSAyOiBDTEkgcG9saWN5IHZpc2liaWxpdHlcbiAgZ2V0X2VmZmVjdGl2ZV9jbGlfcG9saWNpZXM6IHtcbiAgICBlbmRwb2ludDogJ1JFQUQnLFxuICAgIGhhbmRsZXI6ICdHYXRla2VlcGVyLmdldEVmZmVjdGl2ZUNsaVBvbGljaWVzJyxcbiAgICBkZXNjcmlwdGlvbjogJ0dldCBlZmZlY3RpdmUgQ0xJIHBlcm1pc3Npb24gcG9saWNpZXMgZm9yIHRoZSBjdXJyZW50IHNlc3Npb24gKElzc3VlICM2MjUgUGhhc2UgMiknLFxuICB9LFxuICAvLyBJc3N1ZSAjNjI1IFBoYXNlIDM6IENMSSBhcHByb3ZhbCB3b3JrZmxvd1xuICBhcHByb3ZlX2NsaV9wZXJtaXNzaW9uOiB7XG4gICAgZW5kcG9pbnQ6ICdFWEVDVVRFJyxcbiAgICBoYW5kbGVyOiAnR2F0ZWtlZXBlci5hcHByb3ZlQ2xpUGVybWlzc2lvbicsXG4gICAgZGVzY3JpcHRpb246ICdBcHByb3ZlIGEgcGVuZGluZyBDTEkgdG9vbCBwZXJtaXNzaW9uIHJlcXVlc3QgKElzc3VlICM2MjUgUGhhc2UgMyknLFxuICB9LFxuICBnZXRfcGVuZGluZ19jbGlfYXBwcm92YWxzOiB7XG4gICAgZW5kcG9pbnQ6ICdSRUFEJyxcbiAgICBoYW5kbGVyOiAnR2F0ZWtlZXBlci5nZXRQZW5kaW5nQ2xpQXBwcm92YWxzJyxcbiAgICBkZXNjcmlwdGlvbjogJ0dldCBwZW5kaW5nIENMSSB0b29sIGFwcHJvdmFsIHJlcXVlc3RzIGZvciB0aGlzIHNlc3Npb24gKElzc3VlICM2MjUgUGhhc2UgMyknLFxuICB9LFxuICAvLyBJc3N1ZSAjMTQyOiBEYW5nZXIgem9uZSB2ZXJpZmljYXRpb24gZmxvd1xuICB2ZXJpZnlfY2hhbGxlbmdlOiB7XG4gICAgZW5kcG9pbnQ6ICdDUkVBVEUnLFxuICAgIGhhbmRsZXI6ICdHYXRla2VlcGVyLnZlcmlmeScsXG4gICAgZGVzY3JpcHRpb246ICdTdWJtaXQgdmVyaWZpY2F0aW9uIGNvZGUgdG8gdW5ibG9jayBhIGRhbmdlciB6b25lIG9wZXJhdGlvbicsXG4gIH0sXG4gIHJlbGVhc2VfZGVhZGxvY2s6IHtcbiAgICBlbmRwb2ludDogJ0NSRUFURScsXG4gICAgaGFuZGxlcjogJ0dhdGVrZWVwZXIucmVsZWFzZURlYWRsb2NrJyxcbiAgICBkZXNjcmlwdGlvbjogJ1VzZSBvdXQtb2YtYmFuZCB2ZXJpZmljYXRpb24gdG8gZGVhY3RpdmF0ZSBhbGwgYWN0aXZlIGVsZW1lbnRzIGFuZCBjbGVhciBjdXJyZW50LXNlc3Npb24gYWN0aXZhdGlvbiBzdGF0ZScsXG4gIH0sXG4gIC8vIElzc3VlICM1MDM6IEJlZXRsZWp1aWNlIHNhZmUtdHJpZ2dlciBmb3IgZGFuZ2VyIHpvbmUgdmVyaWZpY2F0aW9uIHRlc3RpbmdcbiAgYmVldGxlanVpY2VfYmVldGxlanVpY2VfYmVldGxlanVpY2U6IHtcbiAgICBlbmRwb2ludDogJ0NSRUFURScsXG4gICAgaGFuZGxlcjogJ0dhdGVrZWVwZXIuYmVldGxlanVpY2UnLFxuICAgIGRlc2NyaXB0aW9uOiAnU2FmZS10cmlnZ2VyIHRoZSBmdWxsIGRhbmdlciB6b25lIHZlcmlmaWNhdGlvbiBwaXBlbGluZSBmb3IgdGVzdGluZyBwdXJwb3NlcycsXG4gIH0sXG5cbiAgLy8gPT09PT0gUkVBRCBlbmRwb2ludCAocmVhZE9ubHk6IHRydWUsIGRlc3RydWN0aXZlOiBmYWxzZSkgPT09PT1cbiAgLy8gVW5pZmllZCBzZWFyY2ggb3BlcmF0aW9uIChJc3N1ZSAjMjQzKVxuICBzZWFyY2g6IHtcbiAgICBlbmRwb2ludDogJ1JFQUQnLFxuICAgIGhhbmRsZXI6ICdVbmlmaWVkU2VhcmNoLnNlYXJjaCcsXG4gICAgZGVzY3JpcHRpb246ICdVbmlmaWVkIHNlYXJjaCBhY3Jvc3MgbG9jYWwsIEdpdEh1YiwgYW5kIGNvbGxlY3Rpb24gc291cmNlcyB3aXRoIHNjb3BlIHBhcmFtZXRlcicsXG4gIH0sXG4gIGxpc3RfZWxlbWVudHM6IHtcbiAgICBlbmRwb2ludDogJ1JFQUQnLFxuICAgIGhhbmRsZXI6ICdFbGVtZW50Q1JVRC5saXN0JyxcbiAgICBkZXNjcmlwdGlvbjogJ0xpc3QgZWxlbWVudHMgd2l0aCBwYWdpbmF0aW9uIChkZWZhdWx0IDIwL3BhZ2UpLCBmaWx0ZXJpbmcsIHNvcnRpbmcsIGFuZCBjb3VudCBhZ2dyZWdhdGlvbi4gUmV0dXJucyBzdHJ1Y3R1cmVkIEpTT04uJyxcbiAgfSxcbiAgZ2V0X2VsZW1lbnQ6IHtcbiAgICBlbmRwb2ludDogJ1JFQUQnLFxuICAgIGhhbmRsZXI6ICdFbGVtZW50Q1JVRC5nZXQnLFxuICAgIGRlc2NyaXB0aW9uOiAnR2V0IGFuIGVsZW1lbnQgYnkgbmFtZSBhbmQgdHlwZSwgcmV0dXJuaW5nIGZ1bGwgY29udGVudCBhbmQgbWV0YWRhdGEnLFxuICB9LFxuICBnZXRfZWxlbWVudF9kZXRhaWxzOiB7XG4gICAgZW5kcG9pbnQ6ICdSRUFEJyxcbiAgICBoYW5kbGVyOiAnRWxlbWVudENSVUQuZ2V0RGV0YWlscycsXG4gICAgZGVzY3JpcHRpb246ICdHZXQgZGV0YWlsZWQgaW5mb3JtYXRpb24gYWJvdXQgYSBzcGVjaWZpYyBlbGVtZW50JyxcbiAgfSxcbiAgc2VhcmNoX2VsZW1lbnRzOiB7XG4gICAgZW5kcG9pbnQ6ICdSRUFEJyxcbiAgICBoYW5kbGVyOiAnU2VhcmNoLnNlYXJjaCcsXG4gICAgZGVzY3JpcHRpb246ICdGdWxsLXRleHQgc2VhcmNoIGFjcm9zcyBlbGVtZW50IG5hbWVzLCBkZXNjcmlwdGlvbnMsIGFuZCBjb250ZW50LiBSZXR1cm5zIHN0cnVjdHVyZWQgSlNPTiB3aXRoIHBhZ2luYXRpb24uJyxcbiAgfSxcbiAgcXVlcnlfZWxlbWVudHM6IHtcbiAgICBlbmRwb2ludDogJ1JFQUQnLFxuICAgIGhhbmRsZXI6ICdTZWFyY2gucXVlcnknLFxuICAgIGRlc2NyaXB0aW9uOiAnUXVlcnkgZWxlbWVudHMgd2l0aCBmaWx0ZXJzLCBzb3J0aW5nLCBwYWdpbmF0aW9uLCBhbmQgY291bnQgYWdncmVnYXRpb24uIFJldHVybnMgc3RydWN0dXJlZCBKU09OLicsXG4gIH0sXG4gIGdldF9hY3RpdmVfZWxlbWVudHM6IHtcbiAgICBlbmRwb2ludDogJ1JFQUQnLFxuICAgIGhhbmRsZXI6ICdBY3RpdmF0aW9uLmdldEFjdGl2ZScsXG4gICAgZGVzY3JpcHRpb246ICdHZXQgYWxsIGN1cnJlbnRseSBhY3RpdmUgZWxlbWVudHMgd2l0aCByZW5kZXJlZCBjb250ZW50LCBvcHRpb25hbGx5IGZpbHRlcmVkIGJ5IHR5cGUnLFxuICB9LFxuICB2YWxpZGF0ZV9lbGVtZW50OiB7XG4gICAgZW5kcG9pbnQ6ICdSRUFEJyxcbiAgICBoYW5kbGVyOiAnRWxlbWVudENSVUQudmFsaWRhdGUnLFxuICAgIGRlc2NyaXB0aW9uOiAnVmFsaWRhdGUgYW4gZXhpc3RpbmcgZWxlbWVudCBieSBuYW1lJyxcbiAgfSxcbiAgcmVuZGVyOiB7XG4gICAgZW5kcG9pbnQ6ICdSRUFEJyxcbiAgICBoYW5kbGVyOiAnVGVtcGxhdGUucmVuZGVyJyxcbiAgICBkZXNjcmlwdGlvbjogJ1JlbmRlciBhIHRlbXBsYXRlIHdpdGggcHJvdmlkZWQgdmFyaWFibGVzJyxcbiAgfSxcbiAgZXhwb3J0X2VsZW1lbnQ6IHtcbiAgICBlbmRwb2ludDogJ1JFQUQnLFxuICAgIGhhbmRsZXI6ICdFbGVtZW50Q1JVRC5leHBvcnQnLFxuICAgIGRlc2NyaXB0aW9uOiAnRXhwb3J0IGFuIGVsZW1lbnQgdG8gYSBwb3J0YWJsZSBmb3JtYXQnLFxuICB9LFxuICBkZWFjdGl2YXRlX2VsZW1lbnQ6IHtcbiAgICBlbmRwb2ludDogJ1JFQUQnLFxuICAgIGhhbmRsZXI6ICdBY3RpdmF0aW9uLmRlYWN0aXZhdGUnLFxuICAgIGRlc2NyaXB0aW9uOiAnRGVhY3RpdmF0ZSBhbiBlbGVtZW50LCByZW1vdmluZyBpdCBmcm9tIHRoZSBjdXJyZW50IHNlc3Npb24nLFxuICB9LFxuICBpbnRyb3NwZWN0OiB7XG4gICAgZW5kcG9pbnQ6ICdSRUFEJyxcbiAgICBoYW5kbGVyOiAnSW50cm9zcGVjdGlvbi5yZXNvbHZlJyxcbiAgICBkZXNjcmlwdGlvbjogJ1F1ZXJ5IGF2YWlsYWJsZSBvcGVyYXRpb25zIGFuZCB0eXBlcyBmb3IgZGlzY292ZXJ5JyxcbiAgfSxcbiAgZ2V0X2NhcGFiaWxpdGllczoge1xuICAgIGVuZHBvaW50OiAnUkVBRCcsXG4gICAgaGFuZGxlcjogJ0ludHJvc3BlY3Rpb24uZ2V0Q2FwYWJpbGl0aWVzJyxcbiAgICBkZXNjcmlwdGlvbjogJ0dldCBhIGhpZ2gtbGV2ZWwgbWFwIG9mIGFsbCBzZXJ2ZXIgY2FwYWJpbGl0aWVzIGdyb3VwZWQgYnkgdXNlciBpbnRlbnQnLFxuICB9LFxuXG4gIC8vID09PT09IFVQREFURSBlbmRwb2ludCAocmVhZE9ubHk6IGZhbHNlLCBkZXN0cnVjdGl2ZTogdHJ1ZSkgPT09PT1cbiAgZWRpdF9lbGVtZW50OiB7XG4gICAgZW5kcG9pbnQ6ICdVUERBVEUnLFxuICAgIGhhbmRsZXI6ICdFbGVtZW50Q1JVRC5lZGl0JyxcbiAgICBkZXNjcmlwdGlvbjogJ0VkaXQgYSBzaW5nbGUgZmllbGQgb24gYW4gZWxlbWVudCcsXG4gIH0sXG4gIHVwZ3JhZGVfZWxlbWVudDoge1xuICAgIGVuZHBvaW50OiAnVVBEQVRFJyxcbiAgICBoYW5kbGVyOiAnRWxlbWVudENSVUQudXBncmFkZScsXG4gICAgZGVzY3JpcHRpb246ICdVcGdyYWRlIGVsZW1lbnQgZnJvbSB2MSBzaW5nbGUtYm9keSB0byB2MiBkdWFsLWZpZWxkIGZvcm1hdCAoaW5zdHJ1Y3Rpb25zICsgY29udGVudCknLFxuICB9LFxuXG4gIC8vID09PT09IERFTEVURSBlbmRwb2ludCAocmVhZE9ubHk6IGZhbHNlLCBkZXN0cnVjdGl2ZTogdHJ1ZSkgPT09PT1cbiAgZGVsZXRlX2VsZW1lbnQ6IHtcbiAgICBlbmRwb2ludDogJ0RFTEVURScsXG4gICAgaGFuZGxlcjogJ0VsZW1lbnRDUlVELmRlbGV0ZScsXG4gICAgZGVzY3JpcHRpb246ICdEZWxldGUgYW4gZWxlbWVudCcsXG4gIH0sXG4gIGNsZWFyOiB7XG4gICAgZW5kcG9pbnQ6ICdERUxFVEUnLFxuICAgIGhhbmRsZXI6ICdNZW1vcnkuY2xlYXInLFxuICAgIGRlc2NyaXB0aW9uOiAnQ2xlYXIgYWxsIGVudHJpZXMgZnJvbSBhIG1lbW9yeSBlbGVtZW50IChpcnJldmVyc2libGUpJyxcbiAgfSxcblxuICAvLyA9PT09PSBFWEVDVVRFIGVuZHBvaW50IChydW50aW1lIGV4ZWN1dGlvbiBsaWZlY3ljbGUpID09PT09XG4gIC8vIFRoZXNlIG9wZXJhdGlvbnMgbWFuYWdlIHRoZSBleGVjdXRpb24gbGlmZWN5Y2xlIG9mIGV4ZWN1dGFibGUgZWxlbWVudHNcbiAgLy8gKGFnZW50cywgd29ya2Zsb3dzLCBwaXBlbGluZXMpLiBVbmxpa2UgQ1JVRCB3aGljaCBtYW5hZ2VzIGRlZmluaXRpb25zLFxuICAvLyBFWEVDVVRFIG1hbmFnZXMgcnVudGltZSBzdGF0ZSBhbmQgaXMgaW5oZXJlbnRseSBub24taWRlbXBvdGVudC5cbiAgZXhlY3V0ZV9hZ2VudDoge1xuICAgIGVuZHBvaW50OiAnRVhFQ1VURScsXG4gICAgaGFuZGxlcjogJ0V4ZWN1dGUuZXhlY3V0ZScsXG4gICAgZGVzY3JpcHRpb246ICdTdGFydCBleGVjdXRpb24gb2YgYW4gYWdlbnQgb3IgZXhlY3V0YWJsZSBlbGVtZW50JyxcbiAgfSxcbiAgZ2V0X2V4ZWN1dGlvbl9zdGF0ZToge1xuICAgIGVuZHBvaW50OiAnUkVBRCcsXG4gICAgaGFuZGxlcjogJ0V4ZWN1dGUuZ2V0U3RhdGUnLFxuICAgIGRlc2NyaXB0aW9uOiAnUXVlcnkgY3VycmVudCBleGVjdXRpb24gc3RhdGUgaW5jbHVkaW5nIHByb2dyZXNzIGFuZCBmaW5kaW5ncycsXG4gIH0sXG4gIHJlY29yZF9leGVjdXRpb25fc3RlcDoge1xuICAgIGVuZHBvaW50OiAnQ1JFQVRFJyxcbiAgICBoYW5kbGVyOiAnRXhlY3V0ZS51cGRhdGVTdGF0ZScsXG4gICAgZGVzY3JpcHRpb246ICdSZWNvcmQgZXhlY3V0aW9uIHByb2dyZXNzLCBzdGVwIGNvbXBsZXRpb24sIG9yIGZpbmRpbmdzLiBSZXR1cm5zIGF1dG9ub215IGRpcmVjdGl2ZSB3aXRoIGNvbnRpbnVlL3BhdXNlIGRlY2lzaW9uIGFuZCBub3RpZmljYXRpb25zLicsXG4gIH0sXG4gIGNvbXBsZXRlX2V4ZWN1dGlvbjoge1xuICAgIGVuZHBvaW50OiAnRVhFQ1VURScsXG4gICAgaGFuZGxlcjogJ0V4ZWN1dGUuY29tcGxldGUnLFxuICAgIGRlc2NyaXB0aW9uOiAnU2lnbmFsIHRoYXQgZXhlY3V0aW9uIGZpbmlzaGVkIHN1Y2Nlc3NmdWxseSB3aXRoIHN1bW1hcnknLFxuICB9LFxuICBjb250aW51ZV9leGVjdXRpb246IHtcbiAgICBlbmRwb2ludDogJ0VYRUNVVEUnLFxuICAgIGhhbmRsZXI6ICdFeGVjdXRlLmNvbnRpbnVlJyxcbiAgICBkZXNjcmlwdGlvbjogJ1Jlc3VtZSBleGVjdXRpb24gZnJvbSBzYXZlZCBzdGF0ZScsXG4gIH0sXG4gIGFib3J0X2V4ZWN1dGlvbjoge1xuICAgIGVuZHBvaW50OiAnRVhFQ1VURScsXG4gICAgaGFuZGxlcjogJ0V4ZWN1dGUuYWJvcnQnLFxuICAgIGRlc2NyaXB0aW9uOiAnQWJvcnQgYSBydW5uaW5nIGFnZW50IGV4ZWN1dGlvbiwgcmVqZWN0aW5nIGZ1cnRoZXIgb3BlcmF0aW9ucyBmb3IgdGhlIGdvYWxJZCcsXG4gIH0sXG4gIGdldF9nYXRoZXJlZF9kYXRhOiB7XG4gICAgZW5kcG9pbnQ6ICdSRUFEJyxcbiAgICBoYW5kbGVyOiAnRXhlY3V0ZS5nZXRHYXRoZXJlZERhdGEnLFxuICAgIGRlc2NyaXB0aW9uOiAnR2V0IGFnZ3JlZ2F0ZWQgZXhlY3V0aW9uIGRhdGEgKHN0ZXBzLCBkZWNpc2lvbnMsIGZpbmRpbmdzLCBhbmQgc3VtbWFyeSBzdGF0aXN0aWNzKSBmb3IgYSBzcGVjaWZpYyBnb2FsLiBVc2UgYWZ0ZXIgcmVjb3JkX2V4ZWN1dGlvbl9zdGVwIGNhbGxzIHRvIHJldmlldyBwcm9ncmVzcy4nLFxuICB9LFxuICBwcmVwYXJlX2hhbmRvZmY6IHtcbiAgICBlbmRwb2ludDogJ0VYRUNVVEUnLFxuICAgIGhhbmRsZXI6ICdFeGVjdXRlLnByZXBhcmVIYW5kb2ZmJyxcbiAgICBkZXNjcmlwdGlvbjogJ1ByZXBhcmUgYSBzZXNzaW9uIGhhbmRvZmYgcGFja2FnZTogc2VyaWFsaXplcyBnb2FsIHByb2dyZXNzLCBnYXRoZXJlZCBkYXRhLCBhbmQgYWN0aXZlIGVsZW1lbnRzIGludG8gYSBjb21wcmVzc2VkLCBpbnRlZ3JpdHktY2hlY2tlZCBibG9jayB0aGF0IGNhbiBiZSBjb3B5LXBhc3RlZCB0byByZXN1bWUgaW4gYW5vdGhlciBzZXNzaW9uLicsXG4gIH0sXG4gIHJlc3VtZV9mcm9tX2hhbmRvZmY6IHtcbiAgICBlbmRwb2ludDogJ0VYRUNVVEUnLFxuICAgIGhhbmRsZXI6ICdFeGVjdXRlLnJlc3VtZUZyb21IYW5kb2ZmJyxcbiAgICBkZXNjcmlwdGlvbjogJ1Jlc3VtZSBhZ2VudCBleGVjdXRpb24gZnJvbSBhIGhhbmRvZmYgYmxvY2suIFZhbGlkYXRlcyBpbnRlZ3JpdHksIHZlcmlmaWVzIGFnZW50IG5hbWUgbWF0Y2gsIHJlc3RvcmVzIGNvbnRleHQsIGFuZCBjb250aW51ZXMgZXhlY3V0aW9uIHdpdGggY2FsbGVyLXN1cHBsaWVkIHBhcmFtZXRlcnMuJyxcbiAgfSxcblxuICAvLyA9PT09PSBDT0xMRUNUSU9OIG9wZXJhdGlvbnMgPT09PT1cbiAgYnJvd3NlX2NvbGxlY3Rpb246IHtcbiAgICBlbmRwb2ludDogJ1JFQUQnLFxuICAgIGhhbmRsZXI6ICdDb2xsZWN0aW9uLmJyb3dzZScsXG4gICAgZGVzY3JpcHRpb246ICdCcm93c2UgdGhlIERvbGxob3VzZU1DUCBjb21tdW5pdHkgY29sbGVjdGlvbiBieSBzZWN0aW9uIGFuZCB0eXBlJyxcbiAgfSxcbiAgc2VhcmNoX2NvbGxlY3Rpb246IHtcbiAgICBlbmRwb2ludDogJ1JFQUQnLFxuICAgIGhhbmRsZXI6ICdDb2xsZWN0aW9uLnNlYXJjaCcsXG4gICAgZGVzY3JpcHRpb246ICdTZWFyY2ggdGhlIGNvbW11bml0eSBjb2xsZWN0aW9uIGZvciBlbGVtZW50cyBieSBrZXl3b3JkcycsXG4gIH0sXG4gIHNlYXJjaF9jb2xsZWN0aW9uX2VuaGFuY2VkOiB7XG4gICAgZW5kcG9pbnQ6ICdSRUFEJyxcbiAgICBoYW5kbGVyOiAnQ29sbGVjdGlvbi5zZWFyY2hFbmhhbmNlZCcsXG4gICAgZGVzY3JpcHRpb246ICdBZHZhbmNlZCBzZWFyY2ggd2l0aCBwYWdpbmF0aW9uLCBmaWx0ZXJpbmcsIGFuZCBzb3J0aW5nJyxcbiAgfSxcbiAgZ2V0X2NvbGxlY3Rpb25fY29udGVudDoge1xuICAgIGVuZHBvaW50OiAnUkVBRCcsXG4gICAgaGFuZGxlcjogJ0NvbGxlY3Rpb24uZ2V0Q29udGVudCcsXG4gICAgZGVzY3JpcHRpb246ICdHZXQgZGV0YWlsZWQgaW5mb3JtYXRpb24gYWJvdXQgY29udGVudCBmcm9tIHRoZSBjb2xsZWN0aW9uJyxcbiAgfSxcbiAgZ2V0X2NvbGxlY3Rpb25fY2FjaGVfaGVhbHRoOiB7XG4gICAgZW5kcG9pbnQ6ICdSRUFEJyxcbiAgICBoYW5kbGVyOiAnQ29sbGVjdGlvbi5nZXRDYWNoZUhlYWx0aCcsXG4gICAgZGVzY3JpcHRpb246ICdHZXQgaGVhbHRoIHN0YXR1cyBhbmQgc3RhdGlzdGljcyBmb3IgdGhlIGNvbGxlY3Rpb24gY2FjaGUnLFxuICB9LFxuICBpbnN0YWxsX2NvbGxlY3Rpb25fY29udGVudDoge1xuICAgIGVuZHBvaW50OiAnQ1JFQVRFJyxcbiAgICBoYW5kbGVyOiAnQ29sbGVjdGlvbi5pbnN0YWxsJyxcbiAgICBkZXNjcmlwdGlvbjogJ0luc3RhbGwgYW4gZWxlbWVudCBmcm9tIHRoZSBjb2xsZWN0aW9uIHRvIHlvdXIgbG9jYWwgcG9ydGZvbGlvJyxcbiAgfSxcbiAgc3VibWl0X2NvbGxlY3Rpb25fY29udGVudDoge1xuICAgIGVuZHBvaW50OiAnQ1JFQVRFJyxcbiAgICBoYW5kbGVyOiAnQ29sbGVjdGlvbi5zdWJtaXQnLFxuICAgIGRlc2NyaXB0aW9uOiAnU3VibWl0IGEgbG9jYWwgZWxlbWVudCB0byB0aGUgY29tbXVuaXR5IGNvbGxlY3Rpb24gdmlhIEdpdEh1YicsXG4gIH0sXG5cbiAgLy8gPT09PT0gUE9SVEZPTElPIG9wZXJhdGlvbnMgPT09PT1cbiAgcG9ydGZvbGlvX3N0YXR1czoge1xuICAgIGVuZHBvaW50OiAnUkVBRCcsXG4gICAgaGFuZGxlcjogJ1BvcnRmb2xpby5zdGF0dXMnLFxuICAgIGRlc2NyaXB0aW9uOiAnQ2hlY2sgR2l0SHViIHBvcnRmb2xpbyByZXBvc2l0b3J5IHN0YXR1cyBhbmQgZWxlbWVudCBjb3VudHMnLFxuICB9LFxuICBwb3J0Zm9saW9fY29uZmlnOiB7XG4gICAgZW5kcG9pbnQ6ICdSRUFEJyxcbiAgICBoYW5kbGVyOiAnUG9ydGZvbGlvLmNvbmZpZycsXG4gICAgZGVzY3JpcHRpb246ICdDb25maWd1cmUgcG9ydGZvbGlvIHNldHRpbmdzIChhdXRvLXN5bmMsIHZpc2liaWxpdHksIGV0Yy4pJyxcbiAgfSxcbiAgc2VhcmNoX3BvcnRmb2xpbzoge1xuICAgIGVuZHBvaW50OiAnUkVBRCcsXG4gICAgaGFuZGxlcjogJ1BvcnRmb2xpby5zZWFyY2gnLFxuICAgIGRlc2NyaXB0aW9uOiAnU2VhcmNoIGxvY2FsIHBvcnRmb2xpbyBieSBjb250ZW50IG5hbWUsIGtleXdvcmRzLCBvciB0YWdzJyxcbiAgfSxcbiAgc2VhcmNoX2FsbDoge1xuICAgIGVuZHBvaW50OiAnUkVBRCcsXG4gICAgaGFuZGxlcjogJ1BvcnRmb2xpby5zZWFyY2hBbGwnLFxuICAgIGRlc2NyaXB0aW9uOiAnVW5pZmllZCBzZWFyY2ggYWNyb3NzIGxvY2FsLCBHaXRIdWIsIGFuZCBjb2xsZWN0aW9uIHNvdXJjZXMnLFxuICB9LFxuICBpbml0X3BvcnRmb2xpbzoge1xuICAgIGVuZHBvaW50OiAnQ1JFQVRFJyxcbiAgICBoYW5kbGVyOiAnUG9ydGZvbGlvLmluaXQnLFxuICAgIGRlc2NyaXB0aW9uOiAnSW5pdGlhbGl6ZSBhIG5ldyBHaXRIdWIgcG9ydGZvbGlvIHJlcG9zaXRvcnknLFxuICB9LFxuICBzeW5jX3BvcnRmb2xpbzoge1xuICAgIGVuZHBvaW50OiAnQ1JFQVRFJyxcbiAgICBoYW5kbGVyOiAnUG9ydGZvbGlvLnN5bmMnLFxuICAgIGRlc2NyaXB0aW9uOiAnU3luYyBsb2NhbCBwb3J0Zm9saW8gd2l0aCBHaXRIdWIgcmVwb3NpdG9yeScsXG4gIH0sXG4gIHBvcnRmb2xpb19lbGVtZW50X21hbmFnZXI6IHtcbiAgICBlbmRwb2ludDogJ0NSRUFURScsXG4gICAgaGFuZGxlcjogJ1BvcnRmb2xpby5lbGVtZW50TWFuYWdlcicsXG4gICAgZGVzY3JpcHRpb246ICdNYW5hZ2UgaW5kaXZpZHVhbCBlbGVtZW50cyBiZXR3ZWVuIGxvY2FsIGFuZCBHaXRIdWInLFxuICB9LFxuXG4gIC8vID09PT09IEFVVEggb3BlcmF0aW9ucyA9PT09PVxuICBzZXR1cF9naXRodWJfYXV0aDoge1xuICAgIGVuZHBvaW50OiAnQ1JFQVRFJyxcbiAgICBoYW5kbGVyOiAnQXV0aC5zZXR1cCcsXG4gICAgZGVzY3JpcHRpb246ICdTZXQgdXAgR2l0SHViIGF1dGhlbnRpY2F0aW9uIHVzaW5nIGRldmljZSBmbG93JyxcbiAgfSxcbiAgY2hlY2tfZ2l0aHViX2F1dGg6IHtcbiAgICBlbmRwb2ludDogJ1JFQUQnLFxuICAgIGhhbmRsZXI6ICdBdXRoLmNoZWNrJyxcbiAgICBkZXNjcmlwdGlvbjogJ0NoZWNrIGN1cnJlbnQgR2l0SHViIGF1dGhlbnRpY2F0aW9uIHN0YXR1cycsXG4gIH0sXG4gIGNsZWFyX2dpdGh1Yl9hdXRoOiB7XG4gICAgZW5kcG9pbnQ6ICdERUxFVEUnLFxuICAgIGhhbmRsZXI6ICdBdXRoLmNsZWFyJyxcbiAgICBkZXNjcmlwdGlvbjogJ1JlbW92ZSBHaXRIdWIgYXV0aGVudGljYXRpb24gYW5kIGRpc2Nvbm5lY3QnLFxuICB9LFxuICBjb25maWd1cmVfb2F1dGg6IHtcbiAgICBlbmRwb2ludDogJ0NSRUFURScsXG4gICAgaGFuZGxlcjogJ0F1dGguY29uZmlndXJlT0F1dGgnLFxuICAgIGRlc2NyaXB0aW9uOiAnQ29uZmlndXJlIEdpdEh1YiBPQXV0aCBjbGllbnQgSUQnLFxuICB9LFxuICBvYXV0aF9oZWxwZXJfc3RhdHVzOiB7XG4gICAgZW5kcG9pbnQ6ICdSRUFEJyxcbiAgICBoYW5kbGVyOiAnQXV0aC5vYXV0aEhlbHBlclN0YXR1cycsXG4gICAgZGVzY3JpcHRpb246ICdHZXQgZGlhZ25vc3RpYyBpbmZvcm1hdGlvbiBhYm91dCBPQXV0aCBoZWxwZXIgcHJvY2VzcycsXG4gIH0sXG5cbiAgLy8gPT09PT0gQ09ORklHIG9wZXJhdGlvbnMgPT09PT1cbiAgZG9sbGhvdXNlX2NvbmZpZzoge1xuICAgIGVuZHBvaW50OiAnUkVBRCcsXG4gICAgaGFuZGxlcjogJ0NvbmZpZy5tYW5hZ2UnLFxuICAgIGRlc2NyaXB0aW9uOiAnTWFuYWdlIERvbGxob3VzZU1DUCBjb25maWd1cmF0aW9uIHNldHRpbmdzJyxcbiAgfSxcbiAgY29udmVydF9za2lsbF9mb3JtYXQ6IHtcbiAgICBlbmRwb2ludDogJ1JFQUQnLFxuICAgIGhhbmRsZXI6ICdDb25maWcuY29udmVydFNraWxsRm9ybWF0JyxcbiAgICBkZXNjcmlwdGlvbjogJ0NvbnZlcnQgYmV0d2VlbiBjdXJyZW50IEFnZW50IFNraWxsIGFuZCBEb2xsaG91c2UgU2tpbGwgZm9ybWF0cyB3aXRoIHN0cnVjdHVyZWQgd2FybmluZ3MgYW5kIHJvdW5kdHJpcCBzdXBwb3J0JyxcbiAgfSxcbiAgZ2V0X2J1aWxkX2luZm86IHtcbiAgICBlbmRwb2ludDogJ1JFQUQnLFxuICAgIGhhbmRsZXI6ICdDb25maWcuZ2V0QnVpbGRJbmZvJyxcbiAgICBkZXNjcmlwdGlvbjogJ0dldCBjb21wcmVoZW5zaXZlIGJ1aWxkIGFuZCBydW50aW1lIGluZm9ybWF0aW9uJyxcbiAgfSxcbiAgZ2V0X2NhY2hlX2J1ZGdldF9yZXBvcnQ6IHtcbiAgICBlbmRwb2ludDogJ1JFQUQnLFxuICAgIGhhbmRsZXI6ICdDb25maWcuZ2V0Q2FjaGVCdWRnZXRSZXBvcnQnLFxuICAgIGRlc2NyaXB0aW9uOiAnR2V0IGdsb2JhbCBjYWNoZSBtZW1vcnkgYnVkZ2V0IHJlcG9ydCB3aXRoIHBlci1jYWNoZSBkaWFnbm9zdGljcycsXG4gIH0sXG5cbiAgLy8gPT09PT0gTE9HR0lORyBvcGVyYXRpb25zID09PT09XG4gIHF1ZXJ5X2xvZ3M6IHtcbiAgICBlbmRwb2ludDogJ1JFQUQnLFxuICAgIGhhbmRsZXI6ICdMb2dnaW5nLnF1ZXJ5JyxcbiAgICBkZXNjcmlwdGlvbjogJ1F1ZXJ5IHJlY2VudCBsb2cgZW50cmllcyBmcm9tIHRoZSBpbi1tZW1vcnkgYnVmZmVyIHdpdGggZmlsdGVyaW5nIGFuZCBwYWdpbmF0aW9uJyxcbiAgfSxcblxuICAvLyA9PT09PSBNRVRSSUNTIG9wZXJhdGlvbnMgPT09PT1cbiAgcXVlcnlfbWV0cmljczoge1xuICAgIGVuZHBvaW50OiAnUkVBRCcsXG4gICAgaGFuZGxlcjogJ01ldHJpY3MucXVlcnknLFxuICAgIGRlc2NyaXB0aW9uOiAnUXVlcnkgY29sbGVjdGVkIG1ldHJpY3Mgc25hcHNob3RzIHdpdGggZmlsdGVyaW5nIGJ5IG5hbWUsIHNvdXJjZSwgdHlwZSwgYW5kIHRpbWUgcmFuZ2UnLFxuICB9LFxuXG4gIC8vID09PT09IEVOSEFOQ0VEIElOREVYIG9wZXJhdGlvbnMgPT09PT1cbiAgZmluZF9zaW1pbGFyX2VsZW1lbnRzOiB7XG4gICAgZW5kcG9pbnQ6ICdSRUFEJyxcbiAgICBoYW5kbGVyOiAnRW5oYW5jZWRJbmRleC5maW5kU2ltaWxhcicsXG4gICAgZGVzY3JpcHRpb246ICdGaW5kIHNlbWFudGljYWxseSBzaW1pbGFyIGVsZW1lbnRzIHVzaW5nIE5MUCBzY29yaW5nJyxcbiAgfSxcbiAgZ2V0X2VsZW1lbnRfcmVsYXRpb25zaGlwczoge1xuICAgIGVuZHBvaW50OiAnUkVBRCcsXG4gICAgaGFuZGxlcjogJ0VuaGFuY2VkSW5kZXguZ2V0UmVsYXRpb25zaGlwcycsXG4gICAgZGVzY3JpcHRpb246ICdHZXQgYWxsIHJlbGF0aW9uc2hpcHMgZm9yIGEgc3BlY2lmaWMgZWxlbWVudCcsXG4gIH0sXG4gIHNlYXJjaF9ieV92ZXJiOiB7XG4gICAgZW5kcG9pbnQ6ICdSRUFEJyxcbiAgICBoYW5kbGVyOiAnRW5oYW5jZWRJbmRleC5zZWFyY2hCeVZlcmInLFxuICAgIGRlc2NyaXB0aW9uOiAnU2VhcmNoIGZvciBlbGVtZW50cyB0aGF0IGhhbmRsZSBhIHNwZWNpZmljIGFjdGlvbiB2ZXJiJyxcbiAgfSxcbiAgZ2V0X3JlbGF0aW9uc2hpcF9zdGF0czoge1xuICAgIGVuZHBvaW50OiAnUkVBRCcsXG4gICAgaGFuZGxlcjogJ0VuaGFuY2VkSW5kZXguZ2V0U3RhdHMnLFxuICAgIGRlc2NyaXB0aW9uOiAnR2V0IHN0YXRpc3RpY3MgYWJvdXQgRW5oYW5jZWQgSW5kZXggcmVsYXRpb25zaGlwcycsXG4gIH0sXG5cbiAgLy8gPT09PT0gUEVSU09OQSBvcGVyYXRpb25zID09PT09XG4gIGltcG9ydF9wZXJzb25hOiB7XG4gICAgZW5kcG9pbnQ6ICdDUkVBVEUnLFxuICAgIGhhbmRsZXI6ICdQZXJzb25hLmltcG9ydCcsXG4gICAgZGVzY3JpcHRpb246ICdJbXBvcnQgYSBwZXJzb25hIGZyb20gYSBmaWxlIHBhdGggb3IgSlNPTiBzdHJpbmcnLFxuICB9LFxufSBhcyBjb25zdDtcblxuLyoqXG4gKiBHZXQgdGhlIHJvdXRlIGRlZmluaXRpb24gZm9yIGEgZ2l2ZW4gb3BlcmF0aW9uIG5hbWUuXG4gKlxuICogQHBhcmFtIG9wZXJhdGlvbiAtIFRoZSBvcGVyYXRpb24gbmFtZSAoZS5nLiwgJ2NyZWF0ZV9lbGVtZW50JywgJ2xpc3RfZWxlbWVudHMnKVxuICogQHJldHVybnMgVGhlIHJvdXRlIGRlZmluaXRpb24sIG9yIHVuZGVmaW5lZCBpZiB0aGUgb3BlcmF0aW9uIGlzIG5vdCBmb3VuZFxuICpcbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBjb25zdCByb3V0ZSA9IGdldFJvdXRlKCdjcmVhdGVfZWxlbWVudCcpO1xuICogLy8geyBlbmRwb2ludDogJ0NSRUFURScsIGhhbmRsZXI6ICdFbGVtZW50Q1JVRC5jcmVhdGUnLCBkZXNjcmlwdGlvbjogJy4uLicgfVxuICogYGBgXG4gKi9cbi8qKlxuICogUmVzb2x2ZSBhbiBvcGVyYXRpb24gbmFtZSB0byBpdHMgY2Fub25pY2FsIGZvcm0sIGNoZWNraW5nIGFsaWFzZXMuXG4gKiBSZXR1cm5zIHRoZSBjYW5vbmljYWwgb3BlcmF0aW9uIG5hbWUsIG9yIHRoZSBpbnB1dCBpZiBubyBhbGlhcyBtYXRjaGVzLlxuICovXG5leHBvcnQgZnVuY3Rpb24gcmVzb2x2ZU9wZXJhdGlvbk5hbWUob3BlcmF0aW9uOiBzdHJpbmcpOiBzdHJpbmcge1xuICBpZiAob3BlcmF0aW9uIGluIE9QRVJBVElPTl9ST1VURVMpIHJldHVybiBvcGVyYXRpb247XG4gIGZvciAoY29uc3QgW2Nhbm9uaWNhbCwgcm91dGVdIG9mIE9iamVjdC5lbnRyaWVzKE9QRVJBVElPTl9ST1VURVMpKSB7XG4gICAgaWYgKHJvdXRlLmFsaWFzZXM/LmluY2x1ZGVzKG9wZXJhdGlvbikpIHJldHVybiBjYW5vbmljYWw7XG4gIH1cbiAgcmV0dXJuIG9wZXJhdGlvbjtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldFJvdXRlKG9wZXJhdGlvbjogc3RyaW5nKTogT3BlcmF0aW9uUm91dGUgfCB1bmRlZmluZWQge1xuICBjb25zdCBjYW5vbmljYWwgPSByZXNvbHZlT3BlcmF0aW9uTmFtZShvcGVyYXRpb24pO1xuICByZXR1cm4gT1BFUkFUSU9OX1JPVVRFU1tjYW5vbmljYWxdO1xufVxuXG4vKipcbiAqIEdldCBhbGwgb3BlcmF0aW9ucyB0aGF0IG1hcCB0byBhIHNwZWNpZmljIENSVUQgZW5kcG9pbnQuXG4gKlxuICogQHBhcmFtIGVuZHBvaW50IC0gVGhlIENSVUQgZW5kcG9pbnQgKCdDUkVBVEUnLCAnUkVBRCcsICdVUERBVEUnLCAnREVMRVRFJylcbiAqIEByZXR1cm5zIEFycmF5IG9mIG9wZXJhdGlvbiBuYW1lcyB0aGF0IG1hcCB0byB0aGlzIGVuZHBvaW50XG4gKlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGNvbnN0IGNyZWF0ZU9wcyA9IGdldE9wZXJhdGlvbnNGb3JFbmRwb2ludCgnQ1JFQVRFJyk7XG4gKiAvLyBbJ2NyZWF0ZV9lbGVtZW50JywgJ2ltcG9ydF9lbGVtZW50JywgJ2FkZEVudHJ5J11cbiAqIGBgYFxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0T3BlcmF0aW9uc0ZvckVuZHBvaW50KGVuZHBvaW50OiBDUlVERW5kcG9pbnQpOiBzdHJpbmdbXSB7XG4gIHJldHVybiBPYmplY3QuZW50cmllcyhPUEVSQVRJT05fUk9VVEVTKVxuICAgIC5maWx0ZXIoKFtfLCByb3V0ZV0pID0+IHJvdXRlLmVuZHBvaW50ID09PSBlbmRwb2ludClcbiAgICAubWFwKChbb3BlcmF0aW9uLCBfXSkgPT4gb3BlcmF0aW9uKTtcbn1cbiJdfQ==
@@ -1 +1 @@
1
- {"version":3,"file":"OperationSchema.d.ts","sourceRoot":"","sources":["../../../src/handlers/mcp-aql/OperationSchema.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"OperationSchema.d.ts","sourceRoot":"","sources":["../../../src/handlers/mcp-aql/OperationSchema.ts"],"names":[],"mappings":"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"}