@dollhousemcp/mcp-server 2.0.17 → 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.
- package/CHANGELOG.md +10 -0
- package/dist/elements/BaseElement.d.ts +1 -0
- package/dist/elements/BaseElement.d.ts.map +1 -1
- package/dist/elements/BaseElement.js +7 -1
- package/dist/elements/agents/AgentManager.js +2 -2
- package/dist/elements/base/ElementFileOperations.js +2 -2
- package/dist/elements/ensembles/EnsembleManager.js +3 -3
- package/dist/elements/memories/MemoryManager.js +2 -2
- package/dist/elements/skills/SkillManager.js +2 -2
- package/dist/elements/templates/TemplateManager.js +2 -2
- package/dist/generated/version.d.ts +2 -2
- package/dist/generated/version.js +3 -3
- package/dist/handlers/ElementCRUDHandler.d.ts +30 -0
- package/dist/handlers/ElementCRUDHandler.d.ts.map +1 -1
- package/dist/handlers/ElementCRUDHandler.js +142 -2
- package/dist/handlers/mcp-aql/MCPAQLHandler.d.ts +4 -0
- package/dist/handlers/mcp-aql/MCPAQLHandler.d.ts.map +1 -1
- package/dist/handlers/mcp-aql/MCPAQLHandler.js +132 -14
- package/dist/handlers/mcp-aql/OperationRouter.d.ts.map +1 -1
- package/dist/handlers/mcp-aql/OperationRouter.js +6 -1
- package/dist/handlers/mcp-aql/OperationSchema.d.ts.map +1 -1
- package/dist/handlers/mcp-aql/OperationSchema.js +17 -1
- package/dist/handlers/mcp-aql/policies/AgentToolPolicyTranslator.d.ts.map +1 -1
- package/dist/handlers/mcp-aql/policies/AgentToolPolicyTranslator.js +2 -1
- package/dist/handlers/mcp-aql/policies/ElementPolicies.d.ts +9 -1
- package/dist/handlers/mcp-aql/policies/ElementPolicies.d.ts.map +1 -1
- package/dist/handlers/mcp-aql/policies/ElementPolicies.js +64 -4
- package/dist/handlers/mcp-aql/policies/OperationPolicies.d.ts.map +1 -1
- package/dist/handlers/mcp-aql/policies/OperationPolicies.js +6 -1
- package/dist/handlers/mcp-aql/policies/ToolClassification.d.ts.map +1 -1
- package/dist/handlers/mcp-aql/policies/ToolClassification.js +2 -1
- package/dist/handlers/strategies/AgentActivationStrategy.d.ts.map +1 -1
- package/dist/handlers/strategies/AgentActivationStrategy.js +5 -1
- package/dist/handlers/strategies/BaseActivationStrategy.d.ts +1 -0
- package/dist/handlers/strategies/BaseActivationStrategy.d.ts.map +1 -1
- package/dist/handlers/strategies/BaseActivationStrategy.js +15 -1
- package/dist/handlers/strategies/EnsembleActivationStrategy.d.ts.map +1 -1
- package/dist/handlers/strategies/EnsembleActivationStrategy.js +5 -1
- package/dist/handlers/strategies/MemoryActivationStrategy.d.ts.map +1 -1
- package/dist/handlers/strategies/MemoryActivationStrategy.js +5 -1
- package/dist/handlers/strategies/PersonaActivationStrategy.d.ts.map +1 -1
- package/dist/handlers/strategies/PersonaActivationStrategy.js +5 -1
- package/dist/handlers/strategies/SkillActivationStrategy.d.ts.map +1 -1
- package/dist/handlers/strategies/SkillActivationStrategy.js +5 -1
- package/dist/handlers/strategies/TemplateActivationStrategy.d.ts.map +1 -1
- package/dist/handlers/strategies/TemplateActivationStrategy.js +7 -2
- package/dist/persona/PersonaElement.js +2 -2
- package/dist/server/tools/MCPAQLTools.js +2 -1
- package/dist/services/SerializationService.d.ts.map +1 -1
- package/dist/services/SerializationService.js +7 -1
- package/dist/types/elements/IElement.d.ts +9 -0
- package/dist/types/elements/IElement.d.ts.map +1 -1
- package/dist/types/elements/IElement.js +1 -1
- package/dist/web/console/IngestRoutes.d.ts +6 -0
- package/dist/web/console/IngestRoutes.d.ts.map +1 -1
- package/dist/web/console/IngestRoutes.js +38 -9
- package/dist/web/console/LeaderElection.d.ts +39 -0
- package/dist/web/console/LeaderElection.d.ts.map +1 -1
- package/dist/web/console/LeaderElection.js +147 -29
- package/dist/web/console/LeaderForwardingSink.d.ts.map +1 -1
- package/dist/web/console/LeaderForwardingSink.js +5 -1
- package/dist/web/console/PromotionManager.d.ts.map +1 -1
- package/dist/web/console/PromotionManager.js +3 -11
- package/dist/web/public/app.js +62 -1
- package/dist/web/public/index.html +19 -17
- package/dist/web/public/permissions.css +190 -2
- package/dist/web/public/permissions.js +171 -30
- package/dist/web/public/sessions.js +111 -0
- package/dist/web/public/setup.js +131 -60
- package/dist/web/routes/permissionRoutes.d.ts.map +1 -1
- package/dist/web/routes/permissionRoutes.js +77 -5
- package/dist/web/routes/setupRoutes.d.ts.map +1 -1
- package/dist/web/routes/setupRoutes.js +16 -2
- package/dist/web/server.d.ts.map +1 -1
- package/dist/web/server.js +12 -10
- package/package.json +1 -1
- package/scripts/pretooluse-dollhouse.sh +39 -1
- package/server.json +2 -2
|
@@ -65,6 +65,10 @@ export class EnsembleActivationStrategy extends BaseActivationStrategy {
|
|
|
65
65
|
if (restrictionWarning) {
|
|
66
66
|
details.push(restrictionWarning);
|
|
67
67
|
}
|
|
68
|
+
const gatekeeperWarning = this.formatGatekeeperValidityWarning(ensemble.metadata);
|
|
69
|
+
if (gatekeeperWarning) {
|
|
70
|
+
details.push(gatekeeperWarning);
|
|
71
|
+
}
|
|
68
72
|
return {
|
|
69
73
|
content: [{
|
|
70
74
|
type: "text",
|
|
@@ -202,4 +206,4 @@ export class EnsembleActivationStrategy extends BaseActivationStrategy {
|
|
|
202
206
|
};
|
|
203
207
|
}
|
|
204
208
|
}
|
|
205
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRW5zZW1ibGVBY3RpdmF0aW9uU3RyYXRlZ3kuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvaGFuZGxlcnMvc3RyYXRlZ2llcy9FbnNlbWJsZUFjdGl2YXRpb25TdHJhdGVneS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7R0FLRztBQVNILE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBS3JFLE1BQU0sT0FBTywwQkFBMkIsU0FBUSxzQkFBc0I7SUFFakQ7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFQbkIsWUFDbUIsZUFBZ0MsRUFDaEMsZ0JBQWtDLEVBQ2xDLFlBQTBCLEVBQzFCLGVBQWdDLEVBQ2hDLFlBQTBCLEVBQzFCLGFBQTRCLEVBQzVCLGNBQThCO1FBRS9DLEtBQUssRUFBRSxDQUFDO1FBUlMsb0JBQWUsR0FBZixlQUFlLENBQWlCO1FBQ2hDLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFDbEMsaUJBQVksR0FBWixZQUFZLENBQWM7UUFDMUIsb0JBQWUsR0FBZixlQUFlLENBQWlCO1FBQ2hDLGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBQzFCLGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBQzVCLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtJQUdqRCxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsS0FBSyxDQUFDLFFBQVEsQ0FBQyxJQUFZO1FBQ3pCLHFEQUFxRDtRQUNyRCxNQUFNLGdCQUFnQixHQUFHLE1BQU0sSUFBSSxDQUFDLGVBQWUsQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUUzRSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDOUIsT0FBTyxJQUFJLENBQUMsc0JBQXNCLENBQUMsSUFBSSxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBQ3ZELENBQUM7UUFFRCxNQUFNLFFBQVEsR0FBRyxnQkFBZ0IsQ0FBQyxRQUFTLENBQUM7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QyxNQUFNLE9BQU8sR0FBRztZQUNkLFFBQVEsUUFBUSxDQUFDLFFBQVEsQ0FBQyxJQUFJLElBQUk7WUFDbEMsR0FBRyxRQUFRLENBQUMsUUFBUSxDQUFDLFdBQVcsRUFBRTtZQUNsQyxFQUFFO1lBQ0YsZUFBZSxRQUFRLENBQUMsU0FBUyxFQUFFLEVBQUU7WUFDckMsZ0JBQWdCLFFBQVEsQ0FBQyxRQUFRLENBQUMsT0FBTyxJQUFJLE9BQU8sRUFBRTtZQUN0RCw0QkFBNkIsUUFBUSxDQUFDLFFBQWdCLENBQUMsa0JBQWtCLElBQUksWUFBWSxFQUFFO1lBQzNGLDRCQUE2QixRQUFRLENBQUMsUUFBZ0IsQ0FBQyxrQkFBa0IsSUFBSSxZQUFZLEVBQUU7WUFDM0Ysd0JBQXlCLFFBQVEsQ0FBQyxRQUFnQixDQUFDLGNBQWMsSUFBSSxXQUFXLEVBQUU7WUFDbEYsdUJBQXdCLFFBQVEsQ0FBQyxRQUFnQixDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUU7WUFDOUUsMEJBQTJCLFFBQVEsQ0FBQyxRQUFnQixDQUFDLGVBQWUsSUFBSSxDQUFDLEVBQUU7WUFDM0UsRUFBRTtZQUNGLGlCQUFpQixRQUFRLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRSxNQUFNLElBQUksQ0FBQyxJQUFJO1lBQzVELFlBQVk7U0FDYixDQUFDO1FBRUYsT0FBTztZQUNMLE9BQU8sRUFBRSxDQUFDO29CQUNSLElBQUksRUFBRSxNQUFNO29CQUNaLElBQUksRUFBRSxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQztpQkFDekIsQ0FBQztTQUNILENBQUM7SUFDSixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEVuc2VtYmxlQWN0aXZhdGlvblN0cmF0ZWd5IC0gU3RyYXRlZ3kgZm9yIGVuc2VtYmxlIGVsZW1lbnQgYWN0aXZhdGlvblxuICpcbiAqIEhhbmRsZXMgYWN0aXZhdGlvbiwgZGVhY3RpdmF0aW9uLCBhbmQgc3RhdHVzIHRyYWNraW5nIGZvciBlbnNlbWJsZSBlbGVtZW50cy5cbiAqIEVuc2VtYmxlcyBjb29yZGluYXRlIG11bHRpcGxlIGVsZW1lbnRzIGFuZCByZXF1aXJlIGFsbCBtYW5hZ2VycyBmb3IgYWN0aXZhdGlvbi5cbiAqL1xuXG5pbXBvcnQgeyBFbnNlbWJsZU1hbmFnZXIgfSBmcm9tICcuLi8uLi9lbGVtZW50cy9lbnNlbWJsZXMvRW5zZW1ibGVNYW5hZ2VyLmpzJztcbmltcG9ydCB7IFNraWxsTWFuYWdlciB9IGZyb20gJy4uLy4uL2VsZW1lbnRzL3NraWxscy9pbmRleC5qcyc7XG5pbXBvcnQgeyBUZW1wbGF0ZU1hbmFnZXIgfSBmcm9tICcuLi8uLi9lbGVtZW50cy90ZW1wbGF0ZXMvVGVtcGxhdGVNYW5hZ2VyLmpzJztcbmltcG9ydCB7IEFnZW50TWFuYWdlciB9IGZyb20gJy4uLy4uL2VsZW1lbnRzL2FnZW50cy9BZ2VudE1hbmFnZXIuanMnO1xuaW1wb3J0IHsgTWVtb3J5TWFuYWdlciB9IGZyb20gJy4uLy4uL2VsZW1lbnRzL21lbW9yaWVzL01lbW9yeU1hbmFnZXIuanMnO1xuaW1wb3J0IHsgUGVyc29uYU1hbmFnZXIgfSBmcm9tICcuLi8uLi9wZXJzb25hL1BlcnNvbmFNYW5hZ2VyLmpzJztcbmltcG9ydCB7IFBvcnRmb2xpb01hbmFnZXIgfSBmcm9tICcuLi8uLi9wb3J0Zm9saW8vUG9ydGZvbGlvTWFuYWdlci5qcyc7XG5pbXBvcnQgeyBCYXNlQWN0aXZhdGlvblN0cmF0ZWd5IH0gZnJvbSAnLi9CYXNlQWN0aXZhdGlvblN0cmF0ZWd5LmpzJztcbmltcG9ydCB7IEVsZW1lbnRBY3RpdmF0aW9uU3RyYXRlZ3ksIE1DUFJlc3BvbnNlIH0gZnJvbSAnLi9FbGVtZW50QWN0aXZhdGlvblN0cmF0ZWd5LmpzJztcbmltcG9ydCB0eXBlIHsgRW5zZW1ibGUgfSBmcm9tICcuLi8uLi9lbGVtZW50cy9lbnNlbWJsZXMvRW5zZW1ibGUuanMnO1xuaW1wb3J0IHR5cGUgeyBFbGVtZW50TWFuYWdlcnMsIEVuc2VtYmxlRWxlbWVudCB9IGZyb20gJy4uLy4uL2VsZW1lbnRzL2Vuc2VtYmxlcy90eXBlcy5qcyc7XG5cbmV4cG9ydCBjbGFzcyBFbnNlbWJsZUFjdGl2YXRpb25TdHJhdGVneSBleHRlbmRzIEJhc2VBY3RpdmF0aW9uU3RyYXRlZ3kgaW1wbGVtZW50cyBFbGVtZW50QWN0aXZhdGlvblN0cmF0ZWd5IHtcbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSBlbnNlbWJsZU1hbmFnZXI6IEVuc2VtYmxlTWFuYWdlcixcbiAgICBwcml2YXRlIHJlYWRvbmx5IHBvcnRmb2xpb01hbmFnZXI6IFBvcnRmb2xpb01hbmFnZXIsXG4gICAgcHJpdmF0ZSByZWFkb25seSBza2lsbE1hbmFnZXI6IFNraWxsTWFuYWdlcixcbiAgICBwcml2YXRlIHJlYWRvbmx5IHRlbXBsYXRlTWFuYWdlcjogVGVtcGxhdGVNYW5hZ2VyLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgYWdlbnRNYW5hZ2VyOiBBZ2VudE1hbmFnZXIsXG4gICAgcHJpdmF0ZSByZWFkb25seSBtZW1vcnlNYW5hZ2VyOiBNZW1vcnlNYW5hZ2VyLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgcGVyc29uYU1hbmFnZXI6IFBlcnNvbmFNYW5hZ2VyXG4gICkge1xuICAgIHN1cGVyKCk7XG4gIH1cblxuICAvKipcbiAgICogQWN0aXZhdGUgYW4gZW5zZW1ibGUgd2l0aCBhbGwgaXRzIGNvbnN0aXR1ZW50IGVsZW1lbnRzXG4gICAqIEV4dHJhY3RlZCBmcm9tIEVsZW1lbnRDUlVESGFuZGxlci50cyBsaW5lcyAyODEtMzQ1XG4gICAqL1xuICBhc3luYyBhY3RpdmF0ZShuYW1lOiBzdHJpbmcpOiBQcm9taXNlPE1DUFJlc3BvbnNlPiB7XG4gICAgLy8gQWN0aXZhdGUgdmlhIG1hbmFnZXIgKHdoaWNoIGhhbmRsZXMgbmFtZSB0cmFja2luZylcbiAgICBjb25zdCBhY3RpdmF0aW9uUmVzdWx0ID0gYXdhaXQgdGhpcy5lbnNlbWJsZU1hbmFnZXIuYWN0aXZhdGVFbnNlbWJsZShuYW1lKTtcblxuICAgIGlmICghYWN0aXZhdGlvblJlc3VsdC5zdWNjZXNzKSB7XG4gICAgICByZXR1cm4gdGhpcy5jcmVhdGVOb3RGb3VuZFJlc3BvbnNlKG5hbWUsICdFbnNlbWJsZScpO1xuICAgIH1cblxuICAgIGNvbnN0IGVuc2VtYmxlID0gYWN0aXZhdGlvblJlc3VsdC5lbnNlbWJsZSE7XG5cbiAgICAvLyBBY3RpdmF0ZSB0aGUgZW5zZW1ibGUgd2l0aCBhbGwgbWFuYWdlcnMgKG9yY2hlc3RyYXRpb24pXG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IGVuc2VtYmxlLmFjdGl2YXRlRW5zZW1ibGUodGhpcy5wb3J0Zm9saW9NYW5hZ2VyLCB0aGlzLmdldE1hbmFnZXJzKCkpO1xuXG4gICAgICBjb25zdCBzdGF0dXNFbW9qaSA9IHJlc3VsdC5zdWNjZXNzID8gJ+KchScgOiAn4pqg77iPJztcbiAgICAgIGNvbnN0IGRldGFpbHMgPSBbXG4gICAgICAgIGAke3N0YXR1c0Vtb2ppfSBFbnNlbWJsZSAnJHtlbnNlbWJsZS5tZXRhZGF0YS5uYW1lfScgYWN0aXZhdGVkYCxcbiAgICAgICAgYGAsXG4gICAgICAgIGAqKlN0cmF0ZWd5Kio6ICR7ZW5zZW1ibGUubWV0YWRhdGEuYWN0aXZhdGlvblN0cmF0ZWd5fWAsXG4gICAgICAgIGAqKkFjdGl2YXRlZCoqOiAke3Jlc3VsdC5hY3RpdmF0ZWRFbGVtZW50cy5sZW5ndGh9IGVsZW1lbnRzYCxcbiAgICAgICAgYCoqRmFpbGVkKio6ICR7cmVzdWx0LmZhaWxlZEVsZW1lbnRzLmxlbmd0aH0gZWxlbWVudHNgLFxuICAgICAgICBgKipEdXJhdGlvbioqOiAke3Jlc3VsdC50b3RhbER1cmF0aW9ufW1zYCxcbiAgICAgIF07XG5cbiAgICAgIGlmIChyZXN1bHQuYWN0aXZhdGVkRWxlbWVudHMubGVuZ3RoID4gMCkge1xuICAgICAgICBkZXRhaWxzLnB1c2goYGAsIGAqKkFjdGl2ZSBFbGVtZW50cyoqOmApO1xuICAgICAgICByZXN1bHQuYWN0aXZhdGVkRWxlbWVudHMuZm9yRWFjaCgoZWxlbTogc3RyaW5nKSA9PiB7XG4gICAgICAgICAgZGV0YWlscy5wdXNoKGAgIC0gJHtlbGVtfWApO1xuICAgICAgICB9KTtcbiAgICAgIH1cblxuICAgICAgaWYgKHJlc3VsdC5mYWlsZWRFbGVtZW50cy5sZW5ndGggPiAwKSB7XG4gICAgICAgIGRldGFpbHMucHVzaChgYCwgYCoqRmFpbGVkIEVsZW1lbnRzKio6YCk7XG4gICAgICAgIHJlc3VsdC5mYWlsZWRFbGVtZW50cy5mb3JFYWNoKChlbGVtOiBzdHJpbmcpID0+IHtcbiAgICAgICAgICBjb25zdCBlbGVtZW50UmVzdWx0ID0gcmVzdWx0LmVsZW1lbnRSZXN1bHRzLmZpbmQoKHI6IGFueSkgPT4gci5lbGVtZW50TmFtZSA9PT0gZWxlbSAmJiAhci5zdWNjZXNzKTtcbiAgICAgICAgICBjb25zdCBlcnJvck1zZyA9IGVsZW1lbnRSZXN1bHQ/LmVycm9yPy5tZXNzYWdlIHx8ICdVbmtub3duIGVycm9yJztcbiAgICAgICAgICBkZXRhaWxzLnB1c2goYCAgLSAke2VsZW19OiAke2Vycm9yTXNnfWApO1xuICAgICAgICB9KTtcbiAgICAgIH1cblxuICAgICAgLy8gSXNzdWUgIzY0MjogRmFpbC1zYWZlIHdhcm5pbmcgZm9yIENMSSByZXN0cmljdGlvbnNcbiAgICAgIGNvbnN0IHJlc3RyaWN0aW9uV2FybmluZyA9IHRoaXMuZm9ybWF0UmVzdHJpY3Rpb25XYXJuaW5nKGVuc2VtYmxlLm1ldGFkYXRhIGFzIHVua25vd24gYXMgUmVjb3JkPHN0cmluZywgdW5rbm93bj4pO1xuICAgICAgaWYgKHJlc3RyaWN0aW9uV2FybmluZykge1xuICAgICAgICBkZXRhaWxzLnB1c2gocmVzdHJpY3Rpb25XYXJuaW5nKTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgY29udGVudDogW3tcbiAgICAgICAgICB0eXBlOiBcInRleHRcIixcbiAgICAgICAgICB0ZXh0OiBkZXRhaWxzLmpvaW4oJ1xcbicpXG4gICAgICAgIH1dXG4gICAgICB9O1xuICAgIH0gY2F0Y2ggKGFjdGl2YXRpb25FcnJvcikge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgY29udGVudDogW3tcbiAgICAgICAgICB0eXBlOiBcInRleHRcIixcbiAgICAgICAgICB0ZXh0OiBg4p2MIEZhaWxlZCB0byBhY3RpdmF0ZSBlbnNlbWJsZTogJHthY3RpdmF0aW9uRXJyb3IgaW5zdGFuY2VvZiBFcnJvciA/IGFjdGl2YXRpb25FcnJvci5tZXNzYWdlIDogJ1Vua25vd24gZXJyb3InfWBcbiAgICAgICAgfV1cbiAgICAgIH07XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIERlYWN0aXZhdGUgYW4gZW5zZW1ibGVcbiAgICogTk9URTogVGhpcyB3YXMgbWlzc2luZyBpbiB0aGUgb3JpZ2luYWwgaW1wbGVtZW50YXRpb24gLSBhZGRpbmcgaXQgbm93XG4gICAqXG4gICAqIEB0aHJvd3Mge0VsZW1lbnROb3RGb3VuZEVycm9yfSBXaGVuIGVuc2VtYmxlIGRvZXMgbm90IGV4aXN0XG4gICAqIEBzZWUgSXNzdWUgIzI3NSAtIEhhbmRsZXJzIHJldHVybiBzdWNjZXNzPXRydWUgZm9yIG1pc3NpbmcgZWxlbWVudHNcbiAgICovXG4gIGFzeW5jIGRlYWN0aXZhdGUobmFtZTogc3RyaW5nKTogUHJvbWlzZTxNQ1BSZXNwb25zZT4ge1xuICAgIC8vIERlYWN0aXZhdGUgdmlhIG1hbmFnZXIgKHdoaWNoIGhhbmRsZXMgbmFtZSB0cmFja2luZylcbiAgICBjb25zdCBkZWFjdGl2YXRpb25SZXN1bHQgPSBhd2FpdCB0aGlzLmVuc2VtYmxlTWFuYWdlci5kZWFjdGl2YXRlRW5zZW1ibGUobmFtZSk7XG5cbiAgICBpZiAoIWRlYWN0aXZhdGlvblJlc3VsdC5zdWNjZXNzKSB7XG4gICAgICB0aGlzLnRocm93Tm90Rm91bmRFcnJvcihuYW1lLCAnRW5zZW1ibGUnKTtcbiAgICB9XG5cbiAgICBpZiAoZGVhY3RpdmF0aW9uUmVzdWx0LmVuc2VtYmxlKSB7XG4gICAgICBhd2FpdCB0aGlzLmRlYWN0aXZhdGVNZW1iZXJzKGRlYWN0aXZhdGlvblJlc3VsdC5lbnNlbWJsZSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuY3JlYXRlU3VjY2Vzc1Jlc3BvbnNlKGDinIUgRW5zZW1ibGUgJyR7bmFtZX0nIGRlYWN0aXZhdGVkYCk7XG4gIH1cblxuICBwcml2YXRlIGdldE1hbmFnZXJzKCk6IEVsZW1lbnRNYW5hZ2VycyB7XG4gICAgcmV0dXJuIHtcbiAgICAgIHNraWxsTWFuYWdlcjogdGhpcy5za2lsbE1hbmFnZXIsXG4gICAgICB0ZW1wbGF0ZU1hbmFnZXI6IHRoaXMudGVtcGxhdGVNYW5hZ2VyLFxuICAgICAgYWdlbnRNYW5hZ2VyOiB0aGlzLmFnZW50TWFuYWdlcixcbiAgICAgIG1lbW9yeU1hbmFnZXI6IHRoaXMubWVtb3J5TWFuYWdlcixcbiAgICAgIHBlcnNvbmFNYW5hZ2VyOiB0aGlzLnBlcnNvbmFNYW5hZ2VyLFxuICAgICAgZW5zZW1ibGVNYW5hZ2VyOiB0aGlzLmVuc2VtYmxlTWFuYWdlclxuICAgIH07XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIGRlYWN0aXZhdGVNZW1iZXJzKGVuc2VtYmxlOiBFbnNlbWJsZSk6IFByb21pc2U8dm9pZD4ge1xuICAgIGNvbnN0IGRlYWN0aXZhdGlvblByb21pc2VzID0gKGVuc2VtYmxlLm1ldGFkYXRhLmVsZW1lbnRzIHx8IFtdKS5tYXAoKGVsZW1lbnQpID0+XG4gICAgICB0aGlzLmRlYWN0aXZhdGVNZW1iZXIoZWxlbWVudClcbiAgICApO1xuICAgIGF3YWl0IFByb21pc2UuYWxsKGRlYWN0aXZhdGlvblByb21pc2VzKTtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgZGVhY3RpdmF0ZU1lbWJlcihlbGVtZW50OiBFbnNlbWJsZUVsZW1lbnQpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBjb25zdCBub3JtYWxpemVkVHlwZSA9IGVsZW1lbnQuZWxlbWVudF90eXBlLnRvTG93ZXJDYXNlKCk7XG5cbiAgICBzd2l0Y2ggKG5vcm1hbGl6ZWRUeXBlKSB7XG4gICAgICBjYXNlICdza2lsbCc6XG4gICAgICBjYXNlICdza2lsbHMnOlxuICAgICAgICBhd2FpdCB0aGlzLnNraWxsTWFuYWdlci5kZWFjdGl2YXRlU2tpbGwoZWxlbWVudC5lbGVtZW50X25hbWUpO1xuICAgICAgICByZXR1cm47XG4gICAgICBjYXNlICdwZXJzb25hJzpcbiAgICAgIGNhc2UgJ3BlcnNvbmFzJzpcbiAgICAgICAgYXdhaXQgUHJvbWlzZS5yZXNvbHZlKHRoaXMucGVyc29uYU1hbmFnZXIuZGVhY3RpdmF0ZVBlcnNvbmEoZWxlbWVudC5lbGVtZW50X25hbWUpKTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgY2FzZSAnYWdlbnQnOlxuICAgICAgY2FzZSAnYWdlbnRzJzpcbiAgICAgICAgYXdhaXQgdGhpcy5hZ2VudE1hbmFnZXIuZGVhY3RpdmF0ZUFnZW50KGVsZW1lbnQuZWxlbWVudF9uYW1lKTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgY2FzZSAnbWVtb3J5JzpcbiAgICAgIGNhc2UgJ21lbW9yaWVzJzpcbiAgICAgICAgYXdhaXQgdGhpcy5tZW1vcnlNYW5hZ2VyLmRlYWN0aXZhdGVNZW1vcnkoZWxlbWVudC5lbGVtZW50X25hbWUpO1xuICAgICAgICByZXR1cm47XG4gICAgICBjYXNlICdlbnNlbWJsZSc6XG4gICAgICBjYXNlICdlbnNlbWJsZXMnOlxuICAgICAgICBhd2FpdCB0aGlzLmVuc2VtYmxlTWFuYWdlci5kZWFjdGl2YXRlRW5zZW1ibGUoZWxlbWVudC5lbGVtZW50X25hbWUpO1xuICAgICAgICByZXR1cm47XG4gICAgICBjYXNlICd0ZW1wbGF0ZSc6XG4gICAgICBjYXNlICd0ZW1wbGF0ZXMnOlxuICAgICAgZGVmYXVsdDpcbiAgICAgICAgcmV0dXJuO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgYWxsIGFjdGl2ZSBlbnNlbWJsZXNcbiAgICogTk9URTogVGhpcyB3YXMgbWlzc2luZyBpbiB0aGUgb3JpZ2luYWwgaW1wbGVtZW50YXRpb24gLSBhZGRpbmcgYmFzaWMgdmVyc2lvblxuICAgKi9cbiAgYXN5bmMgZ2V0QWN0aXZlRWxlbWVudHMoKTogUHJvbWlzZTxNQ1BSZXNwb25zZT4ge1xuICAgIGNvbnN0IGFjdGl2ZUVuc2VtYmxlcyA9IGF3YWl0IHRoaXMuZW5zZW1ibGVNYW5hZ2VyLmdldEFjdGl2ZUVuc2VtYmxlcygpO1xuXG4gICAgaWYgKGFjdGl2ZUVuc2VtYmxlcy5sZW5ndGggPT09IDApIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGNvbnRlbnQ6IFt7XG4gICAgICAgICAgdHlwZTogXCJ0ZXh0XCIsXG4gICAgICAgICAgdGV4dDogXCLwn46tIE5vIGFjdGl2ZSBlbnNlbWJsZXNcIlxuICAgICAgICB9XVxuICAgICAgfTtcbiAgICB9XG5cbiAgICBjb25zdCBlbnNlbWJsZUxpc3QgPSBhY3RpdmVFbnNlbWJsZXMubWFwKGUgPT4ge1xuICAgICAgY29uc3QgZWxlbWVudENvdW50ID0gZS5tZXRhZGF0YS5lbGVtZW50cz8ubGVuZ3RoIHx8IDA7XG4gICAgICByZXR1cm4gYPCfjq0gJHtlLm1ldGFkYXRhLm5hbWV9ICgke2VsZW1lbnRDb3VudH0gZWxlbWVudHMpYDtcbiAgICB9KS5qb2luKCdcXG4nKTtcblxuICAgIHJldHVybiB7XG4gICAgICBjb250ZW50OiBbe1xuICAgICAgICB0eXBlOiBcInRleHRcIixcbiAgICAgICAgdGV4dDogYEFjdGl2ZSBlbnNlbWJsZXM6XFxuJHtlbnNlbWJsZUxpc3R9YFxuICAgICAgfV1cbiAgICB9O1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCBkZXRhaWxlZCBpbmZvcm1hdGlvbiBhYm91dCBhbiBlbnNlbWJsZVxuICAgKiBFeHRyYWN0ZWQgZnJvbSBFbGVtZW50Q1JVREhhbmRsZXIudHMgbGluZXMgODA3LTg0NlxuICAgKi9cbiAgYXN5bmMgZ2V0RWxlbWVudERldGFpbHMobmFtZTogc3RyaW5nKTogUHJvbWlzZTxNQ1BSZXNwb25zZT4ge1xuICAgIC8vIFVzZSBmbGV4aWJsZSBmaW5kaW5nIHRvIHN1cHBvcnQgYm90aCBkaXNwbGF5IG5hbWUgYW5kIGZpbGVuYW1lXG4gICAgY29uc3QgYWxsRW5zZW1ibGVzID0gYXdhaXQgdGhpcy5lbnNlbWJsZU1hbmFnZXIubGlzdCgpO1xuICAgIGNvbnN0IGVuc2VtYmxlID0gYXdhaXQgdGhpcy5maW5kRWxlbWVudEZsZXhpYmx5KG5hbWUsIGFsbEVuc2VtYmxlcyk7XG4gICAgaWYgKCFlbnNlbWJsZSkge1xuICAgICAgdGhpcy50aHJvd05vdEZvdW5kRXJyb3IobmFtZSwgJ0Vuc2VtYmxlJyk7XG4gICAgfVxuXG4gICAgY29uc3QgZWxlbWVudHNMaXN0ID0gZW5zZW1ibGUubWV0YWRhdGEuZWxlbWVudHM/Lm1hcCgoZWxlbTogYW55KSA9PlxuICAgICAgYC0gJHtlbGVtLmVsZW1lbnRfbmFtZX0gKCR7ZWxlbS5lbGVtZW50X3R5cGV9KSAtICR7ZWxlbS5yb2xlfSwgcHJpb3JpdHk6ICR7ZWxlbS5wcmlvcml0eX0sIGFjdGl2YXRpb246ICR7ZWxlbS5hY3RpdmF0aW9ufWBcbiAgICApLmpvaW4oJ1xcbicpIHx8ICdObyBlbGVtZW50cyBjb25maWd1cmVkJztcblxuICAgIGNvbnN0IGRldGFpbHMgPSBbXG4gICAgICBg8J+OrSAqKiR7ZW5zZW1ibGUubWV0YWRhdGEubmFtZX0qKmAsXG4gICAgICBgJHtlbnNlbWJsZS5tZXRhZGF0YS5kZXNjcmlwdGlvbn1gLFxuICAgICAgYGAsXG4gICAgICBgKipTdGF0dXMqKjogJHtlbnNlbWJsZS5nZXRTdGF0dXMoKX1gLFxuICAgICAgYCoqVmVyc2lvbioqOiAke2Vuc2VtYmxlLm1ldGFkYXRhLnZlcnNpb24gfHwgJzEuMC4wJ31gLFxuICAgICAgYCoqQWN0aXZhdGlvbiBTdHJhdGVneSoqOiAkeyhlbnNlbWJsZS5tZXRhZGF0YSBhcyBhbnkpLmFjdGl2YXRpb25TdHJhdGVneSB8fCAnc2VxdWVudGlhbCd9YCxcbiAgICAgIGAqKkNvbmZsaWN0IFJlc29sdXRpb24qKjogJHsoZW5zZW1ibGUubWV0YWRhdGEgYXMgYW55KS5jb25mbGljdFJlc29sdXRpb24gfHwgJ2xhc3Qtd3JpdGUnfWAsXG4gICAgICBgKipDb250ZXh0IFNoYXJpbmcqKjogJHsoZW5zZW1ibGUubWV0YWRhdGEgYXMgYW55KS5jb250ZXh0U2hhcmluZyB8fCAnc2VsZWN0aXZlJ31gLFxuICAgICAgYCoqQWxsb3dzIE5lc3RpbmcqKjogJHsoZW5zZW1ibGUubWV0YWRhdGEgYXMgYW55KS5hbGxvd05lc3RlZCA/ICdZZXMnIDogJ05vJ31gLFxuICAgICAgYCoqTWF4IE5lc3RpbmcgRGVwdGgqKjogJHsoZW5zZW1ibGUubWV0YWRhdGEgYXMgYW55KS5tYXhOZXN0aW5nRGVwdGggfHwgNX1gLFxuICAgICAgYGAsXG4gICAgICBgKipFbGVtZW50cyoqICgke2Vuc2VtYmxlLm1ldGFkYXRhLmVsZW1lbnRzPy5sZW5ndGggfHwgMH0pOmAsXG4gICAgICBlbGVtZW50c0xpc3RcbiAgICBdO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIGNvbnRlbnQ6IFt7XG4gICAgICAgIHR5cGU6IFwidGV4dFwiLFxuICAgICAgICB0ZXh0OiBkZXRhaWxzLmpvaW4oJ1xcbicpXG4gICAgICB9XVxuICAgIH07XG4gIH1cbn1cbiJdfQ==
|
|
209
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRW5zZW1ibGVBY3RpdmF0aW9uU3RyYXRlZ3kuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvaGFuZGxlcnMvc3RyYXRlZ2llcy9FbnNlbWJsZUFjdGl2YXRpb25TdHJhdGVneS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7R0FLRztBQVNILE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBS3JFLE1BQU0sT0FBTywwQkFBMkIsU0FBUSxzQkFBc0I7SUFFakQ7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFQbkIsWUFDbUIsZUFBZ0MsRUFDaEMsZ0JBQWtDLEVBQ2xDLFlBQTBCLEVBQzFCLGVBQWdDLEVBQ2hDLFlBQTBCLEVBQzFCLGFBQTRCLEVBQzVCLGNBQThCO1FBRS9DLEtBQUssRUFBRSxDQUFDO1FBUlMsb0JBQWUsR0FBZixlQUFlLENBQWlCO1FBQ2hDLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFDbEMsaUJBQVksR0FBWixZQUFZLENBQWM7UUFDMUIsb0JBQWUsR0FBZixlQUFlLENBQWlCO1FBQ2hDLGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBQzFCLGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBQzVCLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtJQUdqRCxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsS0FBSyxDQUFDLFFBQVEsQ0FBQyxJQUFZO1FBQ3pCLHFEQUFxRDtRQUNyRCxNQUFNLGdCQUFnQixHQUFHLE1BQU0sSUFBSSxDQUFDLGVBQWUsQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUUzRSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDOUIsT0FBTyxJQUFJLENBQUMsc0JBQXNCLENBQUMsSUFBSSxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBQ3ZELENBQUM7UUFFRCxNQUFNLFFBQVEsR0FBRyxnQkFBZ0IsQ0FBQyxRQUFTLENBQUM7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WyIvKipcbiAqIEVuc2VtYmxlQWN0aXZhdGlvblN0cmF0ZWd5IC0gU3RyYXRlZ3kgZm9yIGVuc2VtYmxlIGVsZW1lbnQgYWN0aXZhdGlvblxuICpcbiAqIEhhbmRsZXMgYWN0aXZhdGlvbiwgZGVhY3RpdmF0aW9uLCBhbmQgc3RhdHVzIHRyYWNraW5nIGZvciBlbnNlbWJsZSBlbGVtZW50cy5cbiAqIEVuc2VtYmxlcyBjb29yZGluYXRlIG11bHRpcGxlIGVsZW1lbnRzIGFuZCByZXF1aXJlIGFsbCBtYW5hZ2VycyBmb3IgYWN0aXZhdGlvbi5cbiAqL1xuXG5pbXBvcnQgeyBFbnNlbWJsZU1hbmFnZXIgfSBmcm9tICcuLi8uLi9lbGVtZW50cy9lbnNlbWJsZXMvRW5zZW1ibGVNYW5hZ2VyLmpzJztcbmltcG9ydCB7IFNraWxsTWFuYWdlciB9IGZyb20gJy4uLy4uL2VsZW1lbnRzL3NraWxscy9pbmRleC5qcyc7XG5pbXBvcnQgeyBUZW1wbGF0ZU1hbmFnZXIgfSBmcm9tICcuLi8uLi9lbGVtZW50cy90ZW1wbGF0ZXMvVGVtcGxhdGVNYW5hZ2VyLmpzJztcbmltcG9ydCB7IEFnZW50TWFuYWdlciB9IGZyb20gJy4uLy4uL2VsZW1lbnRzL2FnZW50cy9BZ2VudE1hbmFnZXIuanMnO1xuaW1wb3J0IHsgTWVtb3J5TWFuYWdlciB9IGZyb20gJy4uLy4uL2VsZW1lbnRzL21lbW9yaWVzL01lbW9yeU1hbmFnZXIuanMnO1xuaW1wb3J0IHsgUGVyc29uYU1hbmFnZXIgfSBmcm9tICcuLi8uLi9wZXJzb25hL1BlcnNvbmFNYW5hZ2VyLmpzJztcbmltcG9ydCB7IFBvcnRmb2xpb01hbmFnZXIgfSBmcm9tICcuLi8uLi9wb3J0Zm9saW8vUG9ydGZvbGlvTWFuYWdlci5qcyc7XG5pbXBvcnQgeyBCYXNlQWN0aXZhdGlvblN0cmF0ZWd5IH0gZnJvbSAnLi9CYXNlQWN0aXZhdGlvblN0cmF0ZWd5LmpzJztcbmltcG9ydCB7IEVsZW1lbnRBY3RpdmF0aW9uU3RyYXRlZ3ksIE1DUFJlc3BvbnNlIH0gZnJvbSAnLi9FbGVtZW50QWN0aXZhdGlvblN0cmF0ZWd5LmpzJztcbmltcG9ydCB0eXBlIHsgRW5zZW1ibGUgfSBmcm9tICcuLi8uLi9lbGVtZW50cy9lbnNlbWJsZXMvRW5zZW1ibGUuanMnO1xuaW1wb3J0IHR5cGUgeyBFbGVtZW50TWFuYWdlcnMsIEVuc2VtYmxlRWxlbWVudCB9IGZyb20gJy4uLy4uL2VsZW1lbnRzL2Vuc2VtYmxlcy90eXBlcy5qcyc7XG5cbmV4cG9ydCBjbGFzcyBFbnNlbWJsZUFjdGl2YXRpb25TdHJhdGVneSBleHRlbmRzIEJhc2VBY3RpdmF0aW9uU3RyYXRlZ3kgaW1wbGVtZW50cyBFbGVtZW50QWN0aXZhdGlvblN0cmF0ZWd5IHtcbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSBlbnNlbWJsZU1hbmFnZXI6IEVuc2VtYmxlTWFuYWdlcixcbiAgICBwcml2YXRlIHJlYWRvbmx5IHBvcnRmb2xpb01hbmFnZXI6IFBvcnRmb2xpb01hbmFnZXIsXG4gICAgcHJpdmF0ZSByZWFkb25seSBza2lsbE1hbmFnZXI6IFNraWxsTWFuYWdlcixcbiAgICBwcml2YXRlIHJlYWRvbmx5IHRlbXBsYXRlTWFuYWdlcjogVGVtcGxhdGVNYW5hZ2VyLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgYWdlbnRNYW5hZ2VyOiBBZ2VudE1hbmFnZXIsXG4gICAgcHJpdmF0ZSByZWFkb25seSBtZW1vcnlNYW5hZ2VyOiBNZW1vcnlNYW5hZ2VyLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgcGVyc29uYU1hbmFnZXI6IFBlcnNvbmFNYW5hZ2VyXG4gICkge1xuICAgIHN1cGVyKCk7XG4gIH1cblxuICAvKipcbiAgICogQWN0aXZhdGUgYW4gZW5zZW1ibGUgd2l0aCBhbGwgaXRzIGNvbnN0aXR1ZW50IGVsZW1lbnRzXG4gICAqIEV4dHJhY3RlZCBmcm9tIEVsZW1lbnRDUlVESGFuZGxlci50cyBsaW5lcyAyODEtMzQ1XG4gICAqL1xuICBhc3luYyBhY3RpdmF0ZShuYW1lOiBzdHJpbmcpOiBQcm9taXNlPE1DUFJlc3BvbnNlPiB7XG4gICAgLy8gQWN0aXZhdGUgdmlhIG1hbmFnZXIgKHdoaWNoIGhhbmRsZXMgbmFtZSB0cmFja2luZylcbiAgICBjb25zdCBhY3RpdmF0aW9uUmVzdWx0ID0gYXdhaXQgdGhpcy5lbnNlbWJsZU1hbmFnZXIuYWN0aXZhdGVFbnNlbWJsZShuYW1lKTtcblxuICAgIGlmICghYWN0aXZhdGlvblJlc3VsdC5zdWNjZXNzKSB7XG4gICAgICByZXR1cm4gdGhpcy5jcmVhdGVOb3RGb3VuZFJlc3BvbnNlKG5hbWUsICdFbnNlbWJsZScpO1xuICAgIH1cblxuICAgIGNvbnN0IGVuc2VtYmxlID0gYWN0aXZhdGlvblJlc3VsdC5lbnNlbWJsZSE7XG5cbiAgICAvLyBBY3RpdmF0ZSB0aGUgZW5zZW1ibGUgd2l0aCBhbGwgbWFuYWdlcnMgKG9yY2hlc3RyYXRpb24pXG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IGVuc2VtYmxlLmFjdGl2YXRlRW5zZW1ibGUodGhpcy5wb3J0Zm9saW9NYW5hZ2VyLCB0aGlzLmdldE1hbmFnZXJzKCkpO1xuXG4gICAgICBjb25zdCBzdGF0dXNFbW9qaSA9IHJlc3VsdC5zdWNjZXNzID8gJ+KchScgOiAn4pqg77iPJztcbiAgICAgIGNvbnN0IGRldGFpbHMgPSBbXG4gICAgICAgIGAke3N0YXR1c0Vtb2ppfSBFbnNlbWJsZSAnJHtlbnNlbWJsZS5tZXRhZGF0YS5uYW1lfScgYWN0aXZhdGVkYCxcbiAgICAgICAgYGAsXG4gICAgICAgIGAqKlN0cmF0ZWd5Kio6ICR7ZW5zZW1ibGUubWV0YWRhdGEuYWN0aXZhdGlvblN0cmF0ZWd5fWAsXG4gICAgICAgIGAqKkFjdGl2YXRlZCoqOiAke3Jlc3VsdC5hY3RpdmF0ZWRFbGVtZW50cy5sZW5ndGh9IGVsZW1lbnRzYCxcbiAgICAgICAgYCoqRmFpbGVkKio6ICR7cmVzdWx0LmZhaWxlZEVsZW1lbnRzLmxlbmd0aH0gZWxlbWVudHNgLFxuICAgICAgICBgKipEdXJhdGlvbioqOiAke3Jlc3VsdC50b3RhbER1cmF0aW9ufW1zYCxcbiAgICAgIF07XG5cbiAgICAgIGlmIChyZXN1bHQuYWN0aXZhdGVkRWxlbWVudHMubGVuZ3RoID4gMCkge1xuICAgICAgICBkZXRhaWxzLnB1c2goYGAsIGAqKkFjdGl2ZSBFbGVtZW50cyoqOmApO1xuICAgICAgICByZXN1bHQuYWN0aXZhdGVkRWxlbWVudHMuZm9yRWFjaCgoZWxlbTogc3RyaW5nKSA9PiB7XG4gICAgICAgICAgZGV0YWlscy5wdXNoKGAgIC0gJHtlbGVtfWApO1xuICAgICAgICB9KTtcbiAgICAgIH1cblxuICAgICAgaWYgKHJlc3VsdC5mYWlsZWRFbGVtZW50cy5sZW5ndGggPiAwKSB7XG4gICAgICAgIGRldGFpbHMucHVzaChgYCwgYCoqRmFpbGVkIEVsZW1lbnRzKio6YCk7XG4gICAgICAgIHJlc3VsdC5mYWlsZWRFbGVtZW50cy5mb3JFYWNoKChlbGVtOiBzdHJpbmcpID0+IHtcbiAgICAgICAgICBjb25zdCBlbGVtZW50UmVzdWx0ID0gcmVzdWx0LmVsZW1lbnRSZXN1bHRzLmZpbmQoKHI6IGFueSkgPT4gci5lbGVtZW50TmFtZSA9PT0gZWxlbSAmJiAhci5zdWNjZXNzKTtcbiAgICAgICAgICBjb25zdCBlcnJvck1zZyA9IGVsZW1lbnRSZXN1bHQ/LmVycm9yPy5tZXNzYWdlIHx8ICdVbmtub3duIGVycm9yJztcbiAgICAgICAgICBkZXRhaWxzLnB1c2goYCAgLSAke2VsZW19OiAke2Vycm9yTXNnfWApO1xuICAgICAgICB9KTtcbiAgICAgIH1cblxuICAgICAgLy8gSXNzdWUgIzY0MjogRmFpbC1zYWZlIHdhcm5pbmcgZm9yIENMSSByZXN0cmljdGlvbnNcbiAgICAgIGNvbnN0IHJlc3RyaWN0aW9uV2FybmluZyA9IHRoaXMuZm9ybWF0UmVzdHJpY3Rpb25XYXJuaW5nKGVuc2VtYmxlLm1ldGFkYXRhIGFzIHVua25vd24gYXMgUmVjb3JkPHN0cmluZywgdW5rbm93bj4pO1xuICAgICAgaWYgKHJlc3RyaWN0aW9uV2FybmluZykge1xuICAgICAgICBkZXRhaWxzLnB1c2gocmVzdHJpY3Rpb25XYXJuaW5nKTtcbiAgICAgIH1cblxuICAgICAgY29uc3QgZ2F0ZWtlZXBlcldhcm5pbmcgPSB0aGlzLmZvcm1hdEdhdGVrZWVwZXJWYWxpZGl0eVdhcm5pbmcoZW5zZW1ibGUubWV0YWRhdGEgYXMgdW5rbm93biBhcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPik7XG4gICAgICBpZiAoZ2F0ZWtlZXBlcldhcm5pbmcpIHtcbiAgICAgICAgZGV0YWlscy5wdXNoKGdhdGVrZWVwZXJXYXJuaW5nKTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgY29udGVudDogW3tcbiAgICAgICAgICB0eXBlOiBcInRleHRcIixcbiAgICAgICAgICB0ZXh0OiBkZXRhaWxzLmpvaW4oJ1xcbicpXG4gICAgICAgIH1dXG4gICAgICB9O1xuICAgIH0gY2F0Y2ggKGFjdGl2YXRpb25FcnJvcikge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgY29udGVudDogW3tcbiAgICAgICAgICB0eXBlOiBcInRleHRcIixcbiAgICAgICAgICB0ZXh0OiBg4p2MIEZhaWxlZCB0byBhY3RpdmF0ZSBlbnNlbWJsZTogJHthY3RpdmF0aW9uRXJyb3IgaW5zdGFuY2VvZiBFcnJvciA/IGFjdGl2YXRpb25FcnJvci5tZXNzYWdlIDogJ1Vua25vd24gZXJyb3InfWBcbiAgICAgICAgfV1cbiAgICAgIH07XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIERlYWN0aXZhdGUgYW4gZW5zZW1ibGVcbiAgICogTk9URTogVGhpcyB3YXMgbWlzc2luZyBpbiB0aGUgb3JpZ2luYWwgaW1wbGVtZW50YXRpb24gLSBhZGRpbmcgaXQgbm93XG4gICAqXG4gICAqIEB0aHJvd3Mge0VsZW1lbnROb3RGb3VuZEVycm9yfSBXaGVuIGVuc2VtYmxlIGRvZXMgbm90IGV4aXN0XG4gICAqIEBzZWUgSXNzdWUgIzI3NSAtIEhhbmRsZXJzIHJldHVybiBzdWNjZXNzPXRydWUgZm9yIG1pc3NpbmcgZWxlbWVudHNcbiAgICovXG4gIGFzeW5jIGRlYWN0aXZhdGUobmFtZTogc3RyaW5nKTogUHJvbWlzZTxNQ1BSZXNwb25zZT4ge1xuICAgIC8vIERlYWN0aXZhdGUgdmlhIG1hbmFnZXIgKHdoaWNoIGhhbmRsZXMgbmFtZSB0cmFja2luZylcbiAgICBjb25zdCBkZWFjdGl2YXRpb25SZXN1bHQgPSBhd2FpdCB0aGlzLmVuc2VtYmxlTWFuYWdlci5kZWFjdGl2YXRlRW5zZW1ibGUobmFtZSk7XG5cbiAgICBpZiAoIWRlYWN0aXZhdGlvblJlc3VsdC5zdWNjZXNzKSB7XG4gICAgICB0aGlzLnRocm93Tm90Rm91bmRFcnJvcihuYW1lLCAnRW5zZW1ibGUnKTtcbiAgICB9XG5cbiAgICBpZiAoZGVhY3RpdmF0aW9uUmVzdWx0LmVuc2VtYmxlKSB7XG4gICAgICBhd2FpdCB0aGlzLmRlYWN0aXZhdGVNZW1iZXJzKGRlYWN0aXZhdGlvblJlc3VsdC5lbnNlbWJsZSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuY3JlYXRlU3VjY2Vzc1Jlc3BvbnNlKGDinIUgRW5zZW1ibGUgJyR7bmFtZX0nIGRlYWN0aXZhdGVkYCk7XG4gIH1cblxuICBwcml2YXRlIGdldE1hbmFnZXJzKCk6IEVsZW1lbnRNYW5hZ2VycyB7XG4gICAgcmV0dXJuIHtcbiAgICAgIHNraWxsTWFuYWdlcjogdGhpcy5za2lsbE1hbmFnZXIsXG4gICAgICB0ZW1wbGF0ZU1hbmFnZXI6IHRoaXMudGVtcGxhdGVNYW5hZ2VyLFxuICAgICAgYWdlbnRNYW5hZ2VyOiB0aGlzLmFnZW50TWFuYWdlcixcbiAgICAgIG1lbW9yeU1hbmFnZXI6IHRoaXMubWVtb3J5TWFuYWdlcixcbiAgICAgIHBlcnNvbmFNYW5hZ2VyOiB0aGlzLnBlcnNvbmFNYW5hZ2VyLFxuICAgICAgZW5zZW1ibGVNYW5hZ2VyOiB0aGlzLmVuc2VtYmxlTWFuYWdlclxuICAgIH07XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIGRlYWN0aXZhdGVNZW1iZXJzKGVuc2VtYmxlOiBFbnNlbWJsZSk6IFByb21pc2U8dm9pZD4ge1xuICAgIGNvbnN0IGRlYWN0aXZhdGlvblByb21pc2VzID0gKGVuc2VtYmxlLm1ldGFkYXRhLmVsZW1lbnRzIHx8IFtdKS5tYXAoKGVsZW1lbnQpID0+XG4gICAgICB0aGlzLmRlYWN0aXZhdGVNZW1iZXIoZWxlbWVudClcbiAgICApO1xuICAgIGF3YWl0IFByb21pc2UuYWxsKGRlYWN0aXZhdGlvblByb21pc2VzKTtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgZGVhY3RpdmF0ZU1lbWJlcihlbGVtZW50OiBFbnNlbWJsZUVsZW1lbnQpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBjb25zdCBub3JtYWxpemVkVHlwZSA9IGVsZW1lbnQuZWxlbWVudF90eXBlLnRvTG93ZXJDYXNlKCk7XG5cbiAgICBzd2l0Y2ggKG5vcm1hbGl6ZWRUeXBlKSB7XG4gICAgICBjYXNlICdza2lsbCc6XG4gICAgICBjYXNlICdza2lsbHMnOlxuICAgICAgICBhd2FpdCB0aGlzLnNraWxsTWFuYWdlci5kZWFjdGl2YXRlU2tpbGwoZWxlbWVudC5lbGVtZW50X25hbWUpO1xuICAgICAgICByZXR1cm47XG4gICAgICBjYXNlICdwZXJzb25hJzpcbiAgICAgIGNhc2UgJ3BlcnNvbmFzJzpcbiAgICAgICAgYXdhaXQgUHJvbWlzZS5yZXNvbHZlKHRoaXMucGVyc29uYU1hbmFnZXIuZGVhY3RpdmF0ZVBlcnNvbmEoZWxlbWVudC5lbGVtZW50X25hbWUpKTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgY2FzZSAnYWdlbnQnOlxuICAgICAgY2FzZSAnYWdlbnRzJzpcbiAgICAgICAgYXdhaXQgdGhpcy5hZ2VudE1hbmFnZXIuZGVhY3RpdmF0ZUFnZW50KGVsZW1lbnQuZWxlbWVudF9uYW1lKTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgY2FzZSAnbWVtb3J5JzpcbiAgICAgIGNhc2UgJ21lbW9yaWVzJzpcbiAgICAgICAgYXdhaXQgdGhpcy5tZW1vcnlNYW5hZ2VyLmRlYWN0aXZhdGVNZW1vcnkoZWxlbWVudC5lbGVtZW50X25hbWUpO1xuICAgICAgICByZXR1cm47XG4gICAgICBjYXNlICdlbnNlbWJsZSc6XG4gICAgICBjYXNlICdlbnNlbWJsZXMnOlxuICAgICAgICBhd2FpdCB0aGlzLmVuc2VtYmxlTWFuYWdlci5kZWFjdGl2YXRlRW5zZW1ibGUoZWxlbWVudC5lbGVtZW50X25hbWUpO1xuICAgICAgICByZXR1cm47XG4gICAgICBjYXNlICd0ZW1wbGF0ZSc6XG4gICAgICBjYXNlICd0ZW1wbGF0ZXMnOlxuICAgICAgZGVmYXVsdDpcbiAgICAgICAgcmV0dXJuO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgYWxsIGFjdGl2ZSBlbnNlbWJsZXNcbiAgICogTk9URTogVGhpcyB3YXMgbWlzc2luZyBpbiB0aGUgb3JpZ2luYWwgaW1wbGVtZW50YXRpb24gLSBhZGRpbmcgYmFzaWMgdmVyc2lvblxuICAgKi9cbiAgYXN5bmMgZ2V0QWN0aXZlRWxlbWVudHMoKTogUHJvbWlzZTxNQ1BSZXNwb25zZT4ge1xuICAgIGNvbnN0IGFjdGl2ZUVuc2VtYmxlcyA9IGF3YWl0IHRoaXMuZW5zZW1ibGVNYW5hZ2VyLmdldEFjdGl2ZUVuc2VtYmxlcygpO1xuXG4gICAgaWYgKGFjdGl2ZUVuc2VtYmxlcy5sZW5ndGggPT09IDApIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGNvbnRlbnQ6IFt7XG4gICAgICAgICAgdHlwZTogXCJ0ZXh0XCIsXG4gICAgICAgICAgdGV4dDogXCLwn46tIE5vIGFjdGl2ZSBlbnNlbWJsZXNcIlxuICAgICAgICB9XVxuICAgICAgfTtcbiAgICB9XG5cbiAgICBjb25zdCBlbnNlbWJsZUxpc3QgPSBhY3RpdmVFbnNlbWJsZXMubWFwKGUgPT4ge1xuICAgICAgY29uc3QgZWxlbWVudENvdW50ID0gZS5tZXRhZGF0YS5lbGVtZW50cz8ubGVuZ3RoIHx8IDA7XG4gICAgICByZXR1cm4gYPCfjq0gJHtlLm1ldGFkYXRhLm5hbWV9ICgke2VsZW1lbnRDb3VudH0gZWxlbWVudHMpYDtcbiAgICB9KS5qb2luKCdcXG4nKTtcblxuICAgIHJldHVybiB7XG4gICAgICBjb250ZW50OiBbe1xuICAgICAgICB0eXBlOiBcInRleHRcIixcbiAgICAgICAgdGV4dDogYEFjdGl2ZSBlbnNlbWJsZXM6XFxuJHtlbnNlbWJsZUxpc3R9YFxuICAgICAgfV1cbiAgICB9O1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCBkZXRhaWxlZCBpbmZvcm1hdGlvbiBhYm91dCBhbiBlbnNlbWJsZVxuICAgKiBFeHRyYWN0ZWQgZnJvbSBFbGVtZW50Q1JVREhhbmRsZXIudHMgbGluZXMgODA3LTg0NlxuICAgKi9cbiAgYXN5bmMgZ2V0RWxlbWVudERldGFpbHMobmFtZTogc3RyaW5nKTogUHJvbWlzZTxNQ1BSZXNwb25zZT4ge1xuICAgIC8vIFVzZSBmbGV4aWJsZSBmaW5kaW5nIHRvIHN1cHBvcnQgYm90aCBkaXNwbGF5IG5hbWUgYW5kIGZpbGVuYW1lXG4gICAgY29uc3QgYWxsRW5zZW1ibGVzID0gYXdhaXQgdGhpcy5lbnNlbWJsZU1hbmFnZXIubGlzdCgpO1xuICAgIGNvbnN0IGVuc2VtYmxlID0gYXdhaXQgdGhpcy5maW5kRWxlbWVudEZsZXhpYmx5KG5hbWUsIGFsbEVuc2VtYmxlcyk7XG4gICAgaWYgKCFlbnNlbWJsZSkge1xuICAgICAgdGhpcy50aHJvd05vdEZvdW5kRXJyb3IobmFtZSwgJ0Vuc2VtYmxlJyk7XG4gICAgfVxuXG4gICAgY29uc3QgZWxlbWVudHNMaXN0ID0gZW5zZW1ibGUubWV0YWRhdGEuZWxlbWVudHM/Lm1hcCgoZWxlbTogYW55KSA9PlxuICAgICAgYC0gJHtlbGVtLmVsZW1lbnRfbmFtZX0gKCR7ZWxlbS5lbGVtZW50X3R5cGV9KSAtICR7ZWxlbS5yb2xlfSwgcHJpb3JpdHk6ICR7ZWxlbS5wcmlvcml0eX0sIGFjdGl2YXRpb246ICR7ZWxlbS5hY3RpdmF0aW9ufWBcbiAgICApLmpvaW4oJ1xcbicpIHx8ICdObyBlbGVtZW50cyBjb25maWd1cmVkJztcblxuICAgIGNvbnN0IGRldGFpbHMgPSBbXG4gICAgICBg8J+OrSAqKiR7ZW5zZW1ibGUubWV0YWRhdGEubmFtZX0qKmAsXG4gICAgICBgJHtlbnNlbWJsZS5tZXRhZGF0YS5kZXNjcmlwdGlvbn1gLFxuICAgICAgYGAsXG4gICAgICBgKipTdGF0dXMqKjogJHtlbnNlbWJsZS5nZXRTdGF0dXMoKX1gLFxuICAgICAgYCoqVmVyc2lvbioqOiAke2Vuc2VtYmxlLm1ldGFkYXRhLnZlcnNpb24gfHwgJzEuMC4wJ31gLFxuICAgICAgYCoqQWN0aXZhdGlvbiBTdHJhdGVneSoqOiAkeyhlbnNlbWJsZS5tZXRhZGF0YSBhcyBhbnkpLmFjdGl2YXRpb25TdHJhdGVneSB8fCAnc2VxdWVudGlhbCd9YCxcbiAgICAgIGAqKkNvbmZsaWN0IFJlc29sdXRpb24qKjogJHsoZW5zZW1ibGUubWV0YWRhdGEgYXMgYW55KS5jb25mbGljdFJlc29sdXRpb24gfHwgJ2xhc3Qtd3JpdGUnfWAsXG4gICAgICBgKipDb250ZXh0IFNoYXJpbmcqKjogJHsoZW5zZW1ibGUubWV0YWRhdGEgYXMgYW55KS5jb250ZXh0U2hhcmluZyB8fCAnc2VsZWN0aXZlJ31gLFxuICAgICAgYCoqQWxsb3dzIE5lc3RpbmcqKjogJHsoZW5zZW1ibGUubWV0YWRhdGEgYXMgYW55KS5hbGxvd05lc3RlZCA/ICdZZXMnIDogJ05vJ31gLFxuICAgICAgYCoqTWF4IE5lc3RpbmcgRGVwdGgqKjogJHsoZW5zZW1ibGUubWV0YWRhdGEgYXMgYW55KS5tYXhOZXN0aW5nRGVwdGggfHwgNX1gLFxuICAgICAgYGAsXG4gICAgICBgKipFbGVtZW50cyoqICgke2Vuc2VtYmxlLm1ldGFkYXRhLmVsZW1lbnRzPy5sZW5ndGggfHwgMH0pOmAsXG4gICAgICBlbGVtZW50c0xpc3RcbiAgICBdO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIGNvbnRlbnQ6IFt7XG4gICAgICAgIHR5cGU6IFwidGV4dFwiLFxuICAgICAgICB0ZXh0OiBkZXRhaWxzLmpvaW4oJ1xcbicpXG4gICAgICB9XVxuICAgIH07XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MemoryActivationStrategy.d.ts","sourceRoot":"","sources":["../../../src/handlers/strategies/MemoryActivationStrategy.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,0CAA0C,CAAC;AACzE,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AACrE,OAAO,EAAE,yBAAyB,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAExF,qBAAa,wBAAyB,SAAQ,sBAAuB,YAAW,yBAAyB;IAC3F,OAAO,CAAC,QAAQ,CAAC,aAAa;gBAAb,aAAa,EAAE,aAAa;IAIzD;;;;;;OAMG;IACG,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,OAAO,CAAC,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"MemoryActivationStrategy.d.ts","sourceRoot":"","sources":["../../../src/handlers/strategies/MemoryActivationStrategy.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,0CAA0C,CAAC;AACzE,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AACrE,OAAO,EAAE,yBAAyB,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAExF,qBAAa,wBAAyB,SAAQ,sBAAuB,YAAW,yBAAyB;IAC3F,OAAO,CAAC,QAAQ,CAAC,aAAa;gBAAb,aAAa,EAAE,aAAa;IAIzD;;;;;;OAMG;IACG,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,OAAO,CAAC,WAAW,CAAC;IA6DjF;;;;;;OAMG;IACG,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;IAUpD;;;OAGG;IACG,iBAAiB,IAAI,OAAO,CAAC,WAAW,CAAC;IA2B/C;;;;;;OAMG;IACG,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;CA6B5D"}
|
|
@@ -58,6 +58,10 @@ export class MemoryActivationStrategy extends BaseActivationStrategy {
|
|
|
58
58
|
}
|
|
59
59
|
parts.push('');
|
|
60
60
|
parts.push('This memory is now available for context and will be used to enhance responses.');
|
|
61
|
+
const gatekeeperWarning = this.formatGatekeeperValidityWarning(memory.metadata);
|
|
62
|
+
if (gatekeeperWarning) {
|
|
63
|
+
parts.push(gatekeeperWarning);
|
|
64
|
+
}
|
|
61
65
|
return {
|
|
62
66
|
content: [{
|
|
63
67
|
type: "text",
|
|
@@ -141,4 +145,4 @@ export class MemoryActivationStrategy extends BaseActivationStrategy {
|
|
|
141
145
|
};
|
|
142
146
|
}
|
|
143
147
|
}
|
|
144
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTWVtb3J5QWN0aXZhdGlvblN0cmF0ZWd5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2hhbmRsZXJzL3N0cmF0ZWdpZXMvTWVtb3J5QWN0aXZhdGlvblN0cmF0ZWd5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7OztHQUtHO0FBR0gsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFHckUsTUFBTSxPQUFPLHdCQUF5QixTQUFRLHNCQUFzQjtJQUNyQztJQUE3QixZQUE2QixhQUE0QjtRQUN2RCxLQUFLLEVBQUUsQ0FBQztRQURtQixrQkFBYSxHQUFiLGFBQWEsQ0FBZTtJQUV6RCxDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0gsS0FBSyxDQUFDLFFBQVEsQ0FBQyxJQUFZLEVBQUUsT0FBNkI7UUFDeEQsbUVBQW1FO1FBQ25FLE1BQU0sTUFBTSxHQUFHLE1BQU0sSUFBSSxDQUFDLGFBQWEsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFN0QsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDdEMsT0FBTyxJQUFJLENBQUMsc0JBQXNCLENBQUMsSUFBSSxFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBQ3JELENBQUM7UUFFRCxNQUFNLE1BQU0sR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDO1FBRTdCLHdEQUF3RDtRQUN4RCxNQUFNLEtBQUssR0FBRyxNQUFNLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDaEMsTUFBTSxhQUFhLEdBQUksTUFBTSxDQUFDLFFBQWdCLENBQUMsYUFBYSxJQUFJLFdBQVcsQ0FBQztRQUM1RSxNQUFNLElBQUksR0FBSSxNQUFNLENBQUMsUUFBZ0IsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLE1BQU0sQ0FBQztRQUVqRSw2REFBNkQ7UUFDN0QsTUFBTSxLQUFLLEdBQUc7WUFDWixhQUFhLE1BQU0sQ0FBQyxRQUFRLENBQUMsSUFBSSxpQkFBaUIsS0FBSyxDQUFDLFlBQVksOEJBQThCO1lBQ2xHLEVBQUU7U0FDSCxDQUFDO1FBRUYsa0VBQWtFO1FBQ2xFLE1BQU0sb0JBQW9CLEdBQUcsT0FBTyxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztRQUN4RSxNQUFNLGlCQUFpQixHQUFHLE9BQU8sRUFBRSxRQUFRLEtBQUssSUFBSSxDQUFDO1FBRXJELElBQUksaUJBQWlCLEVBQUUsQ0FBQztZQUN0QiwrQkFBK0I7WUFDL0IsS0FBSyxDQUFDLElBQUksQ0FBQyxrREFBa0QsQ0FBQyxDQUFDO1FBQ2pFLENBQUM7YUFBTSxJQUFJLG9CQUFvQixFQUFFLENBQUM7WUFDaEMsNEJBQTRCO1lBQzVCLEtBQUssQ0FBQyxJQUFJLENBQUMsMERBQTBELENBQUMsQ0FBQztRQUN6RSxDQUFDO2FBQU0sQ0FBQztZQUNOLHFCQUFxQjtZQUNyQixLQUFLLENBQUMsSUFBSSxDQUFDLHdEQUF3RCxDQUFDLENBQUM7UUFDdkUsQ0FBQztRQUVELEtBQUssQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDZixLQUFLLENBQUMsSUFBSSxDQUFDLGtCQUFrQixhQUFhLE9BQU8sQ0FBQyxDQUFDO1FBQ25ELEtBQUssQ0FBQyxJQUFJLENBQUMsYUFBYSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBQ2hDLEtBQUssQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLEtBQUssQ0FBQyxZQUFZLEVBQUUsQ0FBQyxDQUFDO1FBRWpELElBQUksS0FBSyxDQUFDLFNBQVMsR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUN4QixLQUFLLENBQUMsSUFBSSxDQUFDLGFBQWEsS0FBSyxDQUFDLFNBQVMsUUFBUSxDQUFDLENBQUM7UUFDbkQsQ0FBQztRQUVELEtBQUssQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDZixLQUFLLENBQUMsSUFBSSxDQUFDLGlGQUFpRixDQUFDLENBQUM7UUFFOUYsT0FBTztZQUNMLE9BQU8sRUFBRSxDQUFDO29CQUNSLElBQUksRUFBRSxNQUFNO29CQUNaLElBQUksRUFBRSxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQztpQkFDdkIsQ0FBQztTQUNILENBQUM7SUFDSixDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0gsS0FBSyxDQUFDLFVBQVUsQ0FBQyxJQUFZO1FBQzNCLE1BQU0sTUFBTSxHQUFHLE1BQU0sSUFBSSxDQUFDLGFBQWEsQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUUvRCxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ3BCLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFDMUMsQ0FBQztRQUVELE9BQU8sSUFBSSxDQUFDLHFCQUFxQixDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNwRCxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsS0FBSyxDQUFDLGlCQUFpQjtRQUNyQiwyREFBMkQ7UUFDM0QsTUFBTSxjQUFjLEdBQUcsTUFBTSxJQUFJLENBQUMsYUFBYSxDQUFDLGlCQUFpQixFQUFFLENBQUM7UUFFcEUsSUFBSSxjQUFjLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRSxDQUFDO1lBQ2hDLE9BQU87Z0JBQ0wsT0FBTyxFQUFFLENBQUM7d0JBQ1IsSUFBSSxFQUFFLE1BQU07d0JBQ1osSUFBSSxFQUFFLHVCQUF1QjtxQkFDOUIsQ0FBQzthQUNILENBQUM7UUFDSixDQUFDO1FBRUQsTUFBTSxVQUFVLEdBQUcsY0FBYyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUN4QyxNQUFNLElBQUksR0FBSSxDQUFDLENBQUMsUUFBZ0IsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLE1BQU0sQ0FBQztZQUM1RCxNQUFNLGFBQWEsR0FBSSxDQUFDLENBQUMsUUFBZ0IsQ0FBQyxhQUFhLElBQUksV0FBVyxDQUFDO1lBQ3ZFLE9BQU8sTUFBTSxDQUFDLENBQUMsUUFBUSxDQUFDLElBQUksV0FBVyxJQUFJLE9BQU8sYUFBYSxpQkFBaUIsQ0FBQztRQUNuRixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFZCxPQUFPO1lBQ0wsT0FBTyxFQUFFLENBQUM7b0JBQ1IsSUFBSSxFQUFFLE1BQU07b0JBQ1osSUFBSSxFQUFFLHFCQUFxQixVQUFVLEVBQUU7aUJBQ3hDLENBQUM7U0FDSCxDQUFDO0lBQ0osQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNILEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxJQUFZO1FBQ2xDLGlFQUFpRTtRQUNqRSxNQUFNLFdBQVcsR0FBRyxNQUFNLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDcEQsTUFBTSxNQUFNLEdBQUcsTUFBTSxJQUFJLENBQUMsbUJBQW1CLENBQUMsSUFBSSxFQUFFLFdBQVcsQ0FBQyxDQUFDO1FBQ2pFLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUNaLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFDMUMsQ0FBQztRQUVELE1BQU0sT0FBTyxHQUFHO1lBQ2QsUUFBUSxNQUFNLENBQUMsUUFBUSxDQUFDLElBQUksSUFBSTtZQUNoQyxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUMsV0FBVyxFQUFFO1lBQ2hDLEVBQUU7WUFDRixlQUFlLE1BQU0sQ0FBQyxTQUFTLEVBQUUsRUFBRTtZQUNuQyxrQkFBbUIsTUFBTSxDQUFDLFFBQWdCLENBQUMsYUFBYSxJQUFJLFdBQVcsT0FBTztZQUM5RSxhQUFjLE1BQU0sQ0FBQyxRQUFnQixDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksTUFBTSxFQUFFO1lBQ2xFLHdCQUF5QixNQUFNLENBQUMsUUFBZ0IsQ0FBQyxjQUFjLElBQUksTUFBTSxFQUFFO1lBQzNFLHNCQUF1QixNQUFNLENBQUMsUUFBZ0IsQ0FBQyxZQUFZLElBQUksU0FBUyxFQUFFO1lBQzFFLEVBQUU7WUFDRixjQUFjO1lBQ2QsTUFBTSxDQUFDLE9BQU8sSUFBSSxtQkFBbUI7U0FDdEMsQ0FBQztRQUVGLE9BQU87WUFDTCxPQUFPLEVBQUUsQ0FBQztvQkFDUixJQUFJLEVBQUUsTUFBTTtvQkFDWixJQUFJLEVBQUUsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUM7aUJBQ3pCLENBQUM7U0FDSCxDQUFDO0lBQ0osQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBNZW1vcnlBY3RpdmF0aW9uU3RyYXRlZ3kgLSBTdHJhdGVneSBmb3IgbWVtb3J5IGVsZW1lbnQgYWN0aXZhdGlvblxuICpcbiAqIEhhbmRsZXMgYWN0aXZhdGlvbiwgZGVhY3RpdmF0aW9uLCBhbmQgc3RhdHVzIHRyYWNraW5nIGZvciBtZW1vcnkgZWxlbWVudHMuXG4gKiBJc3N1ZSAjMTggUGhhc2UgNDogQ29udGV4dC1sb2FkaW5nIHN0cmF0ZWd5IHdpdGggc3RhdGUgbWFuYWdlbWVudFxuICovXG5cbmltcG9ydCB7IE1lbW9yeU1hbmFnZXIgfSBmcm9tICcuLi8uLi9lbGVtZW50cy9tZW1vcmllcy9NZW1vcnlNYW5hZ2VyLmpzJztcbmltcG9ydCB7IEJhc2VBY3RpdmF0aW9uU3RyYXRlZ3kgfSBmcm9tICcuL0Jhc2VBY3RpdmF0aW9uU3RyYXRlZ3kuanMnO1xuaW1wb3J0IHsgRWxlbWVudEFjdGl2YXRpb25TdHJhdGVneSwgTUNQUmVzcG9uc2UgfSBmcm9tICcuL0VsZW1lbnRBY3RpdmF0aW9uU3RyYXRlZ3kuanMnO1xuXG5leHBvcnQgY2xhc3MgTWVtb3J5QWN0aXZhdGlvblN0cmF0ZWd5IGV4dGVuZHMgQmFzZUFjdGl2YXRpb25TdHJhdGVneSBpbXBsZW1lbnRzIEVsZW1lbnRBY3RpdmF0aW9uU3RyYXRlZ3kge1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IG1lbW9yeU1hbmFnZXI6IE1lbW9yeU1hbmFnZXIpIHtcbiAgICBzdXBlcigpO1xuICB9XG5cbiAgLyoqXG4gICAqIEFjdGl2YXRlIGEgbWVtb3J5XG4gICAqIElzc3VlICMxOCBQaGFzZSA0OiBDb250ZXh0LWxvYWRpbmcgYWN0aXZhdGlvbiBzdHJhdGVneVxuICAgKiAtIExvYWQgbWVtb3J5IGVudHJpZXMgaW50byBhY3RpdmUgY29udGV4dFxuICAgKiAtIEFwcGx5IHJldGVudGlvbiBwb2xpY2llcyBpZiBjb25maWd1cmVkXG4gICAqIC0gVHJhY2sgYWN0aXZhdGlvbiBpbiBtYW5hZ2VyJ3MgYWN0aXZlIHNldFxuICAgKi9cbiAgYXN5bmMgYWN0aXZhdGUobmFtZTogc3RyaW5nLCBjb250ZXh0PzogUmVjb3JkPHN0cmluZywgYW55Pik6IFByb21pc2U8TUNQUmVzcG9uc2U+IHtcbiAgICAvLyBVc2UgdGhlIG1hbmFnZXIncyBhY3RpdmF0aW9uIG1ldGhvZCB3aGljaCB0cmFja3MgYWN0aXZlIG1lbW9yaWVzXG4gICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgdGhpcy5tZW1vcnlNYW5hZ2VyLmFjdGl2YXRlTWVtb3J5KG5hbWUpO1xuXG4gICAgaWYgKCFyZXN1bHQuc3VjY2VzcyB8fCAhcmVzdWx0Lm1lbW9yeSkge1xuICAgICAgcmV0dXJuIHRoaXMuY3JlYXRlTm90Rm91bmRSZXNwb25zZShuYW1lLCAnTWVtb3J5Jyk7XG4gICAgfVxuXG4gICAgY29uc3QgbWVtb3J5ID0gcmVzdWx0Lm1lbW9yeTtcblxuICAgIC8vIEdldCBtZW1vcnkgc3RhdGlzdGljcyBmb3IgY29udGV4dCBsb2FkaW5nIGluZm9ybWF0aW9uXG4gICAgY29uc3Qgc3RhdHMgPSBtZW1vcnkuZ2V0U3RhdHMoKTtcbiAgICBjb25zdCByZXRlbnRpb25EYXlzID0gKG1lbW9yeS5tZXRhZGF0YSBhcyBhbnkpLnJldGVudGlvbkRheXMgfHwgJ3Blcm1hbmVudCc7XG4gICAgY29uc3QgdGFncyA9IChtZW1vcnkubWV0YWRhdGEgYXMgYW55KS50YWdzPy5qb2luKCcsICcpIHx8ICdub25lJztcblxuICAgIC8vIEJ1aWxkIGFjdGl2YXRpb24gcmVzcG9uc2Ugd2l0aCBjb250ZXh0LWxvYWRpbmcgaW5mb3JtYXRpb25cbiAgICBjb25zdCBwYXJ0cyA9IFtcbiAgICAgIGDinIUgTWVtb3J5ICcke21lbW9yeS5tZXRhZGF0YS5uYW1lfScgYWN0aXZhdGVkIC0gJHtzdGF0cy50b3RhbEVudHJpZXN9IGVudHJpZXMgbG9hZGVkIGludG8gY29udGV4dGAsXG4gICAgICAnJ1xuICAgIF07XG5cbiAgICAvLyBDaGVjayBpZiBjb250ZXh0IHdhcyBwcm92aWRlZCBmb3IgYWRkaXRpb25hbCBhY3RpdmF0aW9uIG9wdGlvbnNcbiAgICBjb25zdCBoYXNBY3RpdmF0aW9uQ29udGV4dCA9IGNvbnRleHQgJiYgT2JqZWN0LmtleXMoY29udGV4dCkubGVuZ3RoID4gMDtcbiAgICBjb25zdCBhdXRvTG9hZFJlcXVlc3RlZCA9IGNvbnRleHQ/LmF1dG9Mb2FkID09PSB0cnVlO1xuXG4gICAgaWYgKGF1dG9Mb2FkUmVxdWVzdGVkKSB7XG4gICAgICAvLyBBdXRvLWxvYWQgYWN0aXZhdGlvbiBjb250ZXh0XG4gICAgICBwYXJ0cy5wdXNoKCdNZW1vcnkgYWN0aXZhdGVzIGFuZCBhdXRvbWF0aWNhbGx5IGxvYWRzIGVudHJpZXMnKTtcbiAgICB9IGVsc2UgaWYgKGhhc0FjdGl2YXRpb25Db250ZXh0KSB7XG4gICAgICAvLyBPdGhlciBhY3RpdmF0aW9uIGNvbnRleHRzXG4gICAgICBwYXJ0cy5wdXNoKCdNZW1vcnkgY29udGV4dCBsb2FkZWQgYW5kIGFwcGxpZWQgd2l0aCBzcGVjaWZpZWQgb3B0aW9ucycpO1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyBEZWZhdWx0IGFjdGl2YXRpb25cbiAgICAgIHBhcnRzLnB1c2goJ01lbW9yeSBiZWNvbWVzIGFjdGl2ZSwgY29udGV4dCBsb2FkZWQgaW50byB3b3JraW5nIHNldCcpO1xuICAgIH1cblxuICAgIHBhcnRzLnB1c2goJycpO1xuICAgIHBhcnRzLnB1c2goYCoqUmV0ZW50aW9uKio6ICR7cmV0ZW50aW9uRGF5c30gZGF5c2ApO1xuICAgIHBhcnRzLnB1c2goYCoqVGFncyoqOiAke3RhZ3N9YCk7XG4gICAgcGFydHMucHVzaChgKipFbnRyaWVzKio6ICR7c3RhdHMudG90YWxFbnRyaWVzfWApO1xuXG4gICAgaWYgKHN0YXRzLnRvdGFsU2l6ZSA+IDApIHtcbiAgICAgIHBhcnRzLnB1c2goYCoqU2l6ZSoqOiAke3N0YXRzLnRvdGFsU2l6ZX0gYnl0ZXNgKTtcbiAgICB9XG5cbiAgICBwYXJ0cy5wdXNoKCcnKTtcbiAgICBwYXJ0cy5wdXNoKCdUaGlzIG1lbW9yeSBpcyBub3cgYXZhaWxhYmxlIGZvciBjb250ZXh0IGFuZCB3aWxsIGJlIHVzZWQgdG8gZW5oYW5jZSByZXNwb25zZXMuJyk7XG5cbiAgICByZXR1cm4ge1xuICAgICAgY29udGVudDogW3tcbiAgICAgICAgdHlwZTogXCJ0ZXh0XCIsXG4gICAgICAgIHRleHQ6IHBhcnRzLmpvaW4oJ1xcbicpXG4gICAgICB9XVxuICAgIH07XG4gIH1cblxuICAvKipcbiAgICogRGVhY3RpdmF0ZSBhIG1lbW9yeVxuICAgKiBJc3N1ZSAjMTggUGhhc2UgNDogVXNlIG1hbmFnZXIncyBkZWFjdGl2YXRpb24gbWV0aG9kXG4gICAqXG4gICAqIEB0aHJvd3Mge0VsZW1lbnROb3RGb3VuZEVycm9yfSBXaGVuIG1lbW9yeSBkb2VzIG5vdCBleGlzdFxuICAgKiBAc2VlIElzc3VlICMyNzUgLSBIYW5kbGVycyByZXR1cm4gc3VjY2Vzcz10cnVlIGZvciBtaXNzaW5nIGVsZW1lbnRzXG4gICAqL1xuICBhc3luYyBkZWFjdGl2YXRlKG5hbWU6IHN0cmluZyk6IFByb21pc2U8TUNQUmVzcG9uc2U+IHtcbiAgICBjb25zdCByZXN1bHQgPSBhd2FpdCB0aGlzLm1lbW9yeU1hbmFnZXIuZGVhY3RpdmF0ZU1lbW9yeShuYW1lKTtcblxuICAgIGlmICghcmVzdWx0LnN1Y2Nlc3MpIHtcbiAgICAgIHRoaXMudGhyb3dOb3RGb3VuZEVycm9yKG5hbWUsICdNZW1vcnknKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5jcmVhdGVTdWNjZXNzUmVzcG9uc2UocmVzdWx0Lm1lc3NhZ2UpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCBhbGwgYWN0aXZlIG1lbW9yaWVzXG4gICAqIElzc3VlICMxOCBQaGFzZSA0OiBVc2UgbWFuYWdlcidzIGdldEFjdGl2ZU1lbW9yaWVzIG1ldGhvZFxuICAgKi9cbiAgYXN5bmMgZ2V0QWN0aXZlRWxlbWVudHMoKTogUHJvbWlzZTxNQ1BSZXNwb25zZT4ge1xuICAgIC8vIFVzZSB0aGUgbWFuYWdlcidzIG1ldGhvZCB0byBnZXQgYWN0aXZlIG1lbW9yaWVzIGRpcmVjdGx5XG4gICAgY29uc3QgYWN0aXZlTWVtb3JpZXMgPSBhd2FpdCB0aGlzLm1lbW9yeU1hbmFnZXIuZ2V0QWN0aXZlTWVtb3JpZXMoKTtcblxuICAgIGlmIChhY3RpdmVNZW1vcmllcy5sZW5ndGggPT09IDApIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGNvbnRlbnQ6IFt7XG4gICAgICAgICAgdHlwZTogXCJ0ZXh0XCIsXG4gICAgICAgICAgdGV4dDogXCLwn6egIE5vIGFjdGl2ZSBtZW1vcmllc1wiXG4gICAgICAgIH1dXG4gICAgICB9O1xuICAgIH1cblxuICAgIGNvbnN0IG1lbW9yeUxpc3QgPSBhY3RpdmVNZW1vcmllcy5tYXAobSA9PiB7XG4gICAgICBjb25zdCB0YWdzID0gKG0ubWV0YWRhdGEgYXMgYW55KS50YWdzPy5qb2luKCcsICcpIHx8ICdub25lJztcbiAgICAgIGNvbnN0IHJldGVudGlvbkRheXMgPSAobS5tZXRhZGF0YSBhcyBhbnkpLnJldGVudGlvbkRheXMgfHwgJ3Blcm1hbmVudCc7XG4gICAgICByZXR1cm4gYPCfp6AgJHttLm1ldGFkYXRhLm5hbWV9IChUYWdzOiAke3RhZ3N9KSAtICR7cmV0ZW50aW9uRGF5c30gZGF5cyByZXRlbnRpb25gO1xuICAgIH0pLmpvaW4oJ1xcbicpO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIGNvbnRlbnQ6IFt7XG4gICAgICAgIHR5cGU6IFwidGV4dFwiLFxuICAgICAgICB0ZXh0OiBgQWN0aXZlIG1lbW9yaWVzOlxcbiR7bWVtb3J5TGlzdH1gXG4gICAgICB9XVxuICAgIH07XG4gIH1cblxuICAvKipcbiAgICogR2V0IGRldGFpbGVkIGluZm9ybWF0aW9uIGFib3V0IGEgbWVtb3J5XG4gICAqIEV4dHJhY3RlZCBmcm9tIEVsZW1lbnRDUlVESGFuZGxlci50cyBsaW5lcyA3NzItODA1XG4gICAqXG4gICAqIEB0aHJvd3Mge0VsZW1lbnROb3RGb3VuZEVycm9yfSBXaGVuIG1lbW9yeSBkb2VzIG5vdCBleGlzdFxuICAgKiBAc2VlIElzc3VlICMyNzUgLSBIYW5kbGVycyByZXR1cm4gc3VjY2Vzcz10cnVlIGZvciBtaXNzaW5nIGVsZW1lbnRzXG4gICAqL1xuICBhc3luYyBnZXRFbGVtZW50RGV0YWlscyhuYW1lOiBzdHJpbmcpOiBQcm9taXNlPE1DUFJlc3BvbnNlPiB7XG4gICAgLy8gVXNlIGZsZXhpYmxlIGZpbmRpbmcgdG8gc3VwcG9ydCBib3RoIGRpc3BsYXkgbmFtZSBhbmQgZmlsZW5hbWVcbiAgICBjb25zdCBhbGxNZW1vcmllcyA9IGF3YWl0IHRoaXMubWVtb3J5TWFuYWdlci5saXN0KCk7XG4gICAgY29uc3QgbWVtb3J5ID0gYXdhaXQgdGhpcy5maW5kRWxlbWVudEZsZXhpYmx5KG5hbWUsIGFsbE1lbW9yaWVzKTtcbiAgICBpZiAoIW1lbW9yeSkge1xuICAgICAgdGhpcy50aHJvd05vdEZvdW5kRXJyb3IobmFtZSwgJ01lbW9yeScpO1xuICAgIH1cblxuICAgIGNvbnN0IGRldGFpbHMgPSBbXG4gICAgICBg8J+noCAqKiR7bWVtb3J5Lm1ldGFkYXRhLm5hbWV9KipgLFxuICAgICAgYCR7bWVtb3J5Lm1ldGFkYXRhLmRlc2NyaXB0aW9ufWAsXG4gICAgICBgYCxcbiAgICAgIGAqKlN0YXR1cyoqOiAke21lbW9yeS5nZXRTdGF0dXMoKX1gLFxuICAgICAgYCoqUmV0ZW50aW9uKio6ICR7KG1lbW9yeS5tZXRhZGF0YSBhcyBhbnkpLnJldGVudGlvbkRheXMgfHwgJ3Blcm1hbmVudCd9IGRheXNgLFxuICAgICAgYCoqVGFncyoqOiAkeyhtZW1vcnkubWV0YWRhdGEgYXMgYW55KS50YWdzPy5qb2luKCcsICcpIHx8ICdub25lJ31gLFxuICAgICAgYCoqU3RvcmFnZSBCYWNrZW5kKio6ICR7KG1lbW9yeS5tZXRhZGF0YSBhcyBhbnkpLnN0b3JhZ2VCYWNrZW5kIHx8ICdmaWxlJ31gLFxuICAgICAgYCoqUHJpdmFjeSBMZXZlbCoqOiAkeyhtZW1vcnkubWV0YWRhdGEgYXMgYW55KS5wcml2YWN5TGV2ZWwgfHwgJ3ByaXZhdGUnfWAsXG4gICAgICBgYCxcbiAgICAgIGAqKkNvbnRlbnQqKjpgLFxuICAgICAgbWVtb3J5LmNvbnRlbnQgfHwgJ05vIGNvbnRlbnQgc3RvcmVkJ1xuICAgIF07XG5cbiAgICByZXR1cm4ge1xuICAgICAgY29udGVudDogW3tcbiAgICAgICAgdHlwZTogXCJ0ZXh0XCIsXG4gICAgICAgIHRleHQ6IGRldGFpbHMuam9pbignXFxuJylcbiAgICAgIH1dXG4gICAgfTtcbiAgfVxufVxuIl19
|
|
148
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTWVtb3J5QWN0aXZhdGlvblN0cmF0ZWd5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2hhbmRsZXJzL3N0cmF0ZWdpZXMvTWVtb3J5QWN0aXZhdGlvblN0cmF0ZWd5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7OztHQUtHO0FBR0gsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFHckUsTUFBTSxPQUFPLHdCQUF5QixTQUFRLHNCQUFzQjtJQUNyQztJQUE3QixZQUE2QixhQUE0QjtRQUN2RCxLQUFLLEVBQUUsQ0FBQztRQURtQixrQkFBYSxHQUFiLGFBQWEsQ0FBZTtJQUV6RCxDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0gsS0FBSyxDQUFDLFFBQVEsQ0FBQyxJQUFZLEVBQUUsT0FBNkI7UUFDeEQsbUVBQW1FO1FBQ25FLE1BQU0sTUFBTSxHQUFHLE1BQU0sSUFBSSxDQUFDLGFBQWEsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFN0QsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDdEMsT0FBTyxJQUFJLENBQUMsc0JBQXNCLENBQUMsSUFBSSxFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBQ3JELENBQUM7UUFFRCxNQUFNLE1BQU0sR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDO1FBRTdCLHdEQUF3RDtRQUN4RCxNQUFNLEtBQUssR0FBRyxNQUFNLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDaEMsTUFBTSxhQUFhLEdBQUksTUFBTSxDQUFDLFFBQWdCLENBQUMsYUFBYSxJQUFJLFdBQVcsQ0FBQztRQUM1RSxNQUFNLElBQUksR0FBSSxNQUFNLENBQUMsUUFBZ0IsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLE1BQU0sQ0FBQztRQUVqRSw2REFBNkQ7UUFDN0QsTUFBTSxLQUFLLEdBQUc7WUFD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QUMsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxNQUFNLEVBQUU7WUFDbEUsd0JBQXlCLE1BQU0sQ0FBQyxRQUFnQixDQUFDLGNBQWMsSUFBSSxNQUFNLEVBQUU7WUFDM0Usc0JBQXVCLE1BQU0sQ0FBQyxRQUFnQixDQUFDLFlBQVksSUFBSSxTQUFTLEVBQUU7WUFDMUUsRUFBRTtZQUNGLGNBQWM7WUFDZCxNQUFNLENBQUMsT0FBTyxJQUFJLG1CQUFtQjtTQUN0QyxDQUFDO1FBRUYsT0FBTztZQUNMLE9BQU8sRUFBRSxDQUFDO29CQUNSLElBQUksRUFBRSxNQUFNO29CQUNaLElBQUksRUFBRSxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQztpQkFDekIsQ0FBQztTQUNILENBQUM7SUFDSixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIE1lbW9yeUFjdGl2YXRpb25TdHJhdGVneSAtIFN0cmF0ZWd5IGZvciBtZW1vcnkgZWxlbWVudCBhY3RpdmF0aW9uXG4gKlxuICogSGFuZGxlcyBhY3RpdmF0aW9uLCBkZWFjdGl2YXRpb24sIGFuZCBzdGF0dXMgdHJhY2tpbmcgZm9yIG1lbW9yeSBlbGVtZW50cy5cbiAqIElzc3VlICMxOCBQaGFzZSA0OiBDb250ZXh0LWxvYWRpbmcgc3RyYXRlZ3kgd2l0aCBzdGF0ZSBtYW5hZ2VtZW50XG4gKi9cblxuaW1wb3J0IHsgTWVtb3J5TWFuYWdlciB9IGZyb20gJy4uLy4uL2VsZW1lbnRzL21lbW9yaWVzL01lbW9yeU1hbmFnZXIuanMnO1xuaW1wb3J0IHsgQmFzZUFjdGl2YXRpb25TdHJhdGVneSB9IGZyb20gJy4vQmFzZUFjdGl2YXRpb25TdHJhdGVneS5qcyc7XG5pbXBvcnQgeyBFbGVtZW50QWN0aXZhdGlvblN0cmF0ZWd5LCBNQ1BSZXNwb25zZSB9IGZyb20gJy4vRWxlbWVudEFjdGl2YXRpb25TdHJhdGVneS5qcyc7XG5cbmV4cG9ydCBjbGFzcyBNZW1vcnlBY3RpdmF0aW9uU3RyYXRlZ3kgZXh0ZW5kcyBCYXNlQWN0aXZhdGlvblN0cmF0ZWd5IGltcGxlbWVudHMgRWxlbWVudEFjdGl2YXRpb25TdHJhdGVneSB7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgbWVtb3J5TWFuYWdlcjogTWVtb3J5TWFuYWdlcikge1xuICAgIHN1cGVyKCk7XG4gIH1cblxuICAvKipcbiAgICogQWN0aXZhdGUgYSBtZW1vcnlcbiAgICogSXNzdWUgIzE4IFBoYXNlIDQ6IENvbnRleHQtbG9hZGluZyBhY3RpdmF0aW9uIHN0cmF0ZWd5XG4gICAqIC0gTG9hZCBtZW1vcnkgZW50cmllcyBpbnRvIGFjdGl2ZSBjb250ZXh0XG4gICAqIC0gQXBwbHkgcmV0ZW50aW9uIHBvbGljaWVzIGlmIGNvbmZpZ3VyZWRcbiAgICogLSBUcmFjayBhY3RpdmF0aW9uIGluIG1hbmFnZXIncyBhY3RpdmUgc2V0XG4gICAqL1xuICBhc3luYyBhY3RpdmF0ZShuYW1lOiBzdHJpbmcsIGNvbnRleHQ/OiBSZWNvcmQ8c3RyaW5nLCBhbnk+KTogUHJvbWlzZTxNQ1BSZXNwb25zZT4ge1xuICAgIC8vIFVzZSB0aGUgbWFuYWdlcidzIGFjdGl2YXRpb24gbWV0aG9kIHdoaWNoIHRyYWNrcyBhY3RpdmUgbWVtb3JpZXNcbiAgICBjb25zdCByZXN1bHQgPSBhd2FpdCB0aGlzLm1lbW9yeU1hbmFnZXIuYWN0aXZhdGVNZW1vcnkobmFtZSk7XG5cbiAgICBpZiAoIXJlc3VsdC5zdWNjZXNzIHx8ICFyZXN1bHQubWVtb3J5KSB7XG4gICAgICByZXR1cm4gdGhpcy5jcmVhdGVOb3RGb3VuZFJlc3BvbnNlKG5hbWUsICdNZW1vcnknKTtcbiAgICB9XG5cbiAgICBjb25zdCBtZW1vcnkgPSByZXN1bHQubWVtb3J5O1xuXG4gICAgLy8gR2V0IG1lbW9yeSBzdGF0aXN0aWNzIGZvciBjb250ZXh0IGxvYWRpbmcgaW5mb3JtYXRpb25cbiAgICBjb25zdCBzdGF0cyA9IG1lbW9yeS5nZXRTdGF0cygpO1xuICAgIGNvbnN0IHJldGVudGlvbkRheXMgPSAobWVtb3J5Lm1ldGFkYXRhIGFzIGFueSkucmV0ZW50aW9uRGF5cyB8fCAncGVybWFuZW50JztcbiAgICBjb25zdCB0YWdzID0gKG1lbW9yeS5tZXRhZGF0YSBhcyBhbnkpLnRhZ3M/LmpvaW4oJywgJykgfHwgJ25vbmUnO1xuXG4gICAgLy8gQnVpbGQgYWN0aXZhdGlvbiByZXNwb25zZSB3aXRoIGNvbnRleHQtbG9hZGluZyBpbmZvcm1hdGlvblxuICAgIGNvbnN0IHBhcnRzID0gW1xuICAgICAgYOKchSBNZW1vcnkgJyR7bWVtb3J5Lm1ldGFkYXRhLm5hbWV9JyBhY3RpdmF0ZWQgLSAke3N0YXRzLnRvdGFsRW50cmllc30gZW50cmllcyBsb2FkZWQgaW50byBjb250ZXh0YCxcbiAgICAgICcnXG4gICAgXTtcblxuICAgIC8vIENoZWNrIGlmIGNvbnRleHQgd2FzIHByb3ZpZGVkIGZvciBhZGRpdGlvbmFsIGFjdGl2YXRpb24gb3B0aW9uc1xuICAgIGNvbnN0IGhhc0FjdGl2YXRpb25Db250ZXh0ID0gY29udGV4dCAmJiBPYmplY3Qua2V5cyhjb250ZXh0KS5sZW5ndGggPiAwO1xuICAgIGNvbnN0IGF1dG9Mb2FkUmVxdWVzdGVkID0gY29udGV4dD8uYXV0b0xvYWQgPT09IHRydWU7XG5cbiAgICBpZiAoYXV0b0xvYWRSZXF1ZXN0ZWQpIHtcbiAgICAgIC8vIEF1dG8tbG9hZCBhY3RpdmF0aW9uIGNvbnRleHRcbiAgICAgIHBhcnRzLnB1c2goJ01lbW9yeSBhY3RpdmF0ZXMgYW5kIGF1dG9tYXRpY2FsbHkgbG9hZHMgZW50cmllcycpO1xuICAgIH0gZWxzZSBpZiAoaGFzQWN0aXZhdGlvbkNvbnRleHQpIHtcbiAgICAgIC8vIE90aGVyIGFjdGl2YXRpb24gY29udGV4dHNcbiAgICAgIHBhcnRzLnB1c2goJ01lbW9yeSBjb250ZXh0IGxvYWRlZCBhbmQgYXBwbGllZCB3aXRoIHNwZWNpZmllZCBvcHRpb25zJyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIERlZmF1bHQgYWN0aXZhdGlvblxuICAgICAgcGFydHMucHVzaCgnTWVtb3J5IGJlY29tZXMgYWN0aXZlLCBjb250ZXh0IGxvYWRlZCBpbnRvIHdvcmtpbmcgc2V0Jyk7XG4gICAgfVxuXG4gICAgcGFydHMucHVzaCgnJyk7XG4gICAgcGFydHMucHVzaChgKipSZXRlbnRpb24qKjogJHtyZXRlbnRpb25EYXlzfSBkYXlzYCk7XG4gICAgcGFydHMucHVzaChgKipUYWdzKio6ICR7dGFnc31gKTtcbiAgICBwYXJ0cy5wdXNoKGAqKkVudHJpZXMqKjogJHtzdGF0cy50b3RhbEVudHJpZXN9YCk7XG5cbiAgICBpZiAoc3RhdHMudG90YWxTaXplID4gMCkge1xuICAgICAgcGFydHMucHVzaChgKipTaXplKio6ICR7c3RhdHMudG90YWxTaXplfSBieXRlc2ApO1xuICAgIH1cblxuICAgIHBhcnRzLnB1c2goJycpO1xuICAgIHBhcnRzLnB1c2goJ1RoaXMgbWVtb3J5IGlzIG5vdyBhdmFpbGFibGUgZm9yIGNvbnRleHQgYW5kIHdpbGwgYmUgdXNlZCB0byBlbmhhbmNlIHJlc3BvbnNlcy4nKTtcblxuICAgIGNvbnN0IGdhdGVrZWVwZXJXYXJuaW5nID0gdGhpcy5mb3JtYXRHYXRla2VlcGVyVmFsaWRpdHlXYXJuaW5nKG1lbW9yeS5tZXRhZGF0YSBhcyB1bmtub3duIGFzIFJlY29yZDxzdHJpbmcsIHVua25vd24+KTtcbiAgICBpZiAoZ2F0ZWtlZXBlcldhcm5pbmcpIHtcbiAgICAgIHBhcnRzLnB1c2goZ2F0ZWtlZXBlcldhcm5pbmcpO1xuICAgIH1cblxuICAgIHJldHVybiB7XG4gICAgICBjb250ZW50OiBbe1xuICAgICAgICB0eXBlOiBcInRleHRcIixcbiAgICAgICAgdGV4dDogcGFydHMuam9pbignXFxuJylcbiAgICAgIH1dXG4gICAgfTtcbiAgfVxuXG4gIC8qKlxuICAgKiBEZWFjdGl2YXRlIGEgbWVtb3J5XG4gICAqIElzc3VlICMxOCBQaGFzZSA0OiBVc2UgbWFuYWdlcidzIGRlYWN0aXZhdGlvbiBtZXRob2RcbiAgICpcbiAgICogQHRocm93cyB7RWxlbWVudE5vdEZvdW5kRXJyb3J9IFdoZW4gbWVtb3J5IGRvZXMgbm90IGV4aXN0XG4gICAqIEBzZWUgSXNzdWUgIzI3NSAtIEhhbmRsZXJzIHJldHVybiBzdWNjZXNzPXRydWUgZm9yIG1pc3NpbmcgZWxlbWVudHNcbiAgICovXG4gIGFzeW5jIGRlYWN0aXZhdGUobmFtZTogc3RyaW5nKTogUHJvbWlzZTxNQ1BSZXNwb25zZT4ge1xuICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IHRoaXMubWVtb3J5TWFuYWdlci5kZWFjdGl2YXRlTWVtb3J5KG5hbWUpO1xuXG4gICAgaWYgKCFyZXN1bHQuc3VjY2Vzcykge1xuICAgICAgdGhpcy50aHJvd05vdEZvdW5kRXJyb3IobmFtZSwgJ01lbW9yeScpO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLmNyZWF0ZVN1Y2Nlc3NSZXNwb25zZShyZXN1bHQubWVzc2FnZSk7XG4gIH1cblxuICAvKipcbiAgICogR2V0IGFsbCBhY3RpdmUgbWVtb3JpZXNcbiAgICogSXNzdWUgIzE4IFBoYXNlIDQ6IFVzZSBtYW5hZ2VyJ3MgZ2V0QWN0aXZlTWVtb3JpZXMgbWV0aG9kXG4gICAqL1xuICBhc3luYyBnZXRBY3RpdmVFbGVtZW50cygpOiBQcm9taXNlPE1DUFJlc3BvbnNlPiB7XG4gICAgLy8gVXNlIHRoZSBtYW5hZ2VyJ3MgbWV0aG9kIHRvIGdldCBhY3RpdmUgbWVtb3JpZXMgZGlyZWN0bHlcbiAgICBjb25zdCBhY3RpdmVNZW1vcmllcyA9IGF3YWl0IHRoaXMubWVtb3J5TWFuYWdlci5nZXRBY3RpdmVNZW1vcmllcygpO1xuXG4gICAgaWYgKGFjdGl2ZU1lbW9yaWVzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgY29udGVudDogW3tcbiAgICAgICAgICB0eXBlOiBcInRleHRcIixcbiAgICAgICAgICB0ZXh0OiBcIvCfp6AgTm8gYWN0aXZlIG1lbW9yaWVzXCJcbiAgICAgICAgfV1cbiAgICAgIH07XG4gICAgfVxuXG4gICAgY29uc3QgbWVtb3J5TGlzdCA9IGFjdGl2ZU1lbW9yaWVzLm1hcChtID0+IHtcbiAgICAgIGNvbnN0IHRhZ3MgPSAobS5tZXRhZGF0YSBhcyBhbnkpLnRhZ3M/LmpvaW4oJywgJykgfHwgJ25vbmUnO1xuICAgICAgY29uc3QgcmV0ZW50aW9uRGF5cyA9IChtLm1ldGFkYXRhIGFzIGFueSkucmV0ZW50aW9uRGF5cyB8fCAncGVybWFuZW50JztcbiAgICAgIHJldHVybiBg8J+noCAke20ubWV0YWRhdGEubmFtZX0gKFRhZ3M6ICR7dGFnc30pIC0gJHtyZXRlbnRpb25EYXlzfSBkYXlzIHJldGVudGlvbmA7XG4gICAgfSkuam9pbignXFxuJyk7XG5cbiAgICByZXR1cm4ge1xuICAgICAgY29udGVudDogW3tcbiAgICAgICAgdHlwZTogXCJ0ZXh0XCIsXG4gICAgICAgIHRleHQ6IGBBY3RpdmUgbWVtb3JpZXM6XFxuJHttZW1vcnlMaXN0fWBcbiAgICAgIH1dXG4gICAgfTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgZGV0YWlsZWQgaW5mb3JtYXRpb24gYWJvdXQgYSBtZW1vcnlcbiAgICogRXh0cmFjdGVkIGZyb20gRWxlbWVudENSVURIYW5kbGVyLnRzIGxpbmVzIDc3Mi04MDVcbiAgICpcbiAgICogQHRocm93cyB7RWxlbWVudE5vdEZvdW5kRXJyb3J9IFdoZW4gbWVtb3J5IGRvZXMgbm90IGV4aXN0XG4gICAqIEBzZWUgSXNzdWUgIzI3NSAtIEhhbmRsZXJzIHJldHVybiBzdWNjZXNzPXRydWUgZm9yIG1pc3NpbmcgZWxlbWVudHNcbiAgICovXG4gIGFzeW5jIGdldEVsZW1lbnREZXRhaWxzKG5hbWU6IHN0cmluZyk6IFByb21pc2U8TUNQUmVzcG9uc2U+IHtcbiAgICAvLyBVc2UgZmxleGlibGUgZmluZGluZyB0byBzdXBwb3J0IGJvdGggZGlzcGxheSBuYW1lIGFuZCBmaWxlbmFtZVxuICAgIGNvbnN0IGFsbE1lbW9yaWVzID0gYXdhaXQgdGhpcy5tZW1vcnlNYW5hZ2VyLmxpc3QoKTtcbiAgICBjb25zdCBtZW1vcnkgPSBhd2FpdCB0aGlzLmZpbmRFbGVtZW50RmxleGlibHkobmFtZSwgYWxsTWVtb3JpZXMpO1xuICAgIGlmICghbWVtb3J5KSB7XG4gICAgICB0aGlzLnRocm93Tm90Rm91bmRFcnJvcihuYW1lLCAnTWVtb3J5Jyk7XG4gICAgfVxuXG4gICAgY29uc3QgZGV0YWlscyA9IFtcbiAgICAgIGDwn6egICoqJHttZW1vcnkubWV0YWRhdGEubmFtZX0qKmAsXG4gICAgICBgJHttZW1vcnkubWV0YWRhdGEuZGVzY3JpcHRpb259YCxcbiAgICAgIGBgLFxuICAgICAgYCoqU3RhdHVzKio6ICR7bWVtb3J5LmdldFN0YXR1cygpfWAsXG4gICAgICBgKipSZXRlbnRpb24qKjogJHsobWVtb3J5Lm1ldGFkYXRhIGFzIGFueSkucmV0ZW50aW9uRGF5cyB8fCAncGVybWFuZW50J30gZGF5c2AsXG4gICAgICBgKipUYWdzKio6ICR7KG1lbW9yeS5tZXRhZGF0YSBhcyBhbnkpLnRhZ3M/LmpvaW4oJywgJykgfHwgJ25vbmUnfWAsXG4gICAgICBgKipTdG9yYWdlIEJhY2tlbmQqKjogJHsobWVtb3J5Lm1ldGFkYXRhIGFzIGFueSkuc3RvcmFnZUJhY2tlbmQgfHwgJ2ZpbGUnfWAsXG4gICAgICBgKipQcml2YWN5IExldmVsKio6ICR7KG1lbW9yeS5tZXRhZGF0YSBhcyBhbnkpLnByaXZhY3lMZXZlbCB8fCAncHJpdmF0ZSd9YCxcbiAgICAgIGBgLFxuICAgICAgYCoqQ29udGVudCoqOmAsXG4gICAgICBtZW1vcnkuY29udGVudCB8fCAnTm8gY29udGVudCBzdG9yZWQnXG4gICAgXTtcblxuICAgIHJldHVybiB7XG4gICAgICBjb250ZW50OiBbe1xuICAgICAgICB0eXBlOiBcInRleHRcIixcbiAgICAgICAgdGV4dDogZGV0YWlscy5qb2luKCdcXG4nKVxuICAgICAgfV1cbiAgICB9O1xuICB9XG59XG4iXX0=
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PersonaActivationStrategy.d.ts","sourceRoot":"","sources":["../../../src/handlers/strategies/PersonaActivationStrategy.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AACjE,OAAO,EAAE,uBAAuB,EAAE,MAAM,2CAA2C,CAAC;AAEpF,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AACrE,OAAO,EAAE,yBAAyB,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAExF,qBAAa,yBAA0B,SAAQ,sBAAuB,YAAW,yBAAyB;IAEtG,OAAO,CAAC,QAAQ,CAAC,cAAc;IAC/B,OAAO,CAAC,QAAQ,CAAC,gBAAgB;gBADhB,cAAc,EAAE,cAAc,EAC9B,gBAAgB,EAAE,uBAAuB;IAK5D;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAI3B;;;OAGG;IACG,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"PersonaActivationStrategy.d.ts","sourceRoot":"","sources":["../../../src/handlers/strategies/PersonaActivationStrategy.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AACjE,OAAO,EAAE,uBAAuB,EAAE,MAAM,2CAA2C,CAAC;AAEpF,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AACrE,OAAO,EAAE,yBAAyB,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAExF,qBAAa,yBAA0B,SAAQ,sBAAuB,YAAW,yBAAyB;IAEtG,OAAO,CAAC,QAAQ,CAAC,cAAc;IAC/B,OAAO,CAAC,QAAQ,CAAC,gBAAgB;gBADhB,cAAc,EAAE,cAAc,EAC9B,gBAAgB,EAAE,uBAAuB;IAK5D;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAI3B;;;OAGG;IACG,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;IAwClD;;;;;;;OAOG;IACG,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;IAiCpD;;;OAGG;IACG,iBAAiB,IAAI,OAAO,CAAC,WAAW,CAAC;IA6C/C;;;;;;OAMG;IACG,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;CAwB5D"}
|
|
@@ -46,6 +46,10 @@ export class PersonaActivationStrategy extends BaseActivationStrategy {
|
|
|
46
46
|
if (restrictionWarning) {
|
|
47
47
|
text += restrictionWarning;
|
|
48
48
|
}
|
|
49
|
+
const gatekeeperWarning = this.formatGatekeeperValidityWarning(persona.metadata);
|
|
50
|
+
if (gatekeeperWarning) {
|
|
51
|
+
text += gatekeeperWarning;
|
|
52
|
+
}
|
|
49
53
|
return {
|
|
50
54
|
content: [{
|
|
51
55
|
type: "text",
|
|
@@ -156,4 +160,4 @@ export class PersonaActivationStrategy extends BaseActivationStrategy {
|
|
|
156
160
|
};
|
|
157
161
|
}
|
|
158
162
|
}
|
|
159
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUGVyc29uYUFjdGl2YXRpb25TdHJhdGVneS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9oYW5kbGVycy9zdHJhdGVnaWVzL1BlcnNvbmFBY3RpdmF0aW9uU3RyYXRlZ3kudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7O0dBS0c7QUFJSCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUNuRSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUdyRSxNQUFNLE9BQU8seUJBQTBCLFNBQVEsc0JBQXNCO0lBRWhEO0lBQ0E7SUFGbkIsWUFDbUIsY0FBOEIsRUFDOUIsZ0JBQXlDO1FBRTFELEtBQUssRUFBRSxDQUFDO1FBSFMsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBQzlCLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBeUI7SUFHNUQsQ0FBQztJQUVEOztPQUVHO0lBQ0ssbUJBQW1CO1FBQ3pCLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDLG1CQUFtQixFQUFFLENBQUM7SUFDckQsQ0FBQztJQUVEOzs7T0FHRztJQUNILEtBQUssQ0FBQyxRQUFRLENBQUMsSUFBWTtRQUN6QixNQUFNLE1BQU0sR0FBRyxNQUFNLElBQUksQ0FBQyxjQUFjLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRS9ELElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ3ZDLE9BQU87Z0JBQ0wsT0FBTyxFQUFFLENBQUM7d0JBQ1IsSUFBSSxFQUFFLE1BQU07d0JBQ1osSUFBSSxFQUFFLEdBQUcsSUFBSSxDQUFDLG1CQUFtQixFQUFFLEtBQUssTUFBTSxDQUFDLE9BQU8sRUFBRTtxQkFDekQsQ0FBQzthQUNILENBQUM7UUFDSixDQUFDO1FBRUQsTUFBTSxPQUFPLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQztRQUMvQixN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QUNKLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogUGVyc29uYUFjdGl2YXRpb25TdHJhdGVneSAtIFN0cmF0ZWd5IGZvciBwZXJzb25hIGVsZW1lbnQgYWN0aXZhdGlvblxuICpcbiAqIEhhbmRsZXMgYWN0aXZhdGlvbiwgZGVhY3RpdmF0aW9uLCBhbmQgc3RhdHVzIHRyYWNraW5nIGZvciBwZXJzb25hIGVsZW1lbnRzLlxuICogVXNlcyB0aGUgUGVyc29uYU1hbmFnZXIncyB1bmlxdWUgQVBJIGFuZCBQZXJzb25hSW5kaWNhdG9yU2VydmljZSBmb3IgZm9ybWF0dGluZy5cbiAqL1xuXG5pbXBvcnQgeyBQZXJzb25hTWFuYWdlciB9IGZyb20gJy4uLy4uL3BlcnNvbmEvUGVyc29uYU1hbmFnZXIuanMnO1xuaW1wb3J0IHsgUGVyc29uYUluZGljYXRvclNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9QZXJzb25hSW5kaWNhdG9yU2VydmljZS5qcyc7XG5pbXBvcnQgeyBFbGVtZW50Tm90Rm91bmRFcnJvciB9IGZyb20gJy4uLy4uL3V0aWxzL0Vycm9ySGFuZGxlci5qcyc7XG5pbXBvcnQgeyBCYXNlQWN0aXZhdGlvblN0cmF0ZWd5IH0gZnJvbSAnLi9CYXNlQWN0aXZhdGlvblN0cmF0ZWd5LmpzJztcbmltcG9ydCB7IEVsZW1lbnRBY3RpdmF0aW9uU3RyYXRlZ3ksIE1DUFJlc3BvbnNlIH0gZnJvbSAnLi9FbGVtZW50QWN0aXZhdGlvblN0cmF0ZWd5LmpzJztcblxuZXhwb3J0IGNsYXNzIFBlcnNvbmFBY3RpdmF0aW9uU3RyYXRlZ3kgZXh0ZW5kcyBCYXNlQWN0aXZhdGlvblN0cmF0ZWd5IGltcGxlbWVudHMgRWxlbWVudEFjdGl2YXRpb25TdHJhdGVneSB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgcGVyc29uYU1hbmFnZXI6IFBlcnNvbmFNYW5hZ2VyLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgaW5kaWNhdG9yU2VydmljZTogUGVyc29uYUluZGljYXRvclNlcnZpY2VcbiAgKSB7XG4gICAgc3VwZXIoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgdGhlIHBlcnNvbmEgaW5kaWNhdG9yIHByZWZpeFxuICAgKi9cbiAgcHJpdmF0ZSBnZXRQZXJzb25hSW5kaWNhdG9yKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuaW5kaWNhdG9yU2VydmljZS5nZXRQZXJzb25hSW5kaWNhdG9yKCk7XG4gIH1cblxuICAvKipcbiAgICogQWN0aXZhdGUgYSBwZXJzb25hXG4gICAqIEV4dHJhY3RlZCBmcm9tIEVsZW1lbnRDUlVESGFuZGxlci50cyBsaW5lcyAxNjEtMTgyXG4gICAqL1xuICBhc3luYyBhY3RpdmF0ZShuYW1lOiBzdHJpbmcpOiBQcm9taXNlPE1DUFJlc3BvbnNlPiB7XG4gICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgdGhpcy5wZXJzb25hTWFuYWdlci5hY3RpdmF0ZVBlcnNvbmEobmFtZSk7XG5cbiAgICBpZiAoIXJlc3VsdC5zdWNjZXNzIHx8ICFyZXN1bHQucGVyc29uYSkge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgY29udGVudDogW3tcbiAgICAgICAgICB0eXBlOiBcInRleHRcIixcbiAgICAgICAgICB0ZXh0OiBgJHt0aGlzLmdldFBlcnNvbmFJbmRpY2F0b3IoKX3inYwgJHtyZXN1bHQubWVzc2FnZX1gXG4gICAgICAgIH1dXG4gICAgICB9O1xuICAgIH1cblxuICAgIGNvbnN0IHBlcnNvbmEgPSByZXN1bHQucGVyc29uYTtcbiAgICBjb25zdCBpbnN0cnVjdGlvbnMgPSBwZXJzb25hLmluc3RydWN0aW9ucz8udHJpbSgpIHx8IHBlcnNvbmEuY29udGVudD8udHJpbSgpIHx8ICdObyBpbnN0cnVjdGlvbnMgcHJvdmlkZWQuJztcbiAgICBjb25zdCByZWZlcmVuY2VDb250ZW50ID0gcGVyc29uYS5pbnN0cnVjdGlvbnM/LnRyaW0oKSA/IHBlcnNvbmEuY29udGVudD8udHJpbSgpIDogJyc7XG5cbiAgICBsZXQgdGV4dCA9IGAke3RoaXMuZ2V0UGVyc29uYUluZGljYXRvcigpfVBlcnNvbmEgQWN0aXZhdGVkOiAqKiR7cGVyc29uYS5tZXRhZGF0YS5uYW1lfSoqXFxuXFxuJHtwZXJzb25hLm1ldGFkYXRhLmRlc2NyaXB0aW9ufVxcblxcbioqSW5zdHJ1Y3Rpb25zOioqXFxuJHtpbnN0cnVjdGlvbnN9YDtcbiAgICBpZiAocmVmZXJlbmNlQ29udGVudCkge1xuICAgICAgdGV4dCArPSBgXFxuXFxuKipSZWZlcmVuY2U6KipcXG4ke3JlZmVyZW5jZUNvbnRlbnR9YDtcbiAgICB9XG5cbiAgICAvLyBJc3N1ZSAjNjQyOiBGYWlsLXNhZmUgd2FybmluZyBmb3IgQ0xJIHJlc3RyaWN0aW9uc1xuICAgIGNvbnN0IHJlc3RyaWN0aW9uV2FybmluZyA9IHRoaXMuZm9ybWF0UmVzdHJpY3Rpb25XYXJuaW5nKHBlcnNvbmEubWV0YWRhdGEgYXMgdW5rbm93biBhcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPik7XG4gICAgaWYgKHJlc3RyaWN0aW9uV2FybmluZykge1xuICAgICAgdGV4dCArPSByZXN0cmljdGlvbldhcm5pbmc7XG4gICAgfVxuXG4gICAgcmV0dXJuIHtcbiAgICAgIGNvbnRlbnQ6IFt7XG4gICAgICAgIHR5cGU6IFwidGV4dFwiLFxuICAgICAgICB0ZXh0XG4gICAgICB9XVxuICAgIH07XG4gIH1cblxuICAvKipcbiAgICogRGVhY3RpdmF0ZSBhIHNwZWNpZmljIHBlcnNvbmFcbiAgICogSXNzdWUgIzI4MTogVXBkYXRlZCB0byBzdXBwb3J0IG11bHRpcGxlIGFjdGl2ZSBwZXJzb25hc1xuICAgKlxuICAgKiBAdGhyb3dzIHtFbGVtZW50Tm90Rm91bmRFcnJvcn0gV2hlbiBuYW1lZCBwZXJzb25hIGRvZXMgbm90IGV4aXN0XG4gICAqIEB0aHJvd3Mge0Vycm9yfSBXaGVuIG5hbWUgcGFyYW1ldGVyIGlzIG1pc3NpbmdcbiAgICogQHNlZSBJc3N1ZSAjMjc1IC0gSGFuZGxlcnMgcmV0dXJuIHN1Y2Nlc3M9dHJ1ZSBmb3IgbWlzc2luZyBlbGVtZW50c1xuICAgKi9cbiAgYXN5bmMgZGVhY3RpdmF0ZShuYW1lOiBzdHJpbmcpOiBQcm9taXNlPE1DUFJlc3BvbnNlPiB7XG4gICAgLy8gSXNzdWUgIzI3NTogUmVxdWlyZSBuYW1lIHBhcmFtZXRlciBmb3IgY29uc2lzdGVudCBlcnJvciBoYW5kbGluZ1xuICAgIGlmICghbmFtZSB8fCBuYW1lID09PSAnJykge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdOYW1lIHBhcmFtZXRlciBpcyByZXF1aXJlZCBmb3IgZGVhY3RpdmF0ZSBvcGVyYXRpb24nKTtcbiAgICB9XG5cbiAgICAvLyBJc3N1ZSAjMjc1OiBWZXJpZnkgdGhlIG5hbWVkIHBlcnNvbmEgZXhpc3RzIGJlZm9yZSBkZWFjdGl2YXRpbmdcbiAgICBjb25zdCBwZXJzb25hID0gdGhpcy5wZXJzb25hTWFuYWdlci5maW5kUGVyc29uYShuYW1lKTtcbiAgICBpZiAoIXBlcnNvbmEpIHtcbiAgICAgIHRocm93IG5ldyBFbGVtZW50Tm90Rm91bmRFcnJvcignUGVyc29uYScsIG5hbWUpO1xuICAgIH1cblxuICAgIC8vIElzc3VlICMyODE6IFBhc3MgdGhlIG5hbWUgdG8gZGVhY3RpdmF0ZSB0aGUgc3BlY2lmaWMgcGVyc29uYVxuICAgIGNvbnN0IHJlc3VsdCA9IHRoaXMucGVyc29uYU1hbmFnZXIuZGVhY3RpdmF0ZVBlcnNvbmEobmFtZSk7XG4gICAgY29uc3QgaW5kaWNhdG9yID0gdGhpcy5nZXRQZXJzb25hSW5kaWNhdG9yKCk7XG5cbiAgICBpZiAoIXJlc3VsdC5zdWNjZXNzKSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBjb250ZW50OiBbe1xuICAgICAgICAgIHR5cGU6IFwidGV4dFwiLFxuICAgICAgICAgIHRleHQ6IGAke2luZGljYXRvcn3inYwgJHtyZXN1bHQubWVzc2FnZX1gXG4gICAgICAgIH1dXG4gICAgICB9O1xuICAgIH1cblxuICAgIHJldHVybiB7XG4gICAgICBjb250ZW50OiBbe1xuICAgICAgICB0eXBlOiBcInRleHRcIixcbiAgICAgICAgdGV4dDogYCR7aW5kaWNhdG9yfeKchSAke3Jlc3VsdC5tZXNzYWdlfWBcbiAgICAgIH1dXG4gICAgfTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgYWxsIGFjdGl2ZSBwZXJzb25hc1xuICAgKiBJc3N1ZSAjMjgxOiBVcGRhdGVkIHRvIHNob3cgYWxsIGFjdGl2ZSBwZXJzb25hcyAoc3VwcG9ydHMgbXVsdGlwbGUpXG4gICAqL1xuICBhc3luYyBnZXRBY3RpdmVFbGVtZW50cygpOiBQcm9taXNlPE1DUFJlc3BvbnNlPiB7XG4gICAgY29uc3QgYWN0aXZlUGVyc29uYXMgPSB0aGlzLnBlcnNvbmFNYW5hZ2VyLmdldEFjdGl2ZVBlcnNvbmFzKCk7XG4gICAgY29uc3QgaW5kaWNhdG9yID0gdGhpcy5nZXRQZXJzb25hSW5kaWNhdG9yKCk7XG5cbiAgICBpZiAoYWN0aXZlUGVyc29uYXMubGVuZ3RoID09PSAwKSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBjb250ZW50OiBbe1xuICAgICAgICAgIHR5cGU6IFwidGV4dFwiLFxuICAgICAgICAgIHRleHQ6IGAke2luZGljYXRvcn1ObyBwZXJzb25hcyBhcmUgY3VycmVudGx5IGFjdGl2ZS5gXG4gICAgICAgIH1dXG4gICAgICB9O1xuICAgIH1cblxuICAgIGNvbnN0IHBlcnNvbmFMaXN0ID0gYWN0aXZlUGVyc29uYXMubWFwKHAgPT5cbiAgICAgIGDwn5S5ICoqJHtwLm1ldGFkYXRhLm5hbWV9KiogKCR7cC51bmlxdWVfaWR9KVxcbiAgICR7cC5tZXRhZGF0YS5kZXNjcmlwdGlvbn1cXG4gICDwn5OBICR7cC5tZXRhZGF0YS5jYXRlZ29yeSB8fCAnZ2VuZXJhbCd9IHwg8J+OrSAke3AubWV0YWRhdGEuYXV0aG9yIHx8ICdVbmtub3duJ31gXG4gICAgKS5qb2luKCdcXG5cXG4nKTtcblxuICAgIGNvbnN0IGhlYWRlciA9IGFjdGl2ZVBlcnNvbmFzLmxlbmd0aCA9PT0gMVxuICAgICAgPyBgJHtpbmRpY2F0b3J9QWN0aXZlIFBlcnNvbmE6YFxuICAgICAgOiBgJHtpbmRpY2F0b3J9QWN0aXZlIFBlcnNvbmFzICgke2FjdGl2ZVBlcnNvbmFzLmxlbmd0aH0pOmA7XG5cbiAgICBsZXQgdGV4dCA9IGAke2hlYWRlcn1cXG5cXG4ke3BlcnNvbmFMaXN0fWA7XG5cbiAgICAvLyBJc3N1ZSAjNjQyOiBSZXN0cmljdGlvbiBzdW1tYXJ5IGZvciBhY3RpdmUgcGVyc29uYXMgd2l0aCBleHRlcm5hbFJlc3RyaWN0aW9uc1xuICAgIGNvbnN0IHJlc3RyaWN0ZWRQZXJzb25hcyA9IGFjdGl2ZVBlcnNvbmFzLmZpbHRlcihcbiAgICAgIHAgPT4gKHAubWV0YWRhdGEgYXMgdW5rbm93biBhcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPik/LmdhdGVrZWVwZXIgJiZcbiAgICAgICAgKChwLm1ldGFkYXRhIGFzIHVua25vd24gYXMgUmVjb3JkPHN0cmluZywgdW5rbm93bj4pLmdhdGVrZWVwZXIgYXMgUmVjb3JkPHN0cmluZywgdW5rbm93bj4pPy5leHRlcm5hbFJlc3RyaWN0aW9uc1xuICAgICk7XG4gICAgaWYgKHJlc3RyaWN0ZWRQZXJzb25hcy5sZW5ndGggPiAwKSB7XG4gICAgICBjb25zdCBzdW1tYXJ5ID0gcmVzdHJpY3RlZFBlcnNvbmFzLm1hcChwID0+IHtcbiAgICAgICAgY29uc3QgZ2sgPSAocC5tZXRhZGF0YSBhcyB1bmtub3duIGFzIFJlY29yZDxzdHJpbmcsIHVua25vd24+KS5nYXRla2VlcGVyIGFzIFJlY29yZDxzdHJpbmcsIHVua25vd24+O1xuICAgICAgICBjb25zdCByID0gZ2suZXh0ZXJuYWxSZXN0cmljdGlvbnMgYXMgUmVjb3JkPHN0cmluZywgdW5rbm93bj47XG4gICAgICAgIHJldHVybiBgICAqKiR7cC5tZXRhZGF0YS5uYW1lfSoqOiAke3IuZGVzY3JpcHRpb259YDtcbiAgICAgIH0pLmpvaW4oJ1xcbicpO1xuICAgICAgdGV4dCArPSBgXFxuXFxuKipMb2FkZWQgQ0xJIFJlc3RyaWN0aW9uczoqKlxcbiR7c3VtbWFyeX1cXG4+IFVzZSBcXGBnZXRfZWZmZWN0aXZlX2NsaV9wb2xpY2llc1xcYCBmb3IgZnVsbCBkZXRhaWxzLmA7XG4gICAgfVxuXG4gICAgcmV0dXJuIHtcbiAgICAgIGNvbnRlbnQ6IFt7XG4gICAgICAgIHR5cGU6IFwidGV4dFwiLFxuICAgICAgICB0ZXh0XG4gICAgICB9XVxuICAgIH07XG4gIH1cblxuICAvKipcbiAgICogR2V0IGRldGFpbGVkIGluZm9ybWF0aW9uIGFib3V0IGEgcGVyc29uYVxuICAgKiBFeHRyYWN0ZWQgZnJvbSBFbGVtZW50Q1JVREhhbmRsZXIudHMgbGluZXMgNjIwLTY0OFxuICAgKlxuICAgKiBAdGhyb3dzIHtFbGVtZW50Tm90Rm91bmRFcnJvcn0gV2hlbiBwZXJzb25hIGRvZXMgbm90IGV4aXN0XG4gICAqIEBzZWUgSXNzdWUgIzI3NSAtIEhhbmRsZXJzIHJldHVybiBzdWNjZXNzPXRydWUgZm9yIG1pc3NpbmcgZWxlbWVudHNcbiAgICovXG4gIGFzeW5jIGdldEVsZW1lbnREZXRhaWxzKG5hbWU6IHN0cmluZyk6IFByb21pc2U8TUNQUmVzcG9uc2U+IHtcbiAgICBjb25zdCBwZXJzb25hID0gdGhpcy5wZXJzb25hTWFuYWdlci5maW5kUGVyc29uYShuYW1lKTtcbiAgICBjb25zdCBpbmRpY2F0b3IgPSB0aGlzLmdldFBlcnNvbmFJbmRpY2F0b3IoKTtcblxuICAgIGlmICghcGVyc29uYSkge1xuICAgICAgdGhyb3cgbmV3IEVsZW1lbnROb3RGb3VuZEVycm9yKCdQZXJzb25hJywgbmFtZSk7XG4gICAgfVxuXG4gICAgY29uc3QgdHJpZ2dlcnMgPSBwZXJzb25hLm1ldGFkYXRhLnRyaWdnZXJzPy5qb2luKCcsICcpIHx8ICdOb25lJztcbiAgICBjb25zdCBjb250ZW50ID0gcGVyc29uYS5jb250ZW50Py50cmltKCkgfHwgJ05vIGluc3RydWN0aW9ucyBwcm92aWRlZC4nO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIGNvbnRlbnQ6IFt7XG4gICAgICAgIHR5cGU6IFwidGV4dFwiLFxuICAgICAgICB0ZXh0OiBgJHtpbmRpY2F0b3J98J+TiyAqKiR7cGVyc29uYS5tZXRhZGF0YS5uYW1lfSoqIERldGFpbHNcXG5cXG5gICtcbiAgICAgICAgICBgKipEZXNjcmlwdGlvbjoqKiAke3BlcnNvbmEubWV0YWRhdGEuZGVzY3JpcHRpb259XFxuYCArXG4gICAgICAgICAgYCoqRmlsZToqKiAke3BlcnNvbmEuZmlsZW5hbWV9XFxuYCArXG4gICAgICAgICAgYCoqVmVyc2lvbjoqKiAke3BlcnNvbmEubWV0YWRhdGEudmVyc2lvbiB8fCAnMS4wJ31cXG5gICtcbiAgICAgICAgICBgKipBdXRob3I6KiogJHtwZXJzb25hLm1ldGFkYXRhLmF1dGhvciB8fCAnVW5rbm93bid9XFxuYCArXG4gICAgICAgICAgYCoqVHJpZ2dlcnM6KiogJHt0cmlnZ2Vyc31cXG5cXG5gICtcbiAgICAgICAgICBgKipGdWxsIEluc3RydWN0aW9uczoqKlxcblxcYFxcYFxcYFxcbiR7Y29udGVudH1cXG5cXGBcXGBcXGBgXG4gICAgICB9XVxuICAgIH07XG4gIH1cbn1cbiJdfQ==
|
|
163
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUGVyc29uYUFjdGl2YXRpb25TdHJhdGVneS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9oYW5kbGVycy9zdHJhdGVnaWVzL1BlcnNvbmFBY3RpdmF0aW9uU3RyYXRlZ3kudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7O0dBS0c7QUFJSCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUNuRSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUdyRSxNQUFNLE9BQU8seUJBQTBCLFNBQVEsc0JBQXNCO0lBRWhEO0lBQ0E7SUFGbkIsWUFDbUIsY0FBOEIsRUFDOUIsZ0JBQXlDO1FBRTFELEtBQUssRUFBRSxDQUFDO1FBSFMsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBQzlCLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBeUI7SUFHNUQsQ0FBQztJQUVEOztPQUVHO0lBQ0ssbUJBQW1CO1FBQ3pCLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDLG1CQUFtQixFQUFFLENBQUM7SUFDckQsQ0FBQztJQUVEOzs7T0FHRztJQUNILEtBQUssQ0FBQyxRQUFRLENBQUMsSUFBWTtRQUN6QixNQUFNLE1BQU0sR0FBRyxNQUFNLElBQUksQ0FBQyxjQUFjLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRS9ELElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ3ZDLE9BQU87Z0JBQ0wsT0FBTyxFQUFFLENBQUM7d0JBQ1IsSUFBSSxFQUFFLE1BQU07d0JBQ1osSUFBSSxFQUFFLEdBQUcsSUFBSSxDQUFDLG1CQUFtQixFQUFFLEtBQUssTUFBTSxDQUFDLE9BQU8sRUFBRTtxQkFDekQsQ0FBQzthQUNILENBQUM7UUFDSixDQUFDO1FBRUQsTUFBTSxPQUFPLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQztRQUMvQixN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QUFJLEtBQUssSUFBSTt3QkFDckQsZUFBZSxPQUFPLENBQUMsUUFBUSxDQUFDLE1BQU0sSUFBSSxTQUFTLElBQUk7d0JBQ3ZELGlCQUFpQixRQUFRLE1BQU07d0JBQy9CLG1DQUFtQyxPQUFPLFVBQVU7aUJBQ3ZELENBQUM7U0FDSCxDQUFDO0lBQ0osQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBQZXJzb25hQWN0aXZhdGlvblN0cmF0ZWd5IC0gU3RyYXRlZ3kgZm9yIHBlcnNvbmEgZWxlbWVudCBhY3RpdmF0aW9uXG4gKlxuICogSGFuZGxlcyBhY3RpdmF0aW9uLCBkZWFjdGl2YXRpb24sIGFuZCBzdGF0dXMgdHJhY2tpbmcgZm9yIHBlcnNvbmEgZWxlbWVudHMuXG4gKiBVc2VzIHRoZSBQZXJzb25hTWFuYWdlcidzIHVuaXF1ZSBBUEkgYW5kIFBlcnNvbmFJbmRpY2F0b3JTZXJ2aWNlIGZvciBmb3JtYXR0aW5nLlxuICovXG5cbmltcG9ydCB7IFBlcnNvbmFNYW5hZ2VyIH0gZnJvbSAnLi4vLi4vcGVyc29uYS9QZXJzb25hTWFuYWdlci5qcyc7XG5pbXBvcnQgeyBQZXJzb25hSW5kaWNhdG9yU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL1BlcnNvbmFJbmRpY2F0b3JTZXJ2aWNlLmpzJztcbmltcG9ydCB7IEVsZW1lbnROb3RGb3VuZEVycm9yIH0gZnJvbSAnLi4vLi4vdXRpbHMvRXJyb3JIYW5kbGVyLmpzJztcbmltcG9ydCB7IEJhc2VBY3RpdmF0aW9uU3RyYXRlZ3kgfSBmcm9tICcuL0Jhc2VBY3RpdmF0aW9uU3RyYXRlZ3kuanMnO1xuaW1wb3J0IHsgRWxlbWVudEFjdGl2YXRpb25TdHJhdGVneSwgTUNQUmVzcG9uc2UgfSBmcm9tICcuL0VsZW1lbnRBY3RpdmF0aW9uU3RyYXRlZ3kuanMnO1xuXG5leHBvcnQgY2xhc3MgUGVyc29uYUFjdGl2YXRpb25TdHJhdGVneSBleHRlbmRzIEJhc2VBY3RpdmF0aW9uU3RyYXRlZ3kgaW1wbGVtZW50cyBFbGVtZW50QWN0aXZhdGlvblN0cmF0ZWd5IHtcbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSBwZXJzb25hTWFuYWdlcjogUGVyc29uYU1hbmFnZXIsXG4gICAgcHJpdmF0ZSByZWFkb25seSBpbmRpY2F0b3JTZXJ2aWNlOiBQZXJzb25hSW5kaWNhdG9yU2VydmljZVxuICApIHtcbiAgICBzdXBlcigpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCB0aGUgcGVyc29uYSBpbmRpY2F0b3IgcHJlZml4XG4gICAqL1xuICBwcml2YXRlIGdldFBlcnNvbmFJbmRpY2F0b3IoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5pbmRpY2F0b3JTZXJ2aWNlLmdldFBlcnNvbmFJbmRpY2F0b3IoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBY3RpdmF0ZSBhIHBlcnNvbmFcbiAgICogRXh0cmFjdGVkIGZyb20gRWxlbWVudENSVURIYW5kbGVyLnRzIGxpbmVzIDE2MS0xODJcbiAgICovXG4gIGFzeW5jIGFjdGl2YXRlKG5hbWU6IHN0cmluZyk6IFByb21pc2U8TUNQUmVzcG9uc2U+IHtcbiAgICBjb25zdCByZXN1bHQgPSBhd2FpdCB0aGlzLnBlcnNvbmFNYW5hZ2VyLmFjdGl2YXRlUGVyc29uYShuYW1lKTtcblxuICAgIGlmICghcmVzdWx0LnN1Y2Nlc3MgfHwgIXJlc3VsdC5wZXJzb25hKSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBjb250ZW50OiBbe1xuICAgICAgICAgIHR5cGU6IFwidGV4dFwiLFxuICAgICAgICAgIHRleHQ6IGAke3RoaXMuZ2V0UGVyc29uYUluZGljYXRvcigpfeKdjCAke3Jlc3VsdC5tZXNzYWdlfWBcbiAgICAgICAgfV1cbiAgICAgIH07XG4gICAgfVxuXG4gICAgY29uc3QgcGVyc29uYSA9IHJlc3VsdC5wZXJzb25hO1xuICAgIGNvbnN0IGluc3RydWN0aW9ucyA9IHBlcnNvbmEuaW5zdHJ1Y3Rpb25zPy50cmltKCkgfHwgcGVyc29uYS5jb250ZW50Py50cmltKCkgfHwgJ05vIGluc3RydWN0aW9ucyBwcm92aWRlZC4nO1xuICAgIGNvbnN0IHJlZmVyZW5jZUNvbnRlbnQgPSBwZXJzb25hLmluc3RydWN0aW9ucz8udHJpbSgpID8gcGVyc29uYS5jb250ZW50Py50cmltKCkgOiAnJztcblxuICAgIGxldCB0ZXh0ID0gYCR7dGhpcy5nZXRQZXJzb25hSW5kaWNhdG9yKCl9UGVyc29uYSBBY3RpdmF0ZWQ6ICoqJHtwZXJzb25hLm1ldGFkYXRhLm5hbWV9KipcXG5cXG4ke3BlcnNvbmEubWV0YWRhdGEuZGVzY3JpcHRpb259XFxuXFxuKipJbnN0cnVjdGlvbnM6KipcXG4ke2luc3RydWN0aW9uc31gO1xuICAgIGlmIChyZWZlcmVuY2VDb250ZW50KSB7XG4gICAgICB0ZXh0ICs9IGBcXG5cXG4qKlJlZmVyZW5jZToqKlxcbiR7cmVmZXJlbmNlQ29udGVudH1gO1xuICAgIH1cblxuICAgIC8vIElzc3VlICM2NDI6IEZhaWwtc2FmZSB3YXJuaW5nIGZvciBDTEkgcmVzdHJpY3Rpb25zXG4gICAgY29uc3QgcmVzdHJpY3Rpb25XYXJuaW5nID0gdGhpcy5mb3JtYXRSZXN0cmljdGlvbldhcm5pbmcocGVyc29uYS5tZXRhZGF0YSBhcyB1bmtub3duIGFzIFJlY29yZDxzdHJpbmcsIHVua25vd24+KTtcbiAgICBpZiAocmVzdHJpY3Rpb25XYXJuaW5nKSB7XG4gICAgICB0ZXh0ICs9IHJlc3RyaWN0aW9uV2FybmluZztcbiAgICB9XG5cbiAgICBjb25zdCBnYXRla2VlcGVyV2FybmluZyA9IHRoaXMuZm9ybWF0R2F0ZWtlZXBlclZhbGlkaXR5V2FybmluZyhwZXJzb25hLm1ldGFkYXRhIGFzIHVua25vd24gYXMgUmVjb3JkPHN0cmluZywgdW5rbm93bj4pO1xuICAgIGlmIChnYXRla2VlcGVyV2FybmluZykge1xuICAgICAgdGV4dCArPSBnYXRla2VlcGVyV2FybmluZztcbiAgICB9XG5cbiAgICByZXR1cm4ge1xuICAgICAgY29udGVudDogW3tcbiAgICAgICAgdHlwZTogXCJ0ZXh0XCIsXG4gICAgICAgIHRleHRcbiAgICAgIH1dXG4gICAgfTtcbiAgfVxuXG4gIC8qKlxuICAgKiBEZWFjdGl2YXRlIGEgc3BlY2lmaWMgcGVyc29uYVxuICAgKiBJc3N1ZSAjMjgxOiBVcGRhdGVkIHRvIHN1cHBvcnQgbXVsdGlwbGUgYWN0aXZlIHBlcnNvbmFzXG4gICAqXG4gICAqIEB0aHJvd3Mge0VsZW1lbnROb3RGb3VuZEVycm9yfSBXaGVuIG5hbWVkIHBlcnNvbmEgZG9lcyBub3QgZXhpc3RcbiAgICogQHRocm93cyB7RXJyb3J9IFdoZW4gbmFtZSBwYXJhbWV0ZXIgaXMgbWlzc2luZ1xuICAgKiBAc2VlIElzc3VlICMyNzUgLSBIYW5kbGVycyByZXR1cm4gc3VjY2Vzcz10cnVlIGZvciBtaXNzaW5nIGVsZW1lbnRzXG4gICAqL1xuICBhc3luYyBkZWFjdGl2YXRlKG5hbWU6IHN0cmluZyk6IFByb21pc2U8TUNQUmVzcG9uc2U+IHtcbiAgICAvLyBJc3N1ZSAjMjc1OiBSZXF1aXJlIG5hbWUgcGFyYW1ldGVyIGZvciBjb25zaXN0ZW50IGVycm9yIGhhbmRsaW5nXG4gICAgaWYgKCFuYW1lIHx8IG5hbWUgPT09ICcnKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ05hbWUgcGFyYW1ldGVyIGlzIHJlcXVpcmVkIGZvciBkZWFjdGl2YXRlIG9wZXJhdGlvbicpO1xuICAgIH1cblxuICAgIC8vIElzc3VlICMyNzU6IFZlcmlmeSB0aGUgbmFtZWQgcGVyc29uYSBleGlzdHMgYmVmb3JlIGRlYWN0aXZhdGluZ1xuICAgIGNvbnN0IHBlcnNvbmEgPSB0aGlzLnBlcnNvbmFNYW5hZ2VyLmZpbmRQZXJzb25hKG5hbWUpO1xuICAgIGlmICghcGVyc29uYSkge1xuICAgICAgdGhyb3cgbmV3IEVsZW1lbnROb3RGb3VuZEVycm9yKCdQZXJzb25hJywgbmFtZSk7XG4gICAgfVxuXG4gICAgLy8gSXNzdWUgIzI4MTogUGFzcyB0aGUgbmFtZSB0byBkZWFjdGl2YXRlIHRoZSBzcGVjaWZpYyBwZXJzb25hXG4gICAgY29uc3QgcmVzdWx0ID0gdGhpcy5wZXJzb25hTWFuYWdlci5kZWFjdGl2YXRlUGVyc29uYShuYW1lKTtcbiAgICBjb25zdCBpbmRpY2F0b3IgPSB0aGlzLmdldFBlcnNvbmFJbmRpY2F0b3IoKTtcblxuICAgIGlmICghcmVzdWx0LnN1Y2Nlc3MpIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGNvbnRlbnQ6IFt7XG4gICAgICAgICAgdHlwZTogXCJ0ZXh0XCIsXG4gICAgICAgICAgdGV4dDogYCR7aW5kaWNhdG9yfeKdjCAke3Jlc3VsdC5tZXNzYWdlfWBcbiAgICAgICAgfV1cbiAgICAgIH07XG4gICAgfVxuXG4gICAgcmV0dXJuIHtcbiAgICAgIGNvbnRlbnQ6IFt7XG4gICAgICAgIHR5cGU6IFwidGV4dFwiLFxuICAgICAgICB0ZXh0OiBgJHtpbmRpY2F0b3J94pyFICR7cmVzdWx0Lm1lc3NhZ2V9YFxuICAgICAgfV1cbiAgICB9O1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCBhbGwgYWN0aXZlIHBlcnNvbmFzXG4gICAqIElzc3VlICMyODE6IFVwZGF0ZWQgdG8gc2hvdyBhbGwgYWN0aXZlIHBlcnNvbmFzIChzdXBwb3J0cyBtdWx0aXBsZSlcbiAgICovXG4gIGFzeW5jIGdldEFjdGl2ZUVsZW1lbnRzKCk6IFByb21pc2U8TUNQUmVzcG9uc2U+IHtcbiAgICBjb25zdCBhY3RpdmVQZXJzb25hcyA9IHRoaXMucGVyc29uYU1hbmFnZXIuZ2V0QWN0aXZlUGVyc29uYXMoKTtcbiAgICBjb25zdCBpbmRpY2F0b3IgPSB0aGlzLmdldFBlcnNvbmFJbmRpY2F0b3IoKTtcblxuICAgIGlmIChhY3RpdmVQZXJzb25hcy5sZW5ndGggPT09IDApIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGNvbnRlbnQ6IFt7XG4gICAgICAgICAgdHlwZTogXCJ0ZXh0XCIsXG4gICAgICAgICAgdGV4dDogYCR7aW5kaWNhdG9yfU5vIHBlcnNvbmFzIGFyZSBjdXJyZW50bHkgYWN0aXZlLmBcbiAgICAgICAgfV1cbiAgICAgIH07XG4gICAgfVxuXG4gICAgY29uc3QgcGVyc29uYUxpc3QgPSBhY3RpdmVQZXJzb25hcy5tYXAocCA9PlxuICAgICAgYPCflLkgKioke3AubWV0YWRhdGEubmFtZX0qKiAoJHtwLnVuaXF1ZV9pZH0pXFxuICAgJHtwLm1ldGFkYXRhLmRlc2NyaXB0aW9ufVxcbiAgIPCfk4EgJHtwLm1ldGFkYXRhLmNhdGVnb3J5IHx8ICdnZW5lcmFsJ30gfCDwn46tICR7cC5tZXRhZGF0YS5hdXRob3IgfHwgJ1Vua25vd24nfWBcbiAgICApLmpvaW4oJ1xcblxcbicpO1xuXG4gICAgY29uc3QgaGVhZGVyID0gYWN0aXZlUGVyc29uYXMubGVuZ3RoID09PSAxXG4gICAgICA/IGAke2luZGljYXRvcn1BY3RpdmUgUGVyc29uYTpgXG4gICAgICA6IGAke2luZGljYXRvcn1BY3RpdmUgUGVyc29uYXMgKCR7YWN0aXZlUGVyc29uYXMubGVuZ3RofSk6YDtcblxuICAgIGxldCB0ZXh0ID0gYCR7aGVhZGVyfVxcblxcbiR7cGVyc29uYUxpc3R9YDtcblxuICAgIC8vIElzc3VlICM2NDI6IFJlc3RyaWN0aW9uIHN1bW1hcnkgZm9yIGFjdGl2ZSBwZXJzb25hcyB3aXRoIGV4dGVybmFsUmVzdHJpY3Rpb25zXG4gICAgY29uc3QgcmVzdHJpY3RlZFBlcnNvbmFzID0gYWN0aXZlUGVyc29uYXMuZmlsdGVyKFxuICAgICAgcCA9PiAocC5tZXRhZGF0YSBhcyB1bmtub3duIGFzIFJlY29yZDxzdHJpbmcsIHVua25vd24+KT8uZ2F0ZWtlZXBlciAmJlxuICAgICAgICAoKHAubWV0YWRhdGEgYXMgdW5rbm93biBhcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPikuZ2F0ZWtlZXBlciBhcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPik/LmV4dGVybmFsUmVzdHJpY3Rpb25zXG4gICAgKTtcbiAgICBpZiAocmVzdHJpY3RlZFBlcnNvbmFzLmxlbmd0aCA+IDApIHtcbiAgICAgIGNvbnN0IHN1bW1hcnkgPSByZXN0cmljdGVkUGVyc29uYXMubWFwKHAgPT4ge1xuICAgICAgICBjb25zdCBnayA9IChwLm1ldGFkYXRhIGFzIHVua25vd24gYXMgUmVjb3JkPHN0cmluZywgdW5rbm93bj4pLmdhdGVrZWVwZXIgYXMgUmVjb3JkPHN0cmluZywgdW5rbm93bj47XG4gICAgICAgIGNvbnN0IHIgPSBnay5leHRlcm5hbFJlc3RyaWN0aW9ucyBhcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPjtcbiAgICAgICAgcmV0dXJuIGAgICoqJHtwLm1ldGFkYXRhLm5hbWV9Kio6ICR7ci5kZXNjcmlwdGlvbn1gO1xuICAgICAgfSkuam9pbignXFxuJyk7XG4gICAgICB0ZXh0ICs9IGBcXG5cXG4qKkxvYWRlZCBDTEkgUmVzdHJpY3Rpb25zOioqXFxuJHtzdW1tYXJ5fVxcbj4gVXNlIFxcYGdldF9lZmZlY3RpdmVfY2xpX3BvbGljaWVzXFxgIGZvciBmdWxsIGRldGFpbHMuYDtcbiAgICB9XG5cbiAgICByZXR1cm4ge1xuICAgICAgY29udGVudDogW3tcbiAgICAgICAgdHlwZTogXCJ0ZXh0XCIsXG4gICAgICAgIHRleHRcbiAgICAgIH1dXG4gICAgfTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgZGV0YWlsZWQgaW5mb3JtYXRpb24gYWJvdXQgYSBwZXJzb25hXG4gICAqIEV4dHJhY3RlZCBmcm9tIEVsZW1lbnRDUlVESGFuZGxlci50cyBsaW5lcyA2MjAtNjQ4XG4gICAqXG4gICAqIEB0aHJvd3Mge0VsZW1lbnROb3RGb3VuZEVycm9yfSBXaGVuIHBlcnNvbmEgZG9lcyBub3QgZXhpc3RcbiAgICogQHNlZSBJc3N1ZSAjMjc1IC0gSGFuZGxlcnMgcmV0dXJuIHN1Y2Nlc3M9dHJ1ZSBmb3IgbWlzc2luZyBlbGVtZW50c1xuICAgKi9cbiAgYXN5bmMgZ2V0RWxlbWVudERldGFpbHMobmFtZTogc3RyaW5nKTogUHJvbWlzZTxNQ1BSZXNwb25zZT4ge1xuICAgIGNvbnN0IHBlcnNvbmEgPSB0aGlzLnBlcnNvbmFNYW5hZ2VyLmZpbmRQZXJzb25hKG5hbWUpO1xuICAgIGNvbnN0IGluZGljYXRvciA9IHRoaXMuZ2V0UGVyc29uYUluZGljYXRvcigpO1xuXG4gICAgaWYgKCFwZXJzb25hKSB7XG4gICAgICB0aHJvdyBuZXcgRWxlbWVudE5vdEZvdW5kRXJyb3IoJ1BlcnNvbmEnLCBuYW1lKTtcbiAgICB9XG5cbiAgICBjb25zdCB0cmlnZ2VycyA9IHBlcnNvbmEubWV0YWRhdGEudHJpZ2dlcnM/LmpvaW4oJywgJykgfHwgJ05vbmUnO1xuICAgIGNvbnN0IGNvbnRlbnQgPSBwZXJzb25hLmNvbnRlbnQ/LnRyaW0oKSB8fCAnTm8gaW5zdHJ1Y3Rpb25zIHByb3ZpZGVkLic7XG5cbiAgICByZXR1cm4ge1xuICAgICAgY29udGVudDogW3tcbiAgICAgICAgdHlwZTogXCJ0ZXh0XCIsXG4gICAgICAgIHRleHQ6IGAke2luZGljYXRvcn3wn5OLICoqJHtwZXJzb25hLm1ldGFkYXRhLm5hbWV9KiogRGV0YWlsc1xcblxcbmAgK1xuICAgICAgICAgIGAqKkRlc2NyaXB0aW9uOioqICR7cGVyc29uYS5tZXRhZGF0YS5kZXNjcmlwdGlvbn1cXG5gICtcbiAgICAgICAgICBgKipGaWxlOioqICR7cGVyc29uYS5maWxlbmFtZX1cXG5gICtcbiAgICAgICAgICBgKipWZXJzaW9uOioqICR7cGVyc29uYS5tZXRhZGF0YS52ZXJzaW9uIHx8ICcxLjAnfVxcbmAgK1xuICAgICAgICAgIGAqKkF1dGhvcjoqKiAke3BlcnNvbmEubWV0YWRhdGEuYXV0aG9yIHx8ICdVbmtub3duJ31cXG5gICtcbiAgICAgICAgICBgKipUcmlnZ2VyczoqKiAke3RyaWdnZXJzfVxcblxcbmAgK1xuICAgICAgICAgIGAqKkZ1bGwgSW5zdHJ1Y3Rpb25zOioqXFxuXFxgXFxgXFxgXFxuJHtjb250ZW50fVxcblxcYFxcYFxcYGBcbiAgICAgIH1dXG4gICAgfTtcbiAgfVxufVxuIl19
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SkillActivationStrategy.d.ts","sourceRoot":"","sources":["../../../src/handlers/strategies/SkillActivationStrategy.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAC9D,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AACrE,OAAO,EAAE,yBAAyB,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAExF,qBAAa,uBAAwB,SAAQ,sBAAuB,YAAW,yBAAyB;IAC1F,OAAO,CAAC,QAAQ,CAAC,YAAY;gBAAZ,YAAY,EAAE,YAAY;IAIvD;;;OAGG;IACG,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,OAAO,CAAC,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"SkillActivationStrategy.d.ts","sourceRoot":"","sources":["../../../src/handlers/strategies/SkillActivationStrategy.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAC9D,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AACrE,OAAO,EAAE,yBAAyB,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAExF,qBAAa,uBAAwB,SAAQ,sBAAuB,YAAW,yBAAyB;IAC1F,OAAO,CAAC,QAAQ,CAAC,YAAY;gBAAZ,YAAY,EAAE,YAAY;IAIvD;;;OAGG;IACG,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,OAAO,CAAC,WAAW,CAAC;IAsDjF;;;;;;OAMG;IACG,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;IAUpD;;;OAGG;IACG,iBAAiB,IAAI,OAAO,CAAC,WAAW,CAAC;IAsB/C;;;;;;OAMG;IACG,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;CAmC5D"}
|
|
@@ -47,6 +47,10 @@ export class SkillActivationStrategy extends BaseActivationStrategy {
|
|
|
47
47
|
if (restrictionWarning) {
|
|
48
48
|
parts.push(restrictionWarning);
|
|
49
49
|
}
|
|
50
|
+
const gatekeeperWarning = this.formatGatekeeperValidityWarning(skill.metadata);
|
|
51
|
+
if (gatekeeperWarning) {
|
|
52
|
+
parts.push(gatekeeperWarning);
|
|
53
|
+
}
|
|
50
54
|
return {
|
|
51
55
|
content: [{
|
|
52
56
|
type: "text",
|
|
@@ -131,4 +135,4 @@ export class SkillActivationStrategy extends BaseActivationStrategy {
|
|
|
131
135
|
};
|
|
132
136
|
}
|
|
133
137
|
}
|
|
134
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU2tpbGxBY3RpdmF0aW9uU3RyYXRlZ3kuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvaGFuZGxlcnMvc3RyYXRlZ2llcy9Ta2lsbEFjdGl2YXRpb25TdHJhdGVneS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7OztHQUlHO0FBR0gsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFHckUsTUFBTSxPQUFPLHVCQUF3QixTQUFRLHNCQUFzQjtJQUNwQztJQUE3QixZQUE2QixZQUEwQjtRQUNyRCxLQUFLLEVBQUUsQ0FBQztRQURtQixpQkFBWSxHQUFaLFlBQVksQ0FBYztJQUV2RCxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsS0FBSyxDQUFDLFFBQVEsQ0FBQyxJQUFZLEVBQUUsT0FBNkI7UUFDeEQsaUVBQWlFO1FBQ2pFLE1BQU0sTUFBTSxHQUFHLE1BQU0sSUFBSSxDQUFDLFlBQVksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFM0QsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDckMsT0FBTyxJQUFJLENBQUMsc0JBQXNCLENBQUMsSUFBSSxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBQ3BELENBQUM7UUFFRCxNQUFNLEtBQUssR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDO1FBRTNCLGdFQUFnRTtRQUNoRSxNQUFNLEtBQUssR0FBRztZQUNaLFlBQVksS0FBSyxDQUFDLFFBQVEsQ0FBQyxJQUFJLGFBQWE7WUFDNUMsRUFBRTtTQUNILENBQUM7UUFFRiwwREFBMEQ7UUFDMUQsTUFBTSxvQkFBb0IsR0FBRyxPQUFPLEVBQUUsVUFBVSxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7UUFFL0YsSUFBSSxvQkFBb0IsRUFBRSxDQUFDO1lBQ3pCLEtB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Q0FBQyxJQUFJLENBQUM7aUJBQ3pCLENBQUM7U0FDSCxDQUFDO0lBQ0osQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBTa2lsbEFjdGl2YXRpb25TdHJhdGVneSAtIFN0cmF0ZWd5IGZvciBza2lsbCBlbGVtZW50IGFjdGl2YXRpb25cbiAqXG4gKiBIYW5kbGVzIGFjdGl2YXRpb24sIGRlYWN0aXZhdGlvbiwgYW5kIHN0YXR1cyB0cmFja2luZyBmb3Igc2tpbGwgZWxlbWVudHMuXG4gKi9cblxuaW1wb3J0IHsgU2tpbGxNYW5hZ2VyIH0gZnJvbSAnLi4vLi4vZWxlbWVudHMvc2tpbGxzL2luZGV4LmpzJztcbmltcG9ydCB7IEJhc2VBY3RpdmF0aW9uU3RyYXRlZ3kgfSBmcm9tICcuL0Jhc2VBY3RpdmF0aW9uU3RyYXRlZ3kuanMnO1xuaW1wb3J0IHsgRWxlbWVudEFjdGl2YXRpb25TdHJhdGVneSwgTUNQUmVzcG9uc2UgfSBmcm9tICcuL0VsZW1lbnRBY3RpdmF0aW9uU3RyYXRlZ3kuanMnO1xuXG5leHBvcnQgY2xhc3MgU2tpbGxBY3RpdmF0aW9uU3RyYXRlZ3kgZXh0ZW5kcyBCYXNlQWN0aXZhdGlvblN0cmF0ZWd5IGltcGxlbWVudHMgRWxlbWVudEFjdGl2YXRpb25TdHJhdGVneSB7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgc2tpbGxNYW5hZ2VyOiBTa2lsbE1hbmFnZXIpIHtcbiAgICBzdXBlcigpO1xuICB9XG5cbiAgLyoqXG4gICAqIEFjdGl2YXRlIGEgc2tpbGxcbiAgICogRXh0cmFjdGVkIGZyb20gRWxlbWVudENSVURIYW5kbGVyLnRzIGxpbmVzIDE4NC0yMDZcbiAgICovXG4gIGFzeW5jIGFjdGl2YXRlKG5hbWU6IHN0cmluZywgY29udGV4dD86IFJlY29yZDxzdHJpbmcsIGFueT4pOiBQcm9taXNlPE1DUFJlc3BvbnNlPiB7XG4gICAgLy8gVXNlIHRoZSBtYW5hZ2VyJ3MgYWN0aXZhdGlvbiBtZXRob2Qgd2hpY2ggdHJhY2tzIGFjdGl2ZSBza2lsbHNcbiAgICBjb25zdCByZXN1bHQgPSBhd2FpdCB0aGlzLnNraWxsTWFuYWdlci5hY3RpdmF0ZVNraWxsKG5hbWUpO1xuXG4gICAgaWYgKCFyZXN1bHQuc3VjY2VzcyB8fCAhcmVzdWx0LnNraWxsKSB7XG4gICAgICByZXR1cm4gdGhpcy5jcmVhdGVOb3RGb3VuZFJlc3BvbnNlKG5hbWUsICdTa2lsbCcpO1xuICAgIH1cblxuICAgIGNvbnN0IHNraWxsID0gcmVzdWx0LnNraWxsO1xuXG4gICAgLy8gQnVpbGQgYWN0aXZhdGlvbiByZXNwb25zZSB3aXRoIGV4ZWN1dGlvbiBzdHJhdGVneSBpbmZvcm1hdGlvblxuICAgIGNvbnN0IHBhcnRzID0gW1xuICAgICAgYOKchSBTa2lsbCAnJHtza2lsbC5tZXRhZGF0YS5uYW1lfScgYWN0aXZhdGVkYCxcbiAgICAgICcnXG4gICAgXTtcblxuICAgIC8vIENoZWNrIGlmIHBhcmFtZXRlcnMgd2VyZSBwcm92aWRlZCBpbiBhY3RpdmF0aW9uIGNvbnRleHRcbiAgICBjb25zdCBoYXNDb250ZXh0UGFyYW1ldGVycyA9IGNvbnRleHQ/LnBhcmFtZXRlcnMgJiYgT2JqZWN0LmtleXMoY29udGV4dC5wYXJhbWV0ZXJzKS5sZW5ndGggPiAwO1xuXG4gICAgaWYgKGhhc0NvbnRleHRQYXJhbWV0ZXJzKSB7XG4gICAgICBwYXJ0cy5wdXNoKCdTa2lsbCBhY3RpdmF0ZXMgd2l0aCBzcGVjaWZpZWQgcGFyYW1ldGVycycpO1xuICAgIH0gZWxzZSB7XG4gICAgICBwYXJ0cy5wdXNoKCdTa2lsbCBiZWNvbWVzIGFjdGl2ZSBhbmQgcmVhZHkgZm9yIGV4ZWN1dGlvbicpO1xuICAgIH1cblxuICAgIHBhcnRzLnB1c2goJycpO1xuICAgIHBhcnRzLnB1c2goJyoqSW5zdHJ1Y3Rpb25zOioqJyk7XG4gICAgcGFydHMucHVzaChza2lsbC5pbnN0cnVjdGlvbnMpO1xuXG4gICAgaWYgKHNraWxsLmNvbnRlbnQ/LnRyaW0oKSkge1xuICAgICAgcGFydHMucHVzaCgnJyk7XG4gICAgICBwYXJ0cy5wdXNoKCcqKlJlZmVyZW5jZToqKicpO1xuICAgICAgcGFydHMucHVzaChza2lsbC5jb250ZW50KTtcbiAgICB9XG5cbiAgICAvLyBJc3N1ZSAjNjQyOiBGYWlsLXNhZmUgd2FybmluZyBmb3IgQ0xJIHJlc3RyaWN0aW9uc1xuICAgIGNvbnN0IHJlc3RyaWN0aW9uV2FybmluZyA9IHRoaXMuZm9ybWF0UmVzdHJpY3Rpb25XYXJuaW5nKHNraWxsLm1ldGFkYXRhIGFzIHVua25vd24gYXMgUmVjb3JkPHN0cmluZywgdW5rbm93bj4pO1xuICAgIGlmIChyZXN0cmljdGlvbldhcm5pbmcpIHtcbiAgICAgIHBhcnRzLnB1c2gocmVzdHJpY3Rpb25XYXJuaW5nKTtcbiAgICB9XG5cbiAgICByZXR1cm4ge1xuICAgICAgY29udGVudDogW3tcbiAgICAgICAgdHlwZTogXCJ0ZXh0XCIsXG4gICAgICAgIHRleHQ6IHBhcnRzLmpvaW4oJ1xcbicpXG4gICAgICB9XVxuICAgIH07XG4gIH1cblxuICAvKipcbiAgICogRGVhY3RpdmF0ZSBhIHNraWxsXG4gICAqIEV4dHJhY3RlZCBmcm9tIEVsZW1lbnRDUlVESGFuZGxlci50cyBsaW5lcyA1MjEtNTQxXG4gICAqXG4gICAqIEB0aHJvd3Mge0VsZW1lbnROb3RGb3VuZEVycm9yfSBXaGVuIHNraWxsIGRvZXMgbm90IGV4aXN0XG4gICAqIEBzZWUgSXNzdWUgIzI3NSAtIEhhbmRsZXJzIHJldHVybiBzdWNjZXNzPXRydWUgZm9yIG1pc3NpbmcgZWxlbWVudHNcbiAgICovXG4gIGFzeW5jIGRlYWN0aXZhdGUobmFtZTogc3RyaW5nKTogUHJvbWlzZTxNQ1BSZXNwb25zZT4ge1xuICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IHRoaXMuc2tpbGxNYW5hZ2VyLmRlYWN0aXZhdGVTa2lsbChuYW1lKTtcblxuICAgIGlmICghcmVzdWx0LnN1Y2Nlc3MpIHtcbiAgICAgIHRoaXMudGhyb3dOb3RGb3VuZEVycm9yKG5hbWUsICdTa2lsbCcpO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLmNyZWF0ZVN1Y2Nlc3NSZXNwb25zZShyZXN1bHQubWVzc2FnZSk7XG4gIH1cblxuICAvKipcbiAgICogR2V0IGFsbCBhY3RpdmUgc2tpbGxzXG4gICAqIEV4dHJhY3RlZCBmcm9tIEVsZW1lbnRDUlVESGFuZGxlci50cyBsaW5lcyAzOTItNDEyXG4gICAqL1xuICBhc3luYyBnZXRBY3RpdmVFbGVtZW50cygpOiBQcm9taXNlPE1DUFJlc3BvbnNlPiB7XG4gICAgLy8gVXNlIHRoZSBtYW5hZ2VyJ3MgbWV0aG9kIHRvIGdldCBhY3RpdmUgc2tpbGxzIGRpcmVjdGx5XG4gICAgY29uc3QgYWN0aXZlU2tpbGxzID0gYXdhaXQgdGhpcy5za2lsbE1hbmFnZXIuZ2V0QWN0aXZlU2tpbGxzKCk7XG5cbiAgICBpZiAoYWN0aXZlU2tpbGxzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgY29udGVudDogW3tcbiAgICAgICAgICB0eXBlOiBcInRleHRcIixcbiAgICAgICAgICB0ZXh0OiBcIvCfk4sgTm8gYWN0aXZlIHNraWxsc1wiXG4gICAgICAgIH1dXG4gICAgICB9O1xuICAgIH1cblxuICAgIGNvbnN0IHNraWxsTGlzdCA9IGFjdGl2ZVNraWxscy5tYXAocyA9PiBg8J+boO+4jyAke3MubWV0YWRhdGEubmFtZX1gKS5qb2luKCcsICcpO1xuICAgIHJldHVybiB7XG4gICAgICBjb250ZW50OiBbe1xuICAgICAgICB0eXBlOiBcInRleHRcIixcbiAgICAgICAgdGV4dDogYEFjdGl2ZSBza2lsbHM6ICR7c2tpbGxMaXN0fWBcbiAgICAgIH1dXG4gICAgfTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgZGV0YWlsZWQgaW5mb3JtYXRpb24gYWJvdXQgYSBza2lsbFxuICAgKiBFeHRyYWN0ZWQgZnJvbSBFbGVtZW50Q1JVREhhbmRsZXIudHMgbGluZXMgNjUwLTY4OVxuICAgKlxuICAgKiBAdGhyb3dzIHtFbGVtZW50Tm90Rm91bmRFcnJvcn0gV2hlbiBza2lsbCBkb2VzIG5vdCBleGlzdFxuICAgKiBAc2VlIElzc3VlICMyNzUgLSBIYW5kbGVycyByZXR1cm4gc3VjY2Vzcz10cnVlIGZvciBtaXNzaW5nIGVsZW1lbnRzXG4gICAqL1xuICBhc3luYyBnZXRFbGVtZW50RGV0YWlscyhuYW1lOiBzdHJpbmcpOiBQcm9taXNlPE1DUFJlc3BvbnNlPiB7XG4gICAgLy8gVXNlIGZsZXhpYmxlIGZpbmRpbmcgdG8gc3VwcG9ydCBib3RoIGRpc3BsYXkgbmFtZSBhbmQgZmlsZW5hbWVcbiAgICBjb25zdCBhbGxTa2lsbHMgPSBhd2FpdCB0aGlzLnNraWxsTWFuYWdlci5saXN0KCk7XG4gICAgY29uc3Qgc2tpbGwgPSBhd2FpdCB0aGlzLmZpbmRFbGVtZW50RmxleGlibHkobmFtZSwgYWxsU2tpbGxzKTtcbiAgICBpZiAoIXNraWxsKSB7XG4gICAgICB0aGlzLnRocm93Tm90Rm91bmRFcnJvcihuYW1lLCAnU2tpbGwnKTtcbiAgICB9XG5cbiAgICBjb25zdCBkZXRhaWxzID0gW1xuICAgICAgYPCfm6DvuI8gKioke3NraWxsLm1ldGFkYXRhLm5hbWV9KipgLFxuICAgICAgYCR7c2tpbGwubWV0YWRhdGEuZGVzY3JpcHRpb259YCxcbiAgICAgIGBgLFxuICAgICAgYCoqQ29tcGxleGl0eSoqOiAke3NraWxsLm1ldGFkYXRhLmNvbXBsZXhpdHkgfHwgJ2JlZ2lubmVyJ31gLFxuICAgICAgYCoqRG9tYWlucyoqOiAke3NraWxsLm1ldGFkYXRhLmRvbWFpbnM/LmpvaW4oJywgJykgfHwgJ2dlbmVyYWwnfWAsXG4gICAgICBgKipMYW5ndWFnZXMqKjogJHtza2lsbC5tZXRhZGF0YS5sYW5ndWFnZXM/LmpvaW4oJywgJykgfHwgJ2FueSd9YCxcbiAgICAgIGAqKlByZXJlcXVpc2l0ZXMqKjogJHtza2lsbC5tZXRhZGF0YS5wcmVyZXF1aXNpdGVzPy5qb2luKCcsICcpIHx8ICdub25lJ31gLFxuICAgICAgYGAsXG4gICAgICBgKipJbnN0cnVjdGlvbnMqKjpgLFxuICAgICAgc2tpbGwuaW5zdHJ1Y3Rpb25zXG4gICAgXTtcblxuICAgIGlmIChza2lsbC5tZXRhZGF0YS5wYXJhbWV0ZXJzICYmIHNraWxsLm1ldGFkYXRhLnBhcmFtZXRlcnMubGVuZ3RoID4gMCkge1xuICAgICAgZGV0YWlscy5wdXNoKCcnLCAnKipQYXJhbWV0ZXJzKio6Jyk7XG4gICAgICBza2lsbC5tZXRhZGF0YS5wYXJhbWV0ZXJzLmZvckVhY2goKHA6IGFueSkgPT4ge1xuICAgICAgICBkZXRhaWxzLnB1c2goYC0gJHtwLm5hbWV9ICgke3AudHlwZX0pOiAke3AuZGVzY3JpcHRpb259YCk7XG4gICAgICB9KTtcbiAgICB9XG5cbiAgICByZXR1cm4ge1xuICAgICAgY29udGVudDogW3tcbiAgICAgICAgdHlwZTogXCJ0ZXh0XCIsXG4gICAgICAgIHRleHQ6IGRldGFpbHMuam9pbignXFxuJylcbiAgICAgIH1dXG4gICAgfTtcbiAgfVxufVxuIl19
|
|
138
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU2tpbGxBY3RpdmF0aW9uU3RyYXRlZ3kuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvaGFuZGxlcnMvc3RyYXRlZ2llcy9Ta2lsbEFjdGl2YXRpb25TdHJhdGVneS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7OztHQUlHO0FBR0gsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFHckUsTUFBTSxPQUFPLHVCQUF3QixTQUFRLHNCQUFzQjtJQUNwQztJQUE3QixZQUE2QixZQUEwQjtRQUNyRCxLQUFLLEVBQUUsQ0FBQztRQURtQixpQkFBWSxHQUFaLFlBQVksQ0FBYztJQUV2RCxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsS0FBSyxDQUFDLFFBQVEsQ0FBQyxJQUFZLEVBQUUsT0FBNkI7UUFDeEQsaUVBQWlFO1FBQ2pFLE1BQU0sTUFBTSxHQUFHLE1BQU0sSUFBSSxDQUFDLFlBQVksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFM0QsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDckMsT0FBTyxJQUFJLENBQUMsc0JBQXNCLENBQUMsSUFBSSxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBQ3BELENBQUM7UUFFRCxNQUFNLEtBQUssR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDO1FBRTNCLGdFQUFnRTtRQUNoRSxNQUFNLEtBQUssR0FBRztZQUNaLFlBQVksS0FBSyxDQUFDLFFBQVEsQ0FBQyxJQUFJLGFBQWE7WUFDNUMsRUFBRTtTQUNILENBQUM7UUFFRiwwREFBMEQ7UUFDMUQsTUFBTSxvQkFBb0IsR0FBRyxPQUFPLEVBQUUsVUFBVSxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7UUFFL0YsSUFBSSxvQkFBb0IsRUFBRSxDQUFDO1lBQ3pCLEtB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QUFJLE1BQU0sQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUM7WUFDNUQsQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDO1FBRUQsT0FBTztZQUNMLE9BQU8sRUFBRSxDQUFDO29CQUNSLElBQUksRUFBRSxNQUFNO29CQUNaLElBQUksRUFBRSxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQztpQkFDekIsQ0FBQztTQUNILENBQUM7SUFDSixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIFNraWxsQWN0aXZhdGlvblN0cmF0ZWd5IC0gU3RyYXRlZ3kgZm9yIHNraWxsIGVsZW1lbnQgYWN0aXZhdGlvblxuICpcbiAqIEhhbmRsZXMgYWN0aXZhdGlvbiwgZGVhY3RpdmF0aW9uLCBhbmQgc3RhdHVzIHRyYWNraW5nIGZvciBza2lsbCBlbGVtZW50cy5cbiAqL1xuXG5pbXBvcnQgeyBTa2lsbE1hbmFnZXIgfSBmcm9tICcuLi8uLi9lbGVtZW50cy9za2lsbHMvaW5kZXguanMnO1xuaW1wb3J0IHsgQmFzZUFjdGl2YXRpb25TdHJhdGVneSB9IGZyb20gJy4vQmFzZUFjdGl2YXRpb25TdHJhdGVneS5qcyc7XG5pbXBvcnQgeyBFbGVtZW50QWN0aXZhdGlvblN0cmF0ZWd5LCBNQ1BSZXNwb25zZSB9IGZyb20gJy4vRWxlbWVudEFjdGl2YXRpb25TdHJhdGVneS5qcyc7XG5cbmV4cG9ydCBjbGFzcyBTa2lsbEFjdGl2YXRpb25TdHJhdGVneSBleHRlbmRzIEJhc2VBY3RpdmF0aW9uU3RyYXRlZ3kgaW1wbGVtZW50cyBFbGVtZW50QWN0aXZhdGlvblN0cmF0ZWd5IHtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBza2lsbE1hbmFnZXI6IFNraWxsTWFuYWdlcikge1xuICAgIHN1cGVyKCk7XG4gIH1cblxuICAvKipcbiAgICogQWN0aXZhdGUgYSBza2lsbFxuICAgKiBFeHRyYWN0ZWQgZnJvbSBFbGVtZW50Q1JVREhhbmRsZXIudHMgbGluZXMgMTg0LTIwNlxuICAgKi9cbiAgYXN5bmMgYWN0aXZhdGUobmFtZTogc3RyaW5nLCBjb250ZXh0PzogUmVjb3JkPHN0cmluZywgYW55Pik6IFByb21pc2U8TUNQUmVzcG9uc2U+IHtcbiAgICAvLyBVc2UgdGhlIG1hbmFnZXIncyBhY3RpdmF0aW9uIG1ldGhvZCB3aGljaCB0cmFja3MgYWN0aXZlIHNraWxsc1xuICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IHRoaXMuc2tpbGxNYW5hZ2VyLmFjdGl2YXRlU2tpbGwobmFtZSk7XG5cbiAgICBpZiAoIXJlc3VsdC5zdWNjZXNzIHx8ICFyZXN1bHQuc2tpbGwpIHtcbiAgICAgIHJldHVybiB0aGlzLmNyZWF0ZU5vdEZvdW5kUmVzcG9uc2UobmFtZSwgJ1NraWxsJyk7XG4gICAgfVxuXG4gICAgY29uc3Qgc2tpbGwgPSByZXN1bHQuc2tpbGw7XG5cbiAgICAvLyBCdWlsZCBhY3RpdmF0aW9uIHJlc3BvbnNlIHdpdGggZXhlY3V0aW9uIHN0cmF0ZWd5IGluZm9ybWF0aW9uXG4gICAgY29uc3QgcGFydHMgPSBbXG4gICAgICBg4pyFIFNraWxsICcke3NraWxsLm1ldGFkYXRhLm5hbWV9JyBhY3RpdmF0ZWRgLFxuICAgICAgJydcbiAgICBdO1xuXG4gICAgLy8gQ2hlY2sgaWYgcGFyYW1ldGVycyB3ZXJlIHByb3ZpZGVkIGluIGFjdGl2YXRpb24gY29udGV4dFxuICAgIGNvbnN0IGhhc0NvbnRleHRQYXJhbWV0ZXJzID0gY29udGV4dD8ucGFyYW1ldGVycyAmJiBPYmplY3Qua2V5cyhjb250ZXh0LnBhcmFtZXRlcnMpLmxlbmd0aCA+IDA7XG5cbiAgICBpZiAoaGFzQ29udGV4dFBhcmFtZXRlcnMpIHtcbiAgICAgIHBhcnRzLnB1c2goJ1NraWxsIGFjdGl2YXRlcyB3aXRoIHNwZWNpZmllZCBwYXJhbWV0ZXJzJyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHBhcnRzLnB1c2goJ1NraWxsIGJlY29tZXMgYWN0aXZlIGFuZCByZWFkeSBmb3IgZXhlY3V0aW9uJyk7XG4gICAgfVxuXG4gICAgcGFydHMucHVzaCgnJyk7XG4gICAgcGFydHMucHVzaCgnKipJbnN0cnVjdGlvbnM6KionKTtcbiAgICBwYXJ0cy5wdXNoKHNraWxsLmluc3RydWN0aW9ucyk7XG5cbiAgICBpZiAoc2tpbGwuY29udGVudD8udHJpbSgpKSB7XG4gICAgICBwYXJ0cy5wdXNoKCcnKTtcbiAgICAgIHBhcnRzLnB1c2goJyoqUmVmZXJlbmNlOioqJyk7XG4gICAgICBwYXJ0cy5wdXNoKHNraWxsLmNvbnRlbnQpO1xuICAgIH1cblxuICAgIC8vIElzc3VlICM2NDI6IEZhaWwtc2FmZSB3YXJuaW5nIGZvciBDTEkgcmVzdHJpY3Rpb25zXG4gICAgY29uc3QgcmVzdHJpY3Rpb25XYXJuaW5nID0gdGhpcy5mb3JtYXRSZXN0cmljdGlvbldhcm5pbmcoc2tpbGwubWV0YWRhdGEgYXMgdW5rbm93biBhcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPik7XG4gICAgaWYgKHJlc3RyaWN0aW9uV2FybmluZykge1xuICAgICAgcGFydHMucHVzaChyZXN0cmljdGlvbldhcm5pbmcpO1xuICAgIH1cblxuICAgIGNvbnN0IGdhdGVrZWVwZXJXYXJuaW5nID0gdGhpcy5mb3JtYXRHYXRla2VlcGVyVmFsaWRpdHlXYXJuaW5nKHNraWxsLm1ldGFkYXRhIGFzIHVua25vd24gYXMgUmVjb3JkPHN0cmluZywgdW5rbm93bj4pO1xuICAgIGlmIChnYXRla2VlcGVyV2FybmluZykge1xuICAgICAgcGFydHMucHVzaChnYXRla2VlcGVyV2FybmluZyk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHtcbiAgICAgIGNvbnRlbnQ6IFt7XG4gICAgICAgIHR5cGU6IFwidGV4dFwiLFxuICAgICAgICB0ZXh0OiBwYXJ0cy5qb2luKCdcXG4nKVxuICAgICAgfV1cbiAgICB9O1xuICB9XG5cbiAgLyoqXG4gICAqIERlYWN0aXZhdGUgYSBza2lsbFxuICAgKiBFeHRyYWN0ZWQgZnJvbSBFbGVtZW50Q1JVREhhbmRsZXIudHMgbGluZXMgNTIxLTU0MVxuICAgKlxuICAgKiBAdGhyb3dzIHtFbGVtZW50Tm90Rm91bmRFcnJvcn0gV2hlbiBza2lsbCBkb2VzIG5vdCBleGlzdFxuICAgKiBAc2VlIElzc3VlICMyNzUgLSBIYW5kbGVycyByZXR1cm4gc3VjY2Vzcz10cnVlIGZvciBtaXNzaW5nIGVsZW1lbnRzXG4gICAqL1xuICBhc3luYyBkZWFjdGl2YXRlKG5hbWU6IHN0cmluZyk6IFByb21pc2U8TUNQUmVzcG9uc2U+IHtcbiAgICBjb25zdCByZXN1bHQgPSBhd2FpdCB0aGlzLnNraWxsTWFuYWdlci5kZWFjdGl2YXRlU2tpbGwobmFtZSk7XG5cbiAgICBpZiAoIXJlc3VsdC5zdWNjZXNzKSB7XG4gICAgICB0aGlzLnRocm93Tm90Rm91bmRFcnJvcihuYW1lLCAnU2tpbGwnKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5jcmVhdGVTdWNjZXNzUmVzcG9uc2UocmVzdWx0Lm1lc3NhZ2UpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCBhbGwgYWN0aXZlIHNraWxsc1xuICAgKiBFeHRyYWN0ZWQgZnJvbSBFbGVtZW50Q1JVREhhbmRsZXIudHMgbGluZXMgMzkyLTQxMlxuICAgKi9cbiAgYXN5bmMgZ2V0QWN0aXZlRWxlbWVudHMoKTogUHJvbWlzZTxNQ1BSZXNwb25zZT4ge1xuICAgIC8vIFVzZSB0aGUgbWFuYWdlcidzIG1ldGhvZCB0byBnZXQgYWN0aXZlIHNraWxscyBkaXJlY3RseVxuICAgIGNvbnN0IGFjdGl2ZVNraWxscyA9IGF3YWl0IHRoaXMuc2tpbGxNYW5hZ2VyLmdldEFjdGl2ZVNraWxscygpO1xuXG4gICAgaWYgKGFjdGl2ZVNraWxscy5sZW5ndGggPT09IDApIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGNvbnRlbnQ6IFt7XG4gICAgICAgICAgdHlwZTogXCJ0ZXh0XCIsXG4gICAgICAgICAgdGV4dDogXCLwn5OLIE5vIGFjdGl2ZSBza2lsbHNcIlxuICAgICAgICB9XVxuICAgICAgfTtcbiAgICB9XG5cbiAgICBjb25zdCBza2lsbExpc3QgPSBhY3RpdmVTa2lsbHMubWFwKHMgPT4gYPCfm6DvuI8gJHtzLm1ldGFkYXRhLm5hbWV9YCkuam9pbignLCAnKTtcbiAgICByZXR1cm4ge1xuICAgICAgY29udGVudDogW3tcbiAgICAgICAgdHlwZTogXCJ0ZXh0XCIsXG4gICAgICAgIHRleHQ6IGBBY3RpdmUgc2tpbGxzOiAke3NraWxsTGlzdH1gXG4gICAgICB9XVxuICAgIH07XG4gIH1cblxuICAvKipcbiAgICogR2V0IGRldGFpbGVkIGluZm9ybWF0aW9uIGFib3V0IGEgc2tpbGxcbiAgICogRXh0cmFjdGVkIGZyb20gRWxlbWVudENSVURIYW5kbGVyLnRzIGxpbmVzIDY1MC02ODlcbiAgICpcbiAgICogQHRocm93cyB7RWxlbWVudE5vdEZvdW5kRXJyb3J9IFdoZW4gc2tpbGwgZG9lcyBub3QgZXhpc3RcbiAgICogQHNlZSBJc3N1ZSAjMjc1IC0gSGFuZGxlcnMgcmV0dXJuIHN1Y2Nlc3M9dHJ1ZSBmb3IgbWlzc2luZyBlbGVtZW50c1xuICAgKi9cbiAgYXN5bmMgZ2V0RWxlbWVudERldGFpbHMobmFtZTogc3RyaW5nKTogUHJvbWlzZTxNQ1BSZXNwb25zZT4ge1xuICAgIC8vIFVzZSBmbGV4aWJsZSBmaW5kaW5nIHRvIHN1cHBvcnQgYm90aCBkaXNwbGF5IG5hbWUgYW5kIGZpbGVuYW1lXG4gICAgY29uc3QgYWxsU2tpbGxzID0gYXdhaXQgdGhpcy5za2lsbE1hbmFnZXIubGlzdCgpO1xuICAgIGNvbnN0IHNraWxsID0gYXdhaXQgdGhpcy5maW5kRWxlbWVudEZsZXhpYmx5KG5hbWUsIGFsbFNraWxscyk7XG4gICAgaWYgKCFza2lsbCkge1xuICAgICAgdGhpcy50aHJvd05vdEZvdW5kRXJyb3IobmFtZSwgJ1NraWxsJyk7XG4gICAgfVxuXG4gICAgY29uc3QgZGV0YWlscyA9IFtcbiAgICAgIGDwn5ug77iPICoqJHtza2lsbC5tZXRhZGF0YS5uYW1lfSoqYCxcbiAgICAgIGAke3NraWxsLm1ldGFkYXRhLmRlc2NyaXB0aW9ufWAsXG4gICAgICBgYCxcbiAgICAgIGAqKkNvbXBsZXhpdHkqKjogJHtza2lsbC5tZXRhZGF0YS5jb21wbGV4aXR5IHx8ICdiZWdpbm5lcid9YCxcbiAgICAgIGAqKkRvbWFpbnMqKjogJHtza2lsbC5tZXRhZGF0YS5kb21haW5zPy5qb2luKCcsICcpIHx8ICdnZW5lcmFsJ31gLFxuICAgICAgYCoqTGFuZ3VhZ2VzKio6ICR7c2tpbGwubWV0YWRhdGEubGFuZ3VhZ2VzPy5qb2luKCcsICcpIHx8ICdhbnknfWAsXG4gICAgICBgKipQcmVyZXF1aXNpdGVzKio6ICR7c2tpbGwubWV0YWRhdGEucHJlcmVxdWlzaXRlcz8uam9pbignLCAnKSB8fCAnbm9uZSd9YCxcbiAgICAgIGBgLFxuICAgICAgYCoqSW5zdHJ1Y3Rpb25zKio6YCxcbiAgICAgIHNraWxsLmluc3RydWN0aW9uc1xuICAgIF07XG5cbiAgICBpZiAoc2tpbGwubWV0YWRhdGEucGFyYW1ldGVycyAmJiBza2lsbC5tZXRhZGF0YS5wYXJhbWV0ZXJzLmxlbmd0aCA+IDApIHtcbiAgICAgIGRldGFpbHMucHVzaCgnJywgJyoqUGFyYW1ldGVycyoqOicpO1xuICAgICAgc2tpbGwubWV0YWRhdGEucGFyYW1ldGVycy5mb3JFYWNoKChwOiBhbnkpID0+IHtcbiAgICAgICAgZGV0YWlscy5wdXNoKGAtICR7cC5uYW1lfSAoJHtwLnR5cGV9KTogJHtwLmRlc2NyaXB0aW9ufWApO1xuICAgICAgfSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHtcbiAgICAgIGNvbnRlbnQ6IFt7XG4gICAgICAgIHR5cGU6IFwidGV4dFwiLFxuICAgICAgICB0ZXh0OiBkZXRhaWxzLmpvaW4oJ1xcbicpXG4gICAgICB9XVxuICAgIH07XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TemplateActivationStrategy.d.ts","sourceRoot":"","sources":["../../../src/handlers/strategies/TemplateActivationStrategy.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,6CAA6C,CAAC;AAC9E,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AACrE,OAAO,EAAE,yBAAyB,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAExF,qBAAa,0BAA2B,SAAQ,sBAAuB,YAAW,yBAAyB;IAC7F,OAAO,CAAC,QAAQ,CAAC,eAAe;gBAAf,eAAe,EAAE,eAAe;IAI7D;;;;;;OAMG;IACG,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"TemplateActivationStrategy.d.ts","sourceRoot":"","sources":["../../../src/handlers/strategies/TemplateActivationStrategy.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,6CAA6C,CAAC;AAC9E,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AACrE,OAAO,EAAE,yBAAyB,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAExF,qBAAa,0BAA2B,SAAQ,sBAAuB,YAAW,yBAAyB;IAC7F,OAAO,CAAC,QAAQ,CAAC,eAAe;gBAAf,eAAe,EAAE,eAAe;IAI7D;;;;;;OAMG;IACG,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;IAiBlD;;;OAGG;IACG,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;IASrD;;;OAGG;IACG,iBAAiB,IAAI,OAAO,CAAC,WAAW,CAAC;IAS/C;;;;;;OAMG;IACG,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;CAiC5D"}
|
|
@@ -27,7 +27,12 @@ export class TemplateActivationStrategy extends BaseActivationStrategy {
|
|
|
27
27
|
this.throwNotFoundError(name, 'Template');
|
|
28
28
|
}
|
|
29
29
|
const variables = template.metadata.variables?.map((v) => v.name).join(', ') || 'none';
|
|
30
|
-
|
|
30
|
+
let text = `✅ Template '${name}' ready to use\nVariables: ${variables}\n\nUse 'render_template' to generate content with this template.`;
|
|
31
|
+
const gatekeeperWarning = this.formatGatekeeperValidityWarning(template.metadata);
|
|
32
|
+
if (gatekeeperWarning) {
|
|
33
|
+
text += gatekeeperWarning;
|
|
34
|
+
}
|
|
35
|
+
return this.createSuccessResponse(text);
|
|
31
36
|
}
|
|
32
37
|
/**
|
|
33
38
|
* Deactivate a template (templates are stateless)
|
|
@@ -91,4 +96,4 @@ export class TemplateActivationStrategy extends BaseActivationStrategy {
|
|
|
91
96
|
};
|
|
92
97
|
}
|
|
93
98
|
}
|
|
94
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
99
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVGVtcGxhdGVBY3RpdmF0aW9uU3RyYXRlZ3kuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvaGFuZGxlcnMvc3RyYXRlZ2llcy9UZW1wbGF0ZUFjdGl2YXRpb25TdHJhdGVneS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7O0dBTUc7QUFHSCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUdyRSxNQUFNLE9BQU8sMEJBQTJCLFNBQVEsc0JBQXNCO0lBQ3ZDO0lBQTdCLFlBQTZCLGVBQWdDO1FBQzNELEtBQUssRUFBRSxDQUFDO1FBRG1CLG9CQUFlLEdBQWYsZUFBZSxDQUFpQjtJQUU3RCxDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0gsS0FBSyxDQUFDLFFBQVEsQ0FBQyxJQUFZO1FBQ3pCLGlFQUFpRTtRQUNqRSxNQUFNLFlBQVksR0FBRyxNQUFNLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDdkQsTUFBTSxRQUFRLEdBQUcsTUFBTSxJQUFJLENBQUMsbUJBQW1CLENBQUMsSUFBSSxFQUFFLFlBQVksQ0FBQyxDQUFDO1FBQ3BFLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUNkLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLEVBQUUsVUFBVSxDQUFDLENBQUM7UUFDNUMsQ0FBQztRQUVELE1BQU0sU0FBUyxHQUFHLFFBQVEsQ0FBQyxRQUFRLENBQUMsU0FBUyxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQU0sRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxNQUFNLENBQUM7UUFDNUYsSUFBSSxJQUFJLEdBQUcsZUFBZSxJQUFJLDhCQUE4QixTQUFTLG1FQUFtRSxDQUFDO1FBQ3pJLE1BQU0saUJBQWlCLEdBQUcsSUFBSSxDQUFDLCtCQUErQixDQUFDLFFBQVEsQ0FBQyxRQUE4QyxDQUFDLENBQUM7UUFDeEgsSUFBSSxpQkFBaUIsRUFBRSxDQUFDO1lBQ3RCLElBQUksSUFBSSxpQkFBaUIsQ0FBQztRQUM1QixDQUFDO1FBQ0QsT0FBTyxJQUFJLENBQUMscUJBQXFCLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDMUMsQ0FBQztJQUVEOzs7T0FHRztJQUNILEtBQUssQ0FBQyxVQUFVLENBQUMsS0FBYTtRQUM1QixPQUFPO1lBQ0wsT0FBTyxFQUFFLENBQUM7b0JBQ1IsSUFBSSxFQUFFLE1BQU07b0JBQ1osSUFBSSxFQUFFLG9EQUFvRDtpQkFDM0QsQ0FBQztTQUNILENBQUM7SUFDSixDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsS0FBSyxDQUFDLGlCQUFpQjtRQUNyQixPQUFPO1lBQ0wsT0FBTyxFQUFFLENBQUM7b0JBQ1IsSUFBSSxFQUFFLE1BQU07b0JBQ1osSUFBSSxFQUFFLG1FQUFtRTtpQkFDMUUsQ0FBQztTQUNILENBQUM7SUFDSixDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0gsS0FBSyxDQUFDLGlCQUFpQixDQUFDLElBQVk7UUFDbEMsaUVBQWlFO1FBQ2pFLE1BQU0sWUFBWSxHQUFHLE1BQU0sSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUN2RCxNQUFNLFFBQVEsR0FBRyxNQUFNLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLEVBQUUsWUFBWSxDQUFDLENBQUM7UUFDcEUsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ2QsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksRUFBRSxVQUFVLENBQUMsQ0FBQztRQUM1QyxDQUFDO1FBRUQsTUFBTSxPQUFPLEdBQUc7WUFDZCxRQUFRLFFBQVEsQ0FBQyxRQUFRLENBQUMsSUFBSSxJQUFJO1lBQ2xDLEdBQUcsUUFBUSxDQUFDLFFBQVEsQ0FBQyxXQUFXLEVBQUU7WUFDbEMsRUFBRTtZQUNGLHNCQUF1QixRQUFRLENBQUMsUUFBZ0IsQ0FBQyxhQUFhLElBQUksTUFBTSxFQUFFO1lBQzFFLHVCQUF1QjtZQUN2QixLQUFLO1lBQ0wsUUFBUSxDQUFDLE9BQU87WUFDaEIsS0FBSztTQUNOLENBQUM7UUFFRixJQUFJLFFBQVEsQ0FBQyxRQUFRLENBQUMsU0FBUyxJQUFJLFFBQVEsQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUMxRSxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUUsRUFBRSxnQkFBZ0IsQ0FBQyxDQUFDO1lBQ25DLFFBQVEsQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQU0sRUFBRSxFQUFFO2dCQUM3QyxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLElBQUksS0FBSyxDQUFDLENBQUMsSUFBSSxNQUFNLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDO1lBQzVELENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQztRQUVELE9BQU87WUFDTCxPQUFPLEVBQUUsQ0FBQztvQkFDUixJQUFJLEVBQUUsTUFBTTtvQkFDWixJQUFJLEVBQUUsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUM7aUJBQ3pCLENBQUM7U0FDSCxDQUFDO0lBQ0osQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBUZW1wbGF0ZUFjdGl2YXRpb25TdHJhdGVneSAtIFN0cmF0ZWd5IGZvciB0ZW1wbGF0ZSBlbGVtZW50IGFjdGl2YXRpb25cbiAqXG4gKiBUZW1wbGF0ZXMgYXJlIHN0YXRlbGVzcyBhbmQgYWN0aXZhdGVkIG9uLWRlbWFuZCB3aGVuIHJlbmRlcmluZy5cbiAqIFRoaXMgc3RyYXRlZ3kgcHJvdmlkZXMgaW5mb3JtYXRpb24gYWJvdXQgYXZhaWxhYmxlIHRlbXBsYXRlcyB3aXRob3V0XG4gKiBtYWludGFpbmluZyBhY3RpdmUgc3RhdGUuXG4gKi9cblxuaW1wb3J0IHsgVGVtcGxhdGVNYW5hZ2VyIH0gZnJvbSAnLi4vLi4vZWxlbWVudHMvdGVtcGxhdGVzL1RlbXBsYXRlTWFuYWdlci5qcyc7XG5pbXBvcnQgeyBCYXNlQWN0aXZhdGlvblN0cmF0ZWd5IH0gZnJvbSAnLi9CYXNlQWN0aXZhdGlvblN0cmF0ZWd5LmpzJztcbmltcG9ydCB7IEVsZW1lbnRBY3RpdmF0aW9uU3RyYXRlZ3ksIE1DUFJlc3BvbnNlIH0gZnJvbSAnLi9FbGVtZW50QWN0aXZhdGlvblN0cmF0ZWd5LmpzJztcblxuZXhwb3J0IGNsYXNzIFRlbXBsYXRlQWN0aXZhdGlvblN0cmF0ZWd5IGV4dGVuZHMgQmFzZUFjdGl2YXRpb25TdHJhdGVneSBpbXBsZW1lbnRzIEVsZW1lbnRBY3RpdmF0aW9uU3RyYXRlZ3kge1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IHRlbXBsYXRlTWFuYWdlcjogVGVtcGxhdGVNYW5hZ2VyKSB7XG4gICAgc3VwZXIoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBcIkFjdGl2YXRlXCIgYSB0ZW1wbGF0ZSAoYWN0dWFsbHkganVzdCB2ZXJpZnkgaXQgZXhpc3RzIGFuZCBzaG93IGluZm8pXG4gICAqIEV4dHJhY3RlZCBmcm9tIEVsZW1lbnRDUlVESGFuZGxlci50cyBsaW5lcyAyMDgtMjI4XG4gICAqXG4gICAqIEB0aHJvd3Mge0VsZW1lbnROb3RGb3VuZEVycm9yfSBXaGVuIHRlbXBsYXRlIGRvZXMgbm90IGV4aXN0XG4gICAqIEBzZWUgSXNzdWUgIzI3NSAtIEhhbmRsZXJzIHJldHVybiBzdWNjZXNzPXRydWUgZm9yIG1pc3NpbmcgZWxlbWVudHNcbiAgICovXG4gIGFzeW5jIGFjdGl2YXRlKG5hbWU6IHN0cmluZyk6IFByb21pc2U8TUNQUmVzcG9uc2U+IHtcbiAgICAvLyBVc2UgZmxleGlibGUgZmluZGluZyB0byBzdXBwb3J0IGJvdGggZGlzcGxheSBuYW1lIGFuZCBmaWxlbmFtZVxuICAgIGNvbnN0IGFsbFRlbXBsYXRlcyA9IGF3YWl0IHRoaXMudGVtcGxhdGVNYW5hZ2VyLmxpc3QoKTtcbiAgICBjb25zdCB0ZW1wbGF0ZSA9IGF3YWl0IHRoaXMuZmluZEVsZW1lbnRGbGV4aWJseShuYW1lLCBhbGxUZW1wbGF0ZXMpO1xuICAgIGlmICghdGVtcGxhdGUpIHtcbiAgICAgIHRoaXMudGhyb3dOb3RGb3VuZEVycm9yKG5hbWUsICdUZW1wbGF0ZScpO1xuICAgIH1cblxuICAgIGNvbnN0IHZhcmlhYmxlcyA9IHRlbXBsYXRlLm1ldGFkYXRhLnZhcmlhYmxlcz8ubWFwKCh2OiBhbnkpID0+IHYubmFtZSkuam9pbignLCAnKSB8fCAnbm9uZSc7XG4gICAgbGV0IHRleHQgPSBg4pyFIFRlbXBsYXRlICcke25hbWV9JyByZWFkeSB0byB1c2VcXG5WYXJpYWJsZXM6ICR7dmFyaWFibGVzfVxcblxcblVzZSAncmVuZGVyX3RlbXBsYXRlJyB0byBnZW5lcmF0ZSBjb250ZW50IHdpdGggdGhpcyB0ZW1wbGF0ZS5gO1xuICAgIGNvbnN0IGdhdGVrZWVwZXJXYXJuaW5nID0gdGhpcy5mb3JtYXRHYXRla2VlcGVyVmFsaWRpdHlXYXJuaW5nKHRlbXBsYXRlLm1ldGFkYXRhIGFzIHVua25vd24gYXMgUmVjb3JkPHN0cmluZywgdW5rbm93bj4pO1xuICAgIGlmIChnYXRla2VlcGVyV2FybmluZykge1xuICAgICAgdGV4dCArPSBnYXRla2VlcGVyV2FybmluZztcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuY3JlYXRlU3VjY2Vzc1Jlc3BvbnNlKHRleHQpO1xuICB9XG5cbiAgLyoqXG4gICAqIERlYWN0aXZhdGUgYSB0ZW1wbGF0ZSAodGVtcGxhdGVzIGFyZSBzdGF0ZWxlc3MpXG4gICAqIEV4dHJhY3RlZCBmcm9tIEVsZW1lbnRDUlVESGFuZGxlci50cyBsaW5lcyA1NDMtNTUwXG4gICAqL1xuICBhc3luYyBkZWFjdGl2YXRlKF9uYW1lOiBzdHJpbmcpOiBQcm9taXNlPE1DUFJlc3BvbnNlPiB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGNvbnRlbnQ6IFt7XG4gICAgICAgIHR5cGU6IFwidGV4dFwiLFxuICAgICAgICB0ZXh0OiBcIvCfk50gVGVtcGxhdGVzIGFyZSBzdGF0ZWxlc3MgLSBub3RoaW5nIHRvIGRlYWN0aXZhdGVcIlxuICAgICAgfV1cbiAgICB9O1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCBhY3RpdmUgdGVtcGxhdGVzICh0ZW1wbGF0ZXMgYXJlIHN0YXRlbGVzcylcbiAgICogRXh0cmFjdGVkIGZyb20gRWxlbWVudENSVURIYW5kbGVyLnRzIGxpbmVzIDQxNC00MjFcbiAgICovXG4gIGFzeW5jIGdldEFjdGl2ZUVsZW1lbnRzKCk6IFByb21pc2U8TUNQUmVzcG9uc2U+IHtcbiAgICByZXR1cm4ge1xuICAgICAgY29udGVudDogW3tcbiAgICAgICAgdHlwZTogXCJ0ZXh0XCIsXG4gICAgICAgIHRleHQ6IFwi8J+TnSBUZW1wbGF0ZXMgYXJlIHN0YXRlbGVzcyBhbmQgYWN0aXZhdGVkIG9uLWRlbWFuZCB3aGVuIHJlbmRlcmluZ1wiXG4gICAgICB9XVxuICAgIH07XG4gIH1cblxuICAvKipcbiAgICogR2V0IGRldGFpbGVkIGluZm9ybWF0aW9uIGFib3V0IGEgdGVtcGxhdGVcbiAgICogRXh0cmFjdGVkIGZyb20gRWxlbWVudENSVURIYW5kbGVyLnRzIGxpbmVzIDY5MS03MjhcbiAgICpcbiAgICogQHRocm93cyB7RWxlbWVudE5vdEZvdW5kRXJyb3J9IFdoZW4gdGVtcGxhdGUgZG9lcyBub3QgZXhpc3RcbiAgICogQHNlZSBJc3N1ZSAjMjc1IC0gSGFuZGxlcnMgcmV0dXJuIHN1Y2Nlc3M9dHJ1ZSBmb3IgbWlzc2luZyBlbGVtZW50c1xuICAgKi9cbiAgYXN5bmMgZ2V0RWxlbWVudERldGFpbHMobmFtZTogc3RyaW5nKTogUHJvbWlzZTxNQ1BSZXNwb25zZT4ge1xuICAgIC8vIFVzZSBmbGV4aWJsZSBmaW5kaW5nIHRvIHN1cHBvcnQgYm90aCBkaXNwbGF5IG5hbWUgYW5kIGZpbGVuYW1lXG4gICAgY29uc3QgYWxsVGVtcGxhdGVzID0gYXdhaXQgdGhpcy50ZW1wbGF0ZU1hbmFnZXIubGlzdCgpO1xuICAgIGNvbnN0IHRlbXBsYXRlID0gYXdhaXQgdGhpcy5maW5kRWxlbWVudEZsZXhpYmx5KG5hbWUsIGFsbFRlbXBsYXRlcyk7XG4gICAgaWYgKCF0ZW1wbGF0ZSkge1xuICAgICAgdGhpcy50aHJvd05vdEZvdW5kRXJyb3IobmFtZSwgJ1RlbXBsYXRlJyk7XG4gICAgfVxuXG4gICAgY29uc3QgZGV0YWlscyA9IFtcbiAgICAgIGDwn5OEICoqJHt0ZW1wbGF0ZS5tZXRhZGF0YS5uYW1lfSoqYCxcbiAgICAgIGAke3RlbXBsYXRlLm1ldGFkYXRhLmRlc2NyaXB0aW9ufWAsXG4gICAgICBgYCxcbiAgICAgIGAqKk91dHB1dCBGb3JtYXQqKjogJHsodGVtcGxhdGUubWV0YWRhdGEgYXMgYW55KS5vdXRwdXRfZm9ybWF0IHx8ICd0ZXh0J31gLFxuICAgICAgYCoqVGVtcGxhdGUgQ29udGVudCoqOmAsXG4gICAgICAnYGBgJyxcbiAgICAgIHRlbXBsYXRlLmNvbnRlbnQsXG4gICAgICAnYGBgJ1xuICAgIF07XG5cbiAgICBpZiAodGVtcGxhdGUubWV0YWRhdGEudmFyaWFibGVzICYmIHRlbXBsYXRlLm1ldGFkYXRhLnZhcmlhYmxlcy5sZW5ndGggPiAwKSB7XG4gICAgICBkZXRhaWxzLnB1c2goJycsICcqKlZhcmlhYmxlcyoqOicpO1xuICAgICAgdGVtcGxhdGUubWV0YWRhdGEudmFyaWFibGVzLmZvckVhY2goKHY6IGFueSkgPT4ge1xuICAgICAgICBkZXRhaWxzLnB1c2goYC0gJHt2Lm5hbWV9ICgke3YudHlwZX0pOiAke3YuZGVzY3JpcHRpb259YCk7XG4gICAgICB9KTtcbiAgICB9XG5cbiAgICByZXR1cm4ge1xuICAgICAgY29udGVudDogW3tcbiAgICAgICAgdHlwZTogXCJ0ZXh0XCIsXG4gICAgICAgIHRleHQ6IGRldGFpbHMuam9pbignXFxuJylcbiAgICAgIH1dXG4gICAgfTtcbiAgfVxufVxuIl19
|
|
@@ -214,7 +214,7 @@ export class PersonaElement extends BaseElement {
|
|
|
214
214
|
revenue_split: metadata.revenue_split,
|
|
215
215
|
license: metadata.license,
|
|
216
216
|
created_date: metadata.created_date,
|
|
217
|
-
gatekeeper: sanitizeGatekeeperPolicy(metadata.gatekeeper, metadata.name || 'unknown', 'persona'),
|
|
217
|
+
gatekeeper: sanitizeGatekeeperPolicy(metadata.gatekeeper, metadata.name || 'unknown', 'persona', metadata),
|
|
218
218
|
};
|
|
219
219
|
// Dual-field loading: detect v2 format (instructions in YAML frontmatter)
|
|
220
220
|
const bodyText = parsed.content.trim();
|
|
@@ -271,4 +271,4 @@ export class PersonaElement extends BaseElement {
|
|
|
271
271
|
await super.deactivate?.();
|
|
272
272
|
}
|
|
273
273
|
}
|
|
274
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUGVyc29uYUVsZW1lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcGVyc29uYS9QZXJzb25hRWxlbWVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7O0dBR0c7QUFFSCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFFekQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBRXBELE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUM1QyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUVuRSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxpREFBaUQsQ0FBQztBQWtCM0YsTUFBTSxPQUFPLGNBQWUsU0FBUSxXQUFXO0lBQzdDLHFGQUFxRjtJQUM5RSxRQUFRLENBQVM7SUFHeEI7O09BRUc7SUFDSCxJQUFJLFNBQVM7UUFDWCxPQUFPLElBQUksQ0FBQyxFQUFFLENBQUM7SUFDakIsQ0FBQztJQUVELElBQUksU0FBUyxDQUFDLEtBQWE7UUFDekIsSUFBSSxDQUFDLEVBQUUsR0FBRyxLQUFLLENBQUM7SUFDbEIsQ0FBQztJQUVELFlBQVksUUFBeUMsRUFBRSxlQUF1QixFQUFFLEVBQUUsV0FBbUIsRUFBRSxFQUFFLGVBQWdDLEVBQUUsVUFBa0IsRUFBRTtRQUM3SixLQUFLLENBQUMsV0FBVyxDQUFDLE9BQU8sRUFBRSxRQUFRLEVBQUUsZUFBZSxDQUFDLENBQUM7UUFDdEQsSUFBSSxDQUFDLFlBQVksR0FBRyxZQUFZLENBQUM7UUFDakMsSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7UUFDdkIsSUFBSSxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUM7UUFFekIsbUNBQW1DO1FBQ25DLElBQUksQ0FBQyxRQUFRLEdBQUc7WUFDZCxHQUFHLElBQUksQ0FBQyxRQUFRO1lBQ2hCLFFBQVEsRUFBRSxRQUFRLENBQUMsUUFBUSxJQUFJLFFBQVEsQ0FBQyxRQUFRLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsU0FBUztZQUMzRixRQUFRLEVBQUUsUUFBUSxDQUFDLFFBQVEsSUFBSSxVQUFVO1lBQ3pDLFVBQVUsRUFBRSxRQUFRLENBQUMsVUFBVSxJQUFJLEtBQUs7WUFDeEMsYUFBYSxFQUFFLFFBQVEsQ0FBQyxhQUFhLElBQUksRUFBRTtZQUMzQyxZQUFZLEVBQUUsUUFBUSxDQUFDLFlBQVksSUFBSSxLQUFLO1lBQzVDLGlCQUFpQixFQUFFLFFBQVEsQ0FBQyxpQkFBaUIsSUFBSSxPQUFPO1lBQ3hELEtBQUssRUFBRSxRQUFRLENBQUMsS0FBSyxJQUFJLE1BQU07WUFDL0IsYUFBYSxFQUFFLFFBQVEsQ0FBQyxhQUFhLEVBQUcscUNBQXFDO1lBQzdFLE9BQU8sRUFBRSxRQUFRLENBQUMsT0FBTyxJQUFJLGNBQWM7WUFDM0MsWUFBWSxFQUFFLFFBQVEsQ0FBQyxZQUFZLElBQUksSUFBSSxJQUFJLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO1NBQzlFLENBQUM7SUFDSixDQUFDO0lBRUQ7O09BRUc7SUFDSCxNQUFNLENBQUMsVUFBVSxDQUFDLGFBQWtHLEVBQUUsZUFBZ0M7UUFDcEosTUFBTSxRQUFRLEdBQW9DO1lBQ2hELElBQUksRUFBRSxhQUFhLENBQUMsUUFBUSxDQUFDLElBQUk7WUFDakMsV0FBVyxFQUFFLGFBQWEsQ0FBQyxRQUFRLENBQUMsV0FBVztZQUMvQyxNQUFNLEVBQUUsYUFBYSxDQUFDLFFBQVEsQ0FBQyxNQUFNO1lBQ3JDLE9BQU8sRUFBRSxhQUFhLENBQUMsUUFBUSxDQUFDLE9BQU87WUFDdkMsUUFBUSxFQUFFLGFBQWEsQ0FBQyxRQUFRLENBQUMsUUFBUTtZQUN6QyxRQUFRLEVBQUUsYUFBYSxDQUFDLFFBQVEsQ0FBQyxRQUFRO1lBQ3pDLFVBQVUsRUFBRSxhQUFhLENBQUMsUUFBUSxDQUFDLFVBQStDO1lBQ2xGLGFBQWEsRUFBRSxhQUFhLENBQUMsUUFBUSxDQUFDLGFBQWE7WUFDbkQsWUFBWSxFQUFFLGFBQWEsQ0FBQyxRQUFRLENBQUMsWUFBWTtZQUNqRCxpQkFBaUIsRUFBRSxhQUFhLENBQUMsUUFBUSxDQUFDLGlCQUEwRTtZQUNwSCxLQUFLLEVBQUUsYUFBYSxDQUFDLFFBQVEsQ0FBQyxLQUFLO1lBQ25DLGFBQWEsRUFBRSxhQUFhLENBQUMsUUFBUSxDQUFDLGFBQWE7WUFDbkQsT0FBTyxFQUFFLGFBQWEsQ0FBQyxRQUFRLENBQUMsT0FBTztZQUN2QyxZQUFZLEVBQUUsYUFBYSxDQUFDLFFBQVEsQ0FBQyxZQUFZO1NBQ2xELENBQUM7UUFFRixtRkFBbUY7UUFDbkYsTUFBTSxPQUFPLEdBQUcsSUFBSSxjQUFjLENBQUMsUUFBUSxFQUFFLGFBQWEsQ0FBQyxPQUFPLEVBQUUsYUFBYSxDQUFDLFFBQVEsRUFBRSxlQUFlLENBQUMsQ0FBQztRQUU3RyxrREFBa0Q7UUFDbEQsT0FBTyxDQUFDLEVBQUUsR0FBRyxhQUFhLENBQUMsU0FBUyxDQUFDO1FBRXJDLE9BQU8sT0FBTyxDQUFDO0lBQ2pCLENBQUM7SUFFRDs7T0FFRztJQUNILFFBQVE7UUFDTixNQUFNLGNBQWMsR0FBb0I7WUFDdEMsSUFBSSxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSTtZQUN4QixXQUFXLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXO1lBQ3RDLFNBQVMsRUFBRSxJQUFJLENBQUMsRUFBRTtZQUNsQixNQUFNLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNO1lBQzVCLFFBQVEsRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVE7WUFDaEMsT0FBTyxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTztZQUM5QixRQUFRLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRO1lBQ2hDLFVBQVUsRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLFVBQVU7WUFDcEMsYUFBYSxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsYUFBYTtZQUMxQyxZQUFZLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxZQUFZO1lBQ3hDLGlCQUFpQixFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsaUJBQWlCO1lBQ2xELEtBQUssRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUs7WUFDMUIsYUFBYSxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsYUFBYTtZQUMxQyxPQUFPLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPO1lBQzlCLFlBQVksRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLFlBQVk7U0FDekMsQ0FBQztRQUVGLE9BQU87WUFDTCxRQUFRLEVBQUUsY0FBYztZQUN4QixPQUFPLEVBQUUsSUFBSSxDQUFDLFlBQVksSUFBSSxJQUFJLENBQUMsT0FBTztZQUMxQyxRQUFRLEVBQUUsSUFBSSxDQUFDLFFBQVE7WUFDdkIsU0FBUyxFQUFFLElBQUksQ0FBQyxFQUFFO1NBQ25CLENBQUM7SUFDSixDQUFDO0lBRUQ7O09BRUc7SUFDYSxRQUFRO1FBQ3RCLE1BQU0sTUFBTSxHQUFHLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUVoQyxtQ0FBbUM7UUFDbkMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNO1lBQUUsTUFBTSxDQUFDLE1BQU0sR0FBRyxFQUFFLENBQUM7UUFDdkMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRO1lBQUUsTUFBTSxDQUFDLFFBQVEsR0FBRyxFQUFFLENBQUM7UUFFM0Msd0NBQXdDO1FBRXhDLGdFQUFnRTtRQUNoRSxNQUFNLHFCQUFxQixHQUFHLElBQUksQ0FBQyxZQUFZLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQztRQUNoRSxJQUFJLENBQUMscUJBQXFCLElBQUkscUJBQXFCLENBQUMsSUFBSSxFQUFFLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRSxDQUFDO1lBQ3hFLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDO2dCQUNqQixLQUFLLEVBQUUsY0FBYztnQkFDckIsT0FBTyxFQUFFLHNDQUFzQztnQkFDL0MsSUFBSSxFQUFFLG9CQUFvQjthQUMzQixDQUFDLENBQUM7UUFDTCxDQUFDO1FBRUQsMkNBQTJDO1FBQzNDLElBQUkscUJBQXFCLElBQUkscUJBQXFCLENBQUMsTUFBTSxHQUFHLEtBQUssRUFBRSxDQUFDO1lBQ2xFLE1BQU0sQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDO2dCQUNuQixLQUFLLEVBQUUsY0FBYztnQkFDckIsT0FBTyxFQUFFLGlFQUFpRTtnQkFDMUUsUUFBUSxFQUFFLFFBQVE7YUFDbkIsQ0FBQyxDQUFDO1FBQ0wsQ0FBQztRQUVELGdDQUFnQztRQUNoQyxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLE1BQU0sR0FBRyxFQUFFLEVBQUUsQ0FBQztZQUNqRSxNQUFNLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQztnQkFDbkIsS0FBSyxFQUFFLFVBQVU7Z0JBQ2pCLE9BQU8sRUFBRSw4Q0FBOEM7Z0JBQ3ZELFFBQVEsRUFBRSxRQUFRO2FBQ25CLENBQUMsQ0FBQztRQUNMLENBQUM7UUFFRCxnQ0FBZ0M7UUFDaEMsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLFVBQVUsS0FBSyxLQUFLLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLGFBQWEsRUFBRSxRQUFRLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztZQUMxRixNQUFNLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQztnQkFDbkIsS0FBSyxFQUFFLGVBQWU7Z0JBQ3RCLE9BQU8sRUFBRSxxREFBcUQ7Z0JBQzlELFFBQVEsRUFBRSxLQUFLO2FBQ2hCLENBQUMsQ0FBQztRQUNMLENBQUM7UUFFRCw4Q0FBOEM7UUFDOUMsTUFBTSxDQUFDLEtBQUssR0FBRyxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsTUFBTSxJQUFJLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUVsRCxPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDO0lBRUQ7Ozs7T0FJRztJQUNnQixVQUFVO1FBQzNCLE9BQU8sSUFBSSxDQUFDLFlBQVksSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDO0lBQzNDLENBQUM7SUFFRDs7O09BR0c7SUFDYSxTQUFTO1FBQ3ZCLDBCQUEwQjtRQUMxQixNQUFNLGdCQUFnQixHQUFHLElBQUksQ0FBQyxRQUFRLENBQUM7UUFFdkMsc0RBQXNEO1FBQ3RELHNEQUFzRDtRQUN0RCxJQUFJLENBQUMsUUFBUSxHQUFHO1lBQ2QsR0FBRyxnQkFBZ0I7WUFDbkIsU0FBUyxFQUFFLElBQUksQ0FBQyxFQUFFLEVBQUcsbURBQW1EO1lBQ3hFLFFBQVEsRUFBRyxnQkFBMkMsQ0FBQyxRQUFRO1lBQy9ELFFBQVEsRUFBRyxnQkFBMkMsQ0FBQyxRQUFRO1lBQy9ELFVBQVUsRUFBRyxnQkFBMkMsQ0FBQyxVQUFVO1lBQ25FLGFBQWEsRUFBRyxnQkFBMkMsQ0FBQyxhQUFhO1lBQ3pFLFlBQVksRUFBRyxnQkFBMkMsQ0FBQyxZQUFZO1lBQ3ZFLGlCQUFpQixFQUFHLGdCQUEyQyxDQUFDLGlCQUFpQjtZQUNqRixLQUFLLEVBQUcsZ0JBQTJDLENBQUMsS0FBSztZQUN6RCxhQUFhLEVBQUcsZ0JBQTJDLENBQUMsYUFBYTtZQUN6RSxPQUFPLEVBQUcsZ0JBQTJDLENBQUMsT0FBTztZQUM3RCxZQUFZLEVBQUcsZ0JBQTJDLENBQUMsWUFBWTtTQUN4RSxDQUFDO1FBRUYsa0RBQWtEO1FBQ2xELE1BQU0sTUFBTSxHQUFHLEtBQUssQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUVqQyw0QkFBNEI7UUFDNUIsSUFBSSxDQUFDLFFBQVEsR0FBRyxnQkFBZ0IsQ0FBQztRQUVqQyxPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDO0lBRUQ7O09BRUc7SUFDYSxlQUFlO1FBQzdCLGtDQUFrQztRQUNsQyxNQUFNLElBQUksR0FBRztZQUNYLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsZUFBZSxFQUFFLENBQUM7WUFDdEMsWUFBWSxFQUFFLElBQUksQ0FBQyxZQUFZO1lBQy9CLE9BQU8sRUFBRSxJQUFJLENBQUMsT0FBTztTQUN0QixDQUFDO1FBQ0YsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDdkMsQ0FBQztJQUVEOztPQUVHO0lBQ2EsV0FBVyxDQUFDLElBQVk7UUFDdEMsSUFBSSxDQUFDO1lBQ0gsTUFBTSxNQUFNLEdBQUcsZ0JBQWdCLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ2pELE1BQU0sUUFBUSxHQUFHLE1BQU0sQ0FBQyxJQUF1QixDQUFDO1lBRWhELGtCQUFrQjtZQUNsQixJQUFJLENBQUMsUUFBUSxHQUFHO2dCQUNkLEdBQUcsSUFBSSxDQUFDLFFBQVE7Z0JBQ2hCLElBQUksRUFBRSxRQUFRLENBQUMsSUFBSTtnQkFDbkIsV0FBVyxFQUFFLFFBQVEsQ0FBQyxXQUFXO2dCQUNqQyxNQUFNLEVBQUUsUUFBUSxDQUFDLE1BQU07Z0JBQ3ZCLE9BQU8sRUFBRSxRQUFRLENBQUMsT0FBTztnQkFDekIsUUFBUSxFQUFFLFFBQVEsQ0FBQyxRQUFRO2dCQUMzQixRQUFRLEVBQUUsUUFBUSxDQUFDLFFBQVE7Z0JBQzNCLFVBQVUsRUFBRSxRQUFRLENBQUMsVUFBK0M7Z0JBQ3BFLGFBQWEsRUFBRSxRQUFRLENBQUMsYUFBYTtnQkFDckMsWUFBWSxFQUFFLFFBQVEsQ0FBQyxZQUFZO2dCQUNuQyxpQkFBaUIsRUFBRSxRQUFRLENBQUMsaUJBQTBFO2dCQUN0RyxLQUFLLEVBQUUsUUFBUSxDQUFDLEtBQUs7Z0JBQ3JCLGFBQWEsRUFBRSxRQUFRLENBQUMsYUFBYTtnQkFDckMsT0FBTyxFQUFFLFFBQVEsQ0FBQyxPQUFPO2dCQUN6QixZQUFZLEVBQUUsUUFBUSxDQUFDLFlBQVk7Z0JBQ25DLFVBQVUsRUFBRSx3QkFBd0IsQ0FBRSxRQUFnQixDQUFDLFVBQVUsRUFBRSxRQUFRLENBQUMsSUFBSSxJQUFJLFNBQVMsRUFBRSxTQUFTLENBQUM7YUFDMUcsQ0FBQztZQUVGLDBFQUEwRTtZQUMxRSxNQUFNLFFBQVEsR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ3ZDLElBQUksUUFBUSxDQUFDLFlBQVksRUFBRSxDQUFDO2dCQUMxQiwrRUFBK0U7Z0JBQy9FLElBQUksQ0FBQyxZQUFZLEdBQUcsUUFBUSxDQUFDLFlBQVksQ0FBQztnQkFDMUMsSUFBSSxDQUFDLE9BQU8sR0FBRyxRQUFRLENBQUM7WUFDMUIsQ0FBQztpQkFBTSxDQUFDO2dCQUNOLDBFQUEwRTtnQkFDMUUsSUFBSSxDQUFDLFlBQVksR0FBRyxRQUFRLENBQUM7Z0JBQzdCLElBQUksQ0FBQyxPQUFPLEdBQUcsRUFBRSxDQUFDO1lBQ3BCLENBQUM7WUFFRCx3QkFBd0I7WUFDeEIsSUFBSSxRQUFRLENBQUMsU0FBUyxFQUFFLENBQUM7Z0JBQ3ZCLElBQUksQ0FBQyxFQUFFLEdBQUcsUUFBUSxDQUFDLFNBQVMsQ0FBQztZQUMvQixDQUFDO1lBRUQsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUM7WUFDckIsTUFBTSxDQUFDLEtBQUssQ0FBQyx5QkFBeUIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBRTlELENBQUM7UUFBQyxPQUFPLEtBQUssRUFBRSxDQUFDO1lBQ2YsdURBQXVEO1lBQ3ZELE1BQU0sWUFBWSxHQUFHLEtBQUssWUFBWSxLQUFLLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUM1RSxNQUFNLFVBQVUsR0FBRyxLQUFLLFlBQVksS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7WUFFcEUsTUFBTSxDQUFDLEtBQUssQ0FBQywrQkFBK0IsRUFBRTtnQkFDNUMsS0FBSyxFQUFFLFlBQVk7Z0JBQ25CLEtBQUssRUFBRSxVQUFVO2dCQUNqQixJQUFJLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUMsa0NBQWtDO2FBQ2hFLENBQUMsQ0FBQztZQUVILHdDQUF3QztZQUN4QyxNQUFNLGdCQUFnQixHQUFHLElBQUksS0FBSyxDQUFDLDBDQUEwQyxZQUFZLEVBQUUsQ0FBQyxDQUFDO1lBQzdGLElBQUksS0FBSyxZQUFZLEtBQUssRUFBRSxDQUFDO2dCQUMzQixnQkFBZ0IsQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1lBQ2pDLENBQUM7WUFDRCxNQUFNLGdCQUFnQixDQUFDO1FBQ3pCLENBQUM7SUFDSCxDQUFDO0lBRUQ7O09BRUc7SUFDYSxLQUFLLENBQUMsUUFBUTtRQUM1QixNQUFNLENBQUMsSUFBSSxDQUFDLHVCQUF1QixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksS0FBSyxJQUFJLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQztRQUV0RSx5REFBeUQ7UUFDekQsbURBQW1EO1FBRW5ELE1BQU0sS0FBSyxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQUM7SUFDM0IsQ0FBQztJQUVEOztPQUVHO0lBQ2EsS0FBSyxDQUFDLFVBQVU7UUFDOUIsTUFBTSxDQUFDLElBQUksQ0FBQyx5QkFBeUIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEtBQUssSUFBSSxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFFeEUsMkRBQTJEO1FBQzNELG1EQUFtRDtRQUVuRCxNQUFNLEtBQUssQ0FBQyxVQUFVLEVBQUUsRUFBRSxDQUFDO0lBQzdCLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogUGVyc29uYSBlbGVtZW50IGNsYXNzIGltcGxlbWVudGluZyBJRWxlbWVudCBpbnRlcmZhY2UuXG4gKiBSZXByZXNlbnRzIGEgYmVoYXZpb3JhbCBwcm9maWxlIHRoYXQgZGVmaW5lcyBBSSBwZXJzb25hbGl0eSBhbmQgaW50ZXJhY3Rpb24gc3R5bGUuXG4gKi9cblxuaW1wb3J0IHsgQmFzZUVsZW1lbnQgfSBmcm9tICcuLi9lbGVtZW50cy9CYXNlRWxlbWVudC5qcyc7XG5pbXBvcnQgeyBJRWxlbWVudCwgSUVsZW1lbnRNZXRhZGF0YSwgRWxlbWVudFZhbGlkYXRpb25SZXN1bHQgfSBmcm9tICcuLi90eXBlcy9lbGVtZW50cy9pbmRleC5qcyc7XG5pbXBvcnQgeyBFbGVtZW50VHlwZSB9IGZyb20gJy4uL3BvcnRmb2xpby90eXBlcy5qcyc7XG5pbXBvcnQgeyBQZXJzb25hTWV0YWRhdGEgfSBmcm9tICcuLi90eXBlcy9wZXJzb25hLmpzJztcbmltcG9ydCB7IGxvZ2dlciB9IGZyb20gJy4uL3V0aWxzL2xvZ2dlci5qcyc7XG5pbXBvcnQgeyBTZWN1cmVZYW1sUGFyc2VyIH0gZnJvbSAnLi4vc2VjdXJpdHkvc2VjdXJlWWFtbFBhcnNlci5qcyc7XG5pbXBvcnQgeyBNZXRhZGF0YVNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9NZXRhZGF0YVNlcnZpY2UuanMnO1xuaW1wb3J0IHsgc2FuaXRpemVHYXRla2VlcGVyUG9saWN5IH0gZnJvbSAnLi4vaGFuZGxlcnMvbWNwLWFxbC9wb2xpY2llcy9FbGVtZW50UG9saWNpZXMuanMnO1xuXG4vLyBFeHRlbmQgSUVsZW1lbnRNZXRhZGF0YSB3aXRoIHBlcnNvbmEtc3BlY2lmaWMgZmllbGRzXG5leHBvcnQgaW50ZXJmYWNlIFBlcnNvbmFFbGVtZW50TWV0YWRhdGEgZXh0ZW5kcyBJRWxlbWVudE1ldGFkYXRhIHtcbiAgdHlwZT86IEVsZW1lbnRUeXBlLlBFUlNPTkE7ICAgICAgICAgICAgICAgLy8gUGVyc29uYSB0eXBlIGNvbnN0cmFpbnQgZm9yIHR5cGUgc2FmZXR5XG4gIHVuaXF1ZV9pZD86IHN0cmluZzsgIC8vIExlZ2FjeSBJRCBmb3IgYmFja3dhcmQgY29tcGF0aWJpbGl0eVxuICB0cmlnZ2Vycz86IHN0cmluZ1tdO1xuICBjYXRlZ29yeT86IHN0cmluZztcbiAgYWdlX3JhdGluZz86ICdhbGwnIHwgJzEzKycgfCAnMTgrJztcbiAgY29udGVudF9mbGFncz86IHN0cmluZ1tdO1xuICBhaV9nZW5lcmF0ZWQ/OiBib29sZWFuO1xuICBnZW5lcmF0aW9uX21ldGhvZD86ICdodW1hbicgfCAnQ2hhdEdQVCcgfCAnQ2xhdWRlJyB8ICdoeWJyaWQnO1xuICBwcmljZT86IHN0cmluZztcbiAgcmV2ZW51ZV9zcGxpdD86IHN0cmluZztcbiAgbGljZW5zZT86IHN0cmluZztcbiAgY3JlYXRlZF9kYXRlPzogc3RyaW5nO1xufVxuXG5leHBvcnQgY2xhc3MgUGVyc29uYUVsZW1lbnQgZXh0ZW5kcyBCYXNlRWxlbWVudCBpbXBsZW1lbnRzIElFbGVtZW50IHtcbiAgLy8gaW5zdHJ1Y3Rpb25zIGFuZCBjb250ZW50IGluaGVyaXRlZCBmcm9tIEJhc2VFbGVtZW50ICh2Mi4wIGR1YWwtZmllbGQgYXJjaGl0ZWN0dXJlKVxuICBwdWJsaWMgZmlsZW5hbWU6IHN0cmluZztcbiAgcHVibGljIGRlY2xhcmUgbWV0YWRhdGE6IFBlcnNvbmFFbGVtZW50TWV0YWRhdGE7XG5cbiAgLyoqXG4gICAqIEJhY2t3YXJkIGNvbXBhdGliaWxpdHk6IHByb3ZpZGUgdW5pcXVlX2lkIGFzIGFuIGFsaWFzIGZvciBpZFxuICAgKi9cbiAgZ2V0IHVuaXF1ZV9pZCgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmlkO1xuICB9XG5cbiAgc2V0IHVuaXF1ZV9pZCh2YWx1ZTogc3RyaW5nKSB7XG4gICAgdGhpcy5pZCA9IHZhbHVlO1xuICB9XG5cbiAgY29uc3RydWN0b3IobWV0YWRhdGE6IFBhcnRpYWw8UGVyc29uYUVsZW1lbnRNZXRhZGF0YT4sIGluc3RydWN0aW9uczogc3RyaW5nID0gJycsIGZpbGVuYW1lOiBzdHJpbmcgPSAnJywgbWV0YWRhdGFTZXJ2aWNlOiBNZXRhZGF0YVNlcnZpY2UsIGNvbnRlbnQ6IHN0cmluZyA9ICcnKSB7XG4gICAgc3VwZXIoRWxlbWVudFR5cGUuUEVSU09OQSwgbWV0YWRhdGEsIG1ldGFkYXRhU2VydmljZSk7XG4gICAgdGhpcy5pbnN0cnVjdGlvbnMgPSBpbnN0cnVjdGlvbnM7XG4gICAgdGhpcy5jb250ZW50ID0gY29udGVudDtcbiAgICB0aGlzLmZpbGVuYW1lID0gZmlsZW5hbWU7XG4gICAgXG4gICAgLy8gRW5zdXJlIHBlcnNvbmEtc3BlY2lmaWMgbWV0YWRhdGFcbiAgICB0aGlzLm1ldGFkYXRhID0ge1xuICAgICAgLi4udGhpcy5tZXRhZGF0YSxcbiAgICAgIHRyaWdnZXJzOiBtZXRhZGF0YS50cmlnZ2VycyAmJiBtZXRhZGF0YS50cmlnZ2Vycy5sZW5ndGggPiAwID8gbWV0YWRhdGEudHJpZ2dlcnMgOiB1bmRlZmluZWQsXG4gICAgICBjYXRlZ29yeTogbWV0YWRhdGEuY2F0ZWdvcnkgfHwgJ3BlcnNvbmFsJyxcbiAgICAgIGFnZV9yYXRpbmc6IG1ldGFkYXRhLmFnZV9yYXRpbmcgfHwgJ2FsbCcsXG4gICAgICBjb250ZW50X2ZsYWdzOiBtZXRhZGF0YS5jb250ZW50X2ZsYWdzIHx8IFtdLFxuICAgICAgYWlfZ2VuZXJhdGVkOiBtZXRhZGF0YS5haV9nZW5lcmF0ZWQgfHwgZmFsc2UsXG4gICAgICBnZW5lcmF0aW9uX21ldGhvZDogbWV0YWRhdGEuZ2VuZXJhdGlvbl9tZXRob2QgfHwgJ2h1bWFuJyxcbiAgICAgIHByaWNlOiBtZXRhZGF0YS5wcmljZSB8fCAnZnJlZScsXG4gICAgICByZXZlbnVlX3NwbGl0OiBtZXRhZGF0YS5yZXZlbnVlX3NwbGl0LCAgLy8gUHJlc2VydmUgcmV2ZW51ZV9zcGxpdCBpZiBwcm92aWRlZFxuICAgICAgbGljZW5zZTogbWV0YWRhdGEubGljZW5zZSB8fCAnQ0MtQlktU0EtNC4wJyxcbiAgICAgIGNyZWF0ZWRfZGF0ZTogbWV0YWRhdGEuY3JlYXRlZF9kYXRlIHx8IG5ldyBEYXRlKCkudG9JU09TdHJpbmcoKS5zcGxpdCgnVCcpWzBdXG4gICAgfTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGUgUGVyc29uYUVsZW1lbnQgZnJvbSBsZWdhY3kgUGVyc29uYSBpbnRlcmZhY2VcbiAgICovXG4gIHN0YXRpYyBmcm9tTGVnYWN5KGxlZ2FjeVBlcnNvbmE6IHsgbWV0YWRhdGE6IFBlcnNvbmFNZXRhZGF0YTsgY29udGVudDogc3RyaW5nOyBmaWxlbmFtZTogc3RyaW5nOyB1bmlxdWVfaWQ6IHN0cmluZyB9LCBtZXRhZGF0YVNlcnZpY2U6IE1ldGFkYXRhU2VydmljZSk6IFBlcnNvbmFFbGVtZW50IHtcbiAgICBjb25zdCBtZXRhZGF0YTogUGFydGlhbDxQZXJzb25hRWxlbWVudE1ldGFkYXRhPiA9IHtcbiAgICAgIG5hbWU6IGxlZ2FjeVBlcnNvbmEubWV0YWRhdGEubmFtZSxcbiAgICAgIGRlc2NyaXB0aW9uOiBsZWdhY3lQZXJzb25hLm1ldGFkYXRhLmRlc2NyaXB0aW9uLFxuICAgICAgYXV0aG9yOiBsZWdhY3lQZXJzb25hLm1ldGFkYXRhLmF1dGhvcixcbiAgICAgIHZlcnNpb246IGxlZ2FjeVBlcnNvbmEubWV0YWRhdGEudmVyc2lvbixcbiAgICAgIHRyaWdnZXJzOiBsZWdhY3lQZXJzb25hLm1ldGFkYXRhLnRyaWdnZXJzLFxuICAgICAgY2F0ZWdvcnk6IGxlZ2FjeVBlcnNvbmEubWV0YWRhdGEuY2F0ZWdvcnksXG4gICAgICBhZ2VfcmF0aW5nOiBsZWdhY3lQZXJzb25hLm1ldGFkYXRhLmFnZV9yYXRpbmcgYXMgXCJhbGxcIiB8IFwiMTMrXCIgfCBcIjE4K1wiIHwgdW5kZWZpbmVkLFxuICAgICAgY29udGVudF9mbGFnczogbGVnYWN5UGVyc29uYS5tZXRhZGF0YS5jb250ZW50X2ZsYWdzLFxuICAgICAgYWlfZ2VuZXJhdGVkOiBsZWdhY3lQZXJzb25hLm1ldGFkYXRhLmFpX2dlbmVyYXRlZCxcbiAgICAgIGdlbmVyYXRpb25fbWV0aG9kOiBsZWdhY3lQZXJzb25hLm1ldGFkYXRhLmdlbmVyYXRpb25fbWV0aG9kIGFzIFwiaHVtYW5cIiB8IFwiQ2hhdEdQVFwiIHwgXCJDbGF1ZGVcIiB8IFwiaHlicmlkXCIgfCB1bmRlZmluZWQsXG4gICAgICBwcmljZTogbGVnYWN5UGVyc29uYS5tZXRhZGF0YS5wcmljZSxcbiAgICAgIHJldmVudWVfc3BsaXQ6IGxlZ2FjeVBlcnNvbmEubWV0YWRhdGEucmV2ZW51ZV9zcGxpdCxcbiAgICAgIGxpY2Vuc2U6IGxlZ2FjeVBlcnNvbmEubWV0YWRhdGEubGljZW5zZSxcbiAgICAgIGNyZWF0ZWRfZGF0ZTogbGVnYWN5UGVyc29uYS5tZXRhZGF0YS5jcmVhdGVkX2RhdGVcbiAgICB9O1xuXG4gICAgLy8gTGVnYWN5IHBlcnNvbmFzOiBib2R5IGNvbnRlbnQgbWFwcyB0byBpbnN0cnVjdGlvbnMgKGl0IElTIGJlaGF2aW9yYWwgZGlyZWN0aXZlcylcbiAgICBjb25zdCBwZXJzb25hID0gbmV3IFBlcnNvbmFFbGVtZW50KG1ldGFkYXRhLCBsZWdhY3lQZXJzb25hLmNvbnRlbnQsIGxlZ2FjeVBlcnNvbmEuZmlsZW5hbWUsIG1ldGFkYXRhU2VydmljZSk7XG5cbiAgICAvLyBQcmVzZXJ2ZSB0aGUgbGVnYWN5IHVuaXF1ZV9pZCBhcyB0aGUgZWxlbWVudCBpZFxuICAgIHBlcnNvbmEuaWQgPSBsZWdhY3lQZXJzb25hLnVuaXF1ZV9pZDtcblxuICAgIHJldHVybiBwZXJzb25hO1xuICB9XG5cbiAgLyoqXG4gICAqIENvbnZlcnQgdG8gbGVnYWN5IFBlcnNvbmEgaW50ZXJmYWNlIGZvciBiYWNrd2FyZCBjb21wYXRpYmlsaXR5XG4gICAqL1xuICB0b0xlZ2FjeSgpOiB7IG1ldGFkYXRhOiBQZXJzb25hTWV0YWRhdGE7IGNvbnRlbnQ6IHN0cmluZzsgZmlsZW5hbWU6IHN0cmluZzsgdW5pcXVlX2lkOiBzdHJpbmcgfSB7XG4gICAgY29uc3QgbGVnYWN5TWV0YWRhdGE6IFBlcnNvbmFNZXRhZGF0YSA9IHtcbiAgICAgIG5hbWU6IHRoaXMubWV0YWRhdGEubmFtZSxcbiAgICAgIGRlc2NyaXB0aW9uOiB0aGlzLm1ldGFkYXRhLmRlc2NyaXB0aW9uLFxuICAgICAgdW5pcXVlX2lkOiB0aGlzLmlkLFxuICAgICAgYXV0aG9yOiB0aGlzLm1ldGFkYXRhLmF1dGhvcixcbiAgICAgIHRyaWdnZXJzOiB0aGlzLm1ldGFkYXRhLnRyaWdnZXJzLFxuICAgICAgdmVyc2lvbjogdGhpcy5tZXRhZGF0YS52ZXJzaW9uLFxuICAgICAgY2F0ZWdvcnk6IHRoaXMubWV0YWRhdGEuY2F0ZWdvcnksXG4gICAgICBhZ2VfcmF0aW5nOiB0aGlzLm1ldGFkYXRhLmFnZV9yYXRpbmcsXG4gICAgICBjb250ZW50X2ZsYWdzOiB0aGlzLm1ldGFkYXRhLmNvbnRlbnRfZmxhZ3MsXG4gICAgICBhaV9nZW5lcmF0ZWQ6IHRoaXMubWV0YWRhdGEuYWlfZ2VuZXJhdGVkLFxuICAgICAgZ2VuZXJhdGlvbl9tZXRob2Q6IHRoaXMubWV0YWRhdGEuZ2VuZXJhdGlvbl9tZXRob2QsXG4gICAgICBwcmljZTogdGhpcy5tZXRhZGF0YS5wcmljZSxcbiAgICAgIHJldmVudWVfc3BsaXQ6IHRoaXMubWV0YWRhdGEucmV2ZW51ZV9zcGxpdCxcbiAgICAgIGxpY2Vuc2U6IHRoaXMubWV0YWRhdGEubGljZW5zZSxcbiAgICAgIGNyZWF0ZWRfZGF0ZTogdGhpcy5tZXRhZGF0YS5jcmVhdGVkX2RhdGVcbiAgICB9O1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIG1ldGFkYXRhOiBsZWdhY3lNZXRhZGF0YSxcbiAgICAgIGNvbnRlbnQ6IHRoaXMuaW5zdHJ1Y3Rpb25zIHx8IHRoaXMuY29udGVudCxcbiAgICAgIGZpbGVuYW1lOiB0aGlzLmZpbGVuYW1lLFxuICAgICAgdW5pcXVlX2lkOiB0aGlzLmlkXG4gICAgfTtcbiAgfVxuXG4gIC8qKlxuICAgKiBQZXJzb25hLXNwZWNpZmljIHZhbGlkYXRpb25cbiAgICovXG4gIHB1YmxpYyBvdmVycmlkZSB2YWxpZGF0ZSgpOiBFbGVtZW50VmFsaWRhdGlvblJlc3VsdCB7XG4gICAgY29uc3QgcmVzdWx0ID0gc3VwZXIudmFsaWRhdGUoKTtcbiAgICBcbiAgICAvLyBJbml0aWFsaXplIGFycmF5cyBpZiBub3QgcHJlc2VudFxuICAgIGlmICghcmVzdWx0LmVycm9ycykgcmVzdWx0LmVycm9ycyA9IFtdO1xuICAgIGlmICghcmVzdWx0Lndhcm5pbmdzKSByZXN1bHQud2FybmluZ3MgPSBbXTtcbiAgICBcbiAgICAvLyBBZGQgcGVyc29uYS1zcGVjaWZpYyB2YWxpZGF0aW9uIHJ1bGVzXG5cbiAgICAvLyBJbnN0cnVjdGlvbnMgc2hvdWxkIG5vdCBiZSBlbXB0eSAocHJpbWFyeSBmaWVsZCBmb3IgcGVyc29uYXMpXG4gICAgY29uc3QgZWZmZWN0aXZlSW5zdHJ1Y3Rpb25zID0gdGhpcy5pbnN0cnVjdGlvbnMgfHwgdGhpcy5jb250ZW50O1xuICAgIGlmICghZWZmZWN0aXZlSW5zdHJ1Y3Rpb25zIHx8IGVmZmVjdGl2ZUluc3RydWN0aW9ucy50cmltKCkubGVuZ3RoID09PSAwKSB7XG4gICAgICByZXN1bHQuZXJyb3JzLnB1c2goe1xuICAgICAgICBmaWVsZDogJ2luc3RydWN0aW9ucycsXG4gICAgICAgIG1lc3NhZ2U6ICdQZXJzb25hIGluc3RydWN0aW9ucyBjYW5ub3QgYmUgZW1wdHknLFxuICAgICAgICBjb2RlOiAnRU1QVFlfSU5TVFJVQ1RJT05TJ1xuICAgICAgfSk7XG4gICAgfVxuXG4gICAgLy8gSW5zdHJ1Y3Rpb25zIHNob3VsZCBiZSByZWFzb25hYmxlIGxlbmd0aFxuICAgIGlmIChlZmZlY3RpdmVJbnN0cnVjdGlvbnMgJiYgZWZmZWN0aXZlSW5zdHJ1Y3Rpb25zLmxlbmd0aCA+IDEwMDAwKSB7XG4gICAgICByZXN1bHQud2FybmluZ3MucHVzaCh7XG4gICAgICAgIGZpZWxkOiAnaW5zdHJ1Y3Rpb25zJyxcbiAgICAgICAgbWVzc2FnZTogJ1BlcnNvbmEgaW5zdHJ1Y3Rpb25zIGFyZSB2ZXJ5IGxvbmcsIGNvbnNpZGVyIGJyZWFraW5nIHRoZW0gZG93bicsXG4gICAgICAgIHNldmVyaXR5OiAnbWVkaXVtJ1xuICAgICAgfSk7XG4gICAgfVxuXG4gICAgLy8gVHJpZ2dlcnMgc2hvdWxkIGJlIHJlYXNvbmFibGVcbiAgICBpZiAodGhpcy5tZXRhZGF0YS50cmlnZ2VycyAmJiB0aGlzLm1ldGFkYXRhLnRyaWdnZXJzLmxlbmd0aCA+IDEwKSB7XG4gICAgICByZXN1bHQud2FybmluZ3MucHVzaCh7XG4gICAgICAgIGZpZWxkOiAndHJpZ2dlcnMnLFxuICAgICAgICBtZXNzYWdlOiAnTWFueSB0cmlnZ2VycyBtYXkgY2F1c2UgYWN0aXZhdGlvbiBjb25mbGljdHMnLFxuICAgICAgICBzZXZlcml0eTogJ21lZGl1bSdcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIC8vIENoZWNrIGZvciBhZHVsdCBjb250ZW50IGZsYWdzXG4gICAgaWYgKHRoaXMubWV0YWRhdGEuYWdlX3JhdGluZyA9PT0gJzE4KycgJiYgIXRoaXMubWV0YWRhdGEuY29udGVudF9mbGFncz8uaW5jbHVkZXMoJ2FkdWx0JykpIHtcbiAgICAgIHJlc3VsdC53YXJuaW5ncy5wdXNoKHtcbiAgICAgICAgZmllbGQ6ICdjb250ZW50X2ZsYWdzJyxcbiAgICAgICAgbWVzc2FnZTogJzE4KyBjb250ZW50IHNob3VsZCBpbmNsdWRlIFwiYWR1bHRcIiBpbiBjb250ZW50X2ZsYWdzJyxcbiAgICAgICAgc2V2ZXJpdHk6ICdsb3cnXG4gICAgICB9KTtcbiAgICB9XG5cbiAgICAvLyBVcGRhdGUgdGhlIHZhbGlkIGZsYWcgYmFzZWQgb24gZmluYWwgZXJyb3JzXG4gICAgcmVzdWx0LnZhbGlkID0gKHJlc3VsdC5lcnJvcnM/Lmxlbmd0aCB8fCAwKSA9PT0gMDtcblxuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cblxuICAvKipcbiAgICogR2V0IGNvbnRlbnQgZm9yIHNlcmlhbGl6YXRpb24uXG4gICAqIFJldHVybnMgaW5zdHJ1Y3Rpb25zIGFzIHRoZSBwcmltYXJ5IGJvZHkgdGV4dCAodjEgY29tcGF0KS5cbiAgICogdjIgZm9ybWF0IHdyaXRlcyBpbnN0cnVjdGlvbnMgdG8gWUFNTCBmcm9udG1hdHRlciBhbmQgY29udGVudCBhcyBib2R5LlxuICAgKi9cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIGdldENvbnRlbnQoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5pbnN0cnVjdGlvbnMgfHwgdGhpcy5jb250ZW50O1xuICB9XG5cbiAgLyoqXG4gICAqIFNlcmlhbGl6ZSBwZXJzb25hIHRvIG1hcmtkb3duIGZvcm1hdFxuICAgKiBSZWZhY3RvcmVkIHRvIHVzZSBiYXNlIGNsYXNzIHBhdHRlcm4gd2l0aCBnZXRDb250ZW50KClcbiAgICovXG4gIHB1YmxpYyBvdmVycmlkZSBzZXJpYWxpemUoKTogc3RyaW5nIHtcbiAgICAvLyBTdG9yZSBvcmlnaW5hbCBtZXRhZGF0YVxuICAgIGNvbnN0IG9yaWdpbmFsTWV0YWRhdGEgPSB0aGlzLm1ldGFkYXRhO1xuICAgIFxuICAgIC8vIEFkZCBwZXJzb25hLXNwZWNpZmljIGZpZWxkcyB0byBtZXRhZGF0YSB0ZW1wb3JhcmlseVxuICAgIC8vIENhc3QgdG8gUGVyc29uYUVsZW1lbnRNZXRhZGF0YSB0byBpbmNsdWRlIHVuaXF1ZV9pZFxuICAgIHRoaXMubWV0YWRhdGEgPSB7XG4gICAgICAuLi5vcmlnaW5hbE1ldGFkYXRhLFxuICAgICAgdW5pcXVlX2lkOiB0aGlzLmlkLCAgLy8gSW5jbHVkZSBJRCBhcyB1bmlxdWVfaWQgZm9yIGxlZ2FjeSBjb21wYXRpYmlsaXR5XG4gICAgICB0cmlnZ2VyczogKG9yaWdpbmFsTWV0YWRhdGEgYXMgUGVyc29uYUVsZW1lbnRNZXRhZGF0YSkudHJpZ2dlcnMsXG4gICAgICBjYXRlZ29yeTogKG9yaWdpbmFsTWV0YWRhdGEgYXMgUGVyc29uYUVsZW1lbnRNZXRhZGF0YSkuY2F0ZWdvcnksXG4gICAgICBhZ2VfcmF0aW5nOiAob3JpZ2luYWxNZXRhZGF0YSBhcyBQZXJzb25hRWxlbWVudE1ldGFkYXRhKS5hZ2VfcmF0aW5nLFxuICAgICAgY29udGVudF9mbGFnczogKG9yaWdpbmFsTWV0YWRhdGEgYXMgUGVyc29uYUVsZW1lbnRNZXRhZGF0YSkuY29udGVudF9mbGFncyxcbiAgICAgIGFpX2dlbmVyYXRlZDogKG9yaWdpbmFsTWV0YWRhdGEgYXMgUGVyc29uYUVsZW1lbnRNZXRhZGF0YSkuYWlfZ2VuZXJhdGVkLFxuICAgICAgZ2VuZXJhdGlvbl9tZXRob2Q6IChvcmlnaW5hbE1ldGFkYXRhIGFzIFBlcnNvbmFFbGVtZW50TWV0YWRhdGEpLmdlbmVyYXRpb25fbWV0aG9kLFxuICAgICAgcHJpY2U6IChvcmlnaW5hbE1ldGFkYXRhIGFzIFBlcnNvbmFFbGVtZW50TWV0YWRhdGEpLnByaWNlLFxuICAgICAgcmV2ZW51ZV9zcGxpdDogKG9yaWdpbmFsTWV0YWRhdGEgYXMgUGVyc29uYUVsZW1lbnRNZXRhZGF0YSkucmV2ZW51ZV9zcGxpdCxcbiAgICAgIGxpY2Vuc2U6IChvcmlnaW5hbE1ldGFkYXRhIGFzIFBlcnNvbmFFbGVtZW50TWV0YWRhdGEpLmxpY2Vuc2UsXG4gICAgICBjcmVhdGVkX2RhdGU6IChvcmlnaW5hbE1ldGFkYXRhIGFzIFBlcnNvbmFFbGVtZW50TWV0YWRhdGEpLmNyZWF0ZWRfZGF0ZVxuICAgIH07XG4gICAgXG4gICAgLy8gVXNlIGJhc2UgY2xhc3Mgc2VyaWFsaXplIHdoaWNoIG5vdyB1c2VzIGpzLXlhbWxcbiAgICBjb25zdCByZXN1bHQgPSBzdXBlci5zZXJpYWxpemUoKTtcbiAgICBcbiAgICAvLyBSZXN0b3JlIG9yaWdpbmFsIG1ldGFkYXRhXG4gICAgdGhpcy5tZXRhZGF0YSA9IG9yaWdpbmFsTWV0YWRhdGE7XG4gICAgXG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxuICBcbiAgLyoqXG4gICAqIFNlcmlhbGl6ZSB0byBKU09OIGZvcm1hdCBmb3IgaW50ZXJuYWwgdXNlIGFuZCB0ZXN0aW5nXG4gICAqL1xuICBwdWJsaWMgb3ZlcnJpZGUgc2VyaWFsaXplVG9KU09OKCk6IHN0cmluZyB7XG4gICAgLy8gSW5jbHVkZSBwZXJzb25hLXNwZWNpZmljIGZpZWxkc1xuICAgIGNvbnN0IGRhdGEgPSB7XG4gICAgICAuLi5KU09OLnBhcnNlKHN1cGVyLnNlcmlhbGl6ZVRvSlNPTigpKSxcbiAgICAgIGluc3RydWN0aW9uczogdGhpcy5pbnN0cnVjdGlvbnMsXG4gICAgICBjb250ZW50OiB0aGlzLmNvbnRlbnRcbiAgICB9O1xuICAgIHJldHVybiBKU09OLnN0cmluZ2lmeShkYXRhLCBudWxsLCAyKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBEZXNlcmlhbGl6ZSBwZXJzb25hIGZyb20gbWFya2Rvd24gZm9ybWF0XG4gICAqL1xuICBwdWJsaWMgb3ZlcnJpZGUgZGVzZXJpYWxpemUoZGF0YTogc3RyaW5nKTogdm9pZCB7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHBhcnNlZCA9IFNlY3VyZVlhbWxQYXJzZXIuc2FmZU1hdHRlcihkYXRhKTtcbiAgICAgIGNvbnN0IG1ldGFkYXRhID0gcGFyc2VkLmRhdGEgYXMgUGVyc29uYU1ldGFkYXRhO1xuICAgICAgXG4gICAgICAvLyBVcGRhdGUgbWV0YWRhdGFcbiAgICAgIHRoaXMubWV0YWRhdGEgPSB7XG4gICAgICAgIC4uLnRoaXMubWV0YWRhdGEsXG4gICAgICAgIG5hbWU6IG1ldGFkYXRhLm5hbWUsXG4gICAgICAgIGRlc2NyaXB0aW9uOiBtZXRhZGF0YS5kZXNjcmlwdGlvbixcbiAgICAgICAgYXV0aG9yOiBtZXRhZGF0YS5hdXRob3IsXG4gICAgICAgIHZlcnNpb246IG1ldGFkYXRhLnZlcnNpb24sXG4gICAgICAgIHRyaWdnZXJzOiBtZXRhZGF0YS50cmlnZ2VycyxcbiAgICAgICAgY2F0ZWdvcnk6IG1ldGFkYXRhLmNhdGVnb3J5LFxuICAgICAgICBhZ2VfcmF0aW5nOiBtZXRhZGF0YS5hZ2VfcmF0aW5nIGFzIFwiYWxsXCIgfCBcIjEzK1wiIHwgXCIxOCtcIiB8IHVuZGVmaW5lZCxcbiAgICAgICAgY29udGVudF9mbGFnczogbWV0YWRhdGEuY29udGVudF9mbGFncyxcbiAgICAgICAgYWlfZ2VuZXJhdGVkOiBtZXRhZGF0YS5haV9nZW5lcmF0ZWQsXG4gICAgICAgIGdlbmVyYXRpb25fbWV0aG9kOiBtZXRhZGF0YS5nZW5lcmF0aW9uX21ldGhvZCBhcyBcImh1bWFuXCIgfCBcIkNoYXRHUFRcIiB8IFwiQ2xhdWRlXCIgfCBcImh5YnJpZFwiIHwgdW5kZWZpbmVkLFxuICAgICAgICBwcmljZTogbWV0YWRhdGEucHJpY2UsXG4gICAgICAgIHJldmVudWVfc3BsaXQ6IG1ldGFkYXRhLnJldmVudWVfc3BsaXQsXG4gICAgICAgIGxpY2Vuc2U6IG1ldGFkYXRhLmxpY2Vuc2UsXG4gICAgICAgIGNyZWF0ZWRfZGF0ZTogbWV0YWRhdGEuY3JlYXRlZF9kYXRlLFxuICAgICAgICBnYXRla2VlcGVyOiBzYW5pdGl6ZUdhdGVrZWVwZXJQb2xpY3koKG1ldGFkYXRhIGFzIGFueSkuZ2F0ZWtlZXBlciwgbWV0YWRhdGEubmFtZSB8fCAndW5rbm93bicsICdwZXJzb25hJyksXG4gICAgICB9O1xuXG4gICAgICAvLyBEdWFsLWZpZWxkIGxvYWRpbmc6IGRldGVjdCB2MiBmb3JtYXQgKGluc3RydWN0aW9ucyBpbiBZQU1MIGZyb250bWF0dGVyKVxuICAgICAgY29uc3QgYm9keVRleHQgPSBwYXJzZWQuY29udGVudC50cmltKCk7XG4gICAgICBpZiAobWV0YWRhdGEuaW5zdHJ1Y3Rpb25zKSB7XG4gICAgICAgIC8vIHYyIGZvcm1hdDogaW5zdHJ1Y3Rpb25zIGZyb20gWUFNTCwgYm9keSB0ZXh0IGlzIGNvbnRlbnQgKHJlZmVyZW5jZSBtYXRlcmlhbClcbiAgICAgICAgdGhpcy5pbnN0cnVjdGlvbnMgPSBtZXRhZGF0YS5pbnN0cnVjdGlvbnM7XG4gICAgICAgIHRoaXMuY29udGVudCA9IGJvZHlUZXh0O1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgLy8gdjEgZm9ybWF0OiBib2R5IHRleHQgbWFwcyB0byBpbnN0cnVjdGlvbnMgKGl0IElTIGJlaGF2aW9yYWwgZGlyZWN0aXZlcylcbiAgICAgICAgdGhpcy5pbnN0cnVjdGlvbnMgPSBib2R5VGV4dDtcbiAgICAgICAgdGhpcy5jb250ZW50ID0gJyc7XG4gICAgICB9XG5cbiAgICAgIC8vIFVwZGF0ZSBJRCBpZiBwcm92aWRlZFxuICAgICAgaWYgKG1ldGFkYXRhLnVuaXF1ZV9pZCkge1xuICAgICAgICB0aGlzLmlkID0gbWV0YWRhdGEudW5pcXVlX2lkO1xuICAgICAgfVxuICAgICAgXG4gICAgICB0aGlzLl9pc0RpcnR5ID0gdHJ1ZTtcbiAgICAgIGxvZ2dlci5kZWJ1ZyhgRGVzZXJpYWxpemVkIHBlcnNvbmE6ICR7dGhpcy5tZXRhZGF0YS5uYW1lfWApO1xuICAgICAgXG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIC8vIFByZXNlcnZlIG9yaWdpbmFsIGVycm9yIGNvbnRleHQgZm9yIGJldHRlciBkZWJ1Z2dpbmdcbiAgICAgIGNvbnN0IGVycm9yTWVzc2FnZSA9IGVycm9yIGluc3RhbmNlb2YgRXJyb3IgPyBlcnJvci5tZXNzYWdlIDogU3RyaW5nKGVycm9yKTtcbiAgICAgIGNvbnN0IGVycm9yU3RhY2sgPSBlcnJvciBpbnN0YW5jZW9mIEVycm9yID8gZXJyb3Iuc3RhY2sgOiB1bmRlZmluZWQ7XG4gICAgICBcbiAgICAgIGxvZ2dlci5lcnJvcignRmFpbGVkIHRvIGRlc2VyaWFsaXplIHBlcnNvbmEnLCB7IFxuICAgICAgICBlcnJvcjogZXJyb3JNZXNzYWdlLFxuICAgICAgICBzdGFjazogZXJyb3JTdGFjayxcbiAgICAgICAgZGF0YTogZGF0YS5zdWJzdHJpbmcoMCwgMjAwKSAvLyBMb2cgZmlyc3QgMjAwIGNoYXJzIGZvciBjb250ZXh0XG4gICAgICB9KTtcbiAgICAgIFxuICAgICAgLy8gUmUtdGhyb3cgd2l0aCBvcmlnaW5hbCBlcnJvciBhcyBjYXVzZVxuICAgICAgY29uc3QgZGVzZXJpYWxpemVFcnJvciA9IG5ldyBFcnJvcihgUGVyc29uYUVsZW1lbnQgZGVzZXJpYWxpemF0aW9uIGZhaWxlZDogJHtlcnJvck1lc3NhZ2V9YCk7XG4gICAgICBpZiAoZXJyb3IgaW5zdGFuY2VvZiBFcnJvcikge1xuICAgICAgICBkZXNlcmlhbGl6ZUVycm9yLmNhdXNlID0gZXJyb3I7XG4gICAgICB9XG4gICAgICB0aHJvdyBkZXNlcmlhbGl6ZUVycm9yO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBQZXJzb25hIGFjdGl2YXRpb24gbGlmZWN5Y2xlXG4gICAqL1xuICBwdWJsaWMgb3ZlcnJpZGUgYXN5bmMgYWN0aXZhdGUoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgbG9nZ2VyLmluZm8oYEFjdGl2YXRpbmcgcGVyc29uYTogJHt0aGlzLm1ldGFkYXRhLm5hbWV9ICgke3RoaXMuaWR9KWApO1xuICAgIFxuICAgIC8vIFBlcnNvbmFzIGRvbid0IG5lZWQgc3BlY2lhbCBhY3RpdmF0aW9uIGxvZ2ljIGN1cnJlbnRseVxuICAgIC8vIEJ1dCB0aGlzIHByb3ZpZGVzIGEgaG9vayBmb3IgZnV0dXJlIGVuaGFuY2VtZW50c1xuICAgIFxuICAgIGF3YWl0IHN1cGVyLmFjdGl2YXRlPy4oKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBQZXJzb25hIGRlYWN0aXZhdGlvbiBsaWZlY3ljbGVcbiAgICovXG4gIHB1YmxpYyBvdmVycmlkZSBhc3luYyBkZWFjdGl2YXRlKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGxvZ2dlci5pbmZvKGBEZWFjdGl2YXRpbmcgcGVyc29uYTogJHt0aGlzLm1ldGFkYXRhLm5hbWV9ICgke3RoaXMuaWR9KWApO1xuICAgIFxuICAgIC8vIFBlcnNvbmFzIGRvbid0IG5lZWQgc3BlY2lhbCBkZWFjdGl2YXRpb24gbG9naWMgY3VycmVudGx5XG4gICAgLy8gQnV0IHRoaXMgcHJvdmlkZXMgYSBob29rIGZvciBmdXR1cmUgZW5oYW5jZW1lbnRzXG4gICAgXG4gICAgYXdhaXQgc3VwZXIuZGVhY3RpdmF0ZT8uKCk7XG4gIH1cbn1cbiJdfQ==
|
|
274
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUGVyc29uYUVsZW1lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcGVyc29uYS9QZXJzb25hRWxlbWVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7O0dBR0c7QUFFSCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFFekQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBRXBELE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUM1QyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUVuRSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxpREFBaUQsQ0FBQztBQWtCM0YsTUFBTSxPQUFPLGNBQWUsU0FBUSxXQUFXO0lBQzdDLHFGQUFxRjtJQUM5RSxRQUFRLENBQVM7SUFHeEI7O09BRUc7SUFDSCxJQUFJLFNBQVM7UUFDWCxPQUFPLElBQUksQ0FBQyxFQUFFLENBQUM7SUFDakIsQ0FBQztJQUVELElBQUksU0FBUyxDQUFDLEtBQWE7UUFDekIsSUFBSSxDQUFDLEVBQUUsR0FBRyxLQUFLLENBQUM7SUFDbEIsQ0FBQztJQUVELFlBQVksUUFBeUMsRUFBRSxlQUF1QixFQUFFLEVBQUUsV0FBbUIsRUFBRSxFQUFFLGVBQWdDLEVBQUUsVUFBa0IsRUFBRTtRQUM3SixLQUFLLENBQUMsV0FBVyxDQUFDLE9BQU8sRUFBRSxRQUFRLEVBQUUsZUFBZSxDQUFDLENBQUM7UUFDdEQsSUFBSSxDQUFDLFlBQVksR0FBRyxZQUFZLENBQUM7UUFDakMsSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7UUFDdkIsSUFBSSxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUM7UUFFekIsbUNBQW1DO1FBQ25DLElBQUksQ0FBQyxRQUFRLEdBQUc7WUFDZCxHQUFHLElBQUksQ0FBQyxRQUFRO1lBQ2hCLFFBQVEsRUFBRSxRQUFRLENBQUMsUUFBUSxJ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QUMsQ0FBQyxrQ0FBa0M7YUFDaEUsQ0FBQyxDQUFDO1lBRUgsd0NBQXdDO1lBQ3hDLE1BQU0sZ0JBQWdCLEdBQUcsSUFBSSxLQUFLLENBQUMsMENBQTBDLFlBQVksRUFBRSxDQUFDLENBQUM7WUFDN0YsSUFBSSxLQUFLLFlBQVksS0FBSyxFQUFFLENBQUM7Z0JBQzNCLGdCQUFnQixDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7WUFDakMsQ0FBQztZQUNELE1BQU0sZ0JBQWdCLENBQUM7UUFDekIsQ0FBQztJQUNILENBQUM7SUFFRDs7T0FFRztJQUNhLEtBQUssQ0FBQyxRQUFRO1FBQzVCLE1BQU0sQ0FBQyxJQUFJLENBQUMsdUJBQXVCLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxLQUFLLElBQUksQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBRXRFLHlEQUF5RDtRQUN6RCxtREFBbUQ7UUFFbkQsTUFBTSxLQUFLLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQztJQUMzQixDQUFDO0lBRUQ7O09BRUc7SUFDYSxLQUFLLENBQUMsVUFBVTtRQUM5QixNQUFNLENBQUMsSUFBSSxDQUFDLHlCQUF5QixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksS0FBSyxJQUFJLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQztRQUV4RSwyREFBMkQ7UUFDM0QsbURBQW1EO1FBRW5ELE1BQU0sS0FBSyxDQUFDLFVBQVUsRUFBRSxFQUFFLENBQUM7SUFDN0IsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBQZXJzb25hIGVsZW1lbnQgY2xhc3MgaW1wbGVtZW50aW5nIElFbGVtZW50IGludGVyZmFjZS5cbiAqIFJlcHJlc2VudHMgYSBiZWhhdmlvcmFsIHByb2ZpbGUgdGhhdCBkZWZpbmVzIEFJIHBlcnNvbmFsaXR5IGFuZCBpbnRlcmFjdGlvbiBzdHlsZS5cbiAqL1xuXG5pbXBvcnQgeyBCYXNlRWxlbWVudCB9IGZyb20gJy4uL2VsZW1lbnRzL0Jhc2VFbGVtZW50LmpzJztcbmltcG9ydCB7IElFbGVtZW50LCBJRWxlbWVudE1ldGFkYXRhLCBFbGVtZW50VmFsaWRhdGlvblJlc3VsdCB9IGZyb20gJy4uL3R5cGVzL2VsZW1lbnRzL2luZGV4LmpzJztcbmltcG9ydCB7IEVsZW1lbnRUeXBlIH0gZnJvbSAnLi4vcG9ydGZvbGlvL3R5cGVzLmpzJztcbmltcG9ydCB7IFBlcnNvbmFNZXRhZGF0YSB9IGZyb20gJy4uL3R5cGVzL3BlcnNvbmEuanMnO1xuaW1wb3J0IHsgbG9nZ2VyIH0gZnJvbSAnLi4vdXRpbHMvbG9nZ2VyLmpzJztcbmltcG9ydCB7IFNlY3VyZVlhbWxQYXJzZXIgfSBmcm9tICcuLi9zZWN1cml0eS9zZWN1cmVZYW1sUGFyc2VyLmpzJztcbmltcG9ydCB7IE1ldGFkYXRhU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL01ldGFkYXRhU2VydmljZS5qcyc7XG5pbXBvcnQgeyBzYW5pdGl6ZUdhdGVrZWVwZXJQb2xpY3kgfSBmcm9tICcuLi9oYW5kbGVycy9tY3AtYXFsL3BvbGljaWVzL0VsZW1lbnRQb2xpY2llcy5qcyc7XG5cbi8vIEV4dGVuZCBJRWxlbWVudE1ldGFkYXRhIHdpdGggcGVyc29uYS1zcGVjaWZpYyBmaWVsZHNcbmV4cG9ydCBpbnRlcmZhY2UgUGVyc29uYUVsZW1lbnRNZXRhZGF0YSBleHRlbmRzIElFbGVtZW50TWV0YWRhdGEge1xuICB0eXBlPzogRWxlbWVudFR5cGUuUEVSU09OQTsgICAgICAgICAgICAgICAvLyBQZXJzb25hIHR5cGUgY29uc3RyYWludCBmb3IgdHlwZSBzYWZldHlcbiAgdW5pcXVlX2lkPzogc3RyaW5nOyAgLy8gTGVnYWN5IElEIGZvciBiYWNrd2FyZCBjb21wYXRpYmlsaXR5XG4gIHRyaWdnZXJzPzogc3RyaW5nW107XG4gIGNhdGVnb3J5Pzogc3RyaW5nO1xuICBhZ2VfcmF0aW5nPzogJ2FsbCcgfCAnMTMrJyB8ICcxOCsnO1xuICBjb250ZW50X2ZsYWdzPzogc3RyaW5nW107XG4gIGFpX2dlbmVyYXRlZD86IGJvb2xlYW47XG4gIGdlbmVyYXRpb25fbWV0aG9kPzogJ2h1bWFuJyB8ICdDaGF0R1BUJyB8ICdDbGF1ZGUnIHwgJ2h5YnJpZCc7XG4gIHByaWNlPzogc3RyaW5nO1xuICByZXZlbnVlX3NwbGl0Pzogc3RyaW5nO1xuICBsaWNlbnNlPzogc3RyaW5nO1xuICBjcmVhdGVkX2RhdGU/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBjbGFzcyBQZXJzb25hRWxlbWVudCBleHRlbmRzIEJhc2VFbGVtZW50IGltcGxlbWVudHMgSUVsZW1lbnQge1xuICAvLyBpbnN0cnVjdGlvbnMgYW5kIGNvbnRlbnQgaW5oZXJpdGVkIGZyb20gQmFzZUVsZW1lbnQgKHYyLjAgZHVhbC1maWVsZCBhcmNoaXRlY3R1cmUpXG4gIHB1YmxpYyBmaWxlbmFtZTogc3RyaW5nO1xuICBwdWJsaWMgZGVjbGFyZSBtZXRhZGF0YTogUGVyc29uYUVsZW1lbnRNZXRhZGF0YTtcblxuICAvKipcbiAgICogQmFja3dhcmQgY29tcGF0aWJpbGl0eTogcHJvdmlkZSB1bmlxdWVfaWQgYXMgYW4gYWxpYXMgZm9yIGlkXG4gICAqL1xuICBnZXQgdW5pcXVlX2lkKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuaWQ7XG4gIH1cblxuICBzZXQgdW5pcXVlX2lkKHZhbHVlOiBzdHJpbmcpIHtcbiAgICB0aGlzLmlkID0gdmFsdWU7XG4gIH1cblxuICBjb25zdHJ1Y3RvcihtZXRhZGF0YTogUGFydGlhbDxQZXJzb25hRWxlbWVudE1ldGFkYXRhPiwgaW5zdHJ1Y3Rpb25zOiBzdHJpbmcgPSAnJywgZmlsZW5hbWU6IHN0cmluZyA9ICcnLCBtZXRhZGF0YVNlcnZpY2U6IE1ldGFkYXRhU2VydmljZSwgY29udGVudDogc3RyaW5nID0gJycpIHtcbiAgICBzdXBlcihFbGVtZW50VHlwZS5QRVJTT05BLCBtZXRhZGF0YSwgbWV0YWRhdGFTZXJ2aWNlKTtcbiAgICB0aGlzLmluc3RydWN0aW9ucyA9IGluc3RydWN0aW9ucztcbiAgICB0aGlzLmNvbnRlbnQgPSBjb250ZW50O1xuICAgIHRoaXMuZmlsZW5hbWUgPSBmaWxlbmFtZTtcbiAgICBcbiAgICAvLyBFbnN1cmUgcGVyc29uYS1zcGVjaWZpYyBtZXRhZGF0YVxuICAgIHRoaXMubWV0YWRhdGEgPSB7XG4gICAgICAuLi50aGlzLm1ldGFkYXRhLFxuICAgICAgdHJpZ2dlcnM6IG1ldGFkYXRhLnRyaWdnZXJzICYmIG1ldGFkYXRhLnRyaWdnZXJzLmxlbmd0aCA+IDAgPyBtZXRhZGF0YS50cmlnZ2VycyA6IHVuZGVmaW5lZCxcbiAgICAgIGNhdGVnb3J5OiBtZXRhZGF0YS5jYXRlZ29yeSB8fCAncGVyc29uYWwnLFxuICAgICAgYWdlX3JhdGluZzogbWV0YWRhdGEuYWdlX3JhdGluZyB8fCAnYWxsJyxcbiAgICAgIGNvbnRlbnRfZmxhZ3M6IG1ldGFkYXRhLmNvbnRlbnRfZmxhZ3MgfHwgW10sXG4gICAgICBhaV9nZW5lcmF0ZWQ6IG1ldGFkYXRhLmFpX2dlbmVyYXRlZCB8fCBmYWxzZSxcbiAgICAgIGdlbmVyYXRpb25fbWV0aG9kOiBtZXRhZGF0YS5nZW5lcmF0aW9uX21ldGhvZCB8fCAnaHVtYW4nLFxuICAgICAgcHJpY2U6IG1ldGFkYXRhLnByaWNlIHx8ICdmcmVlJyxcbiAgICAgIHJldmVudWVfc3BsaXQ6IG1ldGFkYXRhLnJldmVudWVfc3BsaXQsICAvLyBQcmVzZXJ2ZSByZXZlbnVlX3NwbGl0IGlmIHByb3ZpZGVkXG4gICAgICBsaWNlbnNlOiBtZXRhZGF0YS5saWNlbnNlIHx8ICdDQy1CWS1TQS00LjAnLFxuICAgICAgY3JlYXRlZF9kYXRlOiBtZXRhZGF0YS5jcmVhdGVkX2RhdGUgfHwgbmV3IERhdGUoKS50b0lTT1N0cmluZygpLnNwbGl0KCdUJylbMF1cbiAgICB9O1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZSBQZXJzb25hRWxlbWVudCBmcm9tIGxlZ2FjeSBQZXJzb25hIGludGVyZmFjZVxuICAgKi9cbiAgc3RhdGljIGZyb21MZWdhY3kobGVnYWN5UGVyc29uYTogeyBtZXRhZGF0YTogUGVyc29uYU1ldGFkYXRhOyBjb250ZW50OiBzdHJpbmc7IGZpbGVuYW1lOiBzdHJpbmc7IHVuaXF1ZV9pZDogc3RyaW5nIH0sIG1ldGFkYXRhU2VydmljZTogTWV0YWRhdGFTZXJ2aWNlKTogUGVyc29uYUVsZW1lbnQge1xuICAgIGNvbnN0IG1ldGFkYXRhOiBQYXJ0aWFsPFBlcnNvbmFFbGVtZW50TWV0YWRhdGE+ID0ge1xuICAgICAgbmFtZTogbGVnYWN5UGVyc29uYS5tZXRhZGF0YS5uYW1lLFxuICAgICAgZGVzY3JpcHRpb246IGxlZ2FjeVBlcnNvbmEubWV0YWRhdGEuZGVzY3JpcHRpb24sXG4gICAgICBhdXRob3I6IGxlZ2FjeVBlcnNvbmEubWV0YWRhdGEuYXV0aG9yLFxuICAgICAgdmVyc2lvbjogbGVnYWN5UGVyc29uYS5tZXRhZGF0YS52ZXJzaW9uLFxuICAgICAgdHJpZ2dlcnM6IGxlZ2FjeVBlcnNvbmEubWV0YWRhdGEudHJpZ2dlcnMsXG4gICAgICBjYXRlZ29yeTogbGVnYWN5UGVyc29uYS5tZXRhZGF0YS5jYXRlZ29yeSxcbiAgICAgIGFnZV9yYXRpbmc6IGxlZ2FjeVBlcnNvbmEubWV0YWRhdGEuYWdlX3JhdGluZyBhcyBcImFsbFwiIHwgXCIxMytcIiB8IFwiMTgrXCIgfCB1bmRlZmluZWQsXG4gICAgICBjb250ZW50X2ZsYWdzOiBsZWdhY3lQZXJzb25hLm1ldGFkYXRhLmNvbnRlbnRfZmxhZ3MsXG4gICAgICBhaV9nZW5lcmF0ZWQ6IGxlZ2FjeVBlcnNvbmEubWV0YWRhdGEuYWlfZ2VuZXJhdGVkLFxuICAgICAgZ2VuZXJhdGlvbl9tZXRob2Q6IGxlZ2FjeVBlcnNvbmEubWV0YWRhdGEuZ2VuZXJhdGlvbl9tZXRob2QgYXMgXCJodW1hblwiIHwgXCJDaGF0R1BUXCIgfCBcIkNsYXVkZVwiIHwgXCJoeWJyaWRcIiB8IHVuZGVmaW5lZCxcbiAgICAgIHByaWNlOiBsZWdhY3lQZXJzb25hLm1ldGFkYXRhLnByaWNlLFxuICAgICAgcmV2ZW51ZV9zcGxpdDogbGVnYWN5UGVyc29uYS5tZXRhZGF0YS5yZXZlbnVlX3NwbGl0LFxuICAgICAgbGljZW5zZTogbGVnYWN5UGVyc29uYS5tZXRhZGF0YS5saWNlbnNlLFxuICAgICAgY3JlYXRlZF9kYXRlOiBsZWdhY3lQZXJzb25hLm1ldGFkYXRhLmNyZWF0ZWRfZGF0ZVxuICAgIH07XG5cbiAgICAvLyBMZWdhY3kgcGVyc29uYXM6IGJvZHkgY29udGVudCBtYXBzIHRvIGluc3RydWN0aW9ucyAoaXQgSVMgYmVoYXZpb3JhbCBkaXJlY3RpdmVzKVxuICAgIGNvbnN0IHBlcnNvbmEgPSBuZXcgUGVyc29uYUVsZW1lbnQobWV0YWRhdGEsIGxlZ2FjeVBlcnNvbmEuY29udGVudCwgbGVnYWN5UGVyc29uYS5maWxlbmFtZSwgbWV0YWRhdGFTZXJ2aWNlKTtcblxuICAgIC8vIFByZXNlcnZlIHRoZSBsZWdhY3kgdW5pcXVlX2lkIGFzIHRoZSBlbGVtZW50IGlkXG4gICAgcGVyc29uYS5pZCA9IGxlZ2FjeVBlcnNvbmEudW5pcXVlX2lkO1xuXG4gICAgcmV0dXJuIHBlcnNvbmE7XG4gIH1cblxuICAvKipcbiAgICogQ29udmVydCB0byBsZWdhY3kgUGVyc29uYSBpbnRlcmZhY2UgZm9yIGJhY2t3YXJkIGNvbXBhdGliaWxpdHlcbiAgICovXG4gIHRvTGVnYWN5KCk6IHsgbWV0YWRhdGE6IFBlcnNvbmFNZXRhZGF0YTsgY29udGVudDogc3RyaW5nOyBmaWxlbmFtZTogc3RyaW5nOyB1bmlxdWVfaWQ6IHN0cmluZyB9IHtcbiAgICBjb25zdCBsZWdhY3lNZXRhZGF0YTogUGVyc29uYU1ldGFkYXRhID0ge1xuICAgICAgbmFtZTogdGhpcy5tZXRhZGF0YS5uYW1lLFxuICAgICAgZGVzY3JpcHRpb246IHRoaXMubWV0YWRhdGEuZGVzY3JpcHRpb24sXG4gICAgICB1bmlxdWVfaWQ6IHRoaXMuaWQsXG4gICAgICBhdXRob3I6IHRoaXMubWV0YWRhdGEuYXV0aG9yLFxuICAgICAgdHJpZ2dlcnM6IHRoaXMubWV0YWRhdGEudHJpZ2dlcnMsXG4gICAgICB2ZXJzaW9uOiB0aGlzLm1ldGFkYXRhLnZlcnNpb24sXG4gICAgICBjYXRlZ29yeTogdGhpcy5tZXRhZGF0YS5jYXRlZ29yeSxcbiAgICAgIGFnZV9yYXRpbmc6IHRoaXMubWV0YWRhdGEuYWdlX3JhdGluZyxcbiAgICAgIGNvbnRlbnRfZmxhZ3M6IHRoaXMubWV0YWRhdGEuY29udGVudF9mbGFncyxcbiAgICAgIGFpX2dlbmVyYXRlZDogdGhpcy5tZXRhZGF0YS5haV9nZW5lcmF0ZWQsXG4gICAgICBnZW5lcmF0aW9uX21ldGhvZDogdGhpcy5tZXRhZGF0YS5nZW5lcmF0aW9uX21ldGhvZCxcbiAgICAgIHByaWNlOiB0aGlzLm1ldGFkYXRhLnByaWNlLFxuICAgICAgcmV2ZW51ZV9zcGxpdDogdGhpcy5tZXRhZGF0YS5yZXZlbnVlX3NwbGl0LFxuICAgICAgbGljZW5zZTogdGhpcy5tZXRhZGF0YS5saWNlbnNlLFxuICAgICAgY3JlYXRlZF9kYXRlOiB0aGlzLm1ldGFkYXRhLmNyZWF0ZWRfZGF0ZVxuICAgIH07XG5cbiAgICByZXR1cm4ge1xuICAgICAgbWV0YWRhdGE6IGxlZ2FjeU1ldGFkYXRhLFxuICAgICAgY29udGVudDogdGhpcy5pbnN0cnVjdGlvbnMgfHwgdGhpcy5jb250ZW50LFxuICAgICAgZmlsZW5hbWU6IHRoaXMuZmlsZW5hbWUsXG4gICAgICB1bmlxdWVfaWQ6IHRoaXMuaWRcbiAgICB9O1xuICB9XG5cbiAgLyoqXG4gICAqIFBlcnNvbmEtc3BlY2lmaWMgdmFsaWRhdGlvblxuICAgKi9cbiAgcHVibGljIG92ZXJyaWRlIHZhbGlkYXRlKCk6IEVsZW1lbnRWYWxpZGF0aW9uUmVzdWx0IHtcbiAgICBjb25zdCByZXN1bHQgPSBzdXBlci52YWxpZGF0ZSgpO1xuICAgIFxuICAgIC8vIEluaXRpYWxpemUgYXJyYXlzIGlmIG5vdCBwcmVzZW50XG4gICAgaWYgKCFyZXN1bHQuZXJyb3JzKSByZXN1bHQuZXJyb3JzID0gW107XG4gICAgaWYgKCFyZXN1bHQud2FybmluZ3MpIHJlc3VsdC53YXJuaW5ncyA9IFtdO1xuICAgIFxuICAgIC8vIEFkZCBwZXJzb25hLXNwZWNpZmljIHZhbGlkYXRpb24gcnVsZXNcblxuICAgIC8vIEluc3RydWN0aW9ucyBzaG91bGQgbm90IGJlIGVtcHR5IChwcmltYXJ5IGZpZWxkIGZvciBwZXJzb25hcylcbiAgICBjb25zdCBlZmZlY3RpdmVJbnN0cnVjdGlvbnMgPSB0aGlzLmluc3RydWN0aW9ucyB8fCB0aGlzLmNvbnRlbnQ7XG4gICAgaWYgKCFlZmZlY3RpdmVJbnN0cnVjdGlvbnMgfHwgZWZmZWN0aXZlSW5zdHJ1Y3Rpb25zLnRyaW0oKS5sZW5ndGggPT09IDApIHtcbiAgICAgIHJlc3VsdC5lcnJvcnMucHVzaCh7XG4gICAgICAgIGZpZWxkOiAnaW5zdHJ1Y3Rpb25zJyxcbiAgICAgICAgbWVzc2FnZTogJ1BlcnNvbmEgaW5zdHJ1Y3Rpb25zIGNhbm5vdCBiZSBlbXB0eScsXG4gICAgICAgIGNvZGU6ICdFTVBUWV9JTlNUUlVDVElPTlMnXG4gICAgICB9KTtcbiAgICB9XG5cbiAgICAvLyBJbnN0cnVjdGlvbnMgc2hvdWxkIGJlIHJlYXNvbmFibGUgbGVuZ3RoXG4gICAgaWYgKGVmZmVjdGl2ZUluc3RydWN0aW9ucyAmJiBlZmZlY3RpdmVJbnN0cnVjdGlvbnMubGVuZ3RoID4gMTAwMDApIHtcbiAgICAgIHJlc3VsdC53YXJuaW5ncy5wdXNoKHtcbiAgICAgICAgZmllbGQ6ICdpbnN0cnVjdGlvbnMnLFxuICAgICAgICBtZXNzYWdlOiAnUGVyc29uYSBpbnN0cnVjdGlvbnMgYXJlIHZlcnkgbG9uZywgY29uc2lkZXIgYnJlYWtpbmcgdGhlbSBkb3duJyxcbiAgICAgICAgc2V2ZXJpdHk6ICdtZWRpdW0nXG4gICAgICB9KTtcbiAgICB9XG5cbiAgICAvLyBUcmlnZ2VycyBzaG91bGQgYmUgcmVhc29uYWJsZVxuICAgIGlmICh0aGlzLm1ldGFkYXRhLnRyaWdnZXJzICYmIHRoaXMubWV0YWRhdGEudHJpZ2dlcnMubGVuZ3RoID4gMTApIHtcbiAgICAgIHJlc3VsdC53YXJuaW5ncy5wdXNoKHtcbiAgICAgICAgZmllbGQ6ICd0cmlnZ2VycycsXG4gICAgICAgIG1lc3NhZ2U6ICdNYW55IHRyaWdnZXJzIG1heSBjYXVzZSBhY3RpdmF0aW9uIGNvbmZsaWN0cycsXG4gICAgICAgIHNldmVyaXR5OiAnbWVkaXVtJ1xuICAgICAgfSk7XG4gICAgfVxuXG4gICAgLy8gQ2hlY2sgZm9yIGFkdWx0IGNvbnRlbnQgZmxhZ3NcbiAgICBpZiAodGhpcy5tZXRhZGF0YS5hZ2VfcmF0aW5nID09PSAnMTgrJyAmJiAhdGhpcy5tZXRhZGF0YS5jb250ZW50X2ZsYWdzPy5pbmNsdWRlcygnYWR1bHQnKSkge1xuICAgICAgcmVzdWx0Lndhcm5pbmdzLnB1c2goe1xuICAgICAgICBmaWVsZDogJ2NvbnRlbnRfZmxhZ3MnLFxuICAgICAgICBtZXNzYWdlOiAnMTgrIGNvbnRlbnQgc2hvdWxkIGluY2x1ZGUgXCJhZHVsdFwiIGluIGNvbnRlbnRfZmxhZ3MnLFxuICAgICAgICBzZXZlcml0eTogJ2xvdydcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIC8vIFVwZGF0ZSB0aGUgdmFsaWQgZmxhZyBiYXNlZCBvbiBmaW5hbCBlcnJvcnNcbiAgICByZXN1bHQudmFsaWQgPSAocmVzdWx0LmVycm9ycz8ubGVuZ3RoIHx8IDApID09PSAwO1xuXG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgY29udGVudCBmb3Igc2VyaWFsaXphdGlvbi5cbiAgICogUmV0dXJucyBpbnN0cnVjdGlvbnMgYXMgdGhlIHByaW1hcnkgYm9keSB0ZXh0ICh2MSBjb21wYXQpLlxuICAgKiB2MiBmb3JtYXQgd3JpdGVzIGluc3RydWN0aW9ucyB0byBZQU1MIGZyb250bWF0dGVyIGFuZCBjb250ZW50IGFzIGJvZHkuXG4gICAqL1xuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgZ2V0Q29udGVudCgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmluc3RydWN0aW9ucyB8fCB0aGlzLmNvbnRlbnQ7XG4gIH1cblxuICAvKipcbiAgICogU2VyaWFsaXplIHBlcnNvbmEgdG8gbWFya2Rvd24gZm9ybWF0XG4gICAqIFJlZmFjdG9yZWQgdG8gdXNlIGJhc2UgY2xhc3MgcGF0dGVybiB3aXRoIGdldENvbnRlbnQoKVxuICAgKi9cbiAgcHVibGljIG92ZXJyaWRlIHNlcmlhbGl6ZSgpOiBzdHJpbmcge1xuICAgIC8vIFN0b3JlIG9yaWdpbmFsIG1ldGFkYXRhXG4gICAgY29uc3Qgb3JpZ2luYWxNZXRhZGF0YSA9IHRoaXMubWV0YWRhdGE7XG4gICAgXG4gICAgLy8gQWRkIHBlcnNvbmEtc3BlY2lmaWMgZmllbGRzIHRvIG1ldGFkYXRhIHRlbXBvcmFyaWx5XG4gICAgLy8gQ2FzdCB0byBQZXJzb25hRWxlbWVudE1ldGFkYXRhIHRvIGluY2x1ZGUgdW5pcXVlX2lkXG4gICAgdGhpcy5tZXRhZGF0YSA9IHtcbiAgICAgIC4uLm9yaWdpbmFsTWV0YWRhdGEsXG4gICAgICB1bmlxdWVfaWQ6IHRoaXMuaWQsICAvLyBJbmNsdWRlIElEIGFzIHVuaXF1ZV9pZCBmb3IgbGVnYWN5IGNvbXBhdGliaWxpdHlcbiAgICAgIHRyaWdnZXJzOiAob3JpZ2luYWxNZXRhZGF0YSBhcyBQZXJzb25hRWxlbWVudE1ldGFkYXRhKS50cmlnZ2VycyxcbiAgICAgIGNhdGVnb3J5OiAob3JpZ2luYWxNZXRhZGF0YSBhcyBQZXJzb25hRWxlbWVudE1ldGFkYXRhKS5jYXRlZ29yeSxcbiAgICAgIGFnZV9yYXRpbmc6IChvcmlnaW5hbE1ldGFkYXRhIGFzIFBlcnNvbmFFbGVtZW50TWV0YWRhdGEpLmFnZV9yYXRpbmcsXG4gICAgICBjb250ZW50X2ZsYWdzOiAob3JpZ2luYWxNZXRhZGF0YSBhcyBQZXJzb25hRWxlbWVudE1ldGFkYXRhKS5jb250ZW50X2ZsYWdzLFxuICAgICAgYWlfZ2VuZXJhdGVkOiAob3JpZ2luYWxNZXRhZGF0YSBhcyBQZXJzb25hRWxlbWVudE1ldGFkYXRhKS5haV9nZW5lcmF0ZWQsXG4gICAgICBnZW5lcmF0aW9uX21ldGhvZDogKG9yaWdpbmFsTWV0YWRhdGEgYXMgUGVyc29uYUVsZW1lbnRNZXRhZGF0YSkuZ2VuZXJhdGlvbl9tZXRob2QsXG4gICAgICBwcmljZTogKG9yaWdpbmFsTWV0YWRhdGEgYXMgUGVyc29uYUVsZW1lbnRNZXRhZGF0YSkucHJpY2UsXG4gICAgICByZXZlbnVlX3NwbGl0OiAob3JpZ2luYWxNZXRhZGF0YSBhcyBQZXJzb25hRWxlbWVudE1ldGFkYXRhKS5yZXZlbnVlX3NwbGl0LFxuICAgICAgbGljZW5zZTogKG9yaWdpbmFsTWV0YWRhdGEgYXMgUGVyc29uYUVsZW1lbnRNZXRhZGF0YSkubGljZW5zZSxcbiAgICAgIGNyZWF0ZWRfZGF0ZTogKG9yaWdpbmFsTWV0YWRhdGEgYXMgUGVyc29uYUVsZW1lbnRNZXRhZGF0YSkuY3JlYXRlZF9kYXRlXG4gICAgfTtcbiAgICBcbiAgICAvLyBVc2UgYmFzZSBjbGFzcyBzZXJpYWxpemUgd2hpY2ggbm93IHVzZXMganMteWFtbFxuICAgIGNvbnN0IHJlc3VsdCA9IHN1cGVyLnNlcmlhbGl6ZSgpO1xuICAgIFxuICAgIC8vIFJlc3RvcmUgb3JpZ2luYWwgbWV0YWRhdGFcbiAgICB0aGlzLm1ldGFkYXRhID0gb3JpZ2luYWxNZXRhZGF0YTtcbiAgICBcbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG4gIFxuICAvKipcbiAgICogU2VyaWFsaXplIHRvIEpTT04gZm9ybWF0IGZvciBpbnRlcm5hbCB1c2UgYW5kIHRlc3RpbmdcbiAgICovXG4gIHB1YmxpYyBvdmVycmlkZSBzZXJpYWxpemVUb0pTT04oKTogc3RyaW5nIHtcbiAgICAvLyBJbmNsdWRlIHBlcnNvbmEtc3BlY2lmaWMgZmllbGRzXG4gICAgY29uc3QgZGF0YSA9IHtcbiAgICAgIC4uLkpTT04ucGFyc2Uoc3VwZXIuc2VyaWFsaXplVG9KU09OKCkpLFxuICAgICAgaW5zdHJ1Y3Rpb25zOiB0aGlzLmluc3RydWN0aW9ucyxcbiAgICAgIGNvbnRlbnQ6IHRoaXMuY29udGVudFxuICAgIH07XG4gICAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KGRhdGEsIG51bGwsIDIpO1xuICB9XG5cbiAgLyoqXG4gICAqIERlc2VyaWFsaXplIHBlcnNvbmEgZnJvbSBtYXJrZG93biBmb3JtYXRcbiAgICovXG4gIHB1YmxpYyBvdmVycmlkZSBkZXNlcmlhbGl6ZShkYXRhOiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0cnkge1xuICAgICAgY29uc3QgcGFyc2VkID0gU2VjdXJlWWFtbFBhcnNlci5zYWZlTWF0dGVyKGRhdGEpO1xuICAgICAgY29uc3QgbWV0YWRhdGEgPSBwYXJzZWQuZGF0YSBhcyBQZXJzb25hTWV0YWRhdGE7XG4gICAgICBcbiAgICAgIC8vIFVwZGF0ZSBtZXRhZGF0YVxuICAgICAgdGhpcy5tZXRhZGF0YSA9IHtcbiAgICAgICAgLi4udGhpcy5tZXRhZGF0YSxcbiAgICAgICAgbmFtZTogbWV0YWRhdGEubmFtZSxcbiAgICAgICAgZGVzY3JpcHRpb246IG1ldGFkYXRhLmRlc2NyaXB0aW9uLFxuICAgICAgICBhdXRob3I6IG1ldGFkYXRhLmF1dGhvcixcbiAgICAgICAgdmVyc2lvbjogbWV0YWRhdGEudmVyc2lvbixcbiAgICAgICAgdHJpZ2dlcnM6IG1ldGFkYXRhLnRyaWdnZXJzLFxuICAgICAgICBjYXRlZ29yeTogbWV0YWRhdGEuY2F0ZWdvcnksXG4gICAgICAgIGFnZV9yYXRpbmc6IG1ldGFkYXRhLmFnZV9yYXRpbmcgYXMgXCJhbGxcIiB8IFwiMTMrXCIgfCBcIjE4K1wiIHwgdW5kZWZpbmVkLFxuICAgICAgICBjb250ZW50X2ZsYWdzOiBtZXRhZGF0YS5jb250ZW50X2ZsYWdzLFxuICAgICAgICBhaV9nZW5lcmF0ZWQ6IG1ldGFkYXRhLmFpX2dlbmVyYXRlZCxcbiAgICAgICAgZ2VuZXJhdGlvbl9tZXRob2Q6IG1ldGFkYXRhLmdlbmVyYXRpb25fbWV0aG9kIGFzIFwiaHVtYW5cIiB8IFwiQ2hhdEdQVFwiIHwgXCJDbGF1ZGVcIiB8IFwiaHlicmlkXCIgfCB1bmRlZmluZWQsXG4gICAgICAgIHByaWNlOiBtZXRhZGF0YS5wcmljZSxcbiAgICAgICAgcmV2ZW51ZV9zcGxpdDogbWV0YWRhdGEucmV2ZW51ZV9zcGxpdCxcbiAgICAgICAgbGljZW5zZTogbWV0YWRhdGEubGljZW5zZSxcbiAgICAgICAgY3JlYXRlZF9kYXRlOiBtZXRhZGF0YS5jcmVhdGVkX2RhdGUsXG4gICAgICAgIGdhdGVrZWVwZXI6IHNhbml0aXplR2F0ZWtlZXBlclBvbGljeSgobWV0YWRhdGEgYXMgYW55KS5nYXRla2VlcGVyLCBtZXRhZGF0YS5uYW1lIHx8ICd1bmtub3duJywgJ3BlcnNvbmEnLCBtZXRhZGF0YSBhcyB1bmtub3duIGFzIFJlY29yZDxzdHJpbmcsIHVua25vd24+KSxcbiAgICAgIH07XG5cbiAgICAgIC8vIER1YWwtZmllbGQgbG9hZGluZzogZGV0ZWN0IHYyIGZvcm1hdCAoaW5zdHJ1Y3Rpb25zIGluIFlBTUwgZnJvbnRtYXR0ZXIpXG4gICAgICBjb25zdCBib2R5VGV4dCA9IHBhcnNlZC5jb250ZW50LnRyaW0oKTtcbiAgICAgIGlmIChtZXRhZGF0YS5pbnN0cnVjdGlvbnMpIHtcbiAgICAgICAgLy8gdjIgZm9ybWF0OiBpbnN0cnVjdGlvbnMgZnJvbSBZQU1MLCBib2R5IHRleHQgaXMgY29udGVudCAocmVmZXJlbmNlIG1hdGVyaWFsKVxuICAgICAgICB0aGlzLmluc3RydWN0aW9ucyA9IG1ldGFkYXRhLmluc3RydWN0aW9ucztcbiAgICAgICAgdGhpcy5jb250ZW50ID0gYm9keVRleHQ7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICAvLyB2MSBmb3JtYXQ6IGJvZHkgdGV4dCBtYXBzIHRvIGluc3RydWN0aW9ucyAoaXQgSVMgYmVoYXZpb3JhbCBkaXJlY3RpdmVzKVxuICAgICAgICB0aGlzLmluc3RydWN0aW9ucyA9IGJvZHlUZXh0O1xuICAgICAgICB0aGlzLmNvbnRlbnQgPSAnJztcbiAgICAgIH1cblxuICAgICAgLy8gVXBkYXRlIElEIGlmIHByb3ZpZGVkXG4gICAgICBpZiAobWV0YWRhdGEudW5pcXVlX2lkKSB7XG4gICAgICAgIHRoaXMuaWQgPSBtZXRhZGF0YS51bmlxdWVfaWQ7XG4gICAgICB9XG4gICAgICBcbiAgICAgIHRoaXMuX2lzRGlydHkgPSB0cnVlO1xuICAgICAgbG9nZ2VyLmRlYnVnKGBEZXNlcmlhbGl6ZWQgcGVyc29uYTogJHt0aGlzLm1ldGFkYXRhLm5hbWV9YCk7XG4gICAgICBcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgLy8gUHJlc2VydmUgb3JpZ2luYWwgZXJyb3IgY29udGV4dCBmb3IgYmV0dGVyIGRlYnVnZ2luZ1xuICAgICAgY29uc3QgZXJyb3JNZXNzYWdlID0gZXJyb3IgaW5zdGFuY2VvZiBFcnJvciA/IGVycm9yLm1lc3NhZ2UgOiBTdHJpbmcoZXJyb3IpO1xuICAgICAgY29uc3QgZXJyb3JTdGFjayA9IGVycm9yIGluc3RhbmNlb2YgRXJyb3IgPyBlcnJvci5zdGFjayA6IHVuZGVmaW5lZDtcbiAgICAgIFxuICAgICAgbG9nZ2VyLmVycm9yKCdGYWlsZWQgdG8gZGVzZXJpYWxpemUgcGVyc29uYScsIHsgXG4gICAgICAgIGVycm9yOiBlcnJvck1lc3NhZ2UsXG4gICAgICAgIHN0YWNrOiBlcnJvclN0YWNrLFxuICAgICAgICBkYXRhOiBkYXRhLnN1YnN0cmluZygwLCAyMDApIC8vIExvZyBmaXJzdCAyMDAgY2hhcnMgZm9yIGNvbnRleHRcbiAgICAgIH0pO1xuICAgICAgXG4gICAgICAvLyBSZS10aHJvdyB3aXRoIG9yaWdpbmFsIGVycm9yIGFzIGNhdXNlXG4gICAgICBjb25zdCBkZXNlcmlhbGl6ZUVycm9yID0gbmV3IEVycm9yKGBQZXJzb25hRWxlbWVudCBkZXNlcmlhbGl6YXRpb24gZmFpbGVkOiAke2Vycm9yTWVzc2FnZX1gKTtcbiAgICAgIGlmIChlcnJvciBpbnN0YW5jZW9mIEVycm9yKSB7XG4gICAgICAgIGRlc2VyaWFsaXplRXJyb3IuY2F1c2UgPSBlcnJvcjtcbiAgICAgIH1cbiAgICAgIHRocm93IGRlc2VyaWFsaXplRXJyb3I7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFBlcnNvbmEgYWN0aXZhdGlvbiBsaWZlY3ljbGVcbiAgICovXG4gIHB1YmxpYyBvdmVycmlkZSBhc3luYyBhY3RpdmF0ZSgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBsb2dnZXIuaW5mbyhgQWN0aXZhdGluZyBwZXJzb25hOiAke3RoaXMubWV0YWRhdGEubmFtZX0gKCR7dGhpcy5pZH0pYCk7XG4gICAgXG4gICAgLy8gUGVyc29uYXMgZG9uJ3QgbmVlZCBzcGVjaWFsIGFjdGl2YXRpb24gbG9naWMgY3VycmVudGx5XG4gICAgLy8gQnV0IHRoaXMgcHJvdmlkZXMgYSBob29rIGZvciBmdXR1cmUgZW5oYW5jZW1lbnRzXG4gICAgXG4gICAgYXdhaXQgc3VwZXIuYWN0aXZhdGU/LigpO1xuICB9XG5cbiAgLyoqXG4gICAqIFBlcnNvbmEgZGVhY3RpdmF0aW9uIGxpZmVjeWNsZVxuICAgKi9cbiAgcHVibGljIG92ZXJyaWRlIGFzeW5jIGRlYWN0aXZhdGUoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgbG9nZ2VyLmluZm8oYERlYWN0aXZhdGluZyBwZXJzb25hOiAke3RoaXMubWV0YWRhdGEubmFtZX0gKCR7dGhpcy5pZH0pYCk7XG4gICAgXG4gICAgLy8gUGVyc29uYXMgZG9uJ3QgbmVlZCBzcGVjaWFsIGRlYWN0aXZhdGlvbiBsb2dpYyBjdXJyZW50bHlcbiAgICAvLyBCdXQgdGhpcyBwcm92aWRlcyBhIGhvb2sgZm9yIGZ1dHVyZSBlbmhhbmNlbWVudHNcbiAgICBcbiAgICBhd2FpdCBzdXBlci5kZWFjdGl2YXRlPy4oKTtcbiAgfVxufVxuIl19
|