@rio-cloud/cdk-v2-constructs 5.1.0 → 6.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (34) hide show
  1. package/.jsii +41 -24
  2. package/API.md +26 -0
  3. package/CHANGELOG.md +20 -0
  4. package/lib/contributions/team-claid/datadog-usage-monitoring/datadog-usage-monitoring.js +1 -1
  5. package/lib/contributions/team-transport-two/datadog/datadog-dashboard-downloader.js +1 -1
  6. package/lib/contributions/team-transport-two/pipeline/pipeline-stack.js +1 -1
  7. package/lib/datadog/datadog-log-index-monitoring.js +1 -1
  8. package/lib/datadog/datadog-monitor.js +1 -1
  9. package/lib/datadogv2/datadog-log-index-monitoring.js +1 -1
  10. package/lib/datadogv2/datadog-monitor.js +1 -1
  11. package/lib/datadogv2/datadog-notification.js +1 -1
  12. package/lib/fargate/datadog.js +1 -1
  13. package/lib/fargate/rio-fargate-service.js +2 -2
  14. package/lib/kafka/kafka-event-spec.js +1 -1
  15. package/lib/kafka/kafka-topic.js +1 -1
  16. package/lib/pipeline/rio-backup-secrets-restore-stage.js +1 -1
  17. package/lib/toggle.js +1 -1
  18. package/lib/watchful/alb.d.ts +13 -13
  19. package/lib/watchful/alb.js +5 -2
  20. package/lib/watchful/aspect.js +1 -1
  21. package/lib/watchful/datadog-log-alarm.js +3 -3
  22. package/lib/watchful/datadog-metric-alarm.js +3 -3
  23. package/lib/watchful/ecs.js +2 -2
  24. package/lib/watchful/lambda.js +4 -4
  25. package/lib/watchful/metric-alarm.d.ts +4 -0
  26. package/lib/watchful/metric-alarm.js +1 -1
  27. package/lib/watchful/watchful.js +3 -3
  28. package/lib/watchfulv2/datadog-log-alarm.d.ts +1 -0
  29. package/lib/watchfulv2/datadog-log-alarm.js +19 -6
  30. package/lib/watchfulv2/datadog-metric-alarm.d.ts +4 -4
  31. package/lib/watchfulv2/datadog-metric-alarm.js +14 -7
  32. package/lib/watchfulv2/watchful.js +19 -9
  33. package/package.json +4 -4
  34. package/version.json +1 -1
@@ -315,4 +315,4 @@ class PipelineStack extends aws_cdk_lib_1.Stack {
315
315
  exports.PipelineStack = PipelineStack;
316
316
  _a = JSII_RTTI_SYMBOL_1;
317
317
  PipelineStack[_a] = { fqn: "@rio-cloud/cdk-v2-constructs.PipelineStack", version: "0.0.0" };
318
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGlwZWxpbmUtc3RhY2suanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY29udHJpYnV0aW9ucy90ZWFtLXRyYW5zcG9ydC10d28vcGlwZWxpbmUvcGlwZWxpbmUtc3RhY2sudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSx5QkFBeUI7QUFDekIsNkJBQTZCO0FBQzdCLG1DQUFtQztBQUNuQyw2Q0FBOEY7QUFDOUYsNkRBQTRHO0FBQzVHLDZFQUE2RTtBQUM3RSxpREFBaUQ7QUFDakQsMERBQTBEO0FBQzFELGlEQUFvRDtBQUVwRCx5Q0FBeUM7QUFDekMsK0NBQXFEO0FBQ3JELDJDQUEyQztBQUUzQyxtREFBbUQ7QUFDbkQscURBQTBFO0FBRTFFLGdDQUFnQztBQUNoQywyREFBa0Q7QUFDbEQsbURBQXNEO0FBQ3RELHlEQUFnSDtBQUNoSCxxRUFBNkU7QUFHN0Usc0NBQXNDO0FBQ3RDLDBDQUFpRTtBQUNqRSxnREFBaUQ7QUFzSWpELElBQVksWUFzQ1g7QUF0Q0QsV0FBWSxZQUFZO0lBRXRCOzs7Ozs7Ozs7Ozs7T0FZRztJQUNILG1EQUFtQyxDQUFBO0lBQ25DOzs7Ozs7Ozs7Ozs7O09BYUc7SUFDSCwrREFBK0MsQ0FBQTtJQUMvQzs7Ozs7T0FLRztJQUNILG1FQUFtRCxDQUFBO0FBQ3JELENBQUMsRUF0Q1csWUFBWSw0QkFBWixZQUFZLFFBc0N2QjtBQWNELE1BQWEsYUFBYyxTQUFRLG1CQUFLO0lBY3RDLFlBQVksS0FBZ0IsRUFBRSxFQUFVLEVBQUUsS0FBeUI7UUFDakUsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFFeEIsK0JBQStCO1FBQy9CLElBQUksQ0FBQyxPQUFPLEdBQUcsRUFBRSxDQUFDLE1BQU0sQ0FBQyxjQUFjLENBQUMsSUFBSSxFQUFFLGVBQWUsRUFBRSxnQkFBRSxDQUFDLFdBQVcsQ0FBQyxpQ0FBaUMsQ0FBQyxDQUFDLENBQUM7UUFDbEgsSUFB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QUFNLGNBQWMsR0FBRyxJQUFJLEdBQUcsQ0FBQyxjQUFjLENBQUMsSUFBSSxFQUFFLEdBQUcsUUFBUSxDQUFDLElBQUksQ0FBQyxFQUFFLGVBQWUsRUFBRTtZQUN0RixZQUFZLEVBQUUsc0JBQXNCO1lBQ3BDLFlBQVksRUFBRSx1QkFBWSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxRQUFRLENBQUMsWUFBWTtZQUNsRSxVQUFVLEVBQUU7Z0JBQ1YsS0FBSyxFQUFFLFFBQVEsQ0FBQyxRQUFRLENBQUMsWUFBWTthQUN0QztTQUNGLENBQUMsQ0FBQztRQUNILE9BQU8sY0FBYyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUN4QyxDQUFDO0lBRU8sbUJBQW1CLENBQUMsT0FBa0MsRUFBRSxHQUFXLEVBQUUsS0FBYTtRQUN4RixJQUFJLE9BQU8sRUFBRTtZQUNYLGtCQUFJLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxDQUFDO1NBQzFDO0lBQ0gsQ0FBQzs7QUF6U0gsc0NBMFNDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgZnMgZnJvbSAnZnMnO1xuaW1wb3J0ICogYXMgcGF0aCBmcm9tICdwYXRoJztcbmltcG9ydCAqIGFzIGNkayBmcm9tICdhd3MtY2RrLWxpYic7XG5pbXBvcnQgeyBEdXJhdGlvbiwgRm4sIFJlZmVyZW5jZSwgUmVtb3ZhbFBvbGljeSwgU3RhY2ssIFN0YWNrUHJvcHMsIFRhZ3MgfSBmcm9tICdhd3MtY2RrLWxpYic7XG5pbXBvcnQgeyBCdWlsZEVudmlyb25tZW50LCBCdWlsZFNwZWMsIENvbXB1dGVUeXBlLCBMaW51eExhbWJkYUJ1aWxkSW1hZ2UgfSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtY29kZWJ1aWxkJztcbmltcG9ydCAqIGFzIGNvZGVwaXBlbGluZV9hY3Rpb25zIGZyb20gJ2F3cy1jZGstbGliL2F3cy1jb2RlcGlwZWxpbmUtYWN0aW9ucyc7XG5pbXBvcnQgKiBhcyBldmVudHMgZnJvbSAnYXdzLWNkay1saWIvYXdzLWV2ZW50cyc7XG5pbXBvcnQgKiBhcyB0YXJnZXRzIGZyb20gJ2F3cy1jZGstbGliL2F3cy1ldmVudHMtdGFyZ2V0cyc7XG5pbXBvcnQgeyBNYW5hZ2VkUG9saWN5IH0gZnJvbSAnYXdzLWNkay1saWIvYXdzLWlhbSc7XG5pbXBvcnQgeyBJSG9zdGVkWm9uZSB9IGZyb20gJ2F3cy1jZGstbGliL2F3cy1yb3V0ZTUzJztcbmltcG9ydCAqIGFzIHMzIGZyb20gJ2F3cy1jZGstbGliL2F3cy1zMyc7XG5pbXBvcnQgeyBCdWNrZXQsIElCdWNrZXQgfSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtczMnO1xuaW1wb3J0ICogYXMgc3NtIGZyb20gJ2F3cy1jZGstbGliL2F3cy1zc20nO1xuaW1wb3J0IHsgSVN0cmluZ1BhcmFtZXRlciB9IGZyb20gJ2F3cy1jZGstbGliL2F3cy1zc20nO1xuaW1wb3J0ICogYXMgcGlwZWxpbmVzIGZyb20gJ2F3cy1jZGstbGliL3BpcGVsaW5lcyc7XG5pbXBvcnQgeyBDb2RlQnVpbGRTdGVwLCBDb2RlUGlwZWxpbmVTb3VyY2UgfSBmcm9tICdhd3MtY2RrLWxpYi9waXBlbGluZXMnO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSAnY29uc3RydWN0cyc7XG5pbXBvcnQgKiBhcyB5YW1sIGZyb20gJ2pzLXlhbWwnO1xuaW1wb3J0IHsgQXBwbGljYXRpb24gfSBmcm9tICcuL2FwcGxpY2F0aW9uLXN0YWdlJztcbmltcG9ydCB7IFJpb0NvZGVCdWlsZFByb2plY3QgfSBmcm9tICcuL2J1aWxkLXByb2plY3QnO1xuaW1wb3J0IHsgRGF0YWRvZ1BpcGVsaW5lRXJyb3JBbGVydCwgRGF0YURvZ1BpcGVsaW5lRXJyb3JBbGVydEZvclZ1bG5lcmFiaWxpdHlDaGVja3MgfSBmcm9tICcuL2RhdGFkb2ctbW9uaXRvcnMnO1xuaW1wb3J0IHsgUmlvQ2FwYWJpbGl0eU1vbml0b3JpbmdEZXBsb3lTdGVwIH0gZnJvbSAnLi9tb25pdG9yaW5nLWRlcGxveS1zdGVwJztcbmltcG9ydCB7IERhdGFkb2dBbGVydFR5cGUgfSBmcm9tICcuLi8uLi8uLi9kYXRhZG9nJztcbmltcG9ydCB7IElOb3RpZmljYXRpb24gfSBmcm9tICcuLi8uLi8uLi9kYXRhZG9ndjInO1xuaW1wb3J0ICogYXMgcmlvIGZyb20gJy4uLy4uLy4uL2luZGV4JztcbmltcG9ydCB7IENsYWlkb21ldGVyLCBDbGFpZG9tZXRlclByb2R1Y3QgfSBmcm9tICcuLi8uLi8uLi9pbmRleCc7XG5pbXBvcnQgeyBVcHBlclRvTG93ZXIgfSBmcm9tICcuLi8uLi8uLi93YXRjaGZ1bCc7XG5cblxuZXhwb3J0IGludGVyZmFjZSBQaXBlbGluZVNjaGVkdWxlc1Byb3BzIHtcbiAgcmVhZG9ubHkgbWFpblBpcGVsaW5lPzogc3RyaW5nO1xuICByZWFkb25seSB2dWxuZXJhYmlsaXR5UGlwZWxpbmU/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogQHN0cnVjdFxuICovXG5leHBvcnQgaW50ZXJmYWNlIFBpcGVsaW5lU3RhY2tQcm9wcyBleHRlbmRzIFN0YWNrUHJvcHMge1xuICAvKipcbiAgICogVGhlIG5hbWUgb2YgdGhlIHNlcnZpY2VcbiAgICogLSBUaGlzIGhhcyB0byBiZSB0aGUgc2FtZSBuYW1lIGFzIHRoZSByZXBvc2l0b3J5IGFzIHRoZSBzMyB0cmlnZ2VyIGZpbGUgY3JlYXRlZCBieSB0aGUgYml0YnVja2V0LWludGVncmF0aW9uIHVzZXMgdGhpcyBhcyBhIHByZWZpeFxuICAgKiAtIFRoZSBzZXJ2aWNlTmFtZSBpcyBhdmFpbGFibGUgYXMgYW4gZW52aXJvbm1lbnQgdmFyaWFibGUgU0VSVklDRV9OQU1FIGluIHRoZSBDb2RlQnVpbGRTdGVwXG4gICAqIC0gVGhlIHNlcnZpY2VOYW1lIGlzIGF2YWlsYWJsZSBpbiB0aGUgQXBwU3RhY2tQcm9wcyBpbiB0aGUgYXBwU3RhY2tGYWN0b3J5XG4gICAqIC0gVGhlIHNlcnZpY2VOYW1lIGlzIGF2YWlsYWJsZSBhcyBzdGFja05hbWUgcHJvcGVydHkgaW4gdGhlIEFwcFN0YWNrUHJvcHMgaW4gdGhlIGFwcFN0YWNrRmFjdG9yeS4gSS5lLiB0aGUgc3RhY2sgaXMgbmFtZWQgYWZ0ZXIgdGhlIHNlcnZpY2VcbiAgICogLSBUaGUgc2VydmljZU5hbWUgaXMgaGFuZGVkIG92ZXIgdG8gYWxsIERhdGFkb2cgbW9uaXRvcnNcbiAgICogLSBSSU8gY29udmVudGlvbiBpcyB0aGF0IHVwbG9hZGVkIGxpY2Vuc2UtY2hlY2stZmlsZXMgYXJlIG5hbWVkIGFmdGVyIHRoZSBzZXJ2aWNlLCBpLmUuIHNlcnZpY2VOYW1lLnR4dFxuICAgKi9cbiAgcmVhZG9ubHkgc2VydmljZU5hbWU6IHN0cmluZztcblxuICAvKipcbiAgICogUHJvdmlkZXIgZm9yIGFwcFN0YWNrIHRvIGJlIGRlcGxveWVkLlxuICAgKlxuICAgKiBUaGlzIGFjdHMgYXMgYSB3cmFwcGVyIGZvciBhbGwgcmVzb3VyY2VzIHlvdSB3YW50IHRvIGRlcGxveSB2aWEgdGhlIHBpcGVsaW5lLlxuICAgKi9cbiAgcmVhZG9ubHkgYXBwU3RhY2tGYWN0b3J5OiBJQXBwU3RhY2tGYWN0b3J5O1xuXG4gIC8qKlxuICAgKiBEZWZpbmVzIHdoaWNoIGtpbmQgb2YgcGlwZWxpbmUgaXMgZGVwbG95ZWQuXG4gICAqL1xuICByZWFkb25seSBwaXBlbGluZVR5cGU6IFBpcGVsaW5lVHlwZTtcblxuICAvKipcbiAgICogRGVmaW5lcyBob3cgb2Z0ZW4gdGhlIHBpcGVsaW5lIGlzIHRyaWdnZXJlZCBhdXRvbWF0aWNhbGx5LiBJcyBkZWZpbmVkIHZpYSBhIGNyb24gZXhwcmVzc2lvbi5cbiAgICpcbiAgICogU2VlIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9BbWF6b25DbG91ZFdhdGNoL2xhdGVzdC9ldmVudHMvU2NoZWR1bGVkRXZlbnRzLmh0bWxcbiAgICpcbiAgICogRGVmYXVsdCB2YWx1ZXM6XG4gICAqIC0gbWFpbiBwaXBlbGluZTogY3JvbigwIDkgPyAqIDIjMSAqKVxuICAgKiAtIHZ1bG5lcmFiaWxpdHkgcGlwZWxpbmU6IGNyb24oMCA1ID8gKiBNT04tRlJJICopXG4gICAqL1xuICByZWFkb25seSBwaXBlbGluZVNjaGVkdWxlcz86IFBpcGVsaW5lU2NoZWR1bGVzUHJvcHM7XG5cblxuICAvKipcbiAgICogUGF0aCB0byBzZWNyZXRzIGZpbGUgY29udGFpbmluZyBlbmNyeXB0ZWQgc2VjcmV0cy5cbiAgICpcbiAgICogVGhlIFJpb1NlY3JldHNEZXBsb3lTdGVwIGlzIGFkZGVkIHByaW9yIHRvIGRlcGxveW1lbnQgb2YgdGhlIEFwcFN0YWNrIGlmIGEgcGF0aCBpcyBwcm92aWRlZC5cbiAgICpcbiAgICogTm8gc2VjcmV0cyBhcmUgZGVwbG95ZWQgaWYgbm8gcGF0aCBpcyBwcm92aWRlZC5cbiAgICovXG4gIHJlYWRvbmx5IHNlY3JldHNEZXBsb3lTdGVwUHJvcHM/OiBQaXBlbGluZVN0YWNrUmlvU2VjcmV0c0RlcGxveVN0ZXBQcm9wcztcblxuICAvKipcbiAgICogQ29kZUJ1aWxkIG9wdGlvbnMgb3ZlcnJpZGluZyB0aGUgcmlvLXNwZWNpZmljIGRlZmF1bHRzLlxuICAgKi9cbiAgcmVhZG9ubHkgY29kZUJ1aWxkT3B0aW9ucz86IENvZGVCdWlsZE9wdGlvbnM7XG4gIC8qKlxuICAgKiBJZiBwcmVzZW50LCB0aGUgY2FwYWJpbGl0eSBtb25pdG9yaW5nIGRlcGxveSBzdGVwIGlzIGFkZGVkIHRvIHRoZSBwaXBlbGluZS5cbiAgICovXG4gIHJlYWRvbmx5IG1vbml0b3JpbmdEZXBsb3lTdGVwUHJvcHM/OiBQaXBlbGluZVN0YWNrUmlvTW9uaXRvcmluZ0RlcGxveVN0ZXBQcm9wcztcbiAgLyoqXG4gICAqIEBkZXByZWNhdGVkIFBsZWFzZSB1c2UgdGhlIGB2dWxuZXJhYmlsaXR5Tm90aWZpY2F0aW9uYCBwcm9wZXJ0eSBpbnN0ZWFkLlxuICAgKiBJZiBgb3BzZ2VuaWVgIGlzIHNwZWNpZmllZCwgYW4gRXhjZXB0aW9uIGlzIHRocm93biwgYXMgdGhpcyBpcyBub3Qgc3VwcG9ydGVkIGFueW1vcmUuXG4gICAqL1xuICByZWFkb25seSBkYXRhZG9nQWxlcnRUeXBlPzogRGF0YWRvZ0FsZXJ0VHlwZTtcbiAgLyoqXG4gICAqIE5vdGlmaWNhdGlvbiB0eXBlIGZvciB0aGUgYXV0by1nZW5lcmF0ZWQgdnVsbmVyYWJpbGl0eSBwaXBlbGluZSBtb25pdG9yLiBEZWZhdWx0cyB0byBzbGFjay5cbiAgICovXG4gIHJlYWRvbmx5IHZ1bG5lcmFiaWxpdHlOb3RpZmljYXRpb24/OiBJTm90aWZpY2F0aW9uO1xufVxuXG4vKipcbiAqIFByb3ZpZGVyIGludGVyZmFjZSB0byBjcmVhdGUgdGhlIEFwcFN0YWNrIHdpdGhpbiB0aGUgc3BlY2lmaWMgc2NvcGVcbiAqXG4gKiBTaW1wbHkgcGxhY2UgdGhlIEFwcFN0YWNrIGNyZWF0aW9uIGludG8gdGhlIGNyZWF0ZS1tZXRob2Q6XG4gKiBAZXhhbXBsZVxuICpcbiAqIC8vIFVzZSBlLmcuIHdpdGhpbiBBcHBsaWNhdGlvblByb3BzIGFzIEpTT05PYmplY3Q6XG4gKiB7IGNyZWF0ZTogKGNvbnN0cnVjdCwgcHJvcHMpID0+IG5ldyBTdGFjayhjb25zdHJ1Y3QsICdBcHBTdGFjaycsIHByb3BzKSB9XG4gKlxuICogLy8gb3Igc2ltcGx5IGFzIGNsYXNzIGludGVyZmFjZSB3aXRoaW4geW91ciBzdGFjayBpbXBsZW1lbnRhdGlvbjpcbiAqIGNsYXNzIFBpcGVsaW5lU3RhZ2UgZXh0ZW5kcyBTdGFnZSBpbXBsZW1lbnRzIElBcHBTdGFja0ZhY3Rvcnkge1xuICogICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogU3RhZ2VQcm9wcykge1xuICogICAgIHN1cGVyKHNjb3BlLCBpZCwgcHJvcHMpO1xuICogICAgIC8vIHlvdXIgc3RhZ2UgZGVmaW5pdGlvblxuICogICB9XG4gKlxuICogICBjcmVhdGUoc2NvcGU6IENvbnN0cnVjdCwgcHJvcHM6IEFwcFN0YWNrUHJvcHMpOiB2b2lkIHtcbiAqICAgICAvLyBhcHAgc3RhY2sgaW5pdGlhdGlvbiBnb2VzIGluIGhlcmVcbiAqICAgfVxuICogfVxuICovXG5leHBvcnQgaW50ZXJmYWNlIElBcHBTdGFja0ZhY3Rvcnkge1xuICAvKipcbiAgICogRmFjdG9yeSBtZXRob2QsIGJlaW5nIGludm9rZWQgd2l0aCB0aGUgc3BlY2lmaWMgc2NvcGUgZHVyaW5nIHBpcGVsaW5lIGluc3RhbnRpYXRpb25cbiAgICpcbiAgICogQHBhcmFtIHNjb3BlIHRoZSBwYXJlbnQgY29uc3RydWN0IGZvciB0aGUgYXBwIHN0YWNrXG4gICAqIEBwYXJhbSBwcm9wcyB0aGUgYXBwIHN0YWNrcyBwcm9wZXJ0aWVzXG4gICAqL1xuICBjcmVhdGUoc2NvcGU6IENvbnN0cnVjdCwgcHJvcHM6IEFwcFN0YWNrUHJvcHMpOiB2b2lkO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEFwcFN0YWNrUHJvcHMgZXh0ZW5kcyBTdGFja1Byb3BzIHtcbiAgcmVhZG9ubHkgc2VydmljZU5hbWU6IHN0cmluZztcbiAgcmVhZG9ubHkgdmVyc2lvbjogc3RyaW5nO1xufVxuXG4vKipcbiAqIFNlbGVjdGVkIHByb3BlcnRpZXMgYmVpbmcgaGFuZGVkIG92ZXIgdG8gUmlvU2VjcmV0c0RlcGxveVN0ZXAuXG4gKlxuICogQHNlZSByaW8uUmlvU2VjcmV0c0RlcGxveVN0ZXBcbiAqIEBzZWUgcmlvLlJpb1NlY3JldHNEZXBsb3lTdGVwUHJvcHNcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBQaXBlbGluZVN0YWNrUmlvU2VjcmV0c0RlcGxveVN0ZXBQcm9wcyB7XG4gIHJlYWRvbmx5IHNlY3JldHNGaWxlUGF0aDogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFBpcGVsaW5lU3RhY2tSaW9Nb25pdG9yaW5nRGVwbG95U3RlcFByb3BzIHtcbiAgLyoqXG4gICAqIE1hcCB7ZGlyZWN0b3J5OiBmaWxlbmFtZXN9IGNvbnRhaW5pbmcgIC5qYXIgb3IgLnppcCBmaWxlcyBjcmVhdGVkIGluIG1haW4gYnVpbGQgc3RlcCB0byBiZSB1cGxvYWRlZCB0byB0aGUgbW9uaXRvcmluZy10ZXN0c3VpdGUtcnVubmVyIGJ1Y2tldCwgZS5nLlxuICAgKiBgYGBcbiAgICoge1xuICAgKiAgJ2F2YWlsYWJpbGl0eS1tb25pdG9yaW5nL2J1aWxkL2xpYnMnOiBbJ2Zvby1hdmFpbGFiaWxpdHkuamFyJ10sXG4gICAqICAncGVyZm9ybWFuY2UtbW9uaXRvcmluZy9idWlsZC9saWJzJzogWydhcGktY2hlY2suemlwJywgJ2Zvby1wZXJmb3JtYW5jZS5qYXInXSxcbiAgICogfVxuICAgKiBgYGBcbiAgICovXG4gIHJlYWRvbmx5IG1vbml0b3JpbmdBcnRpZmFjdHM6IHsgW2RpcmVjdG9yeTogc3RyaW5nXTogc3RyaW5nW10gfTtcbn1cblxuZXhwb3J0IGVudW0gUGlwZWxpbmVUeXBlIHtcblxuICAvKipcbiAgICogU2VsZi1tdXRhdGluZyBjb2RlcGlwZWxpbmUgZGVwbG95aW5nIHRoZSBwcm92aWRlZCBBcHBTdGFjay4gQmUgYXdhcmU6IFRoZSBwcm92aWRlZCBzZXJ2aWNlIHdvbid0IGhhdmUgYWNjZXNzIHRvIEthZmthLlxuICAgKlxuICAgKiBDb21lcyB3aXRoIGEgcHJlLWRlZmluZWQgYnVpbGRzcGVjLnlhbWwgZm9yIGEgZ3JhZGxlIHByb2plY3QuIFRoaXMgYnVpbGRzcGVjLnlhbWwgaXMgdXNlZCBmb3IgYm90aCB0aGUgbWFpbiBhbmRcbiAgICogYnJhbmNoIHBpcGVsaW5lIGFuZCBpbmNsdWRlcyB0aGUgZm9sbG93aW5nIHN0ZXBzXG4gICAqIC0gYnVpbGQgYW5kIHRlc3Qgb2YgdGhlIGFydGlmYWN0IHZpYSBjb21tYW5kIFwiLi9ncmFkbGV3IGNsZWFuIGJ1aWxkXCIuXG4gICAqIDxwPiBUaGlzIGdyYWRsZSBjb21tYW5kIG11c3QgYmUgcHJvdmlkZWQgYnkgdGhlIGdyYWRsZSBwcm9qZWN0LlxuICAgKiAtIGxpY2Vuc2UtY2hlY2sgYW5kIHVwbG9hZCBvZiBsaWNlbnNlLWNoZWNrLWZpbGUgdmlhIGNvbW1hbmQgXCIuL2dyYWRsZXcgY2hlY2tMaWNlbnNlc1wiLlxuICAgKiA8cD4gVGhpcyBncmFkbGUgY29tbWFuZCBtdXN0IGJlIHByb3ZpZGVkIGJ5IHRoZSBncmFkbGUgcHJvamVjdC5cbiAgICogLSBjcmVhdGUgYSBzZWxmLXNpZ25lZCBjZXJ0aWZpY2F0ZSB0byBtYWtlIFRMUyBjb21tdW5pY2F0aW9uIHBvc3NpYmxlLCBlLmcuIHdpdGggYSBsb2FkYmFsYW5jZXIuXG4gICAqIC0gYnVpbGQgdGhlIGNvbnRhaW5lciBpbWFnZSB2aWEgY29tbWFuZCBcIi4vZ3JhZGxldyBqaWJCdWlsZFRhclwiLlxuICAgKiA8cD4gVGhpcyBncmFkbGUgY29tbWFuZCBtdXN0IGJlIHByb3ZpZGVkIGJ5IHRoZSBncmFkbGUgcHJvamVjdC5cbiAgICovXG4gIFNUQU5EQVJEX0dSQURMRSA9ICdTVEFOREFSRF9HUkFETEUnLFxuICAvKipcbiAgICogU2VsZi1tdXRhdGluZyBjb2RlcGlwZWxpbmUgZGVwbG95aW5nIHRoZSBwcm92aWRlZCBBcHBTdGFjayB3aXRoIGFkZGl0aW9uYWwgc3RlcHMgbmVlZGVkIHRvIGFjY2VzcyBLYWZrYS5cbiAgICpcbiAgICogQ29tZXMgd2l0aCBhIHByZS1kZWZpbmVkIGJ1aWxkc3BlYy55YW1sIGZvciBhIGdyYWRsZSBwcm9qZWN0LiBUaGlzIGJ1aWxkc3BlYy55YW1sIGlzIHVzZWQgZm9yIGJvdGggdGhlIG1haW4gYW5kXG4gICAqIGJyYW5jaCBwaXBlbGluZSBhbmQgaW5jbHVkZXMgdGhlIGZvbGxvd2luZyBzdGVwc1xuICAgKiAtIGJ1aWxkIGFuZCB0ZXN0IG9mIHRoZSBhcnRpZmFjdCB2aWEgY29tbWFuZCBcIi4vZ3JhZGxldyBjbGVhbiBidWlsZFwiLlxuICAgKiA8cD4gVGhpcyBncmFkbGUgY29tbWFuZCBtdXN0IGJlIHByb3ZpZGVkIGJ5IHRoZSBncmFkbGUgcHJvamVjdC5cbiAgICogLSBsaWNlbnNlLWNoZWNrIGFuZCB1cGxvYWQgb2YgbGljZW5zZS1jaGVjay1maWxlIHZpYSBjb21tYW5kIFwiLi9ncmFkbGV3IGNoZWNrTGljZW5zZXNcIi5cbiAgICogPHA+IFRoaXMgZ3JhZGxlIGNvbW1hbmQgbXVzdCBiZSBwcm92aWRlZCBieSB0aGUgZ3JhZGxlIHByb2plY3QuXG4gICAqIC0gY3JlYXRlIGEgc2VsZi1zaWduZWQgY2VydGlmaWNhdGUgdG8gbWFrZSBUTFMgY29tbXVuaWNhdGlvbiBwb3NzaWJsZSwgZS5nLiB3aXRoIGEgbG9hZGJhbGFuY2VyLlxuICAgKiAtIHJlcXVlc3QgYSBjZXJ0aWZpY2F0ZSB0byBhdXRoZW50aWNhdGUgYWdhaW5zdCBLYWZrYSB2aWEgbXV0dWFsIFRMU1xuICAgKiAtIGJ1aWxkIHRoZSBjb250YWluZXIgaW1hZ2UgdmlhIGNvbW1hbmQgXCIuL2dyYWRsZXcgamliQnVpbGRUYXJcIi5cbiAgICogPHA+IFRoaXMgZ3JhZGxlIGNvbW1hbmQgbXVzdCBiZSBwcm92aWRlZCBieSB0aGUgZ3JhZGxlIHByb2plY3QuXG4gICAqL1xuICBTVEFOREFSRF9HUkFETEVfS0FGS0EgPSAnU1RBTkRBUkRfR1JBRExFX0tBRktBJyxcbiAgLyoqXG4gICAqIFNlbGYtbXV0YXRpbmcgY29kZXBpcGVsaW5lIGRlcGxveWluZyB0aGUgcHJvdmlkZWQgQXBwU3RhY2suXG4gICAqXG4gICAqIENvbWVzIHdpdGggYSBwcmUtZGVmaW5lZCBidWlsZHNwZWMueWFtbCB0byBzeW50aGVzaXplIHRoZSBBcHBTdGFjay5cbiAgICogTm8gYnJhbmNoIG9yIHZ1bG5lcmFiaWxpdHkgcGlwZWxpbmUgaXMgY3JlYXRlZC5cbiAgICovXG4gIFNUQU5EQVJEX0lORlJBU1RSVUNUVVJFID0gJ1NUQU5EQVJEX0lORlJBU1RSVUNUVVJFJyxcbn1cblxuLyoqXG4gKiBAcGFyYW0gcGFydGlhbEJ1aWxkU3BlY1BhdGggUGF0aCB0byBhIGN1c3RvbSBidWlsZC1zcGVjIGZpbGUgdG8gdXNlIGZvciB0aGUgbWFpbiBhbmQgYnJhbmNoIHBpcGVsaW5lLlxuICogQSBwcmUtZGVmaW5lZCBidWlsZHNwZWMueWFtbCBmaXR0aW5nIHRoZSBwaXBlbGluZVR5cGUgaXMgdXNlZCBpZiBub3QgcHJvdmlkZWQuXG4gKiBAcGFyYW0gYnVpbGRFbnZpcm9ubWVudCBDdXN0b20gQ29kZUJ1aWxkIGJ1aWxkIGVudmlyb25tZW50IG92ZXJyaWRpbmcgdGhlIHJpby1zcGVjaWZpYyBkZWZhdWx0cy4gVGhlIGRlZmF1bHRzIGFyZTpcbiAqICAgICAgICAgIGJ1aWxkSW1hZ2U6IEFNQVpPTl9MSU5VWF8yXzVcbiAqICAgICAgICAgIGNvbXB1dGVUeXBlOiBMQVJHRVxuICovXG5leHBvcnQgaW50ZXJmYWNlIENvZGVCdWlsZE9wdGlvbnMge1xuICByZWFkb25seSBwYXJ0aWFsQnVpbGRTcGVjUGF0aD86IHN0cmluZztcbiAgcmVhZG9ubHkgYnVpbGRFbnZpcm9ubWVudD86IEJ1aWxkRW52aXJvbm1lbnQ7XG59XG5cbmV4cG9ydCBjbGFzcyBQaXBlbGluZVN0YWNrIGV4dGVuZHMgU3RhY2sge1xuICBwcml2YXRlIHJlYWRvbmx5IF9tYWluQ29kZUJ1aWxkUHJvamVjdDogQ29kZUJ1aWxkU3RlcDtcbiAgcHJpdmF0ZSByZWFkb25seSBfYnJhbmNoQ29kZUJ1aWxkUHJvamVjdDogQ29kZUJ1aWxkU3RlcCB8IHVuZGVmaW5lZDtcbiAgcHJpdmF0ZSByZWFkb25seSBfYnVja2V0OiBJQnVja2V0O1xuICBwcml2YXRlIHJlYWRvbmx5IF9jYWNoZUJ1Y2tldDogSUJ1Y2tldDtcbiAgcHJpdmF0ZSByZWFkb25seSBfaG9zdGVkWm9uZTogSUhvc3RlZFpvbmU7XG4gIHByaXZhdGUgcmVhZG9ubHkgX2lucHV0TWFzdGVyVHJpZ2dlckZpbGU6IENvZGVQaXBlbGluZVNvdXJjZTtcbiAgcHJpdmF0ZSByZWFkb25seSBfaW5wdXRCcmFuY2hUcmlnZ2VyRmlsZTogQ29kZVBpcGVsaW5lU291cmNlO1xuICBwcml2YXRlIHJlYWRvbmx5IF9vc3NMaWNlbnNlc0J1Y2tldFBhcmFtZXRlcjogSVN0cmluZ1BhcmFtZXRlcjtcbiAgcHJpdmF0ZSByZWFkb25seSBfb3NzTGljZW5zZXNCdWNrZXQ6IElCdWNrZXQ7XG4gIHByaXZhdGUgcmVhZG9ubHkgX3NlcnZpY2VLZXlzdG9yZVBhc3N3b3JkOiBJU3RyaW5nUGFyYW1ldGVyO1xuICBwcml2YXRlIHJlYWRvbmx5IF9hY2NvdW50TmFtZVBhcmFtZXRlcjogSVN0cmluZ1BhcmFtZXRlcjtcbiAgcHJpdmF0ZSByZWFkb25seSBfbmlzdERhdGFNaXJyb3JVcmw6IElTdHJpbmdQYXJhbWV0ZXI7XG5cbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IFBpcGVsaW5lU3RhY2tQcm9wcykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCwgcHJvcHMpO1xuXG4gICAgLy8gcG9wdWxhdGUgZXh0ZXJuYWwgcGFyYW1ldGVyc1xuICAgIHRoaXMuX2J1Y2tldCA9IHMzLkJ1Y2tldC5mcm9tQnVja2V0TmFtZSh0aGlzLCAnVHJpZ2dlckJ1Y2tldCcsIEZuLmltcG9ydFZhbHVlKCdiaXRidWNrZXQtaW50ZWdyYXRpb24tczMtYnVja2V0JykpO1xuICAgIHRoaXMuX2NhY2hlQnVja2V0ID0gbmV3IHMzLkJ1Y2tldCh0aGlzLCAnQ2FjaGVCdWNrZXQnLCB7XG4gICAgICByZW1vdmFsUG9saWN5OiBSZW1vdmFsUG9saWN5LkRFU1RST1ksXG4gICAgICBhdXRvRGVsZXRlT2JqZWN0czogdHJ1ZSxcbiAgICAgIGxpZmVjeWNsZVJ1bGVzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBleHBpcmF0aW9uOiBEdXJhdGlvbi5kYXlzKDMwKSxcbiAgICAgICAgICBhYm9ydEluY29tcGxldGVNdWx0aXBhcnRVcGxvYWRBZnRlcjogRHVyYXRpb24uZGF5cyg3KSxcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgfSk7XG4gICAgdGhpcy5faG9zdGVkWm9uZSA9IHJpby5SaW9MYW5kaW5nWm9uZS5nZXREZWZhdWx0SG9zdGVkWm9uZSh0aGlzKTtcbiAgICB0aGlzLl9pbnB1dE1hc3RlclRyaWdnZXJGaWxlID0gcGlwZWxpbmVzLkNvZGVQaXBlbGluZVNvdXJjZS5zMyh0aGlzLl9idWNrZXQsIGAke3Byb3BzLnNlcnZpY2VOYW1lfS90cmlnZ2VyLyR7cmlvLlRyaWdnZXJLZXkuTUFTVEVSX1JFUE99YCwgeyB0cmlnZ2VyOiBjb2RlcGlwZWxpbmVfYWN0aW9ucy5TM1RyaWdnZXIuRVZFTlRTIH0pO1xuICAgIHRoaXMuX2lucHV0QnJhbmNoVHJpZ2dlckZpbGUgPSBwaXBlbGluZXMuQ29kZVBpcGVsaW5lU291cmNlLnMzKHRoaXMuX2J1Y2tldCwgYCR7cHJvcHMuc2VydmljZU5hbWV9L3RyaWdnZXIvJHtyaW8uVHJpZ2dlcktleS5CUkFOQ0hfUkVQT31gLCB7IHRyaWdnZXI6IGNvZGVwaXBlbGluZV9hY3Rpb25zLlMzVHJpZ2dlci5FVkVOVFMgfSk7XG5cbiAgICB0aGlzLl9vc3NMaWNlbnNlc0J1Y2tldFBhcmFtZXRlciA9IHNzbS5TdHJpbmdQYXJhbWV0ZXIuZnJvbVN0cmluZ1BhcmFtZXRlckF0dHJpYnV0ZXModGhpcywgJ09zc0xpY2Vuc2VzQnVja2V0UGFyYW1ldGVyJywgeyBwYXJhbWV0ZXJOYW1lOiAnL2NvbmZpZy9vc3MtbGljZW5zZXMvYnVja2V0LW5hbWUnIH0pO1xuICAgIHRoaXMuX29zc0xpY2Vuc2VzQnVja2V0ID0gczMuQnVja2V0LmZyb21CdWNrZXROYW1lKHRoaXMsICdPc3NMaWNlbnNlc0J1Y2tldCcsIHRoaXMuX29zc0xpY2Vuc2VzQnVja2V0UGFyYW1ldGVyLnN0cmluZ1ZhbHVlKTtcbiAgICB0aGlzLl9zZXJ2aWNlS2V5c3RvcmVQYXNzd29yZCA9IHNzbS5TdHJpbmdQYXJhbWV0ZXIuZnJvbVNlY3VyZVN0cmluZ1BhcmFtZXRlckF0dHJpYnV0ZXModGhpcywgJ0tleXN0b3JlUGFzc3dvcmQnLCB7XG4gICAgICBwYXJhbWV0ZXJOYW1lOiBgL2NvbmZpZy8ke3Byb3BzLnNlcnZpY2VOYW1lfS9zZXJ2aWNlLWtleXN0b3JlLXBhc3N3b3JkYCxcbiAgICAgIHZlcnNpb246IDEsXG4gICAgfSk7XG4gICAgdGhpcy5fYWNjb3VudE5hbWVQYXJhbWV0ZXIgPSBzc20uU3RyaW5nUGFyYW1ldGVyLmZyb21TdHJpbmdQYXJhbWV0ZXJOYW1lKHRoaXMsICdBY2NvdW50TmFtZVBhcmFtZXRlcicsICcvY29uZmlnL2FjY291bnQvbmFtZScpO1xuICAgIHRoaXMuX25pc3REYXRhTWlycm9yVXJsID0gc3NtLlN0cmluZ1BhcmFtZXRlci5mcm9tU2VjdXJlU3RyaW5nUGFyYW1ldGVyQXR0cmlidXRlcyh0aGlzLCAnTmlzdERhdGFNaXJyb3JVcmwnLCB7XG4gICAgICBwYXJhbWV0ZXJOYW1lOiAnL2NvbmZpZy9uaXN0LWRhdGEtbWlycm9yL3VybCcsXG4gICAgICB2ZXJzaW9uOiAxLFxuICAgIH0pO1xuXG4gICAgdGhpcy5fbWFpbkNvZGVCdWlsZFByb2plY3QgPSB0aGlzLmNyZWF0ZVJpb0NvZGVCdWlsZFByb2plY3QoJ01haW5CdWlsZCcsIHRoaXMuX2lucHV0TWFzdGVyVHJpZ2dlckZpbGUsIHByb3BzKTtcbiAgICB0aGlzLmFkZE1haW5QaXBlbGluZShwcm9wcywgdGhpcy5fbWFpbkNvZGVCdWlsZFByb2plY3QpO1xuXG4gICAgaWYgKHByb3BzLnBpcGVsaW5lVHlwZSAhPT0gUGlwZWxpbmVUeXBlLlNUQU5EQVJEX0lORlJBU1RSVUNUVVJFKSB7XG4gICAgICB0aGlzLl9icmFuY2hDb2RlQnVpbGRQcm9qZWN0ID0gdGhpcy5jcmVhdGVSaW9Db2RlQnVpbGRQcm9qZWN0KCdCcmFuY2hCdWlsZCcsIHRoaXMuX2lucHV0QnJhbmNoVHJpZ2dlckZpbGUsIHByb3BzKTtcbiAgICAgIHRoaXMuYWRkQnJhbmNoUGlwZWxpbmUocHJvcHMsIHRoaXMuX2JyYW5jaENvZGVCdWlsZFByb2plY3QpO1xuICAgICAgdGhpcy5hZGRWdWxuZXJhYmlsaXR5UGlwZWxpbmUocHJvcHMpO1xuICAgIH1cblxuICAgIGNvbnN0IFtmZWF0dXJlLCBwYWNrYWdlTmFtZV0gPSBfX2Rpcm5hbWUuc3BsaXQocGF0aC5zZXApLnJldmVyc2UoKTtcbiAgICBuZXcgQ2xhaWRvbWV0ZXIodGhpcywgJ0NsYWlkb21ldGVyJywge1xuICAgICAgcHJvZHVjdDogQ2xhaWRvbWV0ZXJQcm9kdWN0LkNES19DT05UUklCVVRJT04sXG4gICAgICBwYWNrYWdlTmFtZSxcbiAgICAgIGZlYXR1cmUsXG4gICAgICB2ZXJzaW9uOiAnMC4wLjIyJyxcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgbWFpbkNvZGVidWlsZFByb2plY3QoKSB7XG4gICAgcmV0dXJuIHRoaXMuX21haW5Db2RlQnVpbGRQcm9qZWN0O1xuICB9XG5cbiAgcHVibGljIGdldCBicmFuY2hDb2RlQnVpbGRQcm9qZWN0KCk6IENvZGVCdWlsZFN0ZXAge1xuICAgIGlmICh0aGlzLl9icmFuY2hDb2RlQnVpbGRQcm9qZWN0ID09IHVuZGVmaW5lZCkge1xuICAgICAgdGhyb3cgRXJyb3IoJ1RoZSBwaXBlbGluZSB0eXBlIHlvdSBoYXZlIHNlbGVjdGVkIGRvZXMgbm90IHN1cHBvcnQgYSBicmFuY2ggY29kZWJ1aWxkIHByb2plY3QnKTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuX2JyYW5jaENvZGVCdWlsZFByb2plY3Q7XG4gIH1cblxuICBwcml2YXRlIGNyZWF0ZVJpb0NvZGVCdWlsZFByb2plY3QobmFtZTogc3RyaW5nLCB0cmlnZ2VyRmlsZTogQ29kZVBpcGVsaW5lU291cmNlLCBwcm9wczogUGlwZWxpbmVTdGFja1Byb3BzKSB7XG4gICAgcmV0dXJuIG5ldyBSaW9Db2RlQnVpbGRQcm9qZWN0KHRoaXMsIG5hbWUsIHtcbiAgICAgIGlucHV0OiB0cmlnZ2VyRmlsZSxcbiAgICAgIGNka091dERpcmVjdG9yeTogJ2luZnJhc3RydWN0dXJlL2Nkay5vdXQnLFxuICAgICAgcGFydGlhbEJ1aWxkU3BlYzogdGhpcy5sb2FkQnVpbGRTcGVjRnJvbUZpbGUocHJvcHM/LmNvZGVCdWlsZE9wdGlvbnM/LnBhcnRpYWxCdWlsZFNwZWNQYXRoIHx8XG4gICAgICAgIHRoaXMucmVzb2x2ZURlZmF1bHRCdWlsZFNwZWMocHJvcHMucGlwZWxpbmVUeXBlKSksXG4gICAgICBidWlsZEVudmlyb25tZW50OiBwcm9wcz8uY29kZUJ1aWxkT3B0aW9ucz8uYnVpbGRFbnZpcm9ubWVudCxcbiAgICAgIGhvc3RlZFpvbmVOYW1lOiB0aGlzLl9ob3N0ZWRab25lLnpvbmVOYW1lLFxuICAgICAgc2VydmljZU5hbWU6IHByb3BzLnNlcnZpY2VOYW1lLFxuICAgICAgY2FjaGVCdWNrZXQ6IHRoaXMuX2NhY2hlQnVja2V0LFxuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBhZGRNYWluUGlwZWxpbmUocHJvcHM6IFBpcGVsaW5lU3RhY2tQcm9wcywgbWFpbkJ1aWxkOiBDb2RlQnVpbGRTdGVwKSB7XG5cbiAgICBjb25zdCBwaXBlbGluZSA9IG5ldyBwaXBlbGluZXMuQ29kZVBpcGVsaW5lKHRoaXMsICdQaXBlbGluZScsIHtcbiAgICAgIGFydGlmYWN0QnVja2V0OiB0aGlzLl9jYWNoZUJ1Y2tldCxcbiAgICAgIHN5bnRoOiBtYWluQnVpbGQsXG4gICAgfSk7XG4gICAgVGFncy5vZihwaXBlbGluZSkuYWRkKCdwaXBlbGluZV90eXBlJywgJ2J1aWxkJyk7XG5cbiAgICBjb25zdCBzdHJpcEFzc2V0c1N0ZXAgPSB0aGlzLmNyZWF0ZVN0cmlwQXNzZXRzU3RlcChwaXBlbGluZSk7XG4gICAgcGlwZWxpbmUuYWRkV2F2ZSgnQmVmb3JlRGVwbG95JywgeyBwcmU6IFtzdHJpcEFzc2V0c1N0ZXBdIH0pO1xuXG4gICAgY29uc3QgY2FwYWJpbGl0eU1vbml0b3JpbmdEZXBsb3lTdGVwID0gdGhpcy5jcmVhdGVDYXBhYmlsaXR5TW9uaXRvcmluZ0RlcGxveVN0ZXAobWFpbkJ1aWxkLCBwcm9wcyk7XG4gICAgY29uc3Qgc2VjcmV0c0RlcGxveVN0ZXBQcm9wcyA9IHRoaXMuY3JlYXRlU2VjcmV0c0RlcGxveVN0ZXAocHJvcHMpO1xuXG4gICAgcGlwZWxpbmUuYWRkU3RhZ2UobmV3IEFwcGxpY2F0aW9uKHRoaXMsICdEZXBsb3lBcHBsaWNhdGlvblN0YWNrcycsIHtcbiAgICAgIGFwcFN0YWNrRmFjdG9yeTogcHJvcHMuYXBwU3RhY2tGYWN0b3J5LFxuICAgICAgc2VydmljZU5hbWU6IHByb3BzLnNlcnZpY2VOYW1lLFxuICAgICAgdmVyc2lvbjogcHJvY2Vzcy5lbnYuUElQRUxJTkVfRVhFQ1VUSU9OX0lEID8/ICdQSVBFTElORV9FWEVDVVRJT05fSUQgbm90IHNldCcsXG4gICAgfSksIHtcbiAgICAgIHByZTogc2VjcmV0c0RlcGxveVN0ZXBQcm9wcyA/IFtzZWNyZXRzRGVwbG95U3RlcFByb3BzXSA6IHVuZGVmaW5lZCxcbiAgICAgIHBvc3Q6IGNhcGFiaWxpdHlNb25pdG9yaW5nRGVwbG95U3RlcCA/IFtjYXBhYmlsaXR5TW9uaXRvcmluZ0RlcGxveVN0ZXBdIDogdW5kZWZpbmVkLFxuICAgIH0pO1xuICAgIHBpcGVsaW5lLmJ1aWxkUGlwZWxpbmUoKTtcblxuICAgIHRoaXMudGFnQ29kZUJ1aWxkUHJvamVjdChzdHJpcEFzc2V0c1N0ZXAsICdwcm9qZWN0X3R5cGUnLCAnc3RyaXBfYXNzZXRzJyk7XG4gICAgdGhpcy50YWdDb2RlQnVpbGRQcm9qZWN0KHNlY3JldHNEZXBsb3lTdGVwUHJvcHMsICdwcm9qZWN0X3R5cGUnLCAnZGVwbG95X3NlY3JldHMnKTtcbiAgICB0aGlzLnRhZ0NvZGVCdWlsZFByb2plY3QobWFpbkJ1aWxkLCAncHJvamVjdF90eXBlJywgJ2J1aWxkJyk7XG4gICAgdGhpcy50YWdDb2RlQnVpbGRQcm9qZWN0KGNhcGFiaWxpdHlNb25pdG9yaW5nRGVwbG95U3RlcCwgJ3Byb2plY3RfdHlwZScsICdkZXBsb3lfY2FwYWJpbGl0eV9tb25pdG9yaW5nJyk7XG5cbiAgICBpZiAoY2FwYWJpbGl0eU1vbml0b3JpbmdEZXBsb3lTdGVwKSB7XG4gICAgICBjb25zdCBtb25pdG9yaW5nVGVzdHN1aXRlUnVubmVyQnVja2V0ID0gQnVja2V0LmZyb21CdWNrZXROYW1lKHRoaXMsICdNb25pdG9yaW5nVGVzdHN1aXRlUnVubmVyQnVja2V0JywgYG1vbml0b3JpbmctdGVzdHN1aXRlLXJ1bm5lci0ke3RoaXMuYWNjb3VudH1gKTtcbiAgICAgIG1vbml0b3JpbmdUZXN0c3VpdGVSdW5uZXJCdWNrZXQuZ3JhbnRXcml0ZShjYXBhYmlsaXR5TW9uaXRvcmluZ0RlcGxveVN0ZXApO1xuICAgIH1cblxuICAgIGNvbnN0IHJ1bGUgPSBuZXcgZXZlbnRzLlJ1bGUodGhpcywgJ1BpcGVsaW5lU2NoZWR1bGUnLCB7XG4gICAgICBzY2hlZHVsZTogZXZlbnRzLlNjaGVkdWxlLmV4cHJlc3Npb24ocHJvcHMucGlwZWxpbmVTY2hlZHVsZXM/Lm1haW5QaXBlbGluZSB8fCAnY3JvbigwIDkgPyAqIDIjMSAqKScpLFxuICAgIH0pO1xuICAgIHJ1bGUuYWRkVGFyZ2V0KG5ldyB0YXJnZXRzLkNvZGVQaXBlbGluZShwaXBlbGluZS5waXBlbGluZSkpO1xuXG4gICAgdGhpcy5fb3NzTGljZW5zZXNCdWNrZXQuZ3JhbnRSZWFkV3JpdGUobWFpbkJ1aWxkKTtcbiAgICB0aGlzLl9vc3NMaWNlbnNlc0J1Y2tldFBhcmFtZXRlci5ncmFudFJlYWQobWFpbkJ1aWxkKTtcbiAgICBpZiAocHJvcHMucGlwZWxpbmVUeXBlICE9PSBQaXBlbGluZVR5cGUuU1RBTkRBUkRfSU5GUkFTVFJVQ1RVUkUpIHtcbiAgICAgIHRoaXMuX3NlcnZpY2VLZXlzdG9yZVBhc3N3b3JkLmdyYW50UmVhZChtYWluQnVpbGQpO1xuICAgIH1cbiAgICB0aGlzLl9hY2NvdW50TmFtZVBhcmFtZXRlci5ncmFudFJlYWQobWFpbkJ1aWxkKTtcbiAgICBpZiAocHJvcHMucGlwZWxpbmVUeXBlID09PSBQaXBlbGluZVR5cGUuU1RBTkRBUkRfR1JBRExFX0tBRktBKSB7XG4gICAgICB0aGlzLmdyYW50UGVybWlzc2lvbnNGb3JLYWZrYUludGVncmF0aW9uKG1haW5CdWlsZCwgJ0thZmthSW50ZWdyYXRpb25Qb2xpY3knKTtcbiAgICB9XG4gICAgcGlwZWxpbmUucGlwZWxpbmUuYXJ0aWZhY3RCdWNrZXQuZ3JhbnRSZWFkV3JpdGUoc3RyaXBBc3NldHNTdGVwLnByb2plY3QpO1xuXG4gICAgbmV3IERhdGFkb2dQaXBlbGluZUVycm9yQWxlcnQodGhpcywgJ0RhdGFkb2dQaXBlbGluZUVycm9yTW9uaXRvcicsIHtcbiAgICAgIHNlcnZpY2VOYW1lOiBwcm9wcy5zZXJ2aWNlTmFtZSxcbiAgICAgIHBpcGVsaW5lTmFtZTogdGhpcy5yZW5hbWVQaXBlbGluZVRvTG93ZXJDYXNlKHBpcGVsaW5lKSxcbiAgICAgIGFjY291bnRJZDogdGhpcy5hY2NvdW50LFxuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBhZGRCcmFuY2hQaXBlbGluZShwcm9wczogUGlwZWxpbmVTdGFja1Byb3BzLCBicmFuY2hCdWlsZDogQ29kZUJ1aWxkU3RlcCkge1xuXG4gICAgY29uc3QgYnJhbmNoUGlwZWxpbmUgPSBuZXcgcGlwZWxpbmVzLkNvZGVQaXBlbGluZSh0aGlzLCAnQnJhbmNoUGlwZWxpbmUnLCB7XG4gICAgICBhcnRpZmFjdEJ1Y2tldDogdGhpcy5fY2FjaGVCdWNrZXQsXG4gICAgICBzeW50aDogYnJhbmNoQnVpbGQsXG4gICAgICBzZWxmTXV0YXRpb246IGZhbHNlLFxuICAgIH0pO1xuICAgIFRhZ3Mub2YoYnJhbmNoUGlwZWxpbmUpLmFkZCgncGlwZWxpbmVfdHlwZScsICdicmFuY2gnKTtcbiAgICBicmFuY2hQaXBlbGluZS5hZGRXYXZlKCdCcmFuY2hCdWlsZCcpLmFkZFBvc3QoYnJhbmNoQnVpbGQpO1xuICAgIGJyYW5jaFBpcGVsaW5lLmJ1aWxkUGlwZWxpbmUoKTtcblxuICAgIHRoaXMudGFnQ29kZUJ1aWxkUHJvamVjdChicmFuY2hCdWlsZCwgJ3Byb2plY3RfdHlwZScsICdicmFuY2hfYnVpbGQnKTtcblxuICAgIHRoaXMuX29zc0xpY2Vuc2VzQnVja2V0LmdyYW50UmVhZFdyaXRlKGJyYW5jaEJ1aWxkKTtcbiAgICB0aGlzLl9vc3NMaWNlbnNlc0J1Y2tldFBhcmFtZXRlci5ncmFudFJlYWQoYnJhbmNoQnVpbGQpO1xuICAgIHRoaXMuX3NlcnZpY2VLZXlzdG9yZVBhc3N3b3JkLmdyYW50UmVhZChicmFuY2hCdWlsZCk7XG4gICAgdGhpcy5fYWNjb3VudE5hbWVQYXJhbWV0ZXIuZ3JhbnRSZWFkKGJyYW5jaEJ1aWxkKTtcbiAgICBpZiAocHJvcHMucGlwZWxpbmVUeXBlID09PSBQaXBlbGluZVR5cGUuU1RBTkRBUkRfR1JBRExFX0tBRktBKSB7XG4gICAgICB0aGlzLmdyYW50UGVybWlzc2lvbnNGb3JLYWZrYUludGVncmF0aW9uKGJyYW5jaEJ1aWxkLCAnQnJhbmNoS2Fma2FJbnRlZ3JhdGlvblBvbGljeScpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgYWRkVnVsbmVyYWJpbGl0eVBpcGVsaW5lKHByb3BzOiBQaXBlbGluZVN0YWNrUHJvcHMpIHtcbiAgICBjb25zdCB2dWxuZXJhYmlsaXR5QnVpbGQgPSBuZXcgUmlvQ29kZUJ1aWxkUHJvamVjdCh0aGlzLCAnVnVsbmVyYWJpbGl0eUNoZWNrcycsIHtcbiAgICAgIGlucHV0OiB0aGlzLl9pbnB1dE1hc3RlclRyaWdnZXJGaWxlLFxuICAgICAgcGFydGlhbEJ1aWxkU3BlYzogdGhpcy5sb2FkQnVpbGRTcGVjRnJvbUZpbGUocGF0aC5yZXNvbHZlKF9fZGlybmFtZSwgJ2J1aWxkc3BlY3MvYnVpbGRzcGVjLXZ1bG5lcmFiaWxpdHktY2hlY2tzLnlhbWwnKSksXG4gICAgICBidWlsZEVudmlyb25tZW50OiBwcm9wcz8uY29kZUJ1aWxkT3B0aW9ucz8uYnVpbGRFbnZpcm9ubWVudCxcbiAgICAgIGhvc3RlZFpvbmVOYW1lOiB0aGlzLl9ob3N0ZWRab25lLnpvbmVOYW1lLFxuICAgICAgc2VydmljZU5hbWU6IHByb3BzLnNlcnZpY2VOYW1lLFxuICAgICAgY2FjaGVCdWNrZXQ6IHRoaXMuX2NhY2hlQnVja2V0LFxuICAgIH0pO1xuICAgIGNvbnN0IHZ1bG5lcmFiaWxpdHlQaXBlbGluZSA9IG5ldyBwaXBlbGluZXMuQ29kZVBpcGVsaW5lKHRoaXMsICdWdWxuZXJhYmlsaXR5UGlwZWxpbmUnLCB7XG4gICAgICBhcnRpZmFjdEJ1Y2tldDogdGhpcy5fY2FjaGVCdWNrZXQsXG4gICAgICBzeW50aDogdnVsbmVyYWJpbGl0eUJ1aWxkLFxuICAgICAgc2VsZk11dGF0aW9uOiBmYWxzZSxcbiAgICB9KTtcbiAgICBUYWdzLm9mKHZ1bG5lcmFiaWxpdHlQaXBlbGluZSkuYWRkKCdwaXBlbGluZV90eXBlJywgJ3Z1bG5lcmFiaWxpdHknKTtcblxuICAgIHZ1bG5lcmFiaWxpdHlQaXBlbGluZS5hZGRXYXZlKCdWdWxuZXJhYmlsaXR5Q2hlY2tzJykuYWRkUG9zdCh2dWxuZXJhYmlsaXR5QnVpbGQpO1xuICAgIHZ1bG5lcmFiaWxpdHlQaXBlbGluZS5idWlsZFBpcGVsaW5lKCk7XG4gICAgVGFncy5vZih2dWxuZXJhYmlsaXR5QnVpbGQucHJvamVjdCkuYWRkKCdwcm9qZWN0X3R5cGUnLCAndnVsbmVyYWJpbGl0eV9jaGVjaycpO1xuICAgIHRoaXMuX25pc3REYXRhTWlycm9yVXJsLmdyYW50UmVhZCh2dWxuZXJhYmlsaXR5QnVpbGQpO1xuXG4gICAgY29uc3QgdnVsbmVyYWJpbGl0eVJ1bGUgPSBuZXcgZXZlbnRzLlJ1bGUodGhpcywgJ1Z1bG5lcmFiaWxpdHlQaXBlbGluZVNjaGVkdWxlJywge1xuICAgICAgc2NoZWR1bGU6IGV2ZW50cy5TY2hlZHVsZS5leHByZXNzaW9uKHByb3BzLnBpcGVsaW5lU2NoZWR1bGVzPy52dWxuZXJhYmlsaXR5UGlwZWxpbmUgfHwgJ2Nyb24oMCA1ID8gKiBNT04tRlJJICopJyksXG4gICAgfSk7XG4gICAgdnVsbmVyYWJpbGl0eVJ1bGUuYWRkVGFyZ2V0KG5ldyB0YXJnZXRzLkNvZGVQaXBlbGluZSh2dWxuZXJhYmlsaXR5UGlwZWxpbmUucGlwZWxpbmUpKTtcblxuICAgIGlmIChwcm9wcy5kYXRhZG9nQWxlcnRUeXBlID09PSAnb3BzZ2VuaWUnKSB7XG4gICAgICB0aHJvdyBFcnJvcignVGhlIE9wc0dlbmllIGFsZXJ0VHlwZSBpcyBub3Qgc3VwcG9ydGVkIGFueW1vcmUuIFBsZWFzZSB1c2UgdGhlIHZ1bG5lcmFiaWxpdHlOb3RpZmljYXRpb24gcHJvcGVydHkgaW5zdGVhZC4nKTtcbiAgICB9XG4gICAgbmV3IERhdGFEb2dQaXBlbGluZUVycm9yQWxlcnRGb3JWdWxuZXJhYmlsaXR5Q2hlY2tzKHRoaXMsICdEYXRhRG9nUGlwZWxpbmVFcnJvckZvclZ1bG5lcmFiaWxpdHlDaGVja3NNb25pdG9yJywge1xuICAgICAgc2VydmljZU5hbWU6IHByb3BzLnNlcnZpY2VOYW1lLFxuICAgICAgcGlwZWxpbmVOYW1lOiB0aGlzLnJlbmFtZVBpcGVsaW5lVG9Mb3dlckNhc2UodnVsbmVyYWJpbGl0eVBpcGVsaW5lKSxcbiAgICAgIGFjY291bnRJZDogdGhpcy5hY2NvdW50LFxuICAgICAgbm90aWZpY2F0aW9uOiBwcm9wcy52dWxuZXJhYmlsaXR5Tm90aWZpY2F0aW9uLFxuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBjcmVhdGVTdHJpcEFzc2V0c1N0ZXAocGlwZWxpbmU6IHBpcGVsaW5lcy5Db2RlUGlwZWxpbmUpOiBDb2RlQnVpbGRTdGVwIHtcbiAgICAvLyBDbG91ZEFzc2VtYmx5QXJ0aWZhY3RzIG11c3QgYmUgc21hbGxlciB0aGFuIDI1Nk1CLiBEdWUgdG8gdGhlIGdyYWRsZSBhcnRpZmFjdCB3ZSBhcmUgZXhjZWVkaW5nIHRoaXMgbGltaXQgYW5kIHBpcGVsaW5lIGZhaWxzIGluIGRlcGxveW1lbnQgc3RlcC5cbiAgICAvLyBJc3N1ZSBpcyBrbm93biBhbmQgbm90IGZpeGVkIGZvciBhbHJlYWR5IHNvbWUgeWVhcnMuIFNlZTogaHR0cHM6Ly9naXRodWIuY29tL2F3cy9hd3MtY2RrL2lzc3Vlcy85OTE3XG4gICAgLy8gRGlydHkgZml4OiBBc3NldHMgYXJlIGFscmVhZHkgdXBsb2FkZWQgYW5kIHRodXMgbm90IG5lZWRlZC4gUmVtb3ZlIHRoZW0gZnJvbSBwaXBlbGluZSBhcnRpZmFjdC5cbiAgICByZXR1cm4gbmV3IENvZGVCdWlsZFN0ZXAoXG4gICAgICAnU3RyaXBBc3NldHNGcm9tQXNzZW1ibHknLCB7XG4gICAgICAgIGlucHV0OiBwaXBlbGluZS5jbG91ZEFzc2VtYmx5RmlsZVNldCxcbiAgICAgICAgY29tbWFuZHM6IFtcbiAgICAgICAgICAnUzNfUEFUSD0ke0NPREVCVUlMRF9TT1VSQ0VfVkVSU0lPTiNcImFybjphd3M6czM6OjpcIn0nLFxuICAgICAgICAgICdaSVBfQVJDSElWRT0kKGJhc2VuYW1lICRTM19QQVRIKScsXG4gICAgICAgICAgJ3JtIC1yZnYgYXNzZXQuKicsXG4gICAgICAgICAgJ3ppcCAtciAtcSAtQSAkWklQX0FSQ0hJVkUgKicsXG4gICAgICAgICAgJ2F3cyBzMyBjcCAkWklQX0FSQ0hJVkUgczM6Ly8kUzNfUEFUSCcsXG4gICAgICAgIF0sXG4gICAgICAgIGJ1aWxkRW52aXJvbm1lbnQ6IHtcbiAgICAgICAgICBidWlsZEltYWdlOiBMaW51eExhbWJkYUJ1aWxkSW1hZ2UuQU1BWk9OX0xJTlVYXzIwMjNfTk9ERV8yMCxcbiAgICAgICAgICBjb21wdXRlVHlwZTogQ29tcHV0ZVR5cGUuTEFNQkRBXzFHQixcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgY3JlYXRlQ2FwYWJpbGl0eU1vbml0b3JpbmdEZXBsb3lTdGVwKG1haW5CdWlsZDogQ29kZUJ1aWxkU3RlcCwgcHJvcHM6IFBpcGVsaW5lU3RhY2tQcm9wcyk6IENvZGVCdWlsZFN0ZXAgfCB1bmRlZmluZWQge1xuICAgIGlmIChwcm9wcy5tb25pdG9yaW5nRGVwbG95U3RlcFByb3BzKSB7XG4gICAgICBjb25zdCBtb25pdG9yaW5nQXJ0aWZhY3RzID0gT2JqZWN0LmtleXMocHJvcHMubW9uaXRvcmluZ0RlcGxveVN0ZXBQcm9wcy5tb25pdG9yaW5nQXJ0aWZhY3RzKS5tYXAoKGtleSkgPT4ge1xuICAgICAgICBjb25zdCBvdXRwdXQgPSBtYWluQnVpbGQuYWRkT3V0cHV0RGlyZWN0b3J5KGtleSk7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgaW5wdXQ6IG91dHB1dCxcbiAgICAgICAgICBmaWxlczogcHJvcHMubW9uaXRvcmluZ0RlcGxveVN0ZXBQcm9wcyEubW9uaXRvcmluZ0FydGlmYWN0c1trZXldLFxuICAgICAgICB9O1xuICAgICAgfSk7XG4gICAgICByZXR1cm4gbmV3IFJpb0NhcGFiaWxpdHlNb25pdG9yaW5nRGVwbG95U3RlcCh0aGlzLCAnRGVwbG95Q2FwYWJpbGl0eU1vbml0b3JpbmcnLCB7XG4gICAgICAgIG1vbml0b3JpbmdBcnRpZmFjdHM6IG1vbml0b3JpbmdBcnRpZmFjdHMsXG4gICAgICB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGNyZWF0ZVNlY3JldHNEZXBsb3lTdGVwKHByb3BzOiBQaXBlbGluZVN0YWNrUHJvcHMpOiByaW8uUmlvU2VjcmV0c0RlcGxveVN0ZXAgfCB1bmRlZmluZWQge1xuICAgIGlmIChwcm9wcy5zZWNyZXRzRGVwbG95U3RlcFByb3BzKSB7XG4gICAgICByZXR1cm4gbmV3IHJpby5SaW9TZWNyZXRzRGVwbG95U3RlcCh0aGlzLCAnRGVwbG95U2VjcmV0cycsIHtcbiAgICAgICAgLi4ucHJvcHMuc2VjcmV0c0RlcGxveVN0ZXBQcm9wcyxcbiAgICAgICAgaW5wdXQ6IHRoaXMuX2lucHV0TWFzdGVyVHJpZ2dlckZpbGUsXG4gICAgICB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHJlc29sdmVEZWZhdWx0QnVpbGRTcGVjKHBpcGVsaW5lVHlwZTogUGlwZWxpbmVUeXBlKSB7XG4gICAgc3dpdGNoIChwaXBlbGluZVR5cGUpIHtcbiAgICAgIGNhc2UgUGlwZWxpbmVUeXBlLlNUQU5EQVJEX0dSQURMRTpcbiAgICAgICAgcmV0dXJuIHBhdGgucmVzb2x2ZShfX2Rpcm5hbWUsICdidWlsZHNwZWNzL2J1aWxkc3BlYy55YW1sJyk7XG4gICAgICBjYXNlIFBpcGVsaW5lVHlwZS5TVEFOREFSRF9HUkFETEVfS0FGS0E6XG4gICAgICAgIHJldHVybiBwYXRoLnJlc29sdmUoX19kaXJuYW1lLCAnYnVpbGRzcGVjcy9idWlsZHNwZWNfa2Fma2EueWFtbCcpO1xuICAgICAgY2FzZSBQaXBlbGluZVR5cGUuU1RBTkRBUkRfSU5GUkFTVFJVQ1RVUkU6XG4gICAgICAgIHJldHVybiBwYXRoLnJlc29sdmUoX19kaXJuYW1lLCAnYnVpbGRzcGVjcy9idWlsZHNwZWNfaW5mcmFzdHJ1Y3R1cmUueWFtbCcpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgZ3JhbnRQZXJtaXNzaW9uc0ZvckthZmthSW50ZWdyYXRpb24oYnVpbGRQcm9qZWN0OiBSaW9Db2RlQnVpbGRQcm9qZWN0LCBwb2xpY3lJZDogc3RyaW5nKSB7XG4gICAgY29uc3QgYnVpbGRQcm9qZWN0Um9sZSA9IGJ1aWxkUHJvamVjdC5wcm9qZWN0LnJvbGU7XG4gICAgaWYgKGJ1aWxkUHJvamVjdFJvbGUpIHtcbiAgICAgIGJ1aWxkUHJvamVjdFJvbGUuYWRkTWFuYWdlZFBvbGljeShcbiAgICAgICAgTWFuYWdlZFBvbGljeS5mcm9tTWFuYWdlZFBvbGljeUFybih0aGlzLFxuICAgICAgICAgIHBvbGljeUlkLFxuICAgICAgICAgIEZuLmltcG9ydFZhbHVlKCdrYWZrYS1pbnRlZ3JhdGlvbi1wb2xpY3ktYXJuJyksXG4gICAgICAgICksXG4gICAgICApO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aHJvdyBFcnJvcihgQ291bGQgbm90IGFkZCBtYW5hZ2VkIHBvbGljeSBmb3Iga2Fma2EtaW50ZWdyYXRpb24gdG8gQ29kZUJ1aWxkIHByb2plY3Qgb2YgJHtidWlsZFByb2plY3QuaWR9IGR1ZSB0byBtaXNzaW5nIHJvbGUuYCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBsb2FkQnVpbGRTcGVjRnJvbUZpbGUoYnVpbGRTcGVjUGF0aDogc3RyaW5nKTogQnVpbGRTcGVjIHtcbiAgICByZXR1cm4gQnVpbGRTcGVjLmZyb21PYmplY3QoeWFtbC5sb2FkKGZzLnJlYWRGaWxlU3luYyhidWlsZFNwZWNQYXRoLCB7IGVuY29kaW5nOiAndXRmLTgnIH0pKSBhcyBPYmplY3QpO1xuICB9XG5cbiAgcHJpdmF0ZSByZW5hbWVQaXBlbGluZVRvTG93ZXJDYXNlKHBpcGVsaW5lOiBwaXBlbGluZXMuQ29kZVBpcGVsaW5lKTogUmVmZXJlbmNlIHtcbiAgICBjb25zdCB1cHBlclRvTG93ZXJDciA9IG5ldyBjZGsuQ3VzdG9tUmVzb3VyY2UodGhpcywgYCR7cGlwZWxpbmUubm9kZS5pZH0tVXBwZXJUb0xvd2VyYCwge1xuICAgICAgcmVzb3VyY2VUeXBlOiAnQ3VzdG9tOjpVcHBlclRvTG93ZXInLFxuICAgICAgc2VydmljZVRva2VuOiBVcHBlclRvTG93ZXIuZ2V0T3JDcmVhdGUodGhpcykucHJvdmlkZXIuc2VydmljZVRva2VuLFxuICAgICAgcHJvcGVydGllczoge1xuICAgICAgICBVcHBlcjogcGlwZWxpbmUucGlwZWxpbmUucGlwZWxpbmVOYW1lLFxuICAgICAgfSxcbiAgICB9KTtcbiAgICByZXR1cm4gdXBwZXJUb0xvd2VyQ3IuZ2V0QXR0KCdMb3dlcicpO1xuICB9XG5cbiAgcHJpdmF0ZSB0YWdDb2RlQnVpbGRQcm9qZWN0KHByb2plY3Q6IENvZGVCdWlsZFN0ZXAgfCB1bmRlZmluZWQsIGtleTogc3RyaW5nLCB2YWx1ZTogc3RyaW5nKSB7XG4gICAgaWYgKHByb2plY3QpIHtcbiAgICAgIFRhZ3Mub2YocHJvamVjdC5wcm9qZWN0KS5hZGQoa2V5LCB2YWx1ZSk7XG4gICAgfVxuICB9XG59XG4iXX0=
318
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGlwZWxpbmUtc3RhY2suanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY29udHJpYnV0aW9ucy90ZWFtLXRyYW5zcG9ydC10d28vcGlwZWxpbmUvcGlwZWxpbmUtc3RhY2sudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSx5QkFBeUI7QUFDekIsNkJBQTZCO0FBQzdCLG1DQUFtQztBQUNuQyw2Q0FBOEY7QUFDOUYsNkRBQTRHO0FBQzVHLDZFQUE2RTtBQUM3RSxpREFBaUQ7QUFDakQsMERBQTBEO0FBQzFELGlEQUFvRDtBQUVwRCx5Q0FBeUM7QUFDekMsK0NBQXFEO0FBQ3JELDJDQUEyQztBQUUzQyxtREFBbUQ7QUFDbkQscURBQTBFO0FBRTFFLGdDQUFnQztBQUNoQywyREFBa0Q7QUFDbEQsbURBQXNEO0FBQ3RELHlEQUFnSDtBQUNoSCxxRUFBNkU7QUFHN0Usc0NBQXNDO0FBQ3RDLDBDQUFpRTtBQUNqRSxnREFBaUQ7QUFzSWpELElBQVksWUFzQ1g7QUF0Q0QsV0FBWSxZQUFZO0lBRXRCOzs7Ozs7Ozs7Ozs7T0FZRztJQUNILG1EQUFtQyxDQUFBO0lBQ25DOzs7Ozs7Ozs7Ozs7O09BYUc7SUFDSCwrREFBK0MsQ0FBQTtJQUMvQzs7Ozs7T0FLRztJQUNILG1FQUFtRCxDQUFBO0FBQ3JELENBQUMsRUF0Q1csWUFBWSw0QkFBWixZQUFZLFFBc0N2QjtBQWNELE1BQWEsYUFBYyxTQUFRLG1CQUFLO0lBY3RDLFlBQVksS0FBZ0IsRUFBRSxFQUFVLEVBQUUsS0FBeUI7UUFDakUsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFFeEIsK0JBQStCO1FBQy9CLElBQUksQ0FBQyxPQUFPLEdBQUcsRUFBRSxDQUFDLE1BQU0sQ0FBQyxjQUFjLENBQUMsSUFBSSxFQUFFLGVBQWUsRUFBRSxnQkFBRSxDQUFDLFdBQVcsQ0FBQyxpQ0FBaUMsQ0FBQyxDQUFDLENBQUM7UUFDbEgsSUFB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QUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLFlBQVksQ0FBQyxhQUFhLEVBQUUsRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBVyxDQUFDLENBQUM7SUFDMUcsQ0FBQztJQUVPLHlCQUF5QixDQUFDLFFBQWdDO1FBQ2hFLE1BQU0sY0FBYyxHQUFHLElBQUksR0FBRyxDQUFDLGNBQWMsQ0FBQyxJQUFJLEVBQUUsR0FBRyxRQUFRLENBQUMsSUFBSSxDQUFDLEVBQUUsZUFBZSxFQUFFO1lBQ3RGLFlBQVksRUFBRSxzQkFBc0I7WUFDcEMsWUFBWSxFQUFFLHVCQUFZLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDLFFBQVEsQ0FBQyxZQUFZO1lBQ2xFLFVBQVUsRUFBRTtnQkFDVixLQUFLLEVBQUUsUUFBUSxDQUFDLFFBQVEsQ0FBQyxZQUFZO2FBQ3RDO1NBQ0YsQ0FBQyxDQUFDO1FBQ0gsT0FBTyxjQUFjLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3hDLENBQUM7SUFFTyxtQkFBbUIsQ0FBQyxPQUFrQyxFQUFFLEdBQVcsRUFBRSxLQUFhO1FBQ3hGLElBQUksT0FBTyxFQUFFLENBQUM7WUFDWixrQkFBSSxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUMzQyxDQUFDO0lBQ0gsQ0FBQzs7QUF6U0gsc0NBMFNDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgZnMgZnJvbSAnZnMnO1xuaW1wb3J0ICogYXMgcGF0aCBmcm9tICdwYXRoJztcbmltcG9ydCAqIGFzIGNkayBmcm9tICdhd3MtY2RrLWxpYic7XG5pbXBvcnQgeyBEdXJhdGlvbiwgRm4sIFJlZmVyZW5jZSwgUmVtb3ZhbFBvbGljeSwgU3RhY2ssIFN0YWNrUHJvcHMsIFRhZ3MgfSBmcm9tICdhd3MtY2RrLWxpYic7XG5pbXBvcnQgeyBCdWlsZEVudmlyb25tZW50LCBCdWlsZFNwZWMsIENvbXB1dGVUeXBlLCBMaW51eExhbWJkYUJ1aWxkSW1hZ2UgfSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtY29kZWJ1aWxkJztcbmltcG9ydCAqIGFzIGNvZGVwaXBlbGluZV9hY3Rpb25zIGZyb20gJ2F3cy1jZGstbGliL2F3cy1jb2RlcGlwZWxpbmUtYWN0aW9ucyc7XG5pbXBvcnQgKiBhcyBldmVudHMgZnJvbSAnYXdzLWNkay1saWIvYXdzLWV2ZW50cyc7XG5pbXBvcnQgKiBhcyB0YXJnZXRzIGZyb20gJ2F3cy1jZGstbGliL2F3cy1ldmVudHMtdGFyZ2V0cyc7XG5pbXBvcnQgeyBNYW5hZ2VkUG9saWN5IH0gZnJvbSAnYXdzLWNkay1saWIvYXdzLWlhbSc7XG5pbXBvcnQgeyBJSG9zdGVkWm9uZSB9IGZyb20gJ2F3cy1jZGstbGliL2F3cy1yb3V0ZTUzJztcbmltcG9ydCAqIGFzIHMzIGZyb20gJ2F3cy1jZGstbGliL2F3cy1zMyc7XG5pbXBvcnQgeyBCdWNrZXQsIElCdWNrZXQgfSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtczMnO1xuaW1wb3J0ICogYXMgc3NtIGZyb20gJ2F3cy1jZGstbGliL2F3cy1zc20nO1xuaW1wb3J0IHsgSVN0cmluZ1BhcmFtZXRlciB9IGZyb20gJ2F3cy1jZGstbGliL2F3cy1zc20nO1xuaW1wb3J0ICogYXMgcGlwZWxpbmVzIGZyb20gJ2F3cy1jZGstbGliL3BpcGVsaW5lcyc7XG5pbXBvcnQgeyBDb2RlQnVpbGRTdGVwLCBDb2RlUGlwZWxpbmVTb3VyY2UgfSBmcm9tICdhd3MtY2RrLWxpYi9waXBlbGluZXMnO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSAnY29uc3RydWN0cyc7XG5pbXBvcnQgKiBhcyB5YW1sIGZyb20gJ2pzLXlhbWwnO1xuaW1wb3J0IHsgQXBwbGljYXRpb24gfSBmcm9tICcuL2FwcGxpY2F0aW9uLXN0YWdlJztcbmltcG9ydCB7IFJpb0NvZGVCdWlsZFByb2plY3QgfSBmcm9tICcuL2J1aWxkLXByb2plY3QnO1xuaW1wb3J0IHsgRGF0YWRvZ1BpcGVsaW5lRXJyb3JBbGVydCwgRGF0YURvZ1BpcGVsaW5lRXJyb3JBbGVydEZvclZ1bG5lcmFiaWxpdHlDaGVja3MgfSBmcm9tICcuL2RhdGFkb2ctbW9uaXRvcnMnO1xuaW1wb3J0IHsgUmlvQ2FwYWJpbGl0eU1vbml0b3JpbmdEZXBsb3lTdGVwIH0gZnJvbSAnLi9tb25pdG9yaW5nLWRlcGxveS1zdGVwJztcbmltcG9ydCB7IERhdGFkb2dBbGVydFR5cGUgfSBmcm9tICcuLi8uLi8uLi9kYXRhZG9nJztcbmltcG9ydCB7IElOb3RpZmljYXRpb24gfSBmcm9tICcuLi8uLi8uLi9kYXRhZG9ndjInO1xuaW1wb3J0ICogYXMgcmlvIGZyb20gJy4uLy4uLy4uL2luZGV4JztcbmltcG9ydCB7IENsYWlkb21ldGVyLCBDbGFpZG9tZXRlclByb2R1Y3QgfSBmcm9tICcuLi8uLi8uLi9pbmRleCc7XG5pbXBvcnQgeyBVcHBlclRvTG93ZXIgfSBmcm9tICcuLi8uLi8uLi93YXRjaGZ1bCc7XG5cblxuZXhwb3J0IGludGVyZmFjZSBQaXBlbGluZVNjaGVkdWxlc1Byb3BzIHtcbiAgcmVhZG9ubHkgbWFpblBpcGVsaW5lPzogc3RyaW5nO1xuICByZWFkb25seSB2dWxuZXJhYmlsaXR5UGlwZWxpbmU/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogQHN0cnVjdFxuICovXG5leHBvcnQgaW50ZXJmYWNlIFBpcGVsaW5lU3RhY2tQcm9wcyBleHRlbmRzIFN0YWNrUHJvcHMge1xuICAvKipcbiAgICogVGhlIG5hbWUgb2YgdGhlIHNlcnZpY2VcbiAgICogLSBUaGlzIGhhcyB0byBiZSB0aGUgc2FtZSBuYW1lIGFzIHRoZSByZXBvc2l0b3J5IGFzIHRoZSBzMyB0cmlnZ2VyIGZpbGUgY3JlYXRlZCBieSB0aGUgYml0YnVja2V0LWludGVncmF0aW9uIHVzZXMgdGhpcyBhcyBhIHByZWZpeFxuICAgKiAtIFRoZSBzZXJ2aWNlTmFtZSBpcyBhdmFpbGFibGUgYXMgYW4gZW52aXJvbm1lbnQgdmFyaWFibGUgU0VSVklDRV9OQU1FIGluIHRoZSBDb2RlQnVpbGRTdGVwXG4gICAqIC0gVGhlIHNlcnZpY2VOYW1lIGlzIGF2YWlsYWJsZSBpbiB0aGUgQXBwU3RhY2tQcm9wcyBpbiB0aGUgYXBwU3RhY2tGYWN0b3J5XG4gICAqIC0gVGhlIHNlcnZpY2VOYW1lIGlzIGF2YWlsYWJsZSBhcyBzdGFja05hbWUgcHJvcGVydHkgaW4gdGhlIEFwcFN0YWNrUHJvcHMgaW4gdGhlIGFwcFN0YWNrRmFjdG9yeS4gSS5lLiB0aGUgc3RhY2sgaXMgbmFtZWQgYWZ0ZXIgdGhlIHNlcnZpY2VcbiAgICogLSBUaGUgc2VydmljZU5hbWUgaXMgaGFuZGVkIG92ZXIgdG8gYWxsIERhdGFkb2cgbW9uaXRvcnNcbiAgICogLSBSSU8gY29udmVudGlvbiBpcyB0aGF0IHVwbG9hZGVkIGxpY2Vuc2UtY2hlY2stZmlsZXMgYXJlIG5hbWVkIGFmdGVyIHRoZSBzZXJ2aWNlLCBpLmUuIHNlcnZpY2VOYW1lLnR4dFxuICAgKi9cbiAgcmVhZG9ubHkgc2VydmljZU5hbWU6IHN0cmluZztcblxuICAvKipcbiAgICogUHJvdmlkZXIgZm9yIGFwcFN0YWNrIHRvIGJlIGRlcGxveWVkLlxuICAgKlxuICAgKiBUaGlzIGFjdHMgYXMgYSB3cmFwcGVyIGZvciBhbGwgcmVzb3VyY2VzIHlvdSB3YW50IHRvIGRlcGxveSB2aWEgdGhlIHBpcGVsaW5lLlxuICAgKi9cbiAgcmVhZG9ubHkgYXBwU3RhY2tGYWN0b3J5OiBJQXBwU3RhY2tGYWN0b3J5O1xuXG4gIC8qKlxuICAgKiBEZWZpbmVzIHdoaWNoIGtpbmQgb2YgcGlwZWxpbmUgaXMgZGVwbG95ZWQuXG4gICAqL1xuICByZWFkb25seSBwaXBlbGluZVR5cGU6IFBpcGVsaW5lVHlwZTtcblxuICAvKipcbiAgICogRGVmaW5lcyBob3cgb2Z0ZW4gdGhlIHBpcGVsaW5lIGlzIHRyaWdnZXJlZCBhdXRvbWF0aWNhbGx5LiBJcyBkZWZpbmVkIHZpYSBhIGNyb24gZXhwcmVzc2lvbi5cbiAgICpcbiAgICogU2VlIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9BbWF6b25DbG91ZFdhdGNoL2xhdGVzdC9ldmVudHMvU2NoZWR1bGVkRXZlbnRzLmh0bWxcbiAgICpcbiAgICogRGVmYXVsdCB2YWx1ZXM6XG4gICAqIC0gbWFpbiBwaXBlbGluZTogY3JvbigwIDkgPyAqIDIjMSAqKVxuICAgKiAtIHZ1bG5lcmFiaWxpdHkgcGlwZWxpbmU6IGNyb24oMCA1ID8gKiBNT04tRlJJICopXG4gICAqL1xuICByZWFkb25seSBwaXBlbGluZVNjaGVkdWxlcz86IFBpcGVsaW5lU2NoZWR1bGVzUHJvcHM7XG5cblxuICAvKipcbiAgICogUGF0aCB0byBzZWNyZXRzIGZpbGUgY29udGFpbmluZyBlbmNyeXB0ZWQgc2VjcmV0cy5cbiAgICpcbiAgICogVGhlIFJpb1NlY3JldHNEZXBsb3lTdGVwIGlzIGFkZGVkIHByaW9yIHRvIGRlcGxveW1lbnQgb2YgdGhlIEFwcFN0YWNrIGlmIGEgcGF0aCBpcyBwcm92aWRlZC5cbiAgICpcbiAgICogTm8gc2VjcmV0cyBhcmUgZGVwbG95ZWQgaWYgbm8gcGF0aCBpcyBwcm92aWRlZC5cbiAgICovXG4gIHJlYWRvbmx5IHNlY3JldHNEZXBsb3lTdGVwUHJvcHM/OiBQaXBlbGluZVN0YWNrUmlvU2VjcmV0c0RlcGxveVN0ZXBQcm9wcztcblxuICAvKipcbiAgICogQ29kZUJ1aWxkIG9wdGlvbnMgb3ZlcnJpZGluZyB0aGUgcmlvLXNwZWNpZmljIGRlZmF1bHRzLlxuICAgKi9cbiAgcmVhZG9ubHkgY29kZUJ1aWxkT3B0aW9ucz86IENvZGVCdWlsZE9wdGlvbnM7XG4gIC8qKlxuICAgKiBJZiBwcmVzZW50LCB0aGUgY2FwYWJpbGl0eSBtb25pdG9yaW5nIGRlcGxveSBzdGVwIGlzIGFkZGVkIHRvIHRoZSBwaXBlbGluZS5cbiAgICovXG4gIHJlYWRvbmx5IG1vbml0b3JpbmdEZXBsb3lTdGVwUHJvcHM/OiBQaXBlbGluZVN0YWNrUmlvTW9uaXRvcmluZ0RlcGxveVN0ZXBQcm9wcztcbiAgLyoqXG4gICAqIEBkZXByZWNhdGVkIFBsZWFzZSB1c2UgdGhlIGB2dWxuZXJhYmlsaXR5Tm90aWZpY2F0aW9uYCBwcm9wZXJ0eSBpbnN0ZWFkLlxuICAgKiBJZiBgb3BzZ2VuaWVgIGlzIHNwZWNpZmllZCwgYW4gRXhjZXB0aW9uIGlzIHRocm93biwgYXMgdGhpcyBpcyBub3Qgc3VwcG9ydGVkIGFueW1vcmUuXG4gICAqL1xuICByZWFkb25seSBkYXRhZG9nQWxlcnRUeXBlPzogRGF0YWRvZ0FsZXJ0VHlwZTtcbiAgLyoqXG4gICAqIE5vdGlmaWNhdGlvbiB0eXBlIGZvciB0aGUgYXV0by1nZW5lcmF0ZWQgdnVsbmVyYWJpbGl0eSBwaXBlbGluZSBtb25pdG9yLiBEZWZhdWx0cyB0byBzbGFjay5cbiAgICovXG4gIHJlYWRvbmx5IHZ1bG5lcmFiaWxpdHlOb3RpZmljYXRpb24/OiBJTm90aWZpY2F0aW9uO1xufVxuXG4vKipcbiAqIFByb3ZpZGVyIGludGVyZmFjZSB0byBjcmVhdGUgdGhlIEFwcFN0YWNrIHdpdGhpbiB0aGUgc3BlY2lmaWMgc2NvcGVcbiAqXG4gKiBTaW1wbHkgcGxhY2UgdGhlIEFwcFN0YWNrIGNyZWF0aW9uIGludG8gdGhlIGNyZWF0ZS1tZXRob2Q6XG4gKiBAZXhhbXBsZVxuICpcbiAqIC8vIFVzZSBlLmcuIHdpdGhpbiBBcHBsaWNhdGlvblByb3BzIGFzIEpTT05PYmplY3Q6XG4gKiB7IGNyZWF0ZTogKGNvbnN0cnVjdCwgcHJvcHMpID0+IG5ldyBTdGFjayhjb25zdHJ1Y3QsICdBcHBTdGFjaycsIHByb3BzKSB9XG4gKlxuICogLy8gb3Igc2ltcGx5IGFzIGNsYXNzIGludGVyZmFjZSB3aXRoaW4geW91ciBzdGFjayBpbXBsZW1lbnRhdGlvbjpcbiAqIGNsYXNzIFBpcGVsaW5lU3RhZ2UgZXh0ZW5kcyBTdGFnZSBpbXBsZW1lbnRzIElBcHBTdGFja0ZhY3Rvcnkge1xuICogICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogU3RhZ2VQcm9wcykge1xuICogICAgIHN1cGVyKHNjb3BlLCBpZCwgcHJvcHMpO1xuICogICAgIC8vIHlvdXIgc3RhZ2UgZGVmaW5pdGlvblxuICogICB9XG4gKlxuICogICBjcmVhdGUoc2NvcGU6IENvbnN0cnVjdCwgcHJvcHM6IEFwcFN0YWNrUHJvcHMpOiB2b2lkIHtcbiAqICAgICAvLyBhcHAgc3RhY2sgaW5pdGlhdGlvbiBnb2VzIGluIGhlcmVcbiAqICAgfVxuICogfVxuICovXG5leHBvcnQgaW50ZXJmYWNlIElBcHBTdGFja0ZhY3Rvcnkge1xuICAvKipcbiAgICogRmFjdG9yeSBtZXRob2QsIGJlaW5nIGludm9rZWQgd2l0aCB0aGUgc3BlY2lmaWMgc2NvcGUgZHVyaW5nIHBpcGVsaW5lIGluc3RhbnRpYXRpb25cbiAgICpcbiAgICogQHBhcmFtIHNjb3BlIHRoZSBwYXJlbnQgY29uc3RydWN0IGZvciB0aGUgYXBwIHN0YWNrXG4gICAqIEBwYXJhbSBwcm9wcyB0aGUgYXBwIHN0YWNrcyBwcm9wZXJ0aWVzXG4gICAqL1xuICBjcmVhdGUoc2NvcGU6IENvbnN0cnVjdCwgcHJvcHM6IEFwcFN0YWNrUHJvcHMpOiB2b2lkO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEFwcFN0YWNrUHJvcHMgZXh0ZW5kcyBTdGFja1Byb3BzIHtcbiAgcmVhZG9ubHkgc2VydmljZU5hbWU6IHN0cmluZztcbiAgcmVhZG9ubHkgdmVyc2lvbjogc3RyaW5nO1xufVxuXG4vKipcbiAqIFNlbGVjdGVkIHByb3BlcnRpZXMgYmVpbmcgaGFuZGVkIG92ZXIgdG8gUmlvU2VjcmV0c0RlcGxveVN0ZXAuXG4gKlxuICogQHNlZSByaW8uUmlvU2VjcmV0c0RlcGxveVN0ZXBcbiAqIEBzZWUgcmlvLlJpb1NlY3JldHNEZXBsb3lTdGVwUHJvcHNcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBQaXBlbGluZVN0YWNrUmlvU2VjcmV0c0RlcGxveVN0ZXBQcm9wcyB7XG4gIHJlYWRvbmx5IHNlY3JldHNGaWxlUGF0aDogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFBpcGVsaW5lU3RhY2tSaW9Nb25pdG9yaW5nRGVwbG95U3RlcFByb3BzIHtcbiAgLyoqXG4gICAqIE1hcCB7ZGlyZWN0b3J5OiBmaWxlbmFtZXN9IGNvbnRhaW5pbmcgIC5qYXIgb3IgLnppcCBmaWxlcyBjcmVhdGVkIGluIG1haW4gYnVpbGQgc3RlcCB0byBiZSB1cGxvYWRlZCB0byB0aGUgbW9uaXRvcmluZy10ZXN0c3VpdGUtcnVubmVyIGJ1Y2tldCwgZS5nLlxuICAgKiBgYGBcbiAgICoge1xuICAgKiAgJ2F2YWlsYWJpbGl0eS1tb25pdG9yaW5nL2J1aWxkL2xpYnMnOiBbJ2Zvby1hdmFpbGFiaWxpdHkuamFyJ10sXG4gICAqICAncGVyZm9ybWFuY2UtbW9uaXRvcmluZy9idWlsZC9saWJzJzogWydhcGktY2hlY2suemlwJywgJ2Zvby1wZXJmb3JtYW5jZS5qYXInXSxcbiAgICogfVxuICAgKiBgYGBcbiAgICovXG4gIHJlYWRvbmx5IG1vbml0b3JpbmdBcnRpZmFjdHM6IHsgW2RpcmVjdG9yeTogc3RyaW5nXTogc3RyaW5nW10gfTtcbn1cblxuZXhwb3J0IGVudW0gUGlwZWxpbmVUeXBlIHtcblxuICAvKipcbiAgICogU2VsZi1tdXRhdGluZyBjb2RlcGlwZWxpbmUgZGVwbG95aW5nIHRoZSBwcm92aWRlZCBBcHBTdGFjay4gQmUgYXdhcmU6IFRoZSBwcm92aWRlZCBzZXJ2aWNlIHdvbid0IGhhdmUgYWNjZXNzIHRvIEthZmthLlxuICAgKlxuICAgKiBDb21lcyB3aXRoIGEgcHJlLWRlZmluZWQgYnVpbGRzcGVjLnlhbWwgZm9yIGEgZ3JhZGxlIHByb2plY3QuIFRoaXMgYnVpbGRzcGVjLnlhbWwgaXMgdXNlZCBmb3IgYm90aCB0aGUgbWFpbiBhbmRcbiAgICogYnJhbmNoIHBpcGVsaW5lIGFuZCBpbmNsdWRlcyB0aGUgZm9sbG93aW5nIHN0ZXBzXG4gICAqIC0gYnVpbGQgYW5kIHRlc3Qgb2YgdGhlIGFydGlmYWN0IHZpYSBjb21tYW5kIFwiLi9ncmFkbGV3IGNsZWFuIGJ1aWxkXCIuXG4gICAqIDxwPiBUaGlzIGdyYWRsZSBjb21tYW5kIG11c3QgYmUgcHJvdmlkZWQgYnkgdGhlIGdyYWRsZSBwcm9qZWN0LlxuICAgKiAtIGxpY2Vuc2UtY2hlY2sgYW5kIHVwbG9hZCBvZiBsaWNlbnNlLWNoZWNrLWZpbGUgdmlhIGNvbW1hbmQgXCIuL2dyYWRsZXcgY2hlY2tMaWNlbnNlc1wiLlxuICAgKiA8cD4gVGhpcyBncmFkbGUgY29tbWFuZCBtdXN0IGJlIHByb3ZpZGVkIGJ5IHRoZSBncmFkbGUgcHJvamVjdC5cbiAgICogLSBjcmVhdGUgYSBzZWxmLXNpZ25lZCBjZXJ0aWZpY2F0ZSB0byBtYWtlIFRMUyBjb21tdW5pY2F0aW9uIHBvc3NpYmxlLCBlLmcuIHdpdGggYSBsb2FkYmFsYW5jZXIuXG4gICAqIC0gYnVpbGQgdGhlIGNvbnRhaW5lciBpbWFnZSB2aWEgY29tbWFuZCBcIi4vZ3JhZGxldyBqaWJCdWlsZFRhclwiLlxuICAgKiA8cD4gVGhpcyBncmFkbGUgY29tbWFuZCBtdXN0IGJlIHByb3ZpZGVkIGJ5IHRoZSBncmFkbGUgcHJvamVjdC5cbiAgICovXG4gIFNUQU5EQVJEX0dSQURMRSA9ICdTVEFOREFSRF9HUkFETEUnLFxuICAvKipcbiAgICogU2VsZi1tdXRhdGluZyBjb2RlcGlwZWxpbmUgZGVwbG95aW5nIHRoZSBwcm92aWRlZCBBcHBTdGFjayB3aXRoIGFkZGl0aW9uYWwgc3RlcHMgbmVlZGVkIHRvIGFjY2VzcyBLYWZrYS5cbiAgICpcbiAgICogQ29tZXMgd2l0aCBhIHByZS1kZWZpbmVkIGJ1aWxkc3BlYy55YW1sIGZvciBhIGdyYWRsZSBwcm9qZWN0LiBUaGlzIGJ1aWxkc3BlYy55YW1sIGlzIHVzZWQgZm9yIGJvdGggdGhlIG1haW4gYW5kXG4gICAqIGJyYW5jaCBwaXBlbGluZSBhbmQgaW5jbHVkZXMgdGhlIGZvbGxvd2luZyBzdGVwc1xuICAgKiAtIGJ1aWxkIGFuZCB0ZXN0IG9mIHRoZSBhcnRpZmFjdCB2aWEgY29tbWFuZCBcIi4vZ3JhZGxldyBjbGVhbiBidWlsZFwiLlxuICAgKiA8cD4gVGhpcyBncmFkbGUgY29tbWFuZCBtdXN0IGJlIHByb3ZpZGVkIGJ5IHRoZSBncmFkbGUgcHJvamVjdC5cbiAgICogLSBsaWNlbnNlLWNoZWNrIGFuZCB1cGxvYWQgb2YgbGljZW5zZS1jaGVjay1maWxlIHZpYSBjb21tYW5kIFwiLi9ncmFkbGV3IGNoZWNrTGljZW5zZXNcIi5cbiAgICogPHA+IFRoaXMgZ3JhZGxlIGNvbW1hbmQgbXVzdCBiZSBwcm92aWRlZCBieSB0aGUgZ3JhZGxlIHByb2plY3QuXG4gICAqIC0gY3JlYXRlIGEgc2VsZi1zaWduZWQgY2VydGlmaWNhdGUgdG8gbWFrZSBUTFMgY29tbXVuaWNhdGlvbiBwb3NzaWJsZSwgZS5nLiB3aXRoIGEgbG9hZGJhbGFuY2VyLlxuICAgKiAtIHJlcXVlc3QgYSBjZXJ0aWZpY2F0ZSB0byBhdXRoZW50aWNhdGUgYWdhaW5zdCBLYWZrYSB2aWEgbXV0dWFsIFRMU1xuICAgKiAtIGJ1aWxkIHRoZSBjb250YWluZXIgaW1hZ2UgdmlhIGNvbW1hbmQgXCIuL2dyYWRsZXcgamliQnVpbGRUYXJcIi5cbiAgICogPHA+IFRoaXMgZ3JhZGxlIGNvbW1hbmQgbXVzdCBiZSBwcm92aWRlZCBieSB0aGUgZ3JhZGxlIHByb2plY3QuXG4gICAqL1xuICBTVEFOREFSRF9HUkFETEVfS0FGS0EgPSAnU1RBTkRBUkRfR1JBRExFX0tBRktBJyxcbiAgLyoqXG4gICAqIFNlbGYtbXV0YXRpbmcgY29kZXBpcGVsaW5lIGRlcGxveWluZyB0aGUgcHJvdmlkZWQgQXBwU3RhY2suXG4gICAqXG4gICAqIENvbWVzIHdpdGggYSBwcmUtZGVmaW5lZCBidWlsZHNwZWMueWFtbCB0byBzeW50aGVzaXplIHRoZSBBcHBTdGFjay5cbiAgICogTm8gYnJhbmNoIG9yIHZ1bG5lcmFiaWxpdHkgcGlwZWxpbmUgaXMgY3JlYXRlZC5cbiAgICovXG4gIFNUQU5EQVJEX0lORlJBU1RSVUNUVVJFID0gJ1NUQU5EQVJEX0lORlJBU1RSVUNUVVJFJyxcbn1cblxuLyoqXG4gKiBAcGFyYW0gcGFydGlhbEJ1aWxkU3BlY1BhdGggUGF0aCB0byBhIGN1c3RvbSBidWlsZC1zcGVjIGZpbGUgdG8gdXNlIGZvciB0aGUgbWFpbiBhbmQgYnJhbmNoIHBpcGVsaW5lLlxuICogQSBwcmUtZGVmaW5lZCBidWlsZHNwZWMueWFtbCBmaXR0aW5nIHRoZSBwaXBlbGluZVR5cGUgaXMgdXNlZCBpZiBub3QgcHJvdmlkZWQuXG4gKiBAcGFyYW0gYnVpbGRFbnZpcm9ubWVudCBDdXN0b20gQ29kZUJ1aWxkIGJ1aWxkIGVudmlyb25tZW50IG92ZXJyaWRpbmcgdGhlIHJpby1zcGVjaWZpYyBkZWZhdWx0cy4gVGhlIGRlZmF1bHRzIGFyZTpcbiAqICAgICAgICAgIGJ1aWxkSW1hZ2U6IEFNQVpPTl9MSU5VWF8yXzVcbiAqICAgICAgICAgIGNvbXB1dGVUeXBlOiBMQVJHRVxuICovXG5leHBvcnQgaW50ZXJmYWNlIENvZGVCdWlsZE9wdGlvbnMge1xuICByZWFkb25seSBwYXJ0aWFsQnVpbGRTcGVjUGF0aD86IHN0cmluZztcbiAgcmVhZG9ubHkgYnVpbGRFbnZpcm9ubWVudD86IEJ1aWxkRW52aXJvbm1lbnQ7XG59XG5cbmV4cG9ydCBjbGFzcyBQaXBlbGluZVN0YWNrIGV4dGVuZHMgU3RhY2sge1xuICBwcml2YXRlIHJlYWRvbmx5IF9tYWluQ29kZUJ1aWxkUHJvamVjdDogQ29kZUJ1aWxkU3RlcDtcbiAgcHJpdmF0ZSByZWFkb25seSBfYnJhbmNoQ29kZUJ1aWxkUHJvamVjdDogQ29kZUJ1aWxkU3RlcCB8IHVuZGVmaW5lZDtcbiAgcHJpdmF0ZSByZWFkb25seSBfYnVja2V0OiBJQnVja2V0O1xuICBwcml2YXRlIHJlYWRvbmx5IF9jYWNoZUJ1Y2tldDogSUJ1Y2tldDtcbiAgcHJpdmF0ZSByZWFkb25seSBfaG9zdGVkWm9uZTogSUhvc3RlZFpvbmU7XG4gIHByaXZhdGUgcmVhZG9ubHkgX2lucHV0TWFzdGVyVHJpZ2dlckZpbGU6IENvZGVQaXBlbGluZVNvdXJjZTtcbiAgcHJpdmF0ZSByZWFkb25seSBfaW5wdXRCcmFuY2hUcmlnZ2VyRmlsZTogQ29kZVBpcGVsaW5lU291cmNlO1xuICBwcml2YXRlIHJlYWRvbmx5IF9vc3NMaWNlbnNlc0J1Y2tldFBhcmFtZXRlcjogSVN0cmluZ1BhcmFtZXRlcjtcbiAgcHJpdmF0ZSByZWFkb25seSBfb3NzTGljZW5zZXNCdWNrZXQ6IElCdWNrZXQ7XG4gIHByaXZhdGUgcmVhZG9ubHkgX3NlcnZpY2VLZXlzdG9yZVBhc3N3b3JkOiBJU3RyaW5nUGFyYW1ldGVyO1xuICBwcml2YXRlIHJlYWRvbmx5IF9hY2NvdW50TmFtZVBhcmFtZXRlcjogSVN0cmluZ1BhcmFtZXRlcjtcbiAgcHJpdmF0ZSByZWFkb25seSBfbmlzdERhdGFNaXJyb3JVcmw6IElTdHJpbmdQYXJhbWV0ZXI7XG5cbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IFBpcGVsaW5lU3RhY2tQcm9wcykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCwgcHJvcHMpO1xuXG4gICAgLy8gcG9wdWxhdGUgZXh0ZXJuYWwgcGFyYW1ldGVyc1xuICAgIHRoaXMuX2J1Y2tldCA9IHMzLkJ1Y2tldC5mcm9tQnVja2V0TmFtZSh0aGlzLCAnVHJpZ2dlckJ1Y2tldCcsIEZuLmltcG9ydFZhbHVlKCdiaXRidWNrZXQtaW50ZWdyYXRpb24tczMtYnVja2V0JykpO1xuICAgIHRoaXMuX2NhY2hlQnVja2V0ID0gbmV3IHMzLkJ1Y2tldCh0aGlzLCAnQ2FjaGVCdWNrZXQnLCB7XG4gICAgICByZW1vdmFsUG9saWN5OiBSZW1vdmFsUG9saWN5LkRFU1RST1ksXG4gICAgICBhdXRvRGVsZXRlT2JqZWN0czogdHJ1ZSxcbiAgICAgIGxpZmVjeWNsZVJ1bGVzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBleHBpcmF0aW9uOiBEdXJhdGlvbi5kYXlzKDMwKSxcbiAgICAgICAgICBhYm9ydEluY29tcGxldGVNdWx0aXBhcnRVcGxvYWRBZnRlcjogRHVyYXRpb24uZGF5cyg3KSxcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgfSk7XG4gICAgdGhpcy5faG9zdGVkWm9uZSA9IHJpby5SaW9MYW5kaW5nWm9uZS5nZXREZWZhdWx0SG9zdGVkWm9uZSh0aGlzKTtcbiAgICB0aGlzLl9pbnB1dE1hc3RlclRyaWdnZXJGaWxlID0gcGlwZWxpbmVzLkNvZGVQaXBlbGluZVNvdXJjZS5zMyh0aGlzLl9idWNrZXQsIGAke3Byb3BzLnNlcnZpY2VOYW1lfS90cmlnZ2VyLyR7cmlvLlRyaWdnZXJLZXkuTUFTVEVSX1JFUE99YCwgeyB0cmlnZ2VyOiBjb2RlcGlwZWxpbmVfYWN0aW9ucy5TM1RyaWdnZXIuRVZFTlRTIH0pO1xuICAgIHRoaXMuX2lucHV0QnJhbmNoVHJpZ2dlckZpbGUgPSBwaXBlbGluZXMuQ29kZVBpcGVsaW5lU291cmNlLnMzKHRoaXMuX2J1Y2tldCwgYCR7cHJvcHMuc2VydmljZU5hbWV9L3RyaWdnZXIvJHtyaW8uVHJpZ2dlcktleS5CUkFOQ0hfUkVQT31gLCB7IHRyaWdnZXI6IGNvZGVwaXBlbGluZV9hY3Rpb25zLlMzVHJpZ2dlci5FVkVOVFMgfSk7XG5cbiAgICB0aGlzLl9vc3NMaWNlbnNlc0J1Y2tldFBhcmFtZXRlciA9IHNzbS5TdHJpbmdQYXJhbWV0ZXIuZnJvbVN0cmluZ1BhcmFtZXRlckF0dHJpYnV0ZXModGhpcywgJ09zc0xpY2Vuc2VzQnVja2V0UGFyYW1ldGVyJywgeyBwYXJhbWV0ZXJOYW1lOiAnL2NvbmZpZy9vc3MtbGljZW5zZXMvYnVja2V0LW5hbWUnIH0pO1xuICAgIHRoaXMuX29zc0xpY2Vuc2VzQnVja2V0ID0gczMuQnVja2V0LmZyb21CdWNrZXROYW1lKHRoaXMsICdPc3NMaWNlbnNlc0J1Y2tldCcsIHRoaXMuX29zc0xpY2Vuc2VzQnVja2V0UGFyYW1ldGVyLnN0cmluZ1ZhbHVlKTtcbiAgICB0aGlzLl9zZXJ2aWNlS2V5c3RvcmVQYXNzd29yZCA9IHNzbS5TdHJpbmdQYXJhbWV0ZXIuZnJvbVNlY3VyZVN0cmluZ1BhcmFtZXRlckF0dHJpYnV0ZXModGhpcywgJ0tleXN0b3JlUGFzc3dvcmQnLCB7XG4gICAgICBwYXJhbWV0ZXJOYW1lOiBgL2NvbmZpZy8ke3Byb3BzLnNlcnZpY2VOYW1lfS9zZXJ2aWNlLWtleXN0b3JlLXBhc3N3b3JkYCxcbiAgICAgIHZlcnNpb246IDEsXG4gICAgfSk7XG4gICAgdGhpcy5fYWNjb3VudE5hbWVQYXJhbWV0ZXIgPSBzc20uU3RyaW5nUGFyYW1ldGVyLmZyb21TdHJpbmdQYXJhbWV0ZXJOYW1lKHRoaXMsICdBY2NvdW50TmFtZVBhcmFtZXRlcicsICcvY29uZmlnL2FjY291bnQvbmFtZScpO1xuICAgIHRoaXMuX25pc3REYXRhTWlycm9yVXJsID0gc3NtLlN0cmluZ1BhcmFtZXRlci5mcm9tU2VjdXJlU3RyaW5nUGFyYW1ldGVyQXR0cmlidXRlcyh0aGlzLCAnTmlzdERhdGFNaXJyb3JVcmwnLCB7XG4gICAgICBwYXJhbWV0ZXJOYW1lOiAnL2NvbmZpZy9uaXN0LWRhdGEtbWlycm9yL3VybCcsXG4gICAgICB2ZXJzaW9uOiAxLFxuICAgIH0pO1xuXG4gICAgdGhpcy5fbWFpbkNvZGVCdWlsZFByb2plY3QgPSB0aGlzLmNyZWF0ZVJpb0NvZGVCdWlsZFByb2plY3QoJ01haW5CdWlsZCcsIHRoaXMuX2lucHV0TWFzdGVyVHJpZ2dlckZpbGUsIHByb3BzKTtcbiAgICB0aGlzLmFkZE1haW5QaXBlbGluZShwcm9wcywgdGhpcy5fbWFpbkNvZGVCdWlsZFByb2plY3QpO1xuXG4gICAgaWYgKHByb3BzLnBpcGVsaW5lVHlwZSAhPT0gUGlwZWxpbmVUeXBlLlNUQU5EQVJEX0lORlJBU1RSVUNUVVJFKSB7XG4gICAgICB0aGlzLl9icmFuY2hDb2RlQnVpbGRQcm9qZWN0ID0gdGhpcy5jcmVhdGVSaW9Db2RlQnVpbGRQcm9qZWN0KCdCcmFuY2hCdWlsZCcsIHRoaXMuX2lucHV0QnJhbmNoVHJpZ2dlckZpbGUsIHByb3BzKTtcbiAgICAgIHRoaXMuYWRkQnJhbmNoUGlwZWxpbmUocHJvcHMsIHRoaXMuX2JyYW5jaENvZGVCdWlsZFByb2plY3QpO1xuICAgICAgdGhpcy5hZGRWdWxuZXJhYmlsaXR5UGlwZWxpbmUocHJvcHMpO1xuICAgIH1cblxuICAgIGNvbnN0IFtmZWF0dXJlLCBwYWNrYWdlTmFtZV0gPSBfX2Rpcm5hbWUuc3BsaXQocGF0aC5zZXApLnJldmVyc2UoKTtcbiAgICBuZXcgQ2xhaWRvbWV0ZXIodGhpcywgJ0NsYWlkb21ldGVyJywge1xuICAgICAgcHJvZHVjdDogQ2xhaWRvbWV0ZXJQcm9kdWN0LkNES19DT05UUklCVVRJT04sXG4gICAgICBwYWNrYWdlTmFtZSxcbiAgICAgIGZlYXR1cmUsXG4gICAgICB2ZXJzaW9uOiAnMC4wLjIyJyxcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgbWFpbkNvZGVidWlsZFByb2plY3QoKSB7XG4gICAgcmV0dXJuIHRoaXMuX21haW5Db2RlQnVpbGRQcm9qZWN0O1xuICB9XG5cbiAgcHVibGljIGdldCBicmFuY2hDb2RlQnVpbGRQcm9qZWN0KCk6IENvZGVCdWlsZFN0ZXAge1xuICAgIGlmICh0aGlzLl9icmFuY2hDb2RlQnVpbGRQcm9qZWN0ID09IHVuZGVmaW5lZCkge1xuICAgICAgdGhyb3cgRXJyb3IoJ1RoZSBwaXBlbGluZSB0eXBlIHlvdSBoYXZlIHNlbGVjdGVkIGRvZXMgbm90IHN1cHBvcnQgYSBicmFuY2ggY29kZWJ1aWxkIHByb2plY3QnKTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuX2JyYW5jaENvZGVCdWlsZFByb2plY3Q7XG4gIH1cblxuICBwcml2YXRlIGNyZWF0ZVJpb0NvZGVCdWlsZFByb2plY3QobmFtZTogc3RyaW5nLCB0cmlnZ2VyRmlsZTogQ29kZVBpcGVsaW5lU291cmNlLCBwcm9wczogUGlwZWxpbmVTdGFja1Byb3BzKSB7XG4gICAgcmV0dXJuIG5ldyBSaW9Db2RlQnVpbGRQcm9qZWN0KHRoaXMsIG5hbWUsIHtcbiAgICAgIGlucHV0OiB0cmlnZ2VyRmlsZSxcbiAgICAgIGNka091dERpcmVjdG9yeTogJ2luZnJhc3RydWN0dXJlL2Nkay5vdXQnLFxuICAgICAgcGFydGlhbEJ1aWxkU3BlYzogdGhpcy5sb2FkQnVpbGRTcGVjRnJvbUZpbGUocHJvcHM/LmNvZGVCdWlsZE9wdGlvbnM/LnBhcnRpYWxCdWlsZFNwZWNQYXRoIHx8XG4gICAgICAgIHRoaXMucmVzb2x2ZURlZmF1bHRCdWlsZFNwZWMocHJvcHMucGlwZWxpbmVUeXBlKSksXG4gICAgICBidWlsZEVudmlyb25tZW50OiBwcm9wcz8uY29kZUJ1aWxkT3B0aW9ucz8uYnVpbGRFbnZpcm9ubWVudCxcbiAgICAgIGhvc3RlZFpvbmVOYW1lOiB0aGlzLl9ob3N0ZWRab25lLnpvbmVOYW1lLFxuICAgICAgc2VydmljZU5hbWU6IHByb3BzLnNlcnZpY2VOYW1lLFxuICAgICAgY2FjaGVCdWNrZXQ6IHRoaXMuX2NhY2hlQnVja2V0LFxuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBhZGRNYWluUGlwZWxpbmUocHJvcHM6IFBpcGVsaW5lU3RhY2tQcm9wcywgbWFpbkJ1aWxkOiBDb2RlQnVpbGRTdGVwKSB7XG5cbiAgICBjb25zdCBwaXBlbGluZSA9IG5ldyBwaXBlbGluZXMuQ29kZVBpcGVsaW5lKHRoaXMsICdQaXBlbGluZScsIHtcbiAgICAgIGFydGlmYWN0QnVja2V0OiB0aGlzLl9jYWNoZUJ1Y2tldCxcbiAgICAgIHN5bnRoOiBtYWluQnVpbGQsXG4gICAgfSk7XG4gICAgVGFncy5vZihwaXBlbGluZSkuYWRkKCdwaXBlbGluZV90eXBlJywgJ2J1aWxkJyk7XG5cbiAgICBjb25zdCBzdHJpcEFzc2V0c1N0ZXAgPSB0aGlzLmNyZWF0ZVN0cmlwQXNzZXRzU3RlcChwaXBlbGluZSk7XG4gICAgcGlwZWxpbmUuYWRkV2F2ZSgnQmVmb3JlRGVwbG95JywgeyBwcmU6IFtzdHJpcEFzc2V0c1N0ZXBdIH0pO1xuXG4gICAgY29uc3QgY2FwYWJpbGl0eU1vbml0b3JpbmdEZXBsb3lTdGVwID0gdGhpcy5jcmVhdGVDYXBhYmlsaXR5TW9uaXRvcmluZ0RlcGxveVN0ZXAobWFpbkJ1aWxkLCBwcm9wcyk7XG4gICAgY29uc3Qgc2VjcmV0c0RlcGxveVN0ZXBQcm9wcyA9IHRoaXMuY3JlYXRlU2VjcmV0c0RlcGxveVN0ZXAocHJvcHMpO1xuXG4gICAgcGlwZWxpbmUuYWRkU3RhZ2UobmV3IEFwcGxpY2F0aW9uKHRoaXMsICdEZXBsb3lBcHBsaWNhdGlvblN0YWNrcycsIHtcbiAgICAgIGFwcFN0YWNrRmFjdG9yeTogcHJvcHMuYXBwU3RhY2tGYWN0b3J5LFxuICAgICAgc2VydmljZU5hbWU6IHByb3BzLnNlcnZpY2VOYW1lLFxuICAgICAgdmVyc2lvbjogcHJvY2Vzcy5lbnYuUElQRUxJTkVfRVhFQ1VUSU9OX0lEID8/ICdQSVBFTElORV9FWEVDVVRJT05fSUQgbm90IHNldCcsXG4gICAgfSksIHtcbiAgICAgIHByZTogc2VjcmV0c0RlcGxveVN0ZXBQcm9wcyA/IFtzZWNyZXRzRGVwbG95U3RlcFByb3BzXSA6IHVuZGVmaW5lZCxcbiAgICAgIHBvc3Q6IGNhcGFiaWxpdHlNb25pdG9yaW5nRGVwbG95U3RlcCA/IFtjYXBhYmlsaXR5TW9uaXRvcmluZ0RlcGxveVN0ZXBdIDogdW5kZWZpbmVkLFxuICAgIH0pO1xuICAgIHBpcGVsaW5lLmJ1aWxkUGlwZWxpbmUoKTtcblxuICAgIHRoaXMudGFnQ29kZUJ1aWxkUHJvamVjdChzdHJpcEFzc2V0c1N0ZXAsICdwcm9qZWN0X3R5cGUnLCAnc3RyaXBfYXNzZXRzJyk7XG4gICAgdGhpcy50YWdDb2RlQnVpbGRQcm9qZWN0KHNlY3JldHNEZXBsb3lTdGVwUHJvcHMsICdwcm9qZWN0X3R5cGUnLCAnZGVwbG95X3NlY3JldHMnKTtcbiAgICB0aGlzLnRhZ0NvZGVCdWlsZFByb2plY3QobWFpbkJ1aWxkLCAncHJvamVjdF90eXBlJywgJ2J1aWxkJyk7XG4gICAgdGhpcy50YWdDb2RlQnVpbGRQcm9qZWN0KGNhcGFiaWxpdHlNb25pdG9yaW5nRGVwbG95U3RlcCwgJ3Byb2plY3RfdHlwZScsICdkZXBsb3lfY2FwYWJpbGl0eV9tb25pdG9yaW5nJyk7XG5cbiAgICBpZiAoY2FwYWJpbGl0eU1vbml0b3JpbmdEZXBsb3lTdGVwKSB7XG4gICAgICBjb25zdCBtb25pdG9yaW5nVGVzdHN1aXRlUnVubmVyQnVja2V0ID0gQnVja2V0LmZyb21CdWNrZXROYW1lKHRoaXMsICdNb25pdG9yaW5nVGVzdHN1aXRlUnVubmVyQnVja2V0JywgYG1vbml0b3JpbmctdGVzdHN1aXRlLXJ1bm5lci0ke3RoaXMuYWNjb3VudH1gKTtcbiAgICAgIG1vbml0b3JpbmdUZXN0c3VpdGVSdW5uZXJCdWNrZXQuZ3JhbnRXcml0ZShjYXBhYmlsaXR5TW9uaXRvcmluZ0RlcGxveVN0ZXApO1xuICAgIH1cblxuICAgIGNvbnN0IHJ1bGUgPSBuZXcgZXZlbnRzLlJ1bGUodGhpcywgJ1BpcGVsaW5lU2NoZWR1bGUnLCB7XG4gICAgICBzY2hlZHVsZTogZXZlbnRzLlNjaGVkdWxlLmV4cHJlc3Npb24ocHJvcHMucGlwZWxpbmVTY2hlZHVsZXM/Lm1haW5QaXBlbGluZSB8fCAnY3JvbigwIDkgPyAqIDIjMSAqKScpLFxuICAgIH0pO1xuICAgIHJ1bGUuYWRkVGFyZ2V0KG5ldyB0YXJnZXRzLkNvZGVQaXBlbGluZShwaXBlbGluZS5waXBlbGluZSkpO1xuXG4gICAgdGhpcy5fb3NzTGljZW5zZXNCdWNrZXQuZ3JhbnRSZWFkV3JpdGUobWFpbkJ1aWxkKTtcbiAgICB0aGlzLl9vc3NMaWNlbnNlc0J1Y2tldFBhcmFtZXRlci5ncmFudFJlYWQobWFpbkJ1aWxkKTtcbiAgICBpZiAocHJvcHMucGlwZWxpbmVUeXBlICE9PSBQaXBlbGluZVR5cGUuU1RBTkRBUkRfSU5GUkFTVFJVQ1RVUkUpIHtcbiAgICAgIHRoaXMuX3NlcnZpY2VLZXlzdG9yZVBhc3N3b3JkLmdyYW50UmVhZChtYWluQnVpbGQpO1xuICAgIH1cbiAgICB0aGlzLl9hY2NvdW50TmFtZVBhcmFtZXRlci5ncmFudFJlYWQobWFpbkJ1aWxkKTtcbiAgICBpZiAocHJvcHMucGlwZWxpbmVUeXBlID09PSBQaXBlbGluZVR5cGUuU1RBTkRBUkRfR1JBRExFX0tBRktBKSB7XG4gICAgICB0aGlzLmdyYW50UGVybWlzc2lvbnNGb3JLYWZrYUludGVncmF0aW9uKG1haW5CdWlsZCwgJ0thZmthSW50ZWdyYXRpb25Qb2xpY3knKTtcbiAgICB9XG4gICAgcGlwZWxpbmUucGlwZWxpbmUuYXJ0aWZhY3RCdWNrZXQuZ3JhbnRSZWFkV3JpdGUoc3RyaXBBc3NldHNTdGVwLnByb2plY3QpO1xuXG4gICAgbmV3IERhdGFkb2dQaXBlbGluZUVycm9yQWxlcnQodGhpcywgJ0RhdGFkb2dQaXBlbGluZUVycm9yTW9uaXRvcicsIHtcbiAgICAgIHNlcnZpY2VOYW1lOiBwcm9wcy5zZXJ2aWNlTmFtZSxcbiAgICAgIHBpcGVsaW5lTmFtZTogdGhpcy5yZW5hbWVQaXBlbGluZVRvTG93ZXJDYXNlKHBpcGVsaW5lKSxcbiAgICAgIGFjY291bnRJZDogdGhpcy5hY2NvdW50LFxuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBhZGRCcmFuY2hQaXBlbGluZShwcm9wczogUGlwZWxpbmVTdGFja1Byb3BzLCBicmFuY2hCdWlsZDogQ29kZUJ1aWxkU3RlcCkge1xuXG4gICAgY29uc3QgYnJhbmNoUGlwZWxpbmUgPSBuZXcgcGlwZWxpbmVzLkNvZGVQaXBlbGluZSh0aGlzLCAnQnJhbmNoUGlwZWxpbmUnLCB7XG4gICAgICBhcnRpZmFjdEJ1Y2tldDogdGhpcy5fY2FjaGVCdWNrZXQsXG4gICAgICBzeW50aDogYnJhbmNoQnVpbGQsXG4gICAgICBzZWxmTXV0YXRpb246IGZhbHNlLFxuICAgIH0pO1xuICAgIFRhZ3Mub2YoYnJhbmNoUGlwZWxpbmUpLmFkZCgncGlwZWxpbmVfdHlwZScsICdicmFuY2gnKTtcbiAgICBicmFuY2hQaXBlbGluZS5hZGRXYXZlKCdCcmFuY2hCdWlsZCcpLmFkZFBvc3QoYnJhbmNoQnVpbGQpO1xuICAgIGJyYW5jaFBpcGVsaW5lLmJ1aWxkUGlwZWxpbmUoKTtcblxuICAgIHRoaXMudGFnQ29kZUJ1aWxkUHJvamVjdChicmFuY2hCdWlsZCwgJ3Byb2plY3RfdHlwZScsICdicmFuY2hfYnVpbGQnKTtcblxuICAgIHRoaXMuX29zc0xpY2Vuc2VzQnVja2V0LmdyYW50UmVhZFdyaXRlKGJyYW5jaEJ1aWxkKTtcbiAgICB0aGlzLl9vc3NMaWNlbnNlc0J1Y2tldFBhcmFtZXRlci5ncmFudFJlYWQoYnJhbmNoQnVpbGQpO1xuICAgIHRoaXMuX3NlcnZpY2VLZXlzdG9yZVBhc3N3b3JkLmdyYW50UmVhZChicmFuY2hCdWlsZCk7XG4gICAgdGhpcy5fYWNjb3VudE5hbWVQYXJhbWV0ZXIuZ3JhbnRSZWFkKGJyYW5jaEJ1aWxkKTtcbiAgICBpZiAocHJvcHMucGlwZWxpbmVUeXBlID09PSBQaXBlbGluZVR5cGUuU1RBTkRBUkRfR1JBRExFX0tBRktBKSB7XG4gICAgICB0aGlzLmdyYW50UGVybWlzc2lvbnNGb3JLYWZrYUludGVncmF0aW9uKGJyYW5jaEJ1aWxkLCAnQnJhbmNoS2Fma2FJbnRlZ3JhdGlvblBvbGljeScpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgYWRkVnVsbmVyYWJpbGl0eVBpcGVsaW5lKHByb3BzOiBQaXBlbGluZVN0YWNrUHJvcHMpIHtcbiAgICBjb25zdCB2dWxuZXJhYmlsaXR5QnVpbGQgPSBuZXcgUmlvQ29kZUJ1aWxkUHJvamVjdCh0aGlzLCAnVnVsbmVyYWJpbGl0eUNoZWNrcycsIHtcbiAgICAgIGlucHV0OiB0aGlzLl9pbnB1dE1hc3RlclRyaWdnZXJGaWxlLFxuICAgICAgcGFydGlhbEJ1aWxkU3BlYzogdGhpcy5sb2FkQnVpbGRTcGVjRnJvbUZpbGUocGF0aC5yZXNvbHZlKF9fZGlybmFtZSwgJ2J1aWxkc3BlY3MvYnVpbGRzcGVjLXZ1bG5lcmFiaWxpdHktY2hlY2tzLnlhbWwnKSksXG4gICAgICBidWlsZEVudmlyb25tZW50OiBwcm9wcz8uY29kZUJ1aWxkT3B0aW9ucz8uYnVpbGRFbnZpcm9ubWVudCxcbiAgICAgIGhvc3RlZFpvbmVOYW1lOiB0aGlzLl9ob3N0ZWRab25lLnpvbmVOYW1lLFxuICAgICAgc2VydmljZU5hbWU6IHByb3BzLnNlcnZpY2VOYW1lLFxuICAgICAgY2FjaGVCdWNrZXQ6IHRoaXMuX2NhY2hlQnVja2V0LFxuICAgIH0pO1xuICAgIGNvbnN0IHZ1bG5lcmFiaWxpdHlQaXBlbGluZSA9IG5ldyBwaXBlbGluZXMuQ29kZVBpcGVsaW5lKHRoaXMsICdWdWxuZXJhYmlsaXR5UGlwZWxpbmUnLCB7XG4gICAgICBhcnRpZmFjdEJ1Y2tldDogdGhpcy5fY2FjaGVCdWNrZXQsXG4gICAgICBzeW50aDogdnVsbmVyYWJpbGl0eUJ1aWxkLFxuICAgICAgc2VsZk11dGF0aW9uOiBmYWxzZSxcbiAgICB9KTtcbiAgICBUYWdzLm9mKHZ1bG5lcmFiaWxpdHlQaXBlbGluZSkuYWRkKCdwaXBlbGluZV90eXBlJywgJ3Z1bG5lcmFiaWxpdHknKTtcblxuICAgIHZ1bG5lcmFiaWxpdHlQaXBlbGluZS5hZGRXYXZlKCdWdWxuZXJhYmlsaXR5Q2hlY2tzJykuYWRkUG9zdCh2dWxuZXJhYmlsaXR5QnVpbGQpO1xuICAgIHZ1bG5lcmFiaWxpdHlQaXBlbGluZS5idWlsZFBpcGVsaW5lKCk7XG4gICAgVGFncy5vZih2dWxuZXJhYmlsaXR5QnVpbGQucHJvamVjdCkuYWRkKCdwcm9qZWN0X3R5cGUnLCAndnVsbmVyYWJpbGl0eV9jaGVjaycpO1xuICAgIHRoaXMuX25pc3REYXRhTWlycm9yVXJsLmdyYW50UmVhZCh2dWxuZXJhYmlsaXR5QnVpbGQpO1xuXG4gICAgY29uc3QgdnVsbmVyYWJpbGl0eVJ1bGUgPSBuZXcgZXZlbnRzLlJ1bGUodGhpcywgJ1Z1bG5lcmFiaWxpdHlQaXBlbGluZVNjaGVkdWxlJywge1xuICAgICAgc2NoZWR1bGU6IGV2ZW50cy5TY2hlZHVsZS5leHByZXNzaW9uKHByb3BzLnBpcGVsaW5lU2NoZWR1bGVzPy52dWxuZXJhYmlsaXR5UGlwZWxpbmUgfHwgJ2Nyb24oMCA1ID8gKiBNT04tRlJJICopJyksXG4gICAgfSk7XG4gICAgdnVsbmVyYWJpbGl0eVJ1bGUuYWRkVGFyZ2V0KG5ldyB0YXJnZXRzLkNvZGVQaXBlbGluZSh2dWxuZXJhYmlsaXR5UGlwZWxpbmUucGlwZWxpbmUpKTtcblxuICAgIGlmIChwcm9wcy5kYXRhZG9nQWxlcnRUeXBlID09PSAnb3BzZ2VuaWUnKSB7XG4gICAgICB0aHJvdyBFcnJvcignVGhlIE9wc0dlbmllIGFsZXJ0VHlwZSBpcyBub3Qgc3VwcG9ydGVkIGFueW1vcmUuIFBsZWFzZSB1c2UgdGhlIHZ1bG5lcmFiaWxpdHlOb3RpZmljYXRpb24gcHJvcGVydHkgaW5zdGVhZC4nKTtcbiAgICB9XG4gICAgbmV3IERhdGFEb2dQaXBlbGluZUVycm9yQWxlcnRGb3JWdWxuZXJhYmlsaXR5Q2hlY2tzKHRoaXMsICdEYXRhRG9nUGlwZWxpbmVFcnJvckZvclZ1bG5lcmFiaWxpdHlDaGVja3NNb25pdG9yJywge1xuICAgICAgc2VydmljZU5hbWU6IHByb3BzLnNlcnZpY2VOYW1lLFxuICAgICAgcGlwZWxpbmVOYW1lOiB0aGlzLnJlbmFtZVBpcGVsaW5lVG9Mb3dlckNhc2UodnVsbmVyYWJpbGl0eVBpcGVsaW5lKSxcbiAgICAgIGFjY291bnRJZDogdGhpcy5hY2NvdW50LFxuICAgICAgbm90aWZpY2F0aW9uOiBwcm9wcy52dWxuZXJhYmlsaXR5Tm90aWZpY2F0aW9uLFxuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBjcmVhdGVTdHJpcEFzc2V0c1N0ZXAocGlwZWxpbmU6IHBpcGVsaW5lcy5Db2RlUGlwZWxpbmUpOiBDb2RlQnVpbGRTdGVwIHtcbiAgICAvLyBDbG91ZEFzc2VtYmx5QXJ0aWZhY3RzIG11c3QgYmUgc21hbGxlciB0aGFuIDI1Nk1CLiBEdWUgdG8gdGhlIGdyYWRsZSBhcnRpZmFjdCB3ZSBhcmUgZXhjZWVkaW5nIHRoaXMgbGltaXQgYW5kIHBpcGVsaW5lIGZhaWxzIGluIGRlcGxveW1lbnQgc3RlcC5cbiAgICAvLyBJc3N1ZSBpcyBrbm93biBhbmQgbm90IGZpeGVkIGZvciBhbHJlYWR5IHNvbWUgeWVhcnMuIFNlZTogaHR0cHM6Ly9naXRodWIuY29tL2F3cy9hd3MtY2RrL2lzc3Vlcy85OTE3XG4gICAgLy8gRGlydHkgZml4OiBBc3NldHMgYXJlIGFscmVhZHkgdXBsb2FkZWQgYW5kIHRodXMgbm90IG5lZWRlZC4gUmVtb3ZlIHRoZW0gZnJvbSBwaXBlbGluZSBhcnRpZmFjdC5cbiAgICByZXR1cm4gbmV3IENvZGVCdWlsZFN0ZXAoXG4gICAgICAnU3RyaXBBc3NldHNGcm9tQXNzZW1ibHknLCB7XG4gICAgICAgIGlucHV0OiBwaXBlbGluZS5jbG91ZEFzc2VtYmx5RmlsZVNldCxcbiAgICAgICAgY29tbWFuZHM6IFtcbiAgICAgICAgICAnUzNfUEFUSD0ke0NPREVCVUlMRF9TT1VSQ0VfVkVSU0lPTiNcImFybjphd3M6czM6OjpcIn0nLFxuICAgICAgICAgICdaSVBfQVJDSElWRT0kKGJhc2VuYW1lICRTM19QQVRIKScsXG4gICAgICAgICAgJ3JtIC1yZnYgYXNzZXQuKicsXG4gICAgICAgICAgJ3ppcCAtciAtcSAtQSAkWklQX0FSQ0hJVkUgKicsXG4gICAgICAgICAgJ2F3cyBzMyBjcCAkWklQX0FSQ0hJVkUgczM6Ly8kUzNfUEFUSCcsXG4gICAgICAgIF0sXG4gICAgICAgIGJ1aWxkRW52aXJvbm1lbnQ6IHtcbiAgICAgICAgICBidWlsZEltYWdlOiBMaW51eExhbWJkYUJ1aWxkSW1hZ2UuQU1BWk9OX0xJTlVYXzIwMjNfTk9ERV8yMCxcbiAgICAgICAgICBjb21wdXRlVHlwZTogQ29tcHV0ZVR5cGUuTEFNQkRBXzFHQixcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgY3JlYXRlQ2FwYWJpbGl0eU1vbml0b3JpbmdEZXBsb3lTdGVwKG1haW5CdWlsZDogQ29kZUJ1aWxkU3RlcCwgcHJvcHM6IFBpcGVsaW5lU3RhY2tQcm9wcyk6IENvZGVCdWlsZFN0ZXAgfCB1bmRlZmluZWQge1xuICAgIGlmIChwcm9wcy5tb25pdG9yaW5nRGVwbG95U3RlcFByb3BzKSB7XG4gICAgICBjb25zdCBtb25pdG9yaW5nQXJ0aWZhY3RzID0gT2JqZWN0LmtleXMocHJvcHMubW9uaXRvcmluZ0RlcGxveVN0ZXBQcm9wcy5tb25pdG9yaW5nQXJ0aWZhY3RzKS5tYXAoKGtleSkgPT4ge1xuICAgICAgICBjb25zdCBvdXRwdXQgPSBtYWluQnVpbGQuYWRkT3V0cHV0RGlyZWN0b3J5KGtleSk7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgaW5wdXQ6IG91dHB1dCxcbiAgICAgICAgICBmaWxlczogcHJvcHMubW9uaXRvcmluZ0RlcGxveVN0ZXBQcm9wcyEubW9uaXRvcmluZ0FydGlmYWN0c1trZXldLFxuICAgICAgICB9O1xuICAgICAgfSk7XG4gICAgICByZXR1cm4gbmV3IFJpb0NhcGFiaWxpdHlNb25pdG9yaW5nRGVwbG95U3RlcCh0aGlzLCAnRGVwbG95Q2FwYWJpbGl0eU1vbml0b3JpbmcnLCB7XG4gICAgICAgIG1vbml0b3JpbmdBcnRpZmFjdHM6IG1vbml0b3JpbmdBcnRpZmFjdHMsXG4gICAgICB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGNyZWF0ZVNlY3JldHNEZXBsb3lTdGVwKHByb3BzOiBQaXBlbGluZVN0YWNrUHJvcHMpOiByaW8uUmlvU2VjcmV0c0RlcGxveVN0ZXAgfCB1bmRlZmluZWQge1xuICAgIGlmIChwcm9wcy5zZWNyZXRzRGVwbG95U3RlcFByb3BzKSB7XG4gICAgICByZXR1cm4gbmV3IHJpby5SaW9TZWNyZXRzRGVwbG95U3RlcCh0aGlzLCAnRGVwbG95U2VjcmV0cycsIHtcbiAgICAgICAgLi4ucHJvcHMuc2VjcmV0c0RlcGxveVN0ZXBQcm9wcyxcbiAgICAgICAgaW5wdXQ6IHRoaXMuX2lucHV0TWFzdGVyVHJpZ2dlckZpbGUsXG4gICAgICB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHJlc29sdmVEZWZhdWx0QnVpbGRTcGVjKHBpcGVsaW5lVHlwZTogUGlwZWxpbmVUeXBlKSB7XG4gICAgc3dpdGNoIChwaXBlbGluZVR5cGUpIHtcbiAgICAgIGNhc2UgUGlwZWxpbmVUeXBlLlNUQU5EQVJEX0dSQURMRTpcbiAgICAgICAgcmV0dXJuIHBhdGgucmVzb2x2ZShfX2Rpcm5hbWUsICdidWlsZHNwZWNzL2J1aWxkc3BlYy55YW1sJyk7XG4gICAgICBjYXNlIFBpcGVsaW5lVHlwZS5TVEFOREFSRF9HUkFETEVfS0FGS0E6XG4gICAgICAgIHJldHVybiBwYXRoLnJlc29sdmUoX19kaXJuYW1lLCAnYnVpbGRzcGVjcy9idWlsZHNwZWNfa2Fma2EueWFtbCcpO1xuICAgICAgY2FzZSBQaXBlbGluZVR5cGUuU1RBTkRBUkRfSU5GUkFTVFJVQ1RVUkU6XG4gICAgICAgIHJldHVybiBwYXRoLnJlc29sdmUoX19kaXJuYW1lLCAnYnVpbGRzcGVjcy9idWlsZHNwZWNfaW5mcmFzdHJ1Y3R1cmUueWFtbCcpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgZ3JhbnRQZXJtaXNzaW9uc0ZvckthZmthSW50ZWdyYXRpb24oYnVpbGRQcm9qZWN0OiBSaW9Db2RlQnVpbGRQcm9qZWN0LCBwb2xpY3lJZDogc3RyaW5nKSB7XG4gICAgY29uc3QgYnVpbGRQcm9qZWN0Um9sZSA9IGJ1aWxkUHJvamVjdC5wcm9qZWN0LnJvbGU7XG4gICAgaWYgKGJ1aWxkUHJvamVjdFJvbGUpIHtcbiAgICAgIGJ1aWxkUHJvamVjdFJvbGUuYWRkTWFuYWdlZFBvbGljeShcbiAgICAgICAgTWFuYWdlZFBvbGljeS5mcm9tTWFuYWdlZFBvbGljeUFybih0aGlzLFxuICAgICAgICAgIHBvbGljeUlkLFxuICAgICAgICAgIEZuLmltcG9ydFZhbHVlKCdrYWZrYS1pbnRlZ3JhdGlvbi1wb2xpY3ktYXJuJyksXG4gICAgICAgICksXG4gICAgICApO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aHJvdyBFcnJvcihgQ291bGQgbm90IGFkZCBtYW5hZ2VkIHBvbGljeSBmb3Iga2Fma2EtaW50ZWdyYXRpb24gdG8gQ29kZUJ1aWxkIHByb2plY3Qgb2YgJHtidWlsZFByb2plY3QuaWR9IGR1ZSB0byBtaXNzaW5nIHJvbGUuYCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBsb2FkQnVpbGRTcGVjRnJvbUZpbGUoYnVpbGRTcGVjUGF0aDogc3RyaW5nKTogQnVpbGRTcGVjIHtcbiAgICByZXR1cm4gQnVpbGRTcGVjLmZyb21PYmplY3QoeWFtbC5sb2FkKGZzLnJlYWRGaWxlU3luYyhidWlsZFNwZWNQYXRoLCB7IGVuY29kaW5nOiAndXRmLTgnIH0pKSBhcyBPYmplY3QpO1xuICB9XG5cbiAgcHJpdmF0ZSByZW5hbWVQaXBlbGluZVRvTG93ZXJDYXNlKHBpcGVsaW5lOiBwaXBlbGluZXMuQ29kZVBpcGVsaW5lKTogUmVmZXJlbmNlIHtcbiAgICBjb25zdCB1cHBlclRvTG93ZXJDciA9IG5ldyBjZGsuQ3VzdG9tUmVzb3VyY2UodGhpcywgYCR7cGlwZWxpbmUubm9kZS5pZH0tVXBwZXJUb0xvd2VyYCwge1xuICAgICAgcmVzb3VyY2VUeXBlOiAnQ3VzdG9tOjpVcHBlclRvTG93ZXInLFxuICAgICAgc2VydmljZVRva2VuOiBVcHBlclRvTG93ZXIuZ2V0T3JDcmVhdGUodGhpcykucHJvdmlkZXIuc2VydmljZVRva2VuLFxuICAgICAgcHJvcGVydGllczoge1xuICAgICAgICBVcHBlcjogcGlwZWxpbmUucGlwZWxpbmUucGlwZWxpbmVOYW1lLFxuICAgICAgfSxcbiAgICB9KTtcbiAgICByZXR1cm4gdXBwZXJUb0xvd2VyQ3IuZ2V0QXR0KCdMb3dlcicpO1xuICB9XG5cbiAgcHJpdmF0ZSB0YWdDb2RlQnVpbGRQcm9qZWN0KHByb2plY3Q6IENvZGVCdWlsZFN0ZXAgfCB1bmRlZmluZWQsIGtleTogc3RyaW5nLCB2YWx1ZTogc3RyaW5nKSB7XG4gICAgaWYgKHByb2plY3QpIHtcbiAgICAgIFRhZ3Mub2YocHJvamVjdC5wcm9qZWN0KS5hZGQoa2V5LCB2YWx1ZSk7XG4gICAgfVxuICB9XG59XG4iXX0=
@@ -140,4 +140,4 @@ function datadogLogsSearchWithIndexFilterDeepLink(indexName, organization) {
140
140
  function datadogLogsIndexesConfigurationDeepLink(organization) {
141
141
  return `https://${getOrganizationUrlPrefix(organization)}.datadoghq.eu/logs/pipelines/indexes`;
142
142
  }
143
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YWRvZy1sb2ctaW5kZXgtbW9uaXRvcmluZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9kYXRhZG9nL2RhdGFkb2ctbG9nLWluZGV4LW1vbml0b3JpbmcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSw2Q0FBMEM7QUFDMUMsMkNBQXVDO0FBQ3ZDLHVEQUFxRTtBQXlEckU7Ozs7Ozs7Ozs7R0FVRztBQUNILE1BQWEseUJBQTBCLFNBQVEsc0JBQVM7SUFDdEQsWUFBWSxLQUFnQixFQUFFLEVBQVUsRUFBRSxLQUFxQztRQUM3RSxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBRWpCLElBQUksMkJBQTJCLENBQUMsSUFBSSxFQUFFLDZCQUE2QixFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQzVFLElBQUkseUJBQXlCLENBQUMsSUFBSSxFQUFFLCtCQUErQixFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQzVFLElBQUksa0NBQWtDLENBQUMsSUFBSSxFQUFFLHNDQUFzQyxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQzVGLHlCQUFXLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLGNBQWMsQ0FBQyx3REFBd0QsRUFBRSw4RkFBOEYsQ0FBQyxDQUFDO1FBRS9MLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDO1lBQ3RCLFFBQVEsRUFBRSxHQUFhLEVBQUU7Z0JBQ3ZCLE1BQU0sTUFBTSxHQUFHLEVBQUUsQ0FBQztnQkFDbEIsSUFBSSxLQUFLLENBQUMsYUFBYSxDQUFDLHlCQUF5QixHQUFHLENBQUMsSUFBSSxLQUFLLENBQUMsYUFBYSxDQUFDLHlCQUF5QixHQUFHLEdBQUcsRUFBRTtvQkFDNUcsTUFBTSxDQUFDLElBQUksQ0FBQywyRUFBMkUsQ0FBQyxDQUFDO2lCQUMxRjtnQkFDRCxJQUFJLEtBQUssQ0FBQyxhQUFhLENBQUMsdUJBQXVCLEdBQUcsQ0FBQyxJQUFJLEtBQUssQ0FBQyxhQUFhLENB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Z0Isd0JBQXdCLENBQUMsWUFBNkM7SUFDcEYsUUFBUSxZQUFZLElBQUksSUFBSSxFQUFFO1FBQzVCLEtBQUssSUFBSTtZQUNQLE9BQU8sS0FBSyxDQUFDO1FBQ2YsS0FBSyxPQUFPO1lBQ1YsT0FBTyxZQUFZLENBQUM7UUFDdEIsS0FBSyxjQUFjO1lBQ2pCLE9BQU8saUJBQWlCLENBQUM7S0FDNUI7QUFDSCxDQUFDO0FBVEQsNERBU0M7QUFFRCxTQUFTLHdDQUF3QyxDQUFDLFNBQWlCLEVBQUUsWUFBNkM7SUFDaEgsT0FBTyxXQUFXLHdCQUF3QixDQUFDLFlBQVksQ0FBQyw0QkFBNEIsU0FBUyxFQUFFLENBQUM7QUFDbEcsQ0FBQztBQUVELFNBQVMsdUNBQXVDLENBQUMsWUFBNkM7SUFDNUYsT0FBTyxXQUFXLHdCQUF3QixDQUFDLFlBQVksQ0FBQyxzQ0FBc0MsQ0FBQztBQUNqRyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQW5ub3RhdGlvbnMgfSBmcm9tICdhd3MtY2RrLWxpYic7XG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tICdjb25zdHJ1Y3RzJztcbmltcG9ydCB7IERhdGFkb2dNb25pdG9yLCBEYXRhZG9nQWxlcnRUeXBlIH0gZnJvbSAnLi9kYXRhZG9nLW1vbml0b3InO1xuXG5leHBvcnQgaW50ZXJmYWNlIERhdGFkb2dMb2dJbmRleE1vbml0b3JpbmdQcm9wcyB7XG5cbiAgLyoqXG4gICAqIFRoZSBuYW1lIG9mIHlvdXIgc2VydmljZSBpbiBEYXRhZG9nLiBDYW4gYmUgdXNlZCB0byBxdWVyeSB0aGUgbW9uaXRvcnMuXG4gICAqL1xuICByZWFkb25seSBzZXJ2aWNlTmFtZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgbmFtZSBvZiB0aGUgRGF0YWRvZyBpbmRleC5cbiAgICovXG4gIHJlYWRvbmx5IGluZGV4TmFtZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgaW50ZWdyYXRpb24gdG8gdXNlIGZvciBhbGVydGluZy5cbiAgICogRm9yIE9wc0dlbmllLCB5b3UgbmVlZCB0byBpbnN0YWxsIGFuZCBjb25maWd1cmUgdGhlICdvcHNnZW5pZS1pbnRlZ3JhdGlvbicgYWNjb3VudCBtb2R1bGUuXG4gICAqL1xuICByZWFkb25seSBhbGVydFR5cGU6IERhdGFkb2dBbGVydFR5cGU7XG5cbiAgLyoqXG4gICAqIFRoZSBkYWlseSBsb2cgcXVvdGEgc2V0dGluZ3MuXG4gICAqL1xuICByZWFkb25seSBkYWlseUxvZ1F1b3RhOiBEYXRhZG9nTG9nUXVvdGFQcm9wcztcblxuICAvKipcbiAgICogVGhpcyB2YWx1ZSBzaG91bGQgYmUgdXNlZCBpZiB0aGVyZSBpcyBubyBsb2cgbWVzc2FnZSB3aXRoaW4gMjQgaG91cnMgb3IgbWlzc2luZyBoaXN0b3JpY2FsIGRhdGEuXG4gICAqIFdpdGhvdXQgc2V0dGluZyB0aGlzIHZhbHVlIGl0IHdpbGwgbGVhZCB0byBhbiBlbXB0eSByZXN1bHQgYW5kIHRoZXJlZm9yZSB0cmlnZ2VyIGFuIGFsZXJ0LlxuICAgKiBAZGVmYXVsdFZhbHVlIC0gZmFsc2VcbiAgICovXG4gIHJlYWRvbmx5IHNwYXJzZUxvZ2dpbmc/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBUaGUgRGF0YWRvZyBvcmdhbml6YXRpb24sIGUuZy4sICdFVScgb3IgJ0xBVEFNJ1xuICAgKiBAZGVmYXVsdFZhbHVlIC0gJ0VVJ1xuICAgKi9cbiAgcmVhZG9ubHkgb3JnYW5pemF0aW9uPzogRGF0YWRvZ09yZ2FuaXphdGlvbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBEYXRhZG9nTG9nUXVvdGFQcm9wcyB7XG4gIC8qKlxuICAgKiBUaGUgZGFpbHkgbG9nIHF1b3RhIGZvciB0aGUgdGVhbS1zcGVjaWZpYyBpbmRleCBpbiBtaWxsaW9uIGV2ZW50cy5cbiAgICovXG4gIHJlYWRvbmx5IHZhbHVlSW5NaWxsaW9uRXZlbnRzOiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIFRoZSB3YXJuaW5nIHRocmVzaG9sZCBmb3IgdGhlIGRhaWx5IGxvZyBxdW90YSBtb25pdG9yIGluIHBlcmNlbnQuXG4gICAqL1xuICByZWFkb25seSB3YXJuaW5nVGhyZXNob2xkSW5QZXJjZW50OiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIFRoZSBhbGFybSB0aHJlc2hvbGQgZm9yIHRoZSBkYWlseSBsb2cgcXVvdGEgbW9uaXRvciBpbiBwZXJjZW50LlxuICAgKiBUaGUgdmFsdWUgbXVzdCBiZSBiZXR3ZWVuIDAgYW5kIDEwMCBhbmQgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvIHRoZSB3YXJuaW5nIHRocmVzaG9sZC5cbiAgICovXG4gIHJlYWRvbmx5IGFsZXJ0VGhyZXNob2xkSW5QZXJjZW50OiBudW1iZXI7XG59XG5cbi8qKlxuICogQmFzaWMgbW9uaXRvcmluZyBhbmQgYWxlcnRpbmcgZm9yIGEgRGF0YWRvZyBsb2dzIGluZGV4LlxuICogSXQgZm9sbG93cyB0aGUgRGF0YWRvZyBndWlkZSBhdCBodHRwczovL2RvY3MuZGF0YWRvZ2hxLmNvbS9sb2dzL2d1aWRlL2xvZ3MtbW9uaXRvcnMtb24tdm9sdW1lcy9cbiAqIGFuZCBjb25zaXN0cyBvZiB0aGUgZm9sbG93aW5nIHRocmVlIG1vbml0b3JzLlxuICogICAxLiBBIG1ldHJpYyBhbGVydCB0aGF0IGZpcmVzIHdoZW4geW91IHJlYWNoIGEgY2VydGFpbiB0aHJlc2hvbGQgb2YgeW91ciBkYWlseSBsb2cgcXVvdGEuXG4gKiAgIDIuIEFuIGFub21hbHkgbW9uaXRvciB0aGF0IGRldGVjdHMgbG9nIGFtb3VudCBzcGlrZXMuXG4gKiAgIDMuIEFuIGV2ZW50IGFsZXJ0IHRoYXQgZmlyZXMgd2hlbiB5b3UgaGl0IHRoZSBkYWlseSBsb2cgcXVvdGEuXG4gKlxuICogQSBkYXRhZG9nIGxvZyBpbmRleCBpcyB0ZWFtIHNwZWNpZmljIGFuZCB0aHVzIHRoZSBtb25pdG9yIG5lZWRzIHRvIGJlIGRlcGxveWVkIGp1c3Qgb25jZSBwZXIgaW5kZXgvdGVhbS5cbiAqIEBkZXByZWNhdGVkIFBsZWFzZSB1c2UgZGF0YWRvZ3YyIERhdGFkb2dMb2dJbmRleE1vbml0b3JpbmcgaW5zdGVhZFxuICovXG5leHBvcnQgY2xhc3MgRGF0YWRvZ0xvZ0luZGV4TW9uaXRvcmluZyBleHRlbmRzIENvbnN0cnVjdCB7XG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBEYXRhZG9nTG9nSW5kZXhNb25pdG9yaW5nUHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQpO1xuXG4gICAgbmV3IERhdGFkb2dMb2dEYWlseVF1b3RhTW9uaXRvcih0aGlzLCAnRGF0YWRvZ0xvZ0RhaWx5UXVvdGFNb25pdG9yJywgcHJvcHMpO1xuICAgIG5ldyBEYXRhZG9nTG9nc0Fub21hbHlNb25pdG9yKHRoaXMsICdEYXRhZG9nTG9nQWxlcnRBbm9tYWx5TW9uaXRvcicsIHByb3BzKTtcbiAgICBuZXcgRGF0YWRvZ0xvZ0RhaWx5UXVvdGFSZWFjaGVkTW9uaXRvcih0aGlzLCAnRGF0YWRvZ0xvZ0RhaWx5UXVvdGFSZWFjaGVkVjJNb25pdG9yJywgcHJvcHMpO1xuICAgIEFubm90YXRpb25zLm9mKHNjb3BlKS5hZGREZXByZWNhdGlvbignQHJpby1jbG91ZC9jZGstdjItY29uc3RydWN0cy5EYXRhZG9nTG9nSW5kZXhNb25pdG9yaW5nJywgJ0RhdGFkb2dMb2dJbmRleE1vbml0b3JpbmcgZGVwcmVjYXRlZCEgUGxlYXNlIHVzZSBkYXRhZG9ndjIgRGF0YWRvZ0xvZ0luZGV4TW9uaXRvcmluZyBpbnN0ZWFkJyk7XG5cbiAgICB0aGlzLm5vZGUuYWRkVmFsaWRhdGlvbih7XG4gICAgICB2YWxpZGF0ZTogKCk6IHN0cmluZ1tdID0+IHtcbiAgICAgICAgY29uc3QgcmVzdWx0ID0gW107XG4gICAgICAgIGlmIChwcm9wcy5kYWlseUxvZ1F1b3RhLndhcm5pbmdUaHJlc2hvbGRJblBlcmNlbnQgPCAwIHx8IHByb3BzLmRhaWx5TG9nUXVvdGEud2FybmluZ1RocmVzaG9sZEluUGVyY2VudCA+IDEwMCkge1xuICAgICAgICAgIHJlc3VsdC5wdXNoKCdJbnZhbGlkIFt3YXJuaW5nVGhyZXNob2xkSW5QZXJjZW50XTogZXhwZWN0aW5nIGEgbnVtYmVyIGJldHdlZW4gMCBhbmQgMTAwJyk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHByb3BzLmRhaWx5TG9nUXVvdGEuYWxlcnRUaHJlc2hvbGRJblBlcmNlbnQgPCAwIHx8IHByb3BzLmRhaWx5TG9nUXVvdGEuYWxlcnRUaHJlc2hvbGRJblBlcmNlbnQgPiAxMDApIHtcbiAgICAgICAgICByZXN1bHQucHVzaCgnSW52YWxpZCBbYWxlcnRUaHJlc2hvbGRJblBlcmNlbnRdOiBleHBlY3RpbmcgYSBudW1iZXIgYmV0d2VlbiAwIGFuZCAxMDAnKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAocHJvcHMuZGFpbHlMb2dRdW90YS5hbGVydFRocmVzaG9sZEluUGVyY2VudCA8IHByb3BzLmRhaWx5TG9nUXVvdGEud2FybmluZ1RocmVzaG9sZEluUGVyY2VudCkge1xuICAgICAgICAgIHJlc3VsdC5wdXNoKCdJbnZhbGlkIFthbGVydFRocmVzaG9sZEluUGVyY2VudF06IG11c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvIFt3YXJuaW5nVGhyZXNob2xkSW5QZXJjZW50XScpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgICB9LFxuICAgIH0pO1xuICB9XG59XG5cbmNvbnN0IGNvbW1vbk1vbml0b3JOYW1lUHJlZml4ID0gKGluZGV4TmFtZTogc3RyaW5nKSA9PiBgJyR7aW5kZXhOYW1lfScgaW5kZXhgO1xuY29uc3QgY29tbW9uVGFncyA9IChpbmRleE5hbWU6IHN0cmluZykgPT4gW2Bsb2dJbmRleDoke2luZGV4TmFtZX1gXTtcblxuY2xhc3MgRGF0YWRvZ0xvZ0RhaWx5UXVvdGFNb25pdG9yIGV4dGVuZHMgRGF0YWRvZ01vbml0b3Ige1xuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogRGF0YWRvZ0xvZ0luZGV4TW9uaXRvcmluZ1Byb3BzKSB7XG4gICAgY29uc3QgbG9nUXVvdGFJbkV2ZW50cyA9IE1hdGguZmxvb3IocHJvcHMuZGFpbHlMb2dRdW90YS52YWx1ZUluTWlsbGlvbkV2ZW50cyAqIDFfMDAwXzAwMCk7XG4gICAgY29uc3Qgd2FybmluZ1RocmVzaG9sZCA9IE1hdGguZmxvb3IobG9nUXVvdGFJbkV2ZW50cyAqIChwcm9wcy5kYWlseUxvZ1F1b3RhLndhcm5pbmdUaHJlc2hvbGRJblBlcmNlbnQgLyAxMDApKTtcbiAgICBjb25zdCBhbGVydFRocmVzaG9sZCA9IE1hdGguZmxvb3IobG9nUXVvdGFJbkV2ZW50cyAqIChwcm9wcy5kYWlseUxvZ1F1b3RhLmFsZXJ0VGhyZXNob2xkSW5QZXJjZW50IC8gMTAwKSk7XG5cbiAgICBzdXBlcihzY29wZSwgaWQsIHtcbiAgICAgIHNlcnZpY2VOYW1lOiBwcm9wcy5zZXJ2aWNlTmFtZSxcbiAgICAgIGFsZXJ0VHlwZXM6IFtwcm9wcy5hbGVydFR5cGVdLFxuICAgICAgbW9uaXRvcjoge1xuICAgICAgICBuYW1lOiBgJHtjb21tb25Nb25pdG9yTmFtZVByZWZpeChwcm9wcy5pbmRleE5hbWUpfTogTG9nIHF1b3RhIGFsbW9zdCByZWFjaGVkYCxcbiAgICAgICAgdHlwZTogJ21ldHJpYyBhbGVydCcsXG4gICAgICAgIHF1ZXJ5OiBgc3VtKGxhc3RfMWQpOnN1bTpkYXRhZG9nLmVzdGltYXRlZF91c2FnZS5sb2dzLmluZ2VzdGVkX2V2ZW50c3tkYXRhZG9nX2lzX2V4Y2x1ZGVkOmZhbHNlLGRhdGFkb2dfaW5kZXg6JHtwcm9wcy5pbmRleE5hbWV9fS5hc19jb3VudCgpID49ICR7YWxlcnRUaHJlc2hvbGR9YCxcbiAgICAgICAgbWVzc2FnZTogYFtQM10gSW5zcGVjdCB5b3VyIGxvZyB2b2x1bWUgYXQgJHtkYXRhZG9nTG9nc1NlYXJjaFdpdGhJbmRleEZpbHRlckRlZXBMaW5rKFxuICAgICAgICAgIHByb3BzLmluZGV4TmFtZSwgcHJvcHMub3JnYW5pemF0aW9uLFxuICAgICAgICApfSBvciBhZGFwdCB0aGUgbG9nIHF1b3RhIGF0ICR7ZGF0YWRvZ0xvZ3NJbmRleGVzQ29uZmlndXJhdGlvbkRlZXBMaW5rKHByb3BzLm9yZ2FuaXphdGlvbil9YCxcbiAgICAgICAgb3B0aW9uczoge1xuICAgICAgICAgIHRocmVzaG9sZHM6IHtcbiAgICAgICAgICAgIGNyaXRpY2FsOiBhbGVydFRocmVzaG9sZCxcbiAgICAgICAgICAgIHdhcm5pbmc6IHdhcm5pbmdUaHJlc2hvbGQsXG4gICAgICAgICAgfSxcbiAgICAgICAgICBpbmNsdWRlX3RhZ3M6IGZhbHNlLFxuICAgICAgICAgIG5vdGlmeV9ub19kYXRhOiAhcHJvcHMuc3BhcnNlTG9nZ2luZyxcbiAgICAgICAgICBub19kYXRhX3RpbWVmcmFtZTogMjQgKiA2MCwgLy8gMSBkYXlcbiAgICAgICAgfSxcbiAgICAgICAgdGFnczogW1xuICAgICAgICAgIC4uLmNvbW1vblRhZ3MocHJvcHMuaW5kZXhOYW1lKSxcbiAgICAgICAgXSxcbiAgICAgIH0sXG4gICAgfSk7XG4gIH1cbn1cblxuY2xhc3MgRGF0YWRvZ0xvZ3NBbm9tYWx5TW9uaXRvciBleHRlbmRzIERhdGFkb2dNb25pdG9yIHtcbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IERhdGFkb2dMb2dJbmRleE1vbml0b3JpbmdQcm9wcykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCwge1xuICAgICAgc2VydmljZU5hbWU6IHByb3BzLnNlcnZpY2VOYW1lLFxuICAgICAgYWxlcnRUeXBlczogW3Byb3BzLmFsZXJ0VHlwZV0sXG4gICAgICBtb25pdG9yOiB7XG4gICAgICAgIG5hbWU6IGAke2NvbW1vbk1vbml0b3JOYW1lUHJlZml4KHByb3BzLmluZGV4TmFtZSl9OiBMb2cgYW1vdW50IGlzIHJpc2luZyB0byB1bmV4cGVjdGVkIGxldmVsc2AsXG4gICAgICAgIHR5cGU6ICdtZXRyaWMgYWxlcnQnLFxuICAgICAgICBxdWVyeTogYGF2ZyhsYXN0XzRoKTphbm9tYWxpZXMoc3VtOmRhdGFkb2cuZXN0aW1hdGVkX3VzYWdlLmxvZ3MuaW5nZXN0ZWRfZXZlbnRze2RhdGFkb2dfaXNfZXhjbHVkZWQ6ZmFsc2UsZGF0YWRvZ19pbmRleDoke3Byb3BzLmluZGV4TmFtZX19LmFzX2NvdW50KCksICdyb2J1c3QnLCAyLCBkaXJlY3Rpb249J2Fib3ZlJywgYWxlcnRfd2luZG93PSdsYXN0XzE1bScsIGludGVydmFsPTYwLCBjb3VudF9kZWZhdWx0X3plcm89J3RydWUnLCBzZWFzb25hbGl0eT0nd2Vla2x5JywgdGltZXpvbmU9J2V1cm9wZS9iZXJsaW4nKSA+PSAxYCxcbiAgICAgICAgbWVzc2FnZTogYFtQNF0gTG9ncyBhcmUgZ2V0dGluZyBvdXQgb2YgY29udHJvbDogJHtkYXRhZG9nTG9nc1NlYXJjaFdpdGhJbmRleEZpbHRlckRlZXBMaW5rKFxuICAgICAgICAgIHByb3BzLmluZGV4TmFtZSwgcHJvcHMub3JnYW5pemF0aW9uLFxuICAgICAgICApfWAsXG4gICAgICAgIG9wdGlvbnM6IHtcbiAgICAgICAgICBpbmNsdWRlX3RhZ3M6IGZhbHNlLFxuICAgICAgICAgIG5vdGlmeV9ub19kYXRhOiAhcHJvcHMuc3BhcnNlTG9nZ2luZyxcbiAgICAgICAgICB0aHJlc2hvbGRfd2luZG93czoge1xuICAgICAgICAgICAgdHJpZ2dlcl93aW5kb3c6ICdsYXN0XzE1bScsXG4gICAgICAgICAgICByZWNvdmVyeV93aW5kb3c6ICdsYXN0XzE1bScsXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgICAgdGFnczogW1xuICAgICAgICAgIC4uLmNvbW1vblRhZ3MocHJvcHMuaW5kZXhOYW1lKSxcbiAgICAgICAgXSxcbiAgICAgIH0sXG4gICAgfSk7XG4gIH1cbn1cblxuY2xhc3MgRGF0YWRvZ0xvZ0RhaWx5UXVvdGFSZWFjaGVkTW9uaXRvciBleHRlbmRzIERhdGFkb2dNb25pdG9yIHtcbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IERhdGFkb2dMb2dJbmRleE1vbml0b3JpbmdQcm9wcykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCwge1xuICAgICAgc2VydmljZU5hbWU6IHByb3BzLnNlcnZpY2VOYW1lLFxuICAgICAgYWxlcnRUeXBlczogW3Byb3BzLmFsZXJ0VHlwZV0sXG4gICAgICBtb25pdG9yOiB7XG4gICAgICAgIG5hbWU6IGAke2NvbW1vbk1vbml0b3JOYW1lUHJlZml4KHByb3BzLmluZGV4TmFtZSl9OiBMb2cgcXVvdGEgcmVhY2hlZGAsXG4gICAgICAgIHR5cGU6ICdldmVudC12MiBhbGVydCcsXG4gICAgICAgIHF1ZXJ5OiBgZXZlbnRzKFwic291cmNlOmRhdGFkb2cgZGF0YWRvZ19pbmRleDoke3Byb3BzLmluZGV4TmFtZX0gRGFpbHkgcXVvdGEgcmVhY2hlZFwiKS5yb2xsdXAoXCJjb3VudFwiKS5sYXN0KFwiMTJoXCIpID4gMGAsXG4gICAgICAgIG1lc3NhZ2U6IGBbUDJdIFRoZSBsb2cgcXVvdGUgZm9yIHRoZSBpbmRleCBoYXMgYmVlbiByZWFjaGVkLiBJZiB5b3UgZG8gbm90IGluY3JlYXNlIHRoZSBxdW90YSBhdCAke2RhdGFkb2dMb2dzSW5kZXhlc0NvbmZpZ3VyYXRpb25EZWVwTGluayhwcm9wcy5vcmdhbml6YXRpb24pfSwgbm8gbmV3IGxvZ3Mgd2lsbCBiZSBpbmRleGVkIHVudGlsIHRoZSBxdW90YSBpcyByZXNldCBhdCAyOjAwcG0gVVRDLmAsXG4gICAgICAgIG9wdGlvbnM6IHtcbiAgICAgICAgICB0aW1lb3V0X2g6IDI0LFxuICAgICAgICAgIHRocmVzaG9sZHM6IHtcbiAgICAgICAgICAgIGNyaXRpY2FsOiAwLFxuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICAgIHRhZ3M6IFtcbiAgICAgICAgICAuLi5jb21tb25UYWdzKHByb3BzLmluZGV4TmFtZSksXG4gICAgICAgIF0sXG4gICAgICB9LFxuICAgIH0pO1xuICB9XG59XG5cbmV4cG9ydCB0eXBlIERhdGFkb2dPcmdhbml6YXRpb24gPSAnRVUnIHwgJ0xBVEFNJyB8ICdMYW5kaW5nIFpvbmUnO1xuXG5leHBvcnQgZnVuY3Rpb24gZ2V0T3JnYW5pemF0aW9uVXJsUHJlZml4KG9yZ2FuaXphdGlvbjogRGF0YWRvZ09yZ2FuaXphdGlvbiB8IHVuZGVmaW5lZCk6IHN0cmluZyB7XG4gIHN3aXRjaCAob3JnYW5pemF0aW9uID8/ICdFVScpIHtcbiAgICBjYXNlICdFVSc6XG4gICAgICByZXR1cm4gJ2FwcCc7XG4gICAgY2FzZSAnTEFUQU0nOlxuICAgICAgcmV0dXJuICdyaW8tYnJhemlsJztcbiAgICBjYXNlICdMYW5kaW5nIFpvbmUnOlxuICAgICAgcmV0dXJuICdyaW8tbGFuZGluZ3pvbmUnO1xuICB9XG59XG5cbmZ1bmN0aW9uIGRhdGFkb2dMb2dzU2VhcmNoV2l0aEluZGV4RmlsdGVyRGVlcExpbmsoaW5kZXhOYW1lOiBzdHJpbmcsIG9yZ2FuaXphdGlvbjogRGF0YWRvZ09yZ2FuaXphdGlvbiB8IHVuZGVmaW5lZCkge1xuICByZXR1cm4gYGh0dHBzOi8vJHtnZXRPcmdhbml6YXRpb25VcmxQcmVmaXgob3JnYW5pemF0aW9uKX0uZGF0YWRvZ2hxLmV1L2xvZ3M/aW5kZXg9JHtpbmRleE5hbWV9YDtcbn1cblxuZnVuY3Rpb24gZGF0YWRvZ0xvZ3NJbmRleGVzQ29uZmlndXJhdGlvbkRlZXBMaW5rKG9yZ2FuaXphdGlvbjogRGF0YWRvZ09yZ2FuaXphdGlvbiB8IHVuZGVmaW5lZCkge1xuICByZXR1cm4gYGh0dHBzOi8vJHtnZXRPcmdhbml6YXRpb25VcmxQcmVmaXgob3JnYW5pemF0aW9uKX0uZGF0YWRvZ2hxLmV1L2xvZ3MvcGlwZWxpbmVzL2luZGV4ZXNgO1xufVxuIl19
143
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YWRvZy1sb2ctaW5kZXgtbW9uaXRvcmluZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9kYXRhZG9nL2RhdGFkb2ctbG9nLWluZGV4LW1vbml0b3JpbmcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSw2Q0FBMEM7QUFDMUMsMkNBQXVDO0FBQ3ZDLHVEQUFxRTtBQXlEckU7Ozs7Ozs7Ozs7R0FVRztBQUNILE1BQWEseUJBQTBCLFNBQVEsc0JBQVM7SUFDdEQsWUFBWSxLQUFnQixFQUFFLEVBQVUsRUFBRSxLQUFxQztRQUM3RSxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBRWpCLElBQUksMkJBQTJCLENBQUMsSUFBSSxFQUFFLDZCQUE2QixFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQzVFLElBQUkseUJBQXlCLENBQUMsSUFBSSxFQUFFLCtCQUErQixFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQzVFLElBQUksa0NBQWtDLENBQUMsSUFBSSxFQUFFLHNDQUFzQyxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQzVGLHlCQUFXLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLGNBQWMsQ0FBQyx3REFBd0QsRUFBRSw4RkFBOEYsQ0FBQyxDQUFDO1FBRS9MLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDO1lBQ3RCLFFBQVEsRUFBRSxHQUFhLEVBQUU7Z0JBQ3ZCLE1BQU0sTUFBTSxHQUFHLEVBQUUsQ0FBQztnQkFDbEIsSUFBSSxLQUFLLENBQUMsYUFBYSxDQUFDLHlCQUF5QixHQUFHLENBQUMsSUFBSSxLQUFLLENBQUMsYUFBYSxDQUFDLHlCQUF5QixHQUFHLEdBQUcsRUFBRSxDQUFDO29CQUM3RyxNQUFNLENBQUMsSUFBSSxDQUFDLDJFQUEyRSxDQUFDLENBQUM7Z0JBQzNGLENBQUM7Z0JBQ0QsSUFBSSxLQUFLLENBQUMsYUFBYSxDQUFDLHVCQUF1QixHQUFHLENBQUMsSUFBSSxLQUFLLENB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QyxDQUFDO0lBQ0wsQ0FBQztDQUNGO0FBSUQsU0FBZ0Isd0JBQXdCLENBQUMsWUFBNkM7SUFDcEYsUUFBUSxZQUFZLElBQUksSUFBSSxFQUFFLENBQUM7UUFDN0IsS0FBSyxJQUFJO1lBQ1AsT0FBTyxLQUFLLENBQUM7UUFDZixLQUFLLE9BQU87WUFDVixPQUFPLFlBQVksQ0FBQztRQUN0QixLQUFLLGNBQWM7WUFDakIsT0FBTyxpQkFBaUIsQ0FBQztJQUM3QixDQUFDO0FBQ0gsQ0FBQztBQVRELDREQVNDO0FBRUQsU0FBUyx3Q0FBd0MsQ0FBQyxTQUFpQixFQUFFLFlBQTZDO0lBQ2hILE9BQU8sV0FBVyx3QkFBd0IsQ0FBQyxZQUFZLENBQUMsNEJBQTRCLFNBQVMsRUFBRSxDQUFDO0FBQ2xHLENBQUM7QUFFRCxTQUFTLHVDQUF1QyxDQUFDLFlBQTZDO0lBQzVGLE9BQU8sV0FBVyx3QkFBd0IsQ0FBQyxZQUFZLENBQUMsc0NBQXNDLENBQUM7QUFDakcsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFubm90YXRpb25zIH0gZnJvbSAnYXdzLWNkay1saWInO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSAnY29uc3RydWN0cyc7XG5pbXBvcnQgeyBEYXRhZG9nTW9uaXRvciwgRGF0YWRvZ0FsZXJ0VHlwZSB9IGZyb20gJy4vZGF0YWRvZy1tb25pdG9yJztcblxuZXhwb3J0IGludGVyZmFjZSBEYXRhZG9nTG9nSW5kZXhNb25pdG9yaW5nUHJvcHMge1xuXG4gIC8qKlxuICAgKiBUaGUgbmFtZSBvZiB5b3VyIHNlcnZpY2UgaW4gRGF0YWRvZy4gQ2FuIGJlIHVzZWQgdG8gcXVlcnkgdGhlIG1vbml0b3JzLlxuICAgKi9cbiAgcmVhZG9ubHkgc2VydmljZU5hbWU6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIG5hbWUgb2YgdGhlIERhdGFkb2cgaW5kZXguXG4gICAqL1xuICByZWFkb25seSBpbmRleE5hbWU6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIGludGVncmF0aW9uIHRvIHVzZSBmb3IgYWxlcnRpbmcuXG4gICAqIEZvciBPcHNHZW5pZSwgeW91IG5lZWQgdG8gaW5zdGFsbCBhbmQgY29uZmlndXJlIHRoZSAnb3BzZ2VuaWUtaW50ZWdyYXRpb24nIGFjY291bnQgbW9kdWxlLlxuICAgKi9cbiAgcmVhZG9ubHkgYWxlcnRUeXBlOiBEYXRhZG9nQWxlcnRUeXBlO1xuXG4gIC8qKlxuICAgKiBUaGUgZGFpbHkgbG9nIHF1b3RhIHNldHRpbmdzLlxuICAgKi9cbiAgcmVhZG9ubHkgZGFpbHlMb2dRdW90YTogRGF0YWRvZ0xvZ1F1b3RhUHJvcHM7XG5cbiAgLyoqXG4gICAqIFRoaXMgdmFsdWUgc2hvdWxkIGJlIHVzZWQgaWYgdGhlcmUgaXMgbm8gbG9nIG1lc3NhZ2Ugd2l0aGluIDI0IGhvdXJzIG9yIG1pc3NpbmcgaGlzdG9yaWNhbCBkYXRhLlxuICAgKiBXaXRob3V0IHNldHRpbmcgdGhpcyB2YWx1ZSBpdCB3aWxsIGxlYWQgdG8gYW4gZW1wdHkgcmVzdWx0IGFuZCB0aGVyZWZvcmUgdHJpZ2dlciBhbiBhbGVydC5cbiAgICogQGRlZmF1bHRWYWx1ZSAtIGZhbHNlXG4gICAqL1xuICByZWFkb25seSBzcGFyc2VMb2dnaW5nPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogVGhlIERhdGFkb2cgb3JnYW5pemF0aW9uLCBlLmcuLCAnRVUnIG9yICdMQVRBTSdcbiAgICogQGRlZmF1bHRWYWx1ZSAtICdFVSdcbiAgICovXG4gIHJlYWRvbmx5IG9yZ2FuaXphdGlvbj86IERhdGFkb2dPcmdhbml6YXRpb247XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGF0YWRvZ0xvZ1F1b3RhUHJvcHMge1xuICAvKipcbiAgICogVGhlIGRhaWx5IGxvZyBxdW90YSBmb3IgdGhlIHRlYW0tc3BlY2lmaWMgaW5kZXggaW4gbWlsbGlvbiBldmVudHMuXG4gICAqL1xuICByZWFkb25seSB2YWx1ZUluTWlsbGlvbkV2ZW50czogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBUaGUgd2FybmluZyB0aHJlc2hvbGQgZm9yIHRoZSBkYWlseSBsb2cgcXVvdGEgbW9uaXRvciBpbiBwZXJjZW50LlxuICAgKi9cbiAgcmVhZG9ubHkgd2FybmluZ1RocmVzaG9sZEluUGVyY2VudDogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBUaGUgYWxhcm0gdGhyZXNob2xkIGZvciB0aGUgZGFpbHkgbG9nIHF1b3RhIG1vbml0b3IgaW4gcGVyY2VudC5cbiAgICogVGhlIHZhbHVlIG11c3QgYmUgYmV0d2VlbiAwIGFuZCAxMDAgYW5kIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byB0aGUgd2FybmluZyB0aHJlc2hvbGQuXG4gICAqL1xuICByZWFkb25seSBhbGVydFRocmVzaG9sZEluUGVyY2VudDogbnVtYmVyO1xufVxuXG4vKipcbiAqIEJhc2ljIG1vbml0b3JpbmcgYW5kIGFsZXJ0aW5nIGZvciBhIERhdGFkb2cgbG9ncyBpbmRleC5cbiAqIEl0IGZvbGxvd3MgdGhlIERhdGFkb2cgZ3VpZGUgYXQgaHR0cHM6Ly9kb2NzLmRhdGFkb2docS5jb20vbG9ncy9ndWlkZS9sb2dzLW1vbml0b3JzLW9uLXZvbHVtZXMvXG4gKiBhbmQgY29uc2lzdHMgb2YgdGhlIGZvbGxvd2luZyB0aHJlZSBtb25pdG9ycy5cbiAqICAgMS4gQSBtZXRyaWMgYWxlcnQgdGhhdCBmaXJlcyB3aGVuIHlvdSByZWFjaCBhIGNlcnRhaW4gdGhyZXNob2xkIG9mIHlvdXIgZGFpbHkgbG9nIHF1b3RhLlxuICogICAyLiBBbiBhbm9tYWx5IG1vbml0b3IgdGhhdCBkZXRlY3RzIGxvZyBhbW91bnQgc3Bpa2VzLlxuICogICAzLiBBbiBldmVudCBhbGVydCB0aGF0IGZpcmVzIHdoZW4geW91IGhpdCB0aGUgZGFpbHkgbG9nIHF1b3RhLlxuICpcbiAqIEEgZGF0YWRvZyBsb2cgaW5kZXggaXMgdGVhbSBzcGVjaWZpYyBhbmQgdGh1cyB0aGUgbW9uaXRvciBuZWVkcyB0byBiZSBkZXBsb3llZCBqdXN0IG9uY2UgcGVyIGluZGV4L3RlYW0uXG4gKiBAZGVwcmVjYXRlZCBQbGVhc2UgdXNlIGRhdGFkb2d2MiBEYXRhZG9nTG9nSW5kZXhNb25pdG9yaW5nIGluc3RlYWRcbiAqL1xuZXhwb3J0IGNsYXNzIERhdGFkb2dMb2dJbmRleE1vbml0b3JpbmcgZXh0ZW5kcyBDb25zdHJ1Y3Qge1xuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogRGF0YWRvZ0xvZ0luZGV4TW9uaXRvcmluZ1Byb3BzKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkKTtcblxuICAgIG5ldyBEYXRhZG9nTG9nRGFpbHlRdW90YU1vbml0b3IodGhpcywgJ0RhdGFkb2dMb2dEYWlseVF1b3RhTW9uaXRvcicsIHByb3BzKTtcbiAgICBuZXcgRGF0YWRvZ0xvZ3NBbm9tYWx5TW9uaXRvcih0aGlzLCAnRGF0YWRvZ0xvZ0FsZXJ0QW5vbWFseU1vbml0b3InLCBwcm9wcyk7XG4gICAgbmV3IERhdGFkb2dMb2dEYWlseVF1b3RhUmVhY2hlZE1vbml0b3IodGhpcywgJ0RhdGFkb2dMb2dEYWlseVF1b3RhUmVhY2hlZFYyTW9uaXRvcicsIHByb3BzKTtcbiAgICBBbm5vdGF0aW9ucy5vZihzY29wZSkuYWRkRGVwcmVjYXRpb24oJ0ByaW8tY2xvdWQvY2RrLXYyLWNvbnN0cnVjdHMuRGF0YWRvZ0xvZ0luZGV4TW9uaXRvcmluZycsICdEYXRhZG9nTG9nSW5kZXhNb25pdG9yaW5nIGRlcHJlY2F0ZWQhIFBsZWFzZSB1c2UgZGF0YWRvZ3YyIERhdGFkb2dMb2dJbmRleE1vbml0b3JpbmcgaW5zdGVhZCcpO1xuXG4gICAgdGhpcy5ub2RlLmFkZFZhbGlkYXRpb24oe1xuICAgICAgdmFsaWRhdGU6ICgpOiBzdHJpbmdbXSA9PiB7XG4gICAgICAgIGNvbnN0IHJlc3VsdCA9IFtdO1xuICAgICAgICBpZiAocHJvcHMuZGFpbHlMb2dRdW90YS53YXJuaW5nVGhyZXNob2xkSW5QZXJjZW50IDwgMCB8fCBwcm9wcy5kYWlseUxvZ1F1b3RhLndhcm5pbmdUaHJlc2hvbGRJblBlcmNlbnQgPiAxMDApIHtcbiAgICAgICAgICByZXN1bHQucHVzaCgnSW52YWxpZCBbd2FybmluZ1RocmVzaG9sZEluUGVyY2VudF06IGV4cGVjdGluZyBhIG51bWJlciBiZXR3ZWVuIDAgYW5kIDEwMCcpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChwcm9wcy5kYWlseUxvZ1F1b3RhLmFsZXJ0VGhyZXNob2xkSW5QZXJjZW50IDwgMCB8fCBwcm9wcy5kYWlseUxvZ1F1b3RhLmFsZXJ0VGhyZXNob2xkSW5QZXJjZW50ID4gMTAwKSB7XG4gICAgICAgICAgcmVzdWx0LnB1c2goJ0ludmFsaWQgW2FsZXJ0VGhyZXNob2xkSW5QZXJjZW50XTogZXhwZWN0aW5nIGEgbnVtYmVyIGJldHdlZW4gMCBhbmQgMTAwJyk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHByb3BzLmRhaWx5TG9nUXVvdGEuYWxlcnRUaHJlc2hvbGRJblBlcmNlbnQgPCBwcm9wcy5kYWlseUxvZ1F1b3RhLndhcm5pbmdUaHJlc2hvbGRJblBlcmNlbnQpIHtcbiAgICAgICAgICByZXN1bHQucHVzaCgnSW52YWxpZCBbYWxlcnRUaHJlc2hvbGRJblBlcmNlbnRdOiBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byBbd2FybmluZ1RocmVzaG9sZEluUGVyY2VudF0nKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgICAgfSxcbiAgICB9KTtcbiAgfVxufVxuXG5jb25zdCBjb21tb25Nb25pdG9yTmFtZVByZWZpeCA9IChpbmRleE5hbWU6IHN0cmluZykgPT4gYCcke2luZGV4TmFtZX0nIGluZGV4YDtcbmNvbnN0IGNvbW1vblRhZ3MgPSAoaW5kZXhOYW1lOiBzdHJpbmcpID0+IFtgbG9nSW5kZXg6JHtpbmRleE5hbWV9YF07XG5cbmNsYXNzIERhdGFkb2dMb2dEYWlseVF1b3RhTW9uaXRvciBleHRlbmRzIERhdGFkb2dNb25pdG9yIHtcbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IERhdGFkb2dMb2dJbmRleE1vbml0b3JpbmdQcm9wcykge1xuICAgIGNvbnN0IGxvZ1F1b3RhSW5FdmVudHMgPSBNYXRoLmZsb29yKHByb3BzLmRhaWx5TG9nUXVvdGEudmFsdWVJbk1pbGxpb25FdmVudHMgKiAxXzAwMF8wMDApO1xuICAgIGNvbnN0IHdhcm5pbmdUaHJlc2hvbGQgPSBNYXRoLmZsb29yKGxvZ1F1b3RhSW5FdmVudHMgKiAocHJvcHMuZGFpbHlMb2dRdW90YS53YXJuaW5nVGhyZXNob2xkSW5QZXJjZW50IC8gMTAwKSk7XG4gICAgY29uc3QgYWxlcnRUaHJlc2hvbGQgPSBNYXRoLmZsb29yKGxvZ1F1b3RhSW5FdmVudHMgKiAocHJvcHMuZGFpbHlMb2dRdW90YS5hbGVydFRocmVzaG9sZEluUGVyY2VudCAvIDEwMCkpO1xuXG4gICAgc3VwZXIoc2NvcGUsIGlkLCB7XG4gICAgICBzZXJ2aWNlTmFtZTogcHJvcHMuc2VydmljZU5hbWUsXG4gICAgICBhbGVydFR5cGVzOiBbcHJvcHMuYWxlcnRUeXBlXSxcbiAgICAgIG1vbml0b3I6IHtcbiAgICAgICAgbmFtZTogYCR7Y29tbW9uTW9uaXRvck5hbWVQcmVmaXgocHJvcHMuaW5kZXhOYW1lKX06IExvZyBxdW90YSBhbG1vc3QgcmVhY2hlZGAsXG4gICAgICAgIHR5cGU6ICdtZXRyaWMgYWxlcnQnLFxuICAgICAgICBxdWVyeTogYHN1bShsYXN0XzFkKTpzdW06ZGF0YWRvZy5lc3RpbWF0ZWRfdXNhZ2UubG9ncy5pbmdlc3RlZF9ldmVudHN7ZGF0YWRvZ19pc19leGNsdWRlZDpmYWxzZSxkYXRhZG9nX2luZGV4OiR7cHJvcHMuaW5kZXhOYW1lfX0uYXNfY291bnQoKSA+PSAke2FsZXJ0VGhyZXNob2xkfWAsXG4gICAgICAgIG1lc3NhZ2U6IGBbUDNdIEluc3BlY3QgeW91ciBsb2cgdm9sdW1lIGF0ICR7ZGF0YWRvZ0xvZ3NTZWFyY2hXaXRoSW5kZXhGaWx0ZXJEZWVwTGluayhcbiAgICAgICAgICBwcm9wcy5pbmRleE5hbWUsIHByb3BzLm9yZ2FuaXphdGlvbixcbiAgICAgICAgKX0gb3IgYWRhcHQgdGhlIGxvZyBxdW90YSBhdCAke2RhdGFkb2dMb2dzSW5kZXhlc0NvbmZpZ3VyYXRpb25EZWVwTGluayhwcm9wcy5vcmdhbml6YXRpb24pfWAsXG4gICAgICAgIG9wdGlvbnM6IHtcbiAgICAgICAgICB0aHJlc2hvbGRzOiB7XG4gICAgICAgICAgICBjcml0aWNhbDogYWxlcnRUaHJlc2hvbGQsXG4gICAgICAgICAgICB3YXJuaW5nOiB3YXJuaW5nVGhyZXNob2xkLFxuICAgICAgICAgIH0sXG4gICAgICAgICAgaW5jbHVkZV90YWdzOiBmYWxzZSxcbiAgICAgICAgICBub3RpZnlfbm9fZGF0YTogIXByb3BzLnNwYXJzZUxvZ2dpbmcsXG4gICAgICAgICAgbm9fZGF0YV90aW1lZnJhbWU6IDI0ICogNjAsIC8vIDEgZGF5XG4gICAgICAgIH0sXG4gICAgICAgIHRhZ3M6IFtcbiAgICAgICAgICAuLi5jb21tb25UYWdzKHByb3BzLmluZGV4TmFtZSksXG4gICAgICAgIF0sXG4gICAgICB9LFxuICAgIH0pO1xuICB9XG59XG5cbmNsYXNzIERhdGFkb2dMb2dzQW5vbWFseU1vbml0b3IgZXh0ZW5kcyBEYXRhZG9nTW9uaXRvciB7XG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBEYXRhZG9nTG9nSW5kZXhNb25pdG9yaW5nUHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQsIHtcbiAgICAgIHNlcnZpY2VOYW1lOiBwcm9wcy5zZXJ2aWNlTmFtZSxcbiAgICAgIGFsZXJ0VHlwZXM6IFtwcm9wcy5hbGVydFR5cGVdLFxuICAgICAgbW9uaXRvcjoge1xuICAgICAgICBuYW1lOiBgJHtjb21tb25Nb25pdG9yTmFtZVByZWZpeChwcm9wcy5pbmRleE5hbWUpfTogTG9nIGFtb3VudCBpcyByaXNpbmcgdG8gdW5leHBlY3RlZCBsZXZlbHNgLFxuICAgICAgICB0eXBlOiAnbWV0cmljIGFsZXJ0JyxcbiAgICAgICAgcXVlcnk6IGBhdmcobGFzdF80aCk6YW5vbWFsaWVzKHN1bTpkYXRhZG9nLmVzdGltYXRlZF91c2FnZS5sb2dzLmluZ2VzdGVkX2V2ZW50c3tkYXRhZG9nX2lzX2V4Y2x1ZGVkOmZhbHNlLGRhdGFkb2dfaW5kZXg6JHtwcm9wcy5pbmRleE5hbWV9fS5hc19jb3VudCgpLCAncm9idXN0JywgMiwgZGlyZWN0aW9uPSdhYm92ZScsIGFsZXJ0X3dpbmRvdz0nbGFzdF8xNW0nLCBpbnRlcnZhbD02MCwgY291bnRfZGVmYXVsdF96ZXJvPSd0cnVlJywgc2Vhc29uYWxpdHk9J3dlZWtseScsIHRpbWV6b25lPSdldXJvcGUvYmVybGluJykgPj0gMWAsXG4gICAgICAgIG1lc3NhZ2U6IGBbUDRdIExvZ3MgYXJlIGdldHRpbmcgb3V0IG9mIGNvbnRyb2w6ICR7ZGF0YWRvZ0xvZ3NTZWFyY2hXaXRoSW5kZXhGaWx0ZXJEZWVwTGluayhcbiAgICAgICAgICBwcm9wcy5pbmRleE5hbWUsIHByb3BzLm9yZ2FuaXphdGlvbixcbiAgICAgICAgKX1gLFxuICAgICAgICBvcHRpb25zOiB7XG4gICAgICAgICAgaW5jbHVkZV90YWdzOiBmYWxzZSxcbiAgICAgICAgICBub3RpZnlfbm9fZGF0YTogIXByb3BzLnNwYXJzZUxvZ2dpbmcsXG4gICAgICAgICAgdGhyZXNob2xkX3dpbmRvd3M6IHtcbiAgICAgICAgICAgIHRyaWdnZXJfd2luZG93OiAnbGFzdF8xNW0nLFxuICAgICAgICAgICAgcmVjb3Zlcnlfd2luZG93OiAnbGFzdF8xNW0nLFxuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICAgIHRhZ3M6IFtcbiAgICAgICAgICAuLi5jb21tb25UYWdzKHByb3BzLmluZGV4TmFtZSksXG4gICAgICAgIF0sXG4gICAgICB9LFxuICAgIH0pO1xuICB9XG59XG5cbmNsYXNzIERhdGFkb2dMb2dEYWlseVF1b3RhUmVhY2hlZE1vbml0b3IgZXh0ZW5kcyBEYXRhZG9nTW9uaXRvciB7XG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBEYXRhZG9nTG9nSW5kZXhNb25pdG9yaW5nUHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQsIHtcbiAgICAgIHNlcnZpY2VOYW1lOiBwcm9wcy5zZXJ2aWNlTmFtZSxcbiAgICAgIGFsZXJ0VHlwZXM6IFtwcm9wcy5hbGVydFR5cGVdLFxuICAgICAgbW9uaXRvcjoge1xuICAgICAgICBuYW1lOiBgJHtjb21tb25Nb25pdG9yTmFtZVByZWZpeChwcm9wcy5pbmRleE5hbWUpfTogTG9nIHF1b3RhIHJlYWNoZWRgLFxuICAgICAgICB0eXBlOiAnZXZlbnQtdjIgYWxlcnQnLFxuICAgICAgICBxdWVyeTogYGV2ZW50cyhcInNvdXJjZTpkYXRhZG9nIGRhdGFkb2dfaW5kZXg6JHtwcm9wcy5pbmRleE5hbWV9IERhaWx5IHF1b3RhIHJlYWNoZWRcIikucm9sbHVwKFwiY291bnRcIikubGFzdChcIjEyaFwiKSA+IDBgLFxuICAgICAgICBtZXNzYWdlOiBgW1AyXSBUaGUgbG9nIHF1b3RlIGZvciB0aGUgaW5kZXggaGFzIGJlZW4gcmVhY2hlZC4gSWYgeW91IGRvIG5vdCBpbmNyZWFzZSB0aGUgcXVvdGEgYXQgJHtkYXRhZG9nTG9nc0luZGV4ZXNDb25maWd1cmF0aW9uRGVlcExpbmsocHJvcHMub3JnYW5pemF0aW9uKX0sIG5vIG5ldyBsb2dzIHdpbGwgYmUgaW5kZXhlZCB1bnRpbCB0aGUgcXVvdGEgaXMgcmVzZXQgYXQgMjowMHBtIFVUQy5gLFxuICAgICAgICBvcHRpb25zOiB7XG4gICAgICAgICAgdGltZW91dF9oOiAyNCxcbiAgICAgICAgICB0aHJlc2hvbGRzOiB7XG4gICAgICAgICAgICBjcml0aWNhbDogMCxcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgICB0YWdzOiBbXG4gICAgICAgICAgLi4uY29tbW9uVGFncyhwcm9wcy5pbmRleE5hbWUpLFxuICAgICAgICBdLFxuICAgICAgfSxcbiAgICB9KTtcbiAgfVxufVxuXG5leHBvcnQgdHlwZSBEYXRhZG9nT3JnYW5pemF0aW9uID0gJ0VVJyB8ICdMQVRBTScgfCAnTGFuZGluZyBab25lJztcblxuZXhwb3J0IGZ1bmN0aW9uIGdldE9yZ2FuaXphdGlvblVybFByZWZpeChvcmdhbml6YXRpb246IERhdGFkb2dPcmdhbml6YXRpb24gfCB1bmRlZmluZWQpOiBzdHJpbmcge1xuICBzd2l0Y2ggKG9yZ2FuaXphdGlvbiA/PyAnRVUnKSB7XG4gICAgY2FzZSAnRVUnOlxuICAgICAgcmV0dXJuICdhcHAnO1xuICAgIGNhc2UgJ0xBVEFNJzpcbiAgICAgIHJldHVybiAncmlvLWJyYXppbCc7XG4gICAgY2FzZSAnTGFuZGluZyBab25lJzpcbiAgICAgIHJldHVybiAncmlvLWxhbmRpbmd6b25lJztcbiAgfVxufVxuXG5mdW5jdGlvbiBkYXRhZG9nTG9nc1NlYXJjaFdpdGhJbmRleEZpbHRlckRlZXBMaW5rKGluZGV4TmFtZTogc3RyaW5nLCBvcmdhbml6YXRpb246IERhdGFkb2dPcmdhbml6YXRpb24gfCB1bmRlZmluZWQpIHtcbiAgcmV0dXJuIGBodHRwczovLyR7Z2V0T3JnYW5pemF0aW9uVXJsUHJlZml4KG9yZ2FuaXphdGlvbil9LmRhdGFkb2docS5ldS9sb2dzP2luZGV4PSR7aW5kZXhOYW1lfWA7XG59XG5cbmZ1bmN0aW9uIGRhdGFkb2dMb2dzSW5kZXhlc0NvbmZpZ3VyYXRpb25EZWVwTGluayhvcmdhbml6YXRpb246IERhdGFkb2dPcmdhbml6YXRpb24gfCB1bmRlZmluZWQpIHtcbiAgcmV0dXJuIGBodHRwczovLyR7Z2V0T3JnYW5pemF0aW9uVXJsUHJlZml4KG9yZ2FuaXphdGlvbil9LmRhdGFkb2docS5ldS9sb2dzL3BpcGVsaW5lcy9pbmRleGVzYDtcbn1cbiJdfQ==
@@ -24,4 +24,4 @@ class DatadogMonitor {
24
24
  exports.DatadogMonitor = DatadogMonitor;
25
25
  _a = JSII_RTTI_SYMBOL_1;
26
26
  DatadogMonitor[_a] = { fqn: "@rio-cloud/cdk-v2-constructs.DatadogMonitor", version: "0.0.0" };
27
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YWRvZy1tb25pdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2RhdGFkb2cvZGF0YWRvZy1tb25pdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsNkNBQWtFO0FBOEJsRTs7R0FFRztBQUNILE1BQWEsY0FBYztJQUN6QixZQUFZLEtBQWdCLEVBQUUsRUFBVSxFQUFFLEtBQTBCO1FBQ2xFLE1BQU0sT0FBTyxHQUFHLElBQUksZ0NBQWtCLENBQUMsaUJBQWlCLENBQUMsS0FBSyxFQUFFLEVBQUUsRUFBRTtZQUNsRSxZQUFZLEVBQUUsZ0JBQUUsQ0FBQyxXQUFXLENBQUMsOENBQThDLENBQUM7U0FDN0UsQ0FBQyxDQUFDO1FBQ0gsT0FBTyxDQUFDLG1CQUFtQixDQUFDLGFBQWEsRUFBRSxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDOUQsT0FBTyxDQUFDLG1CQUFtQixDQUFDLFlBQVksRUFBRSxLQUFLLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDNUQsSUFBSSxLQUFLLENBQUMsdUJBQXVCLEtBQUssU0FBUyxFQUFFO1lBQy9DLE9BQU8sQ0FBQyxtQkFBbUIsQ0FBQyx5QkFBeUIsRUFBRSxLQUFLLENBQUMsdUJBQXVCLENBQUMsQ0FBQztTQUN2RjtRQUNELE9BQU8sQ0FBQyxtQkFBbUIsQ0FBQyxTQUFTLEVBQUUsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ3RELHlCQUFXLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLGNBQWMsQ0FBQyw2Q0FBNkMsRUFBRSx3RUFBd0UsQ0FBQyxDQUFDO0lBQ2hLLENBQUM7O0FBWkgsd0NBYUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBbm5vdGF0aW9ucywgYXdzX2Nsb3VkZm9ybWF0aW9uLCBGbiB9IGZyb20gJ2F3cy1jZGstbGliJztcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gJ2NvbnN0cnVjdHMnO1xuZXhwb3J0IHR5cGUgRGF0YWRvZ0FsZXJ0VHlwZSA9ICdvcHNnZW5pZScgfCAnc2xhY2snO1xuXG5leHBvcnQgaW50ZXJmYWNlIERhdGFkb2dNb25pdG9yUHJvcHMge1xuICAvKipcbiAgICogVGhlIG5hbWUgb2YgdGhlIHNlcnZpY2UgdG8gd2hpY2ggdGhlIG1vbml0b3IgYmVsb25ncy5cbiAgICpcbiAgICogVXNlZCB0byBnZW5lcmF0ZSB0aGUgbW9uaXRvciBuYW1lIGFzIHdlbGwgYSBhcHBseSB0aGUgYHNlcnZpY2VgIHRhZy5cbiAgICovXG4gIHJlYWRvbmx5IHNlcnZpY2VOYW1lOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFR5cGUgb2YgYWxlcnQuIFwib3BzZ2VuaWVcIiBvciBcInNsYWNrXCJcbiAgICovXG4gIHJlYWRvbmx5IGFsZXJ0VHlwZXM/OiBEYXRhZG9nQWxlcnRUeXBlW107XG5cbiAgLyoqXG4gICAqIElmIEF1dG9DbG9zZU9wc0dlbmllQWxlcnRzIGlzIHNldCB0byBGYWxzZSwgdGhlIG1vbml0b3IgbWVzc2FnZSB3aWxsIGJlIHdyYXBwZWQgaW4ge3sjaXNfYWxlcnR9fSAuLi4ge3svaXNfYWxlcnR9fSBzbyB0aGF0IHRoZSBjb3JyZXNwb25kaW5nIE9wc0dlbmllIGFsZXJ0IHdpbGwgbm90IHJlc29sdmUgYXV0b21hdGljYWxseS5cbiAgICogSWYgc2V0IHRvIFRydWUsIGl0IHdpbGwgbGVhdmUgdGhlIG1vbml0b3IgbWVzc2FnZSBhcyBpdCBpcy5cbiAgICogTm90ZSBhbHNvIHRoYXQgaXQgaXMgbm90IHBvc3NpYmxlIHRvIHByb3ZpZGUgYW55IG9mIHRoZSB3cmFwcGluZ3Mge3sjaXNfYWxlcnR9fSwge3sjaXNfd2FybmluZ319LCB7eyNpc19hbGVydF9yZWNvdmVyeX19LCAne3sjaXNfd2FybmluZ19yZWNvdmVyeX19JyBpbiB0aGUgbWVzc2FnZSB5b3Vyc2VsZiBhbmQgdXNlIHRoZSBwcm9wZXJ0eSBBdXRvQ2xvc2VPcHNHZW5pZUFsZXJ0cyBhdCB0aGUgc2FtZSB0aW1lLlxuICAgKi9cbiAgcmVhZG9ubHkgYXV0b0Nsb3NlT3BzR2VuaWVBbGVydHM/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBNb25pdG9yIGRlZmluaXRpb24uIFJlZiA6IGh0dHBzOi8vZG9jcy5kYXRhZG9naHEuY29tL2FwaS9sYXRlc3QvbW9uaXRvcnMvI2NyZWF0ZS1hLW1vbml0b3JcbiAgICovXG4gIHJlYWRvbmx5IG1vbml0b3I6IHsgW2tleTogc3RyaW5nXTogYW55IH07XG59XG5cbi8qKlxuICogQGRlcHJlY2F0ZWQgUGxlYXNlIHVzZSBkYXRhZG9ndjIgRGF0YWRvZ01vbml0b3IgaW5zdGVhZFxuICovXG5leHBvcnQgY2xhc3MgRGF0YWRvZ01vbml0b3Ige1xuICBjb25zdHJ1Y3RvcihzdGFjazogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogRGF0YWRvZ01vbml0b3JQcm9wcykge1xuICAgIGNvbnN0IG1vbml0b3IgPSBuZXcgYXdzX2Nsb3VkZm9ybWF0aW9uLkNmbkN1c3RvbVJlc291cmNlKHN0YWNrLCBpZCwge1xuICAgICAgc2VydmljZVRva2VuOiBGbi5pbXBvcnRWYWx1ZSgnY3VzdG9tLXJlc291cmNlLWRhdGFkb2ctbW9uaXRvci1mdW5jdGlvbi1hcm4nKSxcbiAgICB9KTtcbiAgICBtb25pdG9yLmFkZFByb3BlcnR5T3ZlcnJpZGUoJ1NlcnZpY2VOYW1lJywgcHJvcHMuc2VydmljZU5hbWUpO1xuICAgIG1vbml0b3IuYWRkUHJvcGVydHlPdmVycmlkZSgnQWxlcnRUeXBlcycsIHByb3BzLmFsZXJ0VHlwZXMpO1xuICAgIGlmIChwcm9wcy5hdXRvQ2xvc2VPcHNHZW5pZUFsZXJ0cyAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICBtb25pdG9yLmFkZFByb3BlcnR5T3ZlcnJpZGUoJ0F1dG9DbG9zZU9wc0dlbmllQWxlcnRzJywgcHJvcHMuYXV0b0Nsb3NlT3BzR2VuaWVBbGVydHMpO1xuICAgIH1cbiAgICBtb25pdG9yLmFkZFByb3BlcnR5T3ZlcnJpZGUoJ01vbml0b3InLCBwcm9wcy5tb25pdG9yKTtcbiAgICBBbm5vdGF0aW9ucy5vZihzdGFjaykuYWRkRGVwcmVjYXRpb24oJ0ByaW8tY2xvdWQvY2RrLXYyLWNvbnN0cnVjdHMuRGF0YWRvZ01vbml0b3InLCAnRGF0YWRvZ01vbml0b3IgZGVwcmVjYXRlZCEgUGxlYXNlIHVzZSBkYXRhZG9ndjIgRGF0YWRvZ01vbml0b3IgaW5zdGVhZCcpO1xuICB9XG59XG4iXX0=
27
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YWRvZy1tb25pdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2RhdGFkb2cvZGF0YWRvZy1tb25pdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsNkNBQWtFO0FBOEJsRTs7R0FFRztBQUNILE1BQWEsY0FBYztJQUN6QixZQUFZLEtBQWdCLEVBQUUsRUFBVSxFQUFFLEtBQTBCO1FBQ2xFLE1BQU0sT0FBTyxHQUFHLElBQUksZ0NBQWtCLENBQUMsaUJBQWlCLENBQUMsS0FBSyxFQUFFLEVBQUUsRUFBRTtZQUNsRSxZQUFZLEVBQUUsZ0JBQUUsQ0FBQyxXQUFXLENBQUMsOENBQThDLENBQUM7U0FDN0UsQ0FBQyxDQUFDO1FBQ0gsT0FBTyxDQUFDLG1CQUFtQixDQUFDLGFBQWEsRUFBRSxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDOUQsT0FBTyxDQUFDLG1CQUFtQixDQUFDLFlBQVksRUFBRSxLQUFLLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDNUQsSUFBSSxLQUFLLENBQUMsdUJBQXVCLEtBQUssU0FBUyxFQUFFLENBQUM7WUFDaEQsT0FBTyxDQUFDLG1CQUFtQixDQUFDLHlCQUF5QixFQUFFLEtBQUssQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDO1FBQ3hGLENBQUM7UUFDRCxPQUFPLENBQUMsbUJBQW1CLENBQUMsU0FBUyxFQUFFLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUN0RCx5QkFBVyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxjQUFjLENBQUMsNkNBQTZDLEVBQUUsd0VBQXdFLENBQUMsQ0FBQztJQUNoSyxDQUFDOztBQVpILHdDQWFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQW5ub3RhdGlvbnMsIGF3c19jbG91ZGZvcm1hdGlvbiwgRm4gfSBmcm9tICdhd3MtY2RrLWxpYic7XG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tICdjb25zdHJ1Y3RzJztcbmV4cG9ydCB0eXBlIERhdGFkb2dBbGVydFR5cGUgPSAnb3BzZ2VuaWUnIHwgJ3NsYWNrJztcblxuZXhwb3J0IGludGVyZmFjZSBEYXRhZG9nTW9uaXRvclByb3BzIHtcbiAgLyoqXG4gICAqIFRoZSBuYW1lIG9mIHRoZSBzZXJ2aWNlIHRvIHdoaWNoIHRoZSBtb25pdG9yIGJlbG9uZ3MuXG4gICAqXG4gICAqIFVzZWQgdG8gZ2VuZXJhdGUgdGhlIG1vbml0b3IgbmFtZSBhcyB3ZWxsIGEgYXBwbHkgdGhlIGBzZXJ2aWNlYCB0YWcuXG4gICAqL1xuICByZWFkb25seSBzZXJ2aWNlTmFtZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUeXBlIG9mIGFsZXJ0LiBcIm9wc2dlbmllXCIgb3IgXCJzbGFja1wiXG4gICAqL1xuICByZWFkb25seSBhbGVydFR5cGVzPzogRGF0YWRvZ0FsZXJ0VHlwZVtdO1xuXG4gIC8qKlxuICAgKiBJZiBBdXRvQ2xvc2VPcHNHZW5pZUFsZXJ0cyBpcyBzZXQgdG8gRmFsc2UsIHRoZSBtb25pdG9yIG1lc3NhZ2Ugd2lsbCBiZSB3cmFwcGVkIGluIHt7I2lzX2FsZXJ0fX0gLi4uIHt7L2lzX2FsZXJ0fX0gc28gdGhhdCB0aGUgY29ycmVzcG9uZGluZyBPcHNHZW5pZSBhbGVydCB3aWxsIG5vdCByZXNvbHZlIGF1dG9tYXRpY2FsbHkuXG4gICAqIElmIHNldCB0byBUcnVlLCBpdCB3aWxsIGxlYXZlIHRoZSBtb25pdG9yIG1lc3NhZ2UgYXMgaXQgaXMuXG4gICAqIE5vdGUgYWxzbyB0aGF0IGl0IGlzIG5vdCBwb3NzaWJsZSB0byBwcm92aWRlIGFueSBvZiB0aGUgd3JhcHBpbmdzIHt7I2lzX2FsZXJ0fX0sIHt7I2lzX3dhcm5pbmd9fSwge3sjaXNfYWxlcnRfcmVjb3Zlcnl9fSwgJ3t7I2lzX3dhcm5pbmdfcmVjb3Zlcnl9fScgaW4gdGhlIG1lc3NhZ2UgeW91cnNlbGYgYW5kIHVzZSB0aGUgcHJvcGVydHkgQXV0b0Nsb3NlT3BzR2VuaWVBbGVydHMgYXQgdGhlIHNhbWUgdGltZS5cbiAgICovXG4gIHJlYWRvbmx5IGF1dG9DbG9zZU9wc0dlbmllQWxlcnRzPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogTW9uaXRvciBkZWZpbml0aW9uLiBSZWYgOiBodHRwczovL2RvY3MuZGF0YWRvZ2hxLmNvbS9hcGkvbGF0ZXN0L21vbml0b3JzLyNjcmVhdGUtYS1tb25pdG9yXG4gICAqL1xuICByZWFkb25seSBtb25pdG9yOiB7IFtrZXk6IHN0cmluZ106IGFueSB9O1xufVxuXG4vKipcbiAqIEBkZXByZWNhdGVkIFBsZWFzZSB1c2UgZGF0YWRvZ3YyIERhdGFkb2dNb25pdG9yIGluc3RlYWRcbiAqL1xuZXhwb3J0IGNsYXNzIERhdGFkb2dNb25pdG9yIHtcbiAgY29uc3RydWN0b3Ioc3RhY2s6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IERhdGFkb2dNb25pdG9yUHJvcHMpIHtcbiAgICBjb25zdCBtb25pdG9yID0gbmV3IGF3c19jbG91ZGZvcm1hdGlvbi5DZm5DdXN0b21SZXNvdXJjZShzdGFjaywgaWQsIHtcbiAgICAgIHNlcnZpY2VUb2tlbjogRm4uaW1wb3J0VmFsdWUoJ2N1c3RvbS1yZXNvdXJjZS1kYXRhZG9nLW1vbml0b3ItZnVuY3Rpb24tYXJuJyksXG4gICAgfSk7XG4gICAgbW9uaXRvci5hZGRQcm9wZXJ0eU92ZXJyaWRlKCdTZXJ2aWNlTmFtZScsIHByb3BzLnNlcnZpY2VOYW1lKTtcbiAgICBtb25pdG9yLmFkZFByb3BlcnR5T3ZlcnJpZGUoJ0FsZXJ0VHlwZXMnLCBwcm9wcy5hbGVydFR5cGVzKTtcbiAgICBpZiAocHJvcHMuYXV0b0Nsb3NlT3BzR2VuaWVBbGVydHMgIT09IHVuZGVmaW5lZCkge1xuICAgICAgbW9uaXRvci5hZGRQcm9wZXJ0eU92ZXJyaWRlKCdBdXRvQ2xvc2VPcHNHZW5pZUFsZXJ0cycsIHByb3BzLmF1dG9DbG9zZU9wc0dlbmllQWxlcnRzKTtcbiAgICB9XG4gICAgbW9uaXRvci5hZGRQcm9wZXJ0eU92ZXJyaWRlKCdNb25pdG9yJywgcHJvcHMubW9uaXRvcik7XG4gICAgQW5ub3RhdGlvbnMub2Yoc3RhY2spLmFkZERlcHJlY2F0aW9uKCdAcmlvLWNsb3VkL2Nkay12Mi1jb25zdHJ1Y3RzLkRhdGFkb2dNb25pdG9yJywgJ0RhdGFkb2dNb25pdG9yIGRlcHJlY2F0ZWQhIFBsZWFzZSB1c2UgZGF0YWRvZ3YyIERhdGFkb2dNb25pdG9yIGluc3RlYWQnKTtcbiAgfVxufVxuIl19
@@ -112,4 +112,4 @@ function datadogLogsSearchWithIndexFilterDeepLink(indexName, organization) {
112
112
  function datadogLogsIndexesConfigurationDeepLink(organization) {
113
113
  return `https://${getOrganizationUrlPrefix(organization)}.datadoghq.eu/logs/pipelines/indexes`;
114
114
  }
115
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YWRvZy1sb2ctaW5kZXgtbW9uaXRvcmluZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9kYXRhZG9ndjIvZGF0YWRvZy1sb2ctaW5kZXgtbW9uaXRvcmluZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLDJDQUF1QztBQUN2Qyx1REFBaUY7QUF5RGpGOzs7Ozs7Ozs7R0FTRztBQUNILE1BQWEseUJBQTBCLFNBQVEsc0JBQVM7SUFDdEQsWUFBWSxLQUFnQixFQUFFLEVBQVUsRUFBRSxLQUFxQztRQUM3RSxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBRWpCLE1BQU0sZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLG9CQUFvQixHQUFHLE9BQVMsQ0FBQyxDQUFDO1FBQzFGLE1BQU0sZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxnQkFBZ0IsR0FBRyxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMseUJBQXlCLEdBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQztRQUM5RyxNQUFNLGNBQWMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLGdCQUFnQixHQUFHLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQyx1QkFBdUIsR0FBRyxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBRTFHLElBQUksZ0NBQWMsQ0FBQyxJQUFJLEVBQUUsNkJBQTZCLEVBQUU7WUFDdEQsV0FBVyxFQUFFLEtBQUssQ0FBQyxXQUFXO1lBQzlCLFdBQVcsRUFBRSw4Q0FBNEIsQ0FBQyxZQUFZO1lBQ3RELElBQUksRUFBRSxHQUFHLHVCQUF1QixDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsNEJBQTRCO1lBQzdFLFlBQVksRUFBRSxLQUFLLENBQUMsWUFBWTtZQUNoQyxRQUFRLEVBQUUsQ0FBQztZQUNYLEtBQUssRUFBRSx5R0FBeUcsS0FBSyxDQUFDLFNBQVMsbUJBQW1CLGNBQWMsRUFB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QkFDRCxJQUFJLEtBQUssQ0FBQyxhQUFhLENBQUMsdUJBQXVCLEdBQUcsS0FBSyxDQUFDLGFBQWEsQ0FBQyx5QkFBeUIsRUFBRTtvQkFDL0YsTUFBTSxDQUFDLElBQUksQ0FBQyxpR0FBaUcsQ0FBQyxDQUFDO2lCQUNoSDtnQkFDRCxPQUFPLE1BQU0sQ0FBQztZQUNoQixDQUFDO1NBQ0YsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7QUFsRkgsOERBbUZDOzs7QUFFRCxNQUFNLHVCQUF1QixHQUFHLENBQUMsU0FBaUIsRUFBRSxFQUFFLENBQUMsSUFBSSxTQUFTLFNBQVMsQ0FBQztBQUM5RSxNQUFNLFVBQVUsR0FBRyxDQUFDLFNBQWlCLEVBQUUsRUFBRSxDQUFDLENBQUMsWUFBWSxTQUFTLEVBQUUsQ0FBQyxDQUFDO0FBSXBFLFNBQWdCLHdCQUF3QixDQUFDLFlBQTZDO0lBQ3BGLFFBQVEsWUFBWSxJQUFJLElBQUksRUFBRTtRQUM1QixLQUFLLElBQUk7WUFDUCxPQUFPLEtBQUssQ0FBQztRQUNmLEtBQUssT0FBTztZQUNWLE9BQU8sWUFBWSxDQUFDO1FBQ3RCLEtBQUssY0FBYztZQUNqQixPQUFPLGlCQUFpQixDQUFDO0tBQzVCO0FBQ0gsQ0FBQztBQVRELDREQVNDO0FBRUQsU0FBUyx3Q0FBd0MsQ0FBQyxTQUFpQixFQUFFLFlBQTZDO0lBQ2hILE9BQU8sV0FBVyx3QkFBd0IsQ0FBQyxZQUFZLENBQUMsNEJBQTRCLFNBQVMsRUFBRSxDQUFDO0FBQ2xHLENBQUM7QUFFRCxTQUFTLHVDQUF1QyxDQUFDLFlBQTZDO0lBQzVGLE9BQU8sV0FBVyx3QkFBd0IsQ0FBQyxZQUFZLENBQUMsc0NBQXNDLENBQUM7QUFDakcsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gJ2NvbnN0cnVjdHMnO1xuaW1wb3J0IHsgRGF0YWRvZ01vbml0b3IsIERhdGFkb2dNb25pdG9yUXVlcnlBbGVydFR5cGUgfSBmcm9tICcuL2RhdGFkb2ctbW9uaXRvcic7XG5pbXBvcnQgeyBJTm90aWZpY2F0aW9uIH0gZnJvbSAnLi9kYXRhZG9nLW5vdGlmaWNhdGlvbic7XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGF0YWRvZ0xvZ0luZGV4TW9uaXRvcmluZ1Byb3BzIHtcblxuICAvKipcbiAgICogVGhlIG5hbWUgb2YgeW91ciBzZXJ2aWNlIGluIERhdGFkb2cuIENhbiBiZSB1c2VkIHRvIHF1ZXJ5IHRoZSBtb25pdG9ycy5cbiAgICovXG4gIHJlYWRvbmx5IHNlcnZpY2VOYW1lOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBuYW1lIG9mIHRoZSBEYXRhZG9nIGluZGV4LlxuICAgKi9cbiAgcmVhZG9ubHkgaW5kZXhOYW1lOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBpbnRlZ3JhdGlvbiB0byB1c2UgZm9yIGFsZXJ0aW5nLlxuICAgKi9cbiAgcmVhZG9ubHkgbm90aWZpY2F0aW9uPzogSU5vdGlmaWNhdGlvbjtcblxuICAvKipcbiAgICogVGhlIGRhaWx5IGxvZyBxdW90YSBzZXR0aW5ncy5cbiAgICovXG4gIHJlYWRvbmx5IGRhaWx5TG9nUXVvdGE6IERhdGFkb2dMb2dRdW90YVByb3BzO1xuXG4gIC8qKlxuICAgKiBUaGlzIHZhbHVlIHNob3VsZCBiZSB1c2VkIGlmIHRoZXJlIGlzIG5vIGxvZyBtZXNzYWdlIHdpdGhpbiAyNCBob3VycyBvciBtaXNzaW5nIGhpc3RvcmljYWwgZGF0YS5cbiAgICogV2l0aG91dCBzZXR0aW5nIHRoaXMgdmFsdWUgaXQgd2lsbCBsZWFkIHRvIGFuIGVtcHR5IHJlc3VsdCBhbmQgdGhlcmVmb3JlIHRyaWdnZXIgYW4gYWxlcnQuXG4gICAqIEBkZWZhdWx0VmFsdWUgLSBmYWxzZVxuICAgKi9cbiAgcmVhZG9ubHkgc3BhcnNlTG9nZ2luZz86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFRoZSBEYXRhZG9nIG9yZ2FuaXphdGlvbiwgZS5nLiwgJ0VVJyBvciAnTEFUQU0nXG4gICAqIEBkZWZhdWx0VmFsdWUgLSAnRVUnXG4gICAqL1xuICByZWFkb25seSBvcmdhbml6YXRpb24/OiBEYXRhZG9nT3JnYW5pemF0aW9uO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIERhdGFkb2dMb2dRdW90YVByb3BzIHtcbiAgLyoqXG4gICAqIFRoZSBkYWlseSBsb2cgcXVvdGEgZm9yIHRoZSB0ZWFtLXNwZWNpZmljIGluZGV4IGluIG1pbGxpb24gZXZlbnRzLlxuICAgKi9cbiAgcmVhZG9ubHkgdmFsdWVJbk1pbGxpb25FdmVudHM6IG51bWJlcjtcblxuICAvKipcbiAgICogVGhlIHdhcm5pbmcgdGhyZXNob2xkIGZvciB0aGUgZGFpbHkgbG9nIHF1b3RhIG1vbml0b3IgaW4gcGVyY2VudC5cbiAgICovXG4gIHJlYWRvbmx5IHdhcm5pbmdUaHJlc2hvbGRJblBlcmNlbnQ6IG51bWJlcjtcblxuICAvKipcbiAgICogVGhlIGFsYXJtIHRocmVzaG9sZCBmb3IgdGhlIGRhaWx5IGxvZyBxdW90YSBtb25pdG9yIGluIHBlcmNlbnQuXG4gICAqIFRoZSB2YWx1ZSBtdXN0IGJlIGJldHdlZW4gMCBhbmQgMTAwIGFuZCBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gdGhlIHdhcm5pbmcgdGhyZXNob2xkLlxuICAgKi9cbiAgcmVhZG9ubHkgYWxlcnRUaHJlc2hvbGRJblBlcmNlbnQ6IG51bWJlcjtcbn1cblxuLyoqXG4gKiBCYXNpYyBtb25pdG9yaW5nIGFuZCBhbGVydGluZyBmb3IgYSBEYXRhZG9nIGxvZ3MgaW5kZXguXG4gKiBJdCBmb2xsb3dzIHRoZSBEYXRhZG9nIGd1aWRlIGF0IGh0dHBzOi8vZG9jcy5kYXRhZG9naHEuY29tL2xvZ3MvZ3VpZGUvbG9ncy1tb25pdG9ycy1vbi12b2x1bWVzL1xuICogYW5kIGNvbnNpc3RzIG9mIHRoZSBmb2xsb3dpbmcgdGhyZWUgbW9uaXRvcnMuXG4gKiAgIDEuIEEgbWV0cmljIGFsZXJ0IHRoYXQgZmlyZXMgd2hlbiB5b3UgcmVhY2ggYSBjZXJ0YWluIHRocmVzaG9sZCBvZiB5b3VyIGRhaWx5IGxvZyBxdW90YS5cbiAqICAgMi4gQW4gYW5vbWFseSBtb25pdG9yIHRoYXQgZGV0ZWN0cyBsb2cgYW1vdW50IHNwaWtlcy5cbiAqICAgMy4gQW4gZXZlbnQgYWxlcnQgdGhhdCBmaXJlcyB3aGVuIHlvdSBoaXQgdGhlIGRhaWx5IGxvZyBxdW90YS5cbiAqXG4gKiBBIGRhdGFkb2cgbG9nIGluZGV4IGlzIHRlYW0gc3BlY2lmaWMgYW5kIHRodXMgdGhlIG1vbml0b3IgbmVlZHMgdG8gYmUgZGVwbG95ZWQganVzdCBvbmNlIHBlciBpbmRleC90ZWFtLlxuICovXG5leHBvcnQgY2xhc3MgRGF0YWRvZ0xvZ0luZGV4TW9uaXRvcmluZyBleHRlbmRzIENvbnN0cnVjdCB7XG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBEYXRhZG9nTG9nSW5kZXhNb25pdG9yaW5nUHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQpO1xuXG4gICAgY29uc3QgbG9nUXVvdGFJbkV2ZW50cyA9IE1hdGguZmxvb3IocHJvcHMuZGFpbHlMb2dRdW90YS52YWx1ZUluTWlsbGlvbkV2ZW50cyAqIDFfMDAwXzAwMCk7XG4gICAgY29uc3Qgd2FybmluZ1RocmVzaG9sZCA9IE1hdGguZmxvb3IobG9nUXVvdGFJbkV2ZW50cyAqIChwcm9wcy5kYWlseUxvZ1F1b3RhLndhcm5pbmdUaHJlc2hvbGRJblBlcmNlbnQgLyAxMDApKTtcbiAgICBjb25zdCBhbGVydFRocmVzaG9sZCA9IE1hdGguZmxvb3IobG9nUXVvdGFJbkV2ZW50cyAqIChwcm9wcy5kYWlseUxvZ1F1b3RhLmFsZXJ0VGhyZXNob2xkSW5QZXJjZW50IC8gMTAwKSk7XG5cbiAgICBuZXcgRGF0YWRvZ01vbml0b3IodGhpcywgJ0RhdGFkb2dMb2dEYWlseVF1b3RhTW9uaXRvcicsIHtcbiAgICAgIHNlcnZpY2VOYW1lOiBwcm9wcy5zZXJ2aWNlTmFtZSxcbiAgICAgIG1vbml0b3JUeXBlOiBEYXRhZG9nTW9uaXRvclF1ZXJ5QWxlcnRUeXBlLk1FVFJJQ19BTEVSVCxcbiAgICAgIG5hbWU6IGAke2NvbW1vbk1vbml0b3JOYW1lUHJlZml4KHByb3BzLmluZGV4TmFtZSl9OiBMb2cgcXVvdGEgYWxtb3N0IHJlYWNoZWRgLFxuICAgICAgbm90aWZpY2F0aW9uOiBwcm9wcy5ub3RpZmljYXRpb24sXG4gICAgICBwcmlvcml0eTogMyxcbiAgICAgIHF1ZXJ5OiBgc3VtKGxhc3RfMWQpOnN1bTpkYXRhZG9nLmVzdGltYXRlZF91c2FnZS5sb2dzLmluZ2VzdGVkX2V2ZW50c3tkYXRhZG9nX2lzX2V4Y2x1ZGVkOmZhbHNlLGRhdGFkb2dfaW5kZXg6JHtwcm9wcy5pbmRleE5hbWV9fS5hc19jb3VudCgpID49ICR7YWxlcnRUaHJlc2hvbGR9YCxcbiAgICAgIG1lc3NhZ2U6IGBJbnNwZWN0IHlvdXIgbG9nIHZvbHVtZSBhdCAke2RhdGFkb2dMb2dzU2VhcmNoV2l0aEluZGV4RmlsdGVyRGVlcExpbmsoXG4gICAgICAgIHByb3BzLmluZGV4TmFtZSwgcHJvcHMub3JnYW5pemF0aW9uLFxuICAgICAgKX0gb3IgYWRhcHQgdGhlIGxvZyBxdW90YSBhdCAke2RhdGFkb2dMb2dzSW5kZXhlc0NvbmZpZ3VyYXRpb25EZWVwTGluayhwcm9wcy5vcmdhbml6YXRpb24pfWAsXG4gICAgICBleHRyYVRhZ3M6IFsuLi5jb21tb25UYWdzKHByb3BzLmluZGV4TmFtZSldLFxuICAgICAgb3B0aW9uT3ZlcnJpZGVzOiB7XG4gICAgICAgIHRocmVzaG9sZHM6IHtcbiAgICAgICAgICBjcml0aWNhbDogYWxlcnRUaHJlc2hvbGQsXG4gICAgICAgICAgd2FybmluZzogd2FybmluZ1RocmVzaG9sZCxcbiAgICAgICAgfSxcbiAgICAgICAgaW5jbHVkZVRhZ3M6IGZhbHNlLFxuICAgICAgICBub3RpZnlOb0RhdGE6ICFwcm9wcy5zcGFyc2VMb2dnaW5nLFxuICAgICAgICBub0RhdGFUaW1lZnJhbWU6IDI0ICogNjAsIC8vIDEgZGF5XG4gICAgICB9LFxuICAgIH0pO1xuXG4gICAgbmV3IERhdGFkb2dNb25pdG9yKHRoaXMsICdEYXRhZG9nTG9nQWxlcnRBbm9tYWx5TW9uaXRvcicsIHtcbiAgICAgIHNlcnZpY2VOYW1lOiBwcm9wcy5zZXJ2aWNlTmFtZSxcbiAgICAgIG1vbml0b3JUeXBlOiBEYXRhZG9nTW9uaXRvclF1ZXJ5QWxlcnRUeXBlLk1FVFJJQ19BTEVSVCxcbiAgICAgIHByaW9yaXR5OiA0LFxuICAgICAgbmFtZTogYCR7Y29tbW9uTW9uaXRvck5hbWVQcmVmaXgocHJvcHMuaW5kZXhOYW1lKX06IExvZyBhbW91bnQgaXMgcmlzaW5nIHRvIHVuZXhwZWN0ZWQgbGV2ZWxzYCxcbiAgICAgIHF1ZXJ5OiBgYXZnKGxhc3RfNGgpOmFub21hbGllcyhzdW06ZGF0YWRvZy5lc3RpbWF0ZWRfdXNhZ2UubG9ncy5pbmdlc3RlZF9ldmVudHN7ZGF0YWRvZ19pc19leGNsdWRlZDpmYWxzZSxkYXRhZG9nX2luZGV4OiR7cHJvcHMuaW5kZXhOYW1lfX0uYXNfY291bnQoKSwgJ3JvYnVzdCcsIDIsIGRpcmVjdGlvbj0nYWJvdmUnLCBhbGVydF93aW5kb3c9J2xhc3RfMTVtJywgaW50ZXJ2YWw9NjAsIGNvdW50X2RlZmF1bHRfemVybz0ndHJ1ZScsIHNlYXNvbmFsaXR5PSd3ZWVrbHknLCB0aW1lem9uZT0nZXVyb3BlL2JlcmxpbicpID49IDFgLFxuICAgICAgbWVzc2FnZTogYExvZ3MgYXJlIGdldHRpbmcgb3V0IG9mIGNvbnRyb2w6ICR7ZGF0YWRvZ0xvZ3NTZWFyY2hXaXRoSW5kZXhGaWx0ZXJEZWVwTGluayhcbiAgICAgICAgcHJvcHMuaW5kZXhOYW1lLCBwcm9wcy5vcmdhbml6YXRpb24sXG4gICAgICApfWAsXG4gICAgICBleHRyYVRhZ3M6IFsuLi5jb21tb25UYWdzKHByb3BzLmluZGV4TmFtZSldLFxuICAgICAgb3B0aW9uT3ZlcnJpZGVzOiB7XG4gICAgICAgIGluY2x1ZGVUYWdzOiBmYWxzZSxcbiAgICAgICAgbm90aWZ5Tm9EYXRhOiAhcHJvcHMuc3BhcnNlTG9nZ2luZyxcbiAgICAgICAgdGhyZXNob2xkV2luZG93czoge1xuICAgICAgICAgIHRyaWdnZXJXaW5kb3c6ICdsYXN0XzE1bScsXG4gICAgICAgICAgcmVjb3ZlcnlXaW5kb3c6ICdsYXN0XzE1bScsXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgIH0pO1xuXG4gICAgbmV3IERhdGFkb2dNb25pdG9yKHRoaXMsICdEYXRhZG9nTG9nRGFpbHlRdW90YVJlYWNoZWRNb25pdG9yJywge1xuICAgICAgc2VydmljZU5hbWU6IHByb3BzLnNlcnZpY2VOYW1lLFxuICAgICAgbmFtZTogYCR7Y29tbW9uTW9uaXRvck5hbWVQcmVmaXgocHJvcHMuaW5kZXhOYW1lKX06IExvZyBxdW90YSByZWFjaGVkYCxcbiAgICAgIG5vdGlmaWNhdGlvbjogcHJvcHMubm90aWZpY2F0aW9uLFxuICAgICAgcHJpb3JpdHk6IDIsXG4gICAgICBtb25pdG9yVHlwZTogRGF0YWRvZ01vbml0b3JRdWVyeUFsZXJ0VHlwZS5FVkVOVF9WXzJfQUxFUlQsXG4gICAgICBxdWVyeTogYGV2ZW50cyhcInNvdXJjZTpkYXRhZG9nIGRhdGFkb2dfaW5kZXg6JHtwcm9wcy5pbmRleE5hbWV9IERhaWx5IHF1b3RhIHJlYWNoZWRcIikucm9sbHVwKFwiY291bnRcIikubGFzdChcIjEyaFwiKSA+IDBgLFxuICAgICAgbWVzc2FnZTogYFRoZSBsb2cgcXVvdGUgZm9yIHRoZSBpbmRleCBoYXMgYmVlbiByZWFjaGVkLiBJZiB5b3UgZG8gbm90IGluY3JlYXNlIHRoZSBxdW90YSBhdCAke2RhdGFkb2dMb2dzSW5kZXhlc0NvbmZpZ3VyYXRpb25EZWVwTGluayhwcm9wcy5vcmdhbml6YXRpb24pfSwgbm8gbmV3IGxvZ3Mgd2lsbCBiZSBpbmRleGVkIHVudGlsIHRoZSBxdW90YSBpcyByZXNldCBhdCAyOjAwcG0gVVRDLmAsXG4gICAgICBleHRyYVRhZ3M6IFsuLi5jb21tb25UYWdzKHByb3BzLmluZGV4TmFtZSldLFxuICAgICAgb3B0aW9uT3ZlcnJpZGVzOiB7XG4gICAgICAgIHRpbWVvdXRIOiAyNCxcbiAgICAgICAgdGhyZXNob2xkczoge1xuICAgICAgICAgIGNyaXRpY2FsOiAwLFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICB9KTtcblxuICAgIHRoaXMubm9kZS5hZGRWYWxpZGF0aW9uKHtcbiAgICAgIHZhbGlkYXRlOiAoKTogc3RyaW5nW10gPT4ge1xuICAgICAgICBjb25zdCByZXN1bHQgPSBbXTtcbiAgICAgICAgaWYgKHByb3BzLmRhaWx5TG9nUXVvdGEud2FybmluZ1RocmVzaG9sZEluUGVyY2VudCA8IDAgfHwgcHJvcHMuZGFpbHlMb2dRdW90YS53YXJuaW5nVGhyZXNob2xkSW5QZXJjZW50ID4gMTAwKSB7XG4gICAgICAgICAgcmVzdWx0LnB1c2goJ0ludmFsaWQgW3dhcm5pbmdUaHJlc2hvbGRJblBlcmNlbnRdOiBleHBlY3RpbmcgYSBudW1iZXIgYmV0d2VlbiAwIGFuZCAxMDAnKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAocHJvcHMuZGFpbHlMb2dRdW90YS5hbGVydFRocmVzaG9sZEluUGVyY2VudCA8IDAgfHwgcHJvcHMuZGFpbHlMb2dRdW90YS5hbGVydFRocmVzaG9sZEluUGVyY2VudCA+IDEwMCkge1xuICAgICAgICAgIHJlc3VsdC5wdXNoKCdJbnZhbGlkIFthbGVydFRocmVzaG9sZEluUGVyY2VudF06IGV4cGVjdGluZyBhIG51bWJlciBiZXR3ZWVuIDAgYW5kIDEwMCcpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChwcm9wcy5kYWlseUxvZ1F1b3RhLmFsZXJ0VGhyZXNob2xkSW5QZXJjZW50IDwgcHJvcHMuZGFpbHlMb2dRdW90YS53YXJuaW5nVGhyZXNob2xkSW5QZXJjZW50KSB7XG4gICAgICAgICAgcmVzdWx0LnB1c2goJ0ludmFsaWQgW2FsZXJ0VGhyZXNob2xkSW5QZXJjZW50XTogbXVzdCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gW3dhcm5pbmdUaHJlc2hvbGRJblBlcmNlbnRdJyk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICAgIH0sXG4gICAgfSk7XG4gIH1cbn1cblxuY29uc3QgY29tbW9uTW9uaXRvck5hbWVQcmVmaXggPSAoaW5kZXhOYW1lOiBzdHJpbmcpID0+IGAnJHtpbmRleE5hbWV9JyBpbmRleGA7XG5jb25zdCBjb21tb25UYWdzID0gKGluZGV4TmFtZTogc3RyaW5nKSA9PiBbYGxvZ0luZGV4OiR7aW5kZXhOYW1lfWBdO1xuXG5leHBvcnQgdHlwZSBEYXRhZG9nT3JnYW5pemF0aW9uID0gJ0VVJyB8ICdMQVRBTScgfCAnTGFuZGluZyBab25lJztcblxuZXhwb3J0IGZ1bmN0aW9uIGdldE9yZ2FuaXphdGlvblVybFByZWZpeChvcmdhbml6YXRpb246IERhdGFkb2dPcmdhbml6YXRpb24gfCB1bmRlZmluZWQpOiBzdHJpbmcge1xuICBzd2l0Y2ggKG9yZ2FuaXphdGlvbiA/PyAnRVUnKSB7XG4gICAgY2FzZSAnRVUnOlxuICAgICAgcmV0dXJuICdhcHAnO1xuICAgIGNhc2UgJ0xBVEFNJzpcbiAgICAgIHJldHVybiAncmlvLWJyYXppbCc7XG4gICAgY2FzZSAnTGFuZGluZyBab25lJzpcbiAgICAgIHJldHVybiAncmlvLWxhbmRpbmd6b25lJztcbiAgfVxufVxuXG5mdW5jdGlvbiBkYXRhZG9nTG9nc1NlYXJjaFdpdGhJbmRleEZpbHRlckRlZXBMaW5rKGluZGV4TmFtZTogc3RyaW5nLCBvcmdhbml6YXRpb246IERhdGFkb2dPcmdhbml6YXRpb24gfCB1bmRlZmluZWQpIHtcbiAgcmV0dXJuIGBodHRwczovLyR7Z2V0T3JnYW5pemF0aW9uVXJsUHJlZml4KG9yZ2FuaXphdGlvbil9LmRhdGFkb2docS5ldS9sb2dzP2luZGV4PSR7aW5kZXhOYW1lfWA7XG59XG5cbmZ1bmN0aW9uIGRhdGFkb2dMb2dzSW5kZXhlc0NvbmZpZ3VyYXRpb25EZWVwTGluayhvcmdhbml6YXRpb246IERhdGFkb2dPcmdhbml6YXRpb24gfCB1bmRlZmluZWQpIHtcbiAgcmV0dXJuIGBodHRwczovLyR7Z2V0T3JnYW5pemF0aW9uVXJsUHJlZml4KG9yZ2FuaXphdGlvbil9LmRhdGFkb2docS5ldS9sb2dzL3BpcGVsaW5lcy9pbmRleGVzYDtcbn1cbiJdfQ==
115
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YWRvZy1sb2ctaW5kZXgtbW9uaXRvcmluZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9kYXRhZG9ndjIvZGF0YWRvZy1sb2ctaW5kZXgtbW9uaXRvcmluZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLDJDQUF1QztBQUN2Qyx1REFBaUY7QUF5RGpGOzs7Ozs7Ozs7R0FTRztBQUNILE1BQWEseUJBQTBCLFNBQVEsc0JBQVM7SUFDdEQsWUFBWSxLQUFnQixFQUFFLEVBQVUsRUFBRSxLQUFxQztRQUM3RSxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBRWpCLE1BQU0sZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLG9CQUFvQixHQUFHLE9BQVMsQ0FBQyxDQUFDO1FBQzFGLE1BQU0sZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxnQkFBZ0IsR0FBRyxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMseUJBQXlCLEdBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQztRQUM5RyxNQUFNLGNBQWMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLGdCQUFnQixHQUFHLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQyx1QkFBdUIsR0FBRyxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBRTFHLElBQUksZ0NBQWMsQ0FBQyxJQUFJLEVBQUUsNkJBQTZCLEVBQUU7WUFDdEQsV0FBVyxFQUFFLEtBQUssQ0FBQyxXQUFXO1lBQzlCLFdBQVcsRUFBRSw4Q0FBNEIsQ0FBQyxZQUFZO1lBQ3RELElBQUksRUFBRSxHQUFHLHVCQUF1QixDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsNEJBQTRCO1lBQzdFLFlBQVksRUFBRSxLQUFLLENBQUMsWUFBWTtZQUNoQyxRQUFRLEVBQUUsQ0FBQztZQUNYLEtBQUssRUFBRSx5R0FBeUcsS0FBSyxDQUFDLFNBQVMsbUJBQW1CLGNBQWMsRUFB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QyxDQUFDO2dCQUN6RixDQUFDO2dCQUNELElBQUksS0FBSyxDQUFDLGFBQWEsQ0FBQyx1QkFBdUIsR0FBRyxLQUFLLENBQUMsYUFBYSxDQUFDLHlCQUF5QixFQUFFLENBQUM7b0JBQ2hHLE1BQU0sQ0FBQyxJQUFJLENBQUMsaUdBQWlHLENBQUMsQ0FBQztnQkFDakgsQ0FBQztnQkFDRCxPQUFPLE1BQU0sQ0FBQztZQUNoQixDQUFDO1NBQ0YsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7QUFsRkgsOERBbUZDOzs7QUFFRCxNQUFNLHVCQUF1QixHQUFHLENBQUMsU0FBaUIsRUFBRSxFQUFFLENBQUMsSUFBSSxTQUFTLFNBQVMsQ0FBQztBQUM5RSxNQUFNLFVBQVUsR0FBRyxDQUFDLFNBQWlCLEVBQUUsRUFBRSxDQUFDLENBQUMsWUFBWSxTQUFTLEVBQUUsQ0FBQyxDQUFDO0FBSXBFLFNBQWdCLHdCQUF3QixDQUFDLFlBQTZDO0lBQ3BGLFFBQVEsWUFBWSxJQUFJLElBQUksRUFBRSxDQUFDO1FBQzdCLEtBQUssSUFBSTtZQUNQLE9BQU8sS0FBSyxDQUFDO1FBQ2YsS0FBSyxPQUFPO1lBQ1YsT0FBTyxZQUFZLENBQUM7UUFDdEIsS0FBSyxjQUFjO1lBQ2pCLE9BQU8saUJBQWlCLENBQUM7SUFDN0IsQ0FBQztBQUNILENBQUM7QUFURCw0REFTQztBQUVELFNBQVMsd0NBQXdDLENBQUMsU0FBaUIsRUFBRSxZQUE2QztJQUNoSCxPQUFPLFdBQVcsd0JBQXdCLENBQUMsWUFBWSxDQUFDLDRCQUE0QixTQUFTLEVBQUUsQ0FBQztBQUNsRyxDQUFDO0FBRUQsU0FBUyx1Q0FBdUMsQ0FBQyxZQUE2QztJQUM1RixPQUFPLFdBQVcsd0JBQXdCLENBQUMsWUFBWSxDQUFDLHNDQUFzQyxDQUFDO0FBQ2pHLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tICdjb25zdHJ1Y3RzJztcbmltcG9ydCB7IERhdGFkb2dNb25pdG9yLCBEYXRhZG9nTW9uaXRvclF1ZXJ5QWxlcnRUeXBlIH0gZnJvbSAnLi9kYXRhZG9nLW1vbml0b3InO1xuaW1wb3J0IHsgSU5vdGlmaWNhdGlvbiB9IGZyb20gJy4vZGF0YWRvZy1ub3RpZmljYXRpb24nO1xuXG5leHBvcnQgaW50ZXJmYWNlIERhdGFkb2dMb2dJbmRleE1vbml0b3JpbmdQcm9wcyB7XG5cbiAgLyoqXG4gICAqIFRoZSBuYW1lIG9mIHlvdXIgc2VydmljZSBpbiBEYXRhZG9nLiBDYW4gYmUgdXNlZCB0byBxdWVyeSB0aGUgbW9uaXRvcnMuXG4gICAqL1xuICByZWFkb25seSBzZXJ2aWNlTmFtZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgbmFtZSBvZiB0aGUgRGF0YWRvZyBpbmRleC5cbiAgICovXG4gIHJlYWRvbmx5IGluZGV4TmFtZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgaW50ZWdyYXRpb24gdG8gdXNlIGZvciBhbGVydGluZy5cbiAgICovXG4gIHJlYWRvbmx5IG5vdGlmaWNhdGlvbj86IElOb3RpZmljYXRpb247XG5cbiAgLyoqXG4gICAqIFRoZSBkYWlseSBsb2cgcXVvdGEgc2V0dGluZ3MuXG4gICAqL1xuICByZWFkb25seSBkYWlseUxvZ1F1b3RhOiBEYXRhZG9nTG9nUXVvdGFQcm9wcztcblxuICAvKipcbiAgICogVGhpcyB2YWx1ZSBzaG91bGQgYmUgdXNlZCBpZiB0aGVyZSBpcyBubyBsb2cgbWVzc2FnZSB3aXRoaW4gMjQgaG91cnMgb3IgbWlzc2luZyBoaXN0b3JpY2FsIGRhdGEuXG4gICAqIFdpdGhvdXQgc2V0dGluZyB0aGlzIHZhbHVlIGl0IHdpbGwgbGVhZCB0byBhbiBlbXB0eSByZXN1bHQgYW5kIHRoZXJlZm9yZSB0cmlnZ2VyIGFuIGFsZXJ0LlxuICAgKiBAZGVmYXVsdFZhbHVlIC0gZmFsc2VcbiAgICovXG4gIHJlYWRvbmx5IHNwYXJzZUxvZ2dpbmc/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBUaGUgRGF0YWRvZyBvcmdhbml6YXRpb24sIGUuZy4sICdFVScgb3IgJ0xBVEFNJ1xuICAgKiBAZGVmYXVsdFZhbHVlIC0gJ0VVJ1xuICAgKi9cbiAgcmVhZG9ubHkgb3JnYW5pemF0aW9uPzogRGF0YWRvZ09yZ2FuaXphdGlvbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBEYXRhZG9nTG9nUXVvdGFQcm9wcyB7XG4gIC8qKlxuICAgKiBUaGUgZGFpbHkgbG9nIHF1b3RhIGZvciB0aGUgdGVhbS1zcGVjaWZpYyBpbmRleCBpbiBtaWxsaW9uIGV2ZW50cy5cbiAgICovXG4gIHJlYWRvbmx5IHZhbHVlSW5NaWxsaW9uRXZlbnRzOiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIFRoZSB3YXJuaW5nIHRocmVzaG9sZCBmb3IgdGhlIGRhaWx5IGxvZyBxdW90YSBtb25pdG9yIGluIHBlcmNlbnQuXG4gICAqL1xuICByZWFkb25seSB3YXJuaW5nVGhyZXNob2xkSW5QZXJjZW50OiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIFRoZSBhbGFybSB0aHJlc2hvbGQgZm9yIHRoZSBkYWlseSBsb2cgcXVvdGEgbW9uaXRvciBpbiBwZXJjZW50LlxuICAgKiBUaGUgdmFsdWUgbXVzdCBiZSBiZXR3ZWVuIDAgYW5kIDEwMCBhbmQgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvIHRoZSB3YXJuaW5nIHRocmVzaG9sZC5cbiAgICovXG4gIHJlYWRvbmx5IGFsZXJ0VGhyZXNob2xkSW5QZXJjZW50OiBudW1iZXI7XG59XG5cbi8qKlxuICogQmFzaWMgbW9uaXRvcmluZyBhbmQgYWxlcnRpbmcgZm9yIGEgRGF0YWRvZyBsb2dzIGluZGV4LlxuICogSXQgZm9sbG93cyB0aGUgRGF0YWRvZyBndWlkZSBhdCBodHRwczovL2RvY3MuZGF0YWRvZ2hxLmNvbS9sb2dzL2d1aWRlL2xvZ3MtbW9uaXRvcnMtb24tdm9sdW1lcy9cbiAqIGFuZCBjb25zaXN0cyBvZiB0aGUgZm9sbG93aW5nIHRocmVlIG1vbml0b3JzLlxuICogICAxLiBBIG1ldHJpYyBhbGVydCB0aGF0IGZpcmVzIHdoZW4geW91IHJlYWNoIGEgY2VydGFpbiB0aHJlc2hvbGQgb2YgeW91ciBkYWlseSBsb2cgcXVvdGEuXG4gKiAgIDIuIEFuIGFub21hbHkgbW9uaXRvciB0aGF0IGRldGVjdHMgbG9nIGFtb3VudCBzcGlrZXMuXG4gKiAgIDMuIEFuIGV2ZW50IGFsZXJ0IHRoYXQgZmlyZXMgd2hlbiB5b3UgaGl0IHRoZSBkYWlseSBsb2cgcXVvdGEuXG4gKlxuICogQSBkYXRhZG9nIGxvZyBpbmRleCBpcyB0ZWFtIHNwZWNpZmljIGFuZCB0aHVzIHRoZSBtb25pdG9yIG5lZWRzIHRvIGJlIGRlcGxveWVkIGp1c3Qgb25jZSBwZXIgaW5kZXgvdGVhbS5cbiAqL1xuZXhwb3J0IGNsYXNzIERhdGFkb2dMb2dJbmRleE1vbml0b3JpbmcgZXh0ZW5kcyBDb25zdHJ1Y3Qge1xuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogRGF0YWRvZ0xvZ0luZGV4TW9uaXRvcmluZ1Byb3BzKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkKTtcblxuICAgIGNvbnN0IGxvZ1F1b3RhSW5FdmVudHMgPSBNYXRoLmZsb29yKHByb3BzLmRhaWx5TG9nUXVvdGEudmFsdWVJbk1pbGxpb25FdmVudHMgKiAxXzAwMF8wMDApO1xuICAgIGNvbnN0IHdhcm5pbmdUaHJlc2hvbGQgPSBNYXRoLmZsb29yKGxvZ1F1b3RhSW5FdmVudHMgKiAocHJvcHMuZGFpbHlMb2dRdW90YS53YXJuaW5nVGhyZXNob2xkSW5QZXJjZW50IC8gMTAwKSk7XG4gICAgY29uc3QgYWxlcnRUaHJlc2hvbGQgPSBNYXRoLmZsb29yKGxvZ1F1b3RhSW5FdmVudHMgKiAocHJvcHMuZGFpbHlMb2dRdW90YS5hbGVydFRocmVzaG9sZEluUGVyY2VudCAvIDEwMCkpO1xuXG4gICAgbmV3IERhdGFkb2dNb25pdG9yKHRoaXMsICdEYXRhZG9nTG9nRGFpbHlRdW90YU1vbml0b3InLCB7XG4gICAgICBzZXJ2aWNlTmFtZTogcHJvcHMuc2VydmljZU5hbWUsXG4gICAgICBtb25pdG9yVHlwZTogRGF0YWRvZ01vbml0b3JRdWVyeUFsZXJ0VHlwZS5NRVRSSUNfQUxFUlQsXG4gICAgICBuYW1lOiBgJHtjb21tb25Nb25pdG9yTmFtZVByZWZpeChwcm9wcy5pbmRleE5hbWUpfTogTG9nIHF1b3RhIGFsbW9zdCByZWFjaGVkYCxcbiAgICAgIG5vdGlmaWNhdGlvbjogcHJvcHMubm90aWZpY2F0aW9uLFxuICAgICAgcHJpb3JpdHk6IDMsXG4gICAgICBxdWVyeTogYHN1bShsYXN0XzFkKTpzdW06ZGF0YWRvZy5lc3RpbWF0ZWRfdXNhZ2UubG9ncy5pbmdlc3RlZF9ldmVudHN7ZGF0YWRvZ19pc19leGNsdWRlZDpmYWxzZSxkYXRhZG9nX2luZGV4OiR7cHJvcHMuaW5kZXhOYW1lfX0uYXNfY291bnQoKSA+PSAke2FsZXJ0VGhyZXNob2xkfWAsXG4gICAgICBtZXNzYWdlOiBgSW5zcGVjdCB5b3VyIGxvZyB2b2x1bWUgYXQgJHtkYXRhZG9nTG9nc1NlYXJjaFdpdGhJbmRleEZpbHRlckRlZXBMaW5rKFxuICAgICAgICBwcm9wcy5pbmRleE5hbWUsIHByb3BzLm9yZ2FuaXphdGlvbixcbiAgICAgICl9IG9yIGFkYXB0IHRoZSBsb2cgcXVvdGEgYXQgJHtkYXRhZG9nTG9nc0luZGV4ZXNDb25maWd1cmF0aW9uRGVlcExpbmsocHJvcHMub3JnYW5pemF0aW9uKX1gLFxuICAgICAgZXh0cmFUYWdzOiBbLi4uY29tbW9uVGFncyhwcm9wcy5pbmRleE5hbWUpXSxcbiAgICAgIG9wdGlvbk92ZXJyaWRlczoge1xuICAgICAgICB0aHJlc2hvbGRzOiB7XG4gICAgICAgICAgY3JpdGljYWw6IGFsZXJ0VGhyZXNob2xkLFxuICAgICAgICAgIHdhcm5pbmc6IHdhcm5pbmdUaHJlc2hvbGQsXG4gICAgICAgIH0sXG4gICAgICAgIGluY2x1ZGVUYWdzOiBmYWxzZSxcbiAgICAgICAgbm90aWZ5Tm9EYXRhOiAhcHJvcHMuc3BhcnNlTG9nZ2luZyxcbiAgICAgICAgbm9EYXRhVGltZWZyYW1lOiAyNCAqIDYwLCAvLyAxIGRheVxuICAgICAgfSxcbiAgICB9KTtcblxuICAgIG5ldyBEYXRhZG9nTW9uaXRvcih0aGlzLCAnRGF0YWRvZ0xvZ0FsZXJ0QW5vbWFseU1vbml0b3InLCB7XG4gICAgICBzZXJ2aWNlTmFtZTogcHJvcHMuc2VydmljZU5hbWUsXG4gICAgICBtb25pdG9yVHlwZTogRGF0YWRvZ01vbml0b3JRdWVyeUFsZXJ0VHlwZS5NRVRSSUNfQUxFUlQsXG4gICAgICBwcmlvcml0eTogNCxcbiAgICAgIG5hbWU6IGAke2NvbW1vbk1vbml0b3JOYW1lUHJlZml4KHByb3BzLmluZGV4TmFtZSl9OiBMb2cgYW1vdW50IGlzIHJpc2luZyB0byB1bmV4cGVjdGVkIGxldmVsc2AsXG4gICAgICBxdWVyeTogYGF2ZyhsYXN0XzRoKTphbm9tYWxpZXMoc3VtOmRhdGFkb2cuZXN0aW1hdGVkX3VzYWdlLmxvZ3MuaW5nZXN0ZWRfZXZlbnRze2RhdGFkb2dfaXNfZXhjbHVkZWQ6ZmFsc2UsZGF0YWRvZ19pbmRleDoke3Byb3BzLmluZGV4TmFtZX19LmFzX2NvdW50KCksICdyb2J1c3QnLCAyLCBkaXJlY3Rpb249J2Fib3ZlJywgYWxlcnRfd2luZG93PSdsYXN0XzE1bScsIGludGVydmFsPTYwLCBjb3VudF9kZWZhdWx0X3plcm89J3RydWUnLCBzZWFzb25hbGl0eT0nd2Vla2x5JywgdGltZXpvbmU9J2V1cm9wZS9iZXJsaW4nKSA+PSAxYCxcbiAgICAgIG1lc3NhZ2U6IGBMb2dzIGFyZSBnZXR0aW5nIG91dCBvZiBjb250cm9sOiAke2RhdGFkb2dMb2dzU2VhcmNoV2l0aEluZGV4RmlsdGVyRGVlcExpbmsoXG4gICAgICAgIHByb3BzLmluZGV4TmFtZSwgcHJvcHMub3JnYW5pemF0aW9uLFxuICAgICAgKX1gLFxuICAgICAgZXh0cmFUYWdzOiBbLi4uY29tbW9uVGFncyhwcm9wcy5pbmRleE5hbWUpXSxcbiAgICAgIG9wdGlvbk92ZXJyaWRlczoge1xuICAgICAgICBpbmNsdWRlVGFnczogZmFsc2UsXG4gICAgICAgIG5vdGlmeU5vRGF0YTogIXByb3BzLnNwYXJzZUxvZ2dpbmcsXG4gICAgICAgIHRocmVzaG9sZFdpbmRvd3M6IHtcbiAgICAgICAgICB0cmlnZ2VyV2luZG93OiAnbGFzdF8xNW0nLFxuICAgICAgICAgIHJlY292ZXJ5V2luZG93OiAnbGFzdF8xNW0nLFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICB9KTtcblxuICAgIG5ldyBEYXRhZG9nTW9uaXRvcih0aGlzLCAnRGF0YWRvZ0xvZ0RhaWx5UXVvdGFSZWFjaGVkTW9uaXRvcicsIHtcbiAgICAgIHNlcnZpY2VOYW1lOiBwcm9wcy5zZXJ2aWNlTmFtZSxcbiAgICAgIG5hbWU6IGAke2NvbW1vbk1vbml0b3JOYW1lUHJlZml4KHByb3BzLmluZGV4TmFtZSl9OiBMb2cgcXVvdGEgcmVhY2hlZGAsXG4gICAgICBub3RpZmljYXRpb246IHByb3BzLm5vdGlmaWNhdGlvbixcbiAgICAgIHByaW9yaXR5OiAyLFxuICAgICAgbW9uaXRvclR5cGU6IERhdGFkb2dNb25pdG9yUXVlcnlBbGVydFR5cGUuRVZFTlRfVl8yX0FMRVJULFxuICAgICAgcXVlcnk6IGBldmVudHMoXCJzb3VyY2U6ZGF0YWRvZyBkYXRhZG9nX2luZGV4OiR7cHJvcHMuaW5kZXhOYW1lfSBEYWlseSBxdW90YSByZWFjaGVkXCIpLnJvbGx1cChcImNvdW50XCIpLmxhc3QoXCIxMmhcIikgPiAwYCxcbiAgICAgIG1lc3NhZ2U6IGBUaGUgbG9nIHF1b3RlIGZvciB0aGUgaW5kZXggaGFzIGJlZW4gcmVhY2hlZC4gSWYgeW91IGRvIG5vdCBpbmNyZWFzZSB0aGUgcXVvdGEgYXQgJHtkYXRhZG9nTG9nc0luZGV4ZXNDb25maWd1cmF0aW9uRGVlcExpbmsocHJvcHMub3JnYW5pemF0aW9uKX0sIG5vIG5ldyBsb2dzIHdpbGwgYmUgaW5kZXhlZCB1bnRpbCB0aGUgcXVvdGEgaXMgcmVzZXQgYXQgMjowMHBtIFVUQy5gLFxuICAgICAgZXh0cmFUYWdzOiBbLi4uY29tbW9uVGFncyhwcm9wcy5pbmRleE5hbWUpXSxcbiAgICAgIG9wdGlvbk92ZXJyaWRlczoge1xuICAgICAgICB0aW1lb3V0SDogMjQsXG4gICAgICAgIHRocmVzaG9sZHM6IHtcbiAgICAgICAgICBjcml0aWNhbDogMCxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgfSk7XG5cbiAgICB0aGlzLm5vZGUuYWRkVmFsaWRhdGlvbih7XG4gICAgICB2YWxpZGF0ZTogKCk6IHN0cmluZ1tdID0+IHtcbiAgICAgICAgY29uc3QgcmVzdWx0ID0gW107XG4gICAgICAgIGlmIChwcm9wcy5kYWlseUxvZ1F1b3RhLndhcm5pbmdUaHJlc2hvbGRJblBlcmNlbnQgPCAwIHx8IHByb3BzLmRhaWx5TG9nUXVvdGEud2FybmluZ1RocmVzaG9sZEluUGVyY2VudCA+IDEwMCkge1xuICAgICAgICAgIHJlc3VsdC5wdXNoKCdJbnZhbGlkIFt3YXJuaW5nVGhyZXNob2xkSW5QZXJjZW50XTogZXhwZWN0aW5nIGEgbnVtYmVyIGJldHdlZW4gMCBhbmQgMTAwJyk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHByb3BzLmRhaWx5TG9nUXVvdGEuYWxlcnRUaHJlc2hvbGRJblBlcmNlbnQgPCAwIHx8IHByb3BzLmRhaWx5TG9nUXVvdGEuYWxlcnRUaHJlc2hvbGRJblBlcmNlbnQgPiAxMDApIHtcbiAgICAgICAgICByZXN1bHQucHVzaCgnSW52YWxpZCBbYWxlcnRUaHJlc2hvbGRJblBlcmNlbnRdOiBleHBlY3RpbmcgYSBudW1iZXIgYmV0d2VlbiAwIGFuZCAxMDAnKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAocHJvcHMuZGFpbHlMb2dRdW90YS5hbGVydFRocmVzaG9sZEluUGVyY2VudCA8IHByb3BzLmRhaWx5TG9nUXVvdGEud2FybmluZ1RocmVzaG9sZEluUGVyY2VudCkge1xuICAgICAgICAgIHJlc3VsdC5wdXNoKCdJbnZhbGlkIFthbGVydFRocmVzaG9sZEluUGVyY2VudF06IG11c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvIFt3YXJuaW5nVGhyZXNob2xkSW5QZXJjZW50XScpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgICB9LFxuICAgIH0pO1xuICB9XG59XG5cbmNvbnN0IGNvbW1vbk1vbml0b3JOYW1lUHJlZml4ID0gKGluZGV4TmFtZTogc3RyaW5nKSA9PiBgJyR7aW5kZXhOYW1lfScgaW5kZXhgO1xuY29uc3QgY29tbW9uVGFncyA9IChpbmRleE5hbWU6IHN0cmluZykgPT4gW2Bsb2dJbmRleDoke2luZGV4TmFtZX1gXTtcblxuZXhwb3J0IHR5cGUgRGF0YWRvZ09yZ2FuaXphdGlvbiA9ICdFVScgfCAnTEFUQU0nIHwgJ0xhbmRpbmcgWm9uZSc7XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRPcmdhbml6YXRpb25VcmxQcmVmaXgob3JnYW5pemF0aW9uOiBEYXRhZG9nT3JnYW5pemF0aW9uIHwgdW5kZWZpbmVkKTogc3RyaW5nIHtcbiAgc3dpdGNoIChvcmdhbml6YXRpb24gPz8gJ0VVJykge1xuICAgIGNhc2UgJ0VVJzpcbiAgICAgIHJldHVybiAnYXBwJztcbiAgICBjYXNlICdMQVRBTSc6XG4gICAgICByZXR1cm4gJ3Jpby1icmF6aWwnO1xuICAgIGNhc2UgJ0xhbmRpbmcgWm9uZSc6XG4gICAgICByZXR1cm4gJ3Jpby1sYW5kaW5nem9uZSc7XG4gIH1cbn1cblxuZnVuY3Rpb24gZGF0YWRvZ0xvZ3NTZWFyY2hXaXRoSW5kZXhGaWx0ZXJEZWVwTGluayhpbmRleE5hbWU6IHN0cmluZywgb3JnYW5pemF0aW9uOiBEYXRhZG9nT3JnYW5pemF0aW9uIHwgdW5kZWZpbmVkKSB7XG4gIHJldHVybiBgaHR0cHM6Ly8ke2dldE9yZ2FuaXphdGlvblVybFByZWZpeChvcmdhbml6YXRpb24pfS5kYXRhZG9naHEuZXUvbG9ncz9pbmRleD0ke2luZGV4TmFtZX1gO1xufVxuXG5mdW5jdGlvbiBkYXRhZG9nTG9nc0luZGV4ZXNDb25maWd1cmF0aW9uRGVlcExpbmsob3JnYW5pemF0aW9uOiBEYXRhZG9nT3JnYW5pemF0aW9uIHwgdW5kZWZpbmVkKSB7XG4gIHJldHVybiBgaHR0cHM6Ly8ke2dldE9yZ2FuaXphdGlvblVybFByZWZpeChvcmdhbml6YXRpb24pfS5kYXRhZG9naHEuZXUvbG9ncy9waXBlbGluZXMvaW5kZXhlc2A7XG59XG4iXX0=
@@ -193,4 +193,4 @@ function mapThresholdWindowsProperties(source) {
193
193
  RecoveryWindow: source.recoveryWindow,
194
194
  } : undefined;
195
195
  }
196
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YWRvZy1tb25pdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2RhdGFkb2d2Mi9kYXRhZG9nLW1vbml0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxtQ0FBbUM7QUFDbkMsMkNBQXVDO0FBQ3ZDLGlFQUFpRjtBQUNqRiwwREFBcUQ7QUFFckQ7Ozs7R0FJRztBQUNILElBQVksNEJBaUJYO0FBakJELFdBQVksNEJBQTRCO0lBQ3RDLDJEQUEyQixDQUFBO0lBQzNCLHVEQUF1QixDQUFBO0lBQ3ZCLDJEQUEyQixDQUFBO0lBQzNCLGtFQUFrQyxDQUFBO0lBQ2xDLHVEQUF1QixDQUFBO0lBQ3ZCLDZEQUE2QixDQUFBO0lBQzdCLCtEQUErQixDQUFBO0lBQy9CLDJEQUEyQixDQUFBO0lBQzNCLCtEQUErQixDQUFBO0lBQy9CLHFFQUFxQyxDQUFBO0lBQ3JDLCtFQUErQyxDQUFBO0lBQy9DLHVEQUF1QixDQUFBO0lBQ3ZCLHVEQUF1QixDQUFBO0lBQ3ZCLHlFQUF5QyxDQUFBO0lBQ3pDLDZFQUE2QyxDQUFBO0lBQzdDLGlFQUFpQyxDQUFBO0FBQ25DLENBQUMsRUFqQlcsNEJBQTRCLDRDQUE1Qiw0QkFBNEIsUUFpQnZDO0FBcUVEOzs7O0dBSUc7QUFDSCxJQUFZLGdCQUlYO0FBSkQsV0FBWSxnQkFBZ0I7SUFDMUIsbUNBQWUsQ0FBQTtJQUNmLHVDQUFtQixDQUFBO0lBQ25CLGlDQUFhLENBQUE7QUFDZixDQUFDLEVBSlcsZ0JBQWdCLGdDQUFoQixnQkFBZ0IsUUFJM0I7QUFFRDs7OztHQUlHO0FBQ0gsSUFBWSx5QkFLWDtBQUxELFdBQVkseUJBQXlCO0lBQ25DLGtEQUFxQixDQUFBO0lBQ3JCLHNEQUF5QixDQUFBO0lBQ3pCLDBEQUE2QixDQUFBO0lBQzdCLGtEQUFxQixDQUFBO0FBQ3ZCLENBQUMsRUFMVyx5QkFBeUIseUNBQXpCLHlCQUF5QixRQUtwQztBQUVEOzs7O0dBSUc7QUFDSCxJQUFZLG9CQUtY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QUErQztJQUM5RSxPQUFPLE1BQU0sQ0FBQyxDQUFDLENBQUM7UUFDZCxRQUFRLEVBQUUsTUFBTSxDQUFDLFFBQVE7UUFDekIsZ0JBQWdCLEVBQUUsTUFBTSxDQUFDLGdCQUFnQjtRQUN6QyxFQUFFLEVBQUUsTUFBTSxDQUFDLEVBQUU7UUFDYixPQUFPLEVBQUUsTUFBTSxDQUFDLE9BQU87UUFDdkIsZUFBZSxFQUFFLE1BQU0sQ0FBQyxlQUFlO0tBQ3hDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztBQUNoQixDQUFDO0FBRUQsU0FBUyw2QkFBNkIsQ0FBQyxNQUFxRDtJQUMxRixPQUFPLE1BQU0sQ0FBQyxDQUFDLENBQUM7UUFDZCxhQUFhLEVBQUUsTUFBTSxDQUFDLGFBQWE7UUFDbkMsY0FBYyxFQUFFLE1BQU0sQ0FBQyxjQUFjO0tBQ3RDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztBQUNoQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgY2RrIGZyb20gJ2F3cy1jZGstbGliJztcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gJ2NvbnN0cnVjdHMnO1xuaW1wb3J0IHsgRGVmYXVsdFNsYWNrTm90aWZpY2F0aW9uLCBJTm90aWZpY2F0aW9uIH0gZnJvbSAnLi9kYXRhZG9nLW5vdGlmaWNhdGlvbic7XG5pbXBvcnQgeyBSaW9MYW5kaW5nWm9uZSB9IGZyb20gJy4uL3Jpby1sYW5kaW5nLXpvbmUnO1xuXG4vKipcbiAqIFdlbGwga25vd24gbW9uaXRvciB0eXBlcyBzdXBwb3J0ZWQgYnkgRGF0YWRvZy5cbiAqXG4gKiBAc2VlIGh0dHBzOi8vZG9jcy5kYXRhZG9naHEuY29tL21vbml0b3JzL3R5cGVzL1xuICovXG5leHBvcnQgZW51bSBEYXRhZG9nTW9uaXRvclF1ZXJ5QWxlcnRUeXBlIHtcbiAgQVVESVRfQUxFUlQgPSAnYXVkaXQgYWxlcnQnLFxuICBDT01QT1NJVEUgPSAnY29tcG9zaXRlJyxcbiAgRVZFTlRfQUxFUlQgPSAnZXZlbnQgYWxlcnQnLFxuICBFVkVOVF9WXzJfQUxFUlQgPSAnZXZlbnQtdjIgYWxlcnQnLFxuICBMT0dfQUxFUlQgPSAnbG9nIGFsZXJ0JyxcbiAgTUVUUklDX0FMRVJUID0gJ21ldHJpYyBhbGVydCcsXG4gIFBST0NFU1NfQUxFUlQgPSAncHJvY2VzcyBhbGVydCcsXG4gIFFVRVJZX0FMRVJUID0gJ3F1ZXJ5IGFsZXJ0JyxcbiAgU0VSVklDRV9DSEVDSyA9ICdzZXJ2aWNlIGNoZWNrJyxcbiAgU1lOVEhFVElDU19BTEVSVCA9ICdzeW50aGV0aWNzIGFsZXJ0JyxcbiAgVFJBQ0VfQU5BTFlUSUNTX0FMRVJUID0gJ3RyYWNlLWFuYWx5dGljcyBhbGVydCcsXG4gIFNMT19BTEVSVCA9ICdzbG8gYWxlcnQnLFxuICBSVU1fQUxFUlQgPSAncnVtIGFsZXJ0JyxcbiAgQ0lfUElQRUxJTkVTX0FMRVJUID0gJ2NpLXBpcGVsaW5lcyBhbGVydCcsXG4gIEVSUk9SX1RSQUNLSU5HX0FMRVJUID0gJ2Vycm9yLXRyYWNraW5nIGFsZXJ0JyxcbiAgQ0lfVEVTVFNfQUxFUlQgPSAnY2ktdGVzdHMgYWxlcnQnLFxufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgb2Yge0BsaW5rIERhdGFkb2dNb25pdG9yfVxuICovXG5leHBvcnQgaW50ZXJmYWNlIERhdGFkb2dNb25pdG9yUHJvcHMge1xuXG4gIC8qKlxuICAgKiBBIG5hbWUgc3VmZml4IHRvIGJlIGFwcGVuZGVkIHRvIHRoZSBtb25pdG9ycyBuYW1lLlxuICAgKlxuICAgKiBUaGUgbW9uaXRvciBuYW1lIGlzIGNvbmNhdGVuYXRlZCBmb3JtIGA8VGVhbU5hbWU+IDxzZXJ2aWNlTmFtZSBwcm9wZXJ0eT4gPG5hbWUgcHJvcGVydHk+YFxuICAgKi9cbiAgcmVhZG9ubHkgbmFtZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgbmFtZSBvZiB0aGUgc2VydmljZSB0byB3aGljaCB0aGUgbW9uaXRvciBiZWxvbmdzLlxuICAgKlxuICAgKiBVc2VkIHRvIGdlbmVyYXRlIHRoZSBtb25pdG9yIG5hbWUgYXMgd2VsbCBhIGFwcGx5IHRoZSBgc2VydmljZWAgdGFnLlxuICAgKi9cbiAgcmVhZG9ubHkgc2VydmljZU5hbWU6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIG1vbml0b3JzIHR5cGVcbiAgICpcbiAgICogQHNlZSBodHRwczovL2RvY3MuZGF0YWRvZ2hxLmNvbS9tb25pdG9ycy90eXBlcy9cbiAgICovXG4gIHJlYWRvbmx5IG1vbml0b3JUeXBlOiBEYXRhZG9nTW9uaXRvclF1ZXJ5QWxlcnRUeXBlO1xuXG4gIC8qKlxuICAgKiBUaGUgbW9uaXRvcnMgc2VhcmNoIHF1ZXJ5XG4gICAqXG4gICAqIEBzZWUgaHR0cHM6Ly9kb2NzLmRhdGFkb2docS5jb20vbW9uaXRvcnMvY29uZmlndXJhdGlvbi8jZGVmaW5lLXRoZS1zZWFyY2gtcXVlcnlcbiAgICovXG4gIHJlYWRvbmx5IHF1ZXJ5OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBtZXNzYWdlIHBhdHRlcm4gZm9yIHRoZSBtb25pdG9yXG4gICAqXG4gICAqIEBzZWUgaHR0cHM6Ly9kb2NzLmRhdGFkb2docS5jb20vbW9uaXRvcnMvY29uZmlndXJhdGlvbi8jbWVzc2FnZVxuICAgKi9cbiAgcmVhZG9ubHkgbWVzc2FnZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUbyBleHBsaWNpdGx5IGRpc2FibGUgbm90aWZpY2F0aW9ucyB1c2Uge0BsaW5rIE5vTm90aWZpY2F0aW9ufS5cbiAgICpcbiAgICogQGRlZmF1bHRWYWx1ZSB7QGxpbmsgRGVmYXVsdFNsYWNrTm90aWZpY2F0aW9ufVxuICAgKlxuICAgKiBAc2VlIGh0dHBzOi8vZG9jcy5kYXRhZG9naHEuY29tL21vbml0b3JzL25vdGlmeVxuICAgKi9cbiAgcmVhZG9ubHkgbm90aWZpY2F0aW9uPzogSU5vdGlmaWNhdGlvbjtcblxuICAvKipcbiAgICogVGhlIGFsZXJ0IHByaW9yaXR5IG9mIHRoZSBtb25pdG9yXG4gICAqXG4gICAqIEBkZWZhdWx0VmFsdWUgNFxuICAgKi9cbiAgcmVhZG9ubHkgcHJpb3JpdHk/OiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIFNwZWNpZmljIG9wdGlvbnMgdG8gb3ZlcnJpZGUgdGhlIGRlZmF1bHQgbW9uaXRvciBvcHRpb25zLlxuICAgKi9cbiAgcmVhZG9ubHkgb3B0aW9uT3ZlcnJpZGVzPzogQ2ZuRGF0YWRvZ01vbml0b3JPcHRpb25zO1xuXG4gIC8qKlxuICAgKiBUYWdzIHRvIGJlIGFwcGVuZGVkIHRvIHRoZSBtb25pdG9yIGluIGFkZGl0aW9uIHRvIHRoZSBSSU8gZGVmYXVsdCB0YWdzXG4gICAqL1xuICByZWFkb25seSBleHRyYVRhZ3M/OiBzdHJpbmdbXTtcbn1cblxuLyoqXG4gKiBXZWxsIGtub3duIHJlbm90aWZpY2F0aW9uIHNldHRpbmdzIHN1cHBvcnRlZCBieSBEYXRhZG9nLlxuICpcbiAqIEBzZWUgaHR0cHM6Ly9kb2NzLmRhdGFkb2docS5jb20vbW9uaXRvcnMvbm90aWZ5LyNyZW5vdGlmeVxuICovXG5leHBvcnQgZW51bSBSZW5vdGlmeVN0YXR1c2VzIHtcbiAgQUxFUlQgPSAnYWxlcnQnLFxuICBOT19EQVRBID0gJ25vIGRhdGEnLFxuICBXQVJOID0gJ3dhcm4nXG59XG5cbi8qKlxuICogV2VsbCBrbm93biBub3RpZmljYXRpb24gcHJlc2V0cyBzdXBwb3J0ZWQgYnkgRGF0YWRvZy5cbiAqXG4gKiBAc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9EYXRhRG9nL2RhdGFkb2ctY2xvdWRmb3JtYXRpb24tcmVzb3VyY2VzL2Jsb2IvbWFzdGVyL2RhdGFkb2ctbW9uaXRvcnMtbW9uaXRvci1oYW5kbGVyL2RhdGFkb2ctbW9uaXRvcnMtbW9uaXRvci5qc29uXG4gKi9cbmV4cG9ydCBlbnVtIE1vbml0b3JOb3RpZmljYXRpb25QcmVzZXQge1xuICBTSE9XX0FMTCA9ICdzaG93X2FsbCcsXG4gIEhJREVfUVVFUlkgPSAnaGlkZV9xdWVyeScsXG4gIEhJREVfSEFORExFUyA9ICdoaWRlX2hhbmRsZXMnLFxuICBISURFX0FMTCA9ICdoaWRlX2FsbCcsXG59XG5cbi8qKlxuICogT3B0aW9ucyBmb3Igb25NaXNzaW5nRGF0YSBzdXBwb3J0ZWQgYnkgRGF0YWRvZy5cbiAqXG4gKiBAc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9EYXRhRG9nL2RhdGFkb2ctY2xvdWRmb3JtYXRpb24tcmVzb3VyY2VzL2Jsb2IvbWFzdGVyL2RhdGFkb2ctbW9uaXRvcnMtbW9uaXRvci1oYW5kbGVyL2RhdGFkb2ctbW9uaXRvcnMtbW9uaXRvci5qc29uXG4gKi9cbmV4cG9ydCBlbnVtIE1vbml0b3JPbk1pc3NpbmdEYXRhIHtcbiAgREVGQVVMVCA9ICdkZWZhdWx0JyxcbiAgU0hPV19OT19EQVRBID0gJ3Nob3dfbm9fZGF0YScsXG4gIFNIT1dfQU5EX05PVElGWV9OT19EQVRBID0gJ3Nob3dfYW5kX25vdGlmeV9ub19kYXRhJyxcbiAgUkVTT0xWRSA9ICdyZXNvbHZlJyxcbn1cblxuLyoqXG4gKiBPcHRpb25zIHRvIG92ZXJyaWRlIGZvciBEYXRhZG9nIG1vbml0b3JzIGluIGNhc2UgbW9yZSBzcGVjaWZpYyBzZXR0aW5ncyBhcmUgcmVxdWlyZWQuXG4gKlxuICoge0BsaW5rIGh0dHBzOi8vZ2l0aHViLmNvbS9EYXRhRG9nL2RhdGFkb2ctY2xvdWRmb3JtYXRpb24tcmVzb3VyY2VzL2Jsb2IvbWFzdGVyL2RhdGFkb2ctbW9uaXRvcnMtbW9uaXRvci1oYW5kbGVyL2RhdGFkb2ctbW9uaXRvcnMtbW9uaXRvci5qc29ufVxuICovXG5leHBvcnQgaW50ZXJmYWNlIENmbkRhdGFkb2dNb25pdG9yT3B0aW9ucyB7XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgb3Igbm90IHRvIGluY2x1ZGUgYSBzYW1wbGUgb2YgdGhlIGxvZ3NcbiAgICovXG4gIHJlYWRvbmx5IGVuYWJsZUxvZ3NTYW1wbGU/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIG9yIG5vdCB0byBzZW5kIGEgbGlzdCBvZiBzYW1wbGVzIHdoZW4gdGhlIG1vbml0b3IgdHJpZ2dlcnMuXG4gICAqXG4gICAqIFRoaXMgaXMgb25seSB1c2VkIGJ5IENJIFRlc3QgYW5kIFBpcGVsaW5lIG1vbml0b3JzLlxuICAgKi9cbiAgcmVhZG9ubHkgZW5hYmxlU2FtcGxlcz86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIE1lc3NhZ2UgdG8gaW5jbHVkZSB3aXRoIGEgcmUtbm90aWZpY2F0aW9uIHdoZW4gcmVub3RpZnlfaW50ZXJ2YWwgaXMgc2V0XG4gICAqL1xuICByZWFkb25seSBlc2NhbGF0aW9uTWVzc2FnZT86IHN0cmluZztcblxuICAvKipcbiAgICogVGltZSBpbiBzZWNvbmRzIHRvIGRlbGF5IGV2YWx1YXRpb25cbiAgICpcbiAgICovXG4gIHJlYWRvbmx5IGV2YWx1YXRpb25EZWxheT86IG51bWJlcjtcblxuICAvKipcbiAgICogVGhlIHRpbWUgc3BhbiBhZnRlciB3aGljaCBncm91cHMgd2l0aCBtaXNzaW5nIGRhdGEgYXJlIGRyb3BwZWQgZnJvbSB0aGUgbW9uaXRvciBzdGF0ZS5cbiAgICpcbiAgICogVGhlIG1pbmltdW0gdmFsdWUgaXMgb25lIGhvdXIsIGFuZCB0aGUgbWF4aW11bSB2YWx1ZSBpcyA3MiBob3Vycy5cbiAgICogRXhhbXBsZSB2YWx1ZXMgYXJlOiBcIjYwbVwiLCBcIjFoXCIsIGFuZCBcIjJkXCIuXG4gICAqIFRoaXMgb3B0aW9uIGlzIG9ubHkgYXZhaWxhYmxlIGZvciBBUE0gVHJhY2UgQW5hbHl0aWNzLCBBdWRpdCBUcmFpbCwgQ0ksIEVycm9yIFRyYWNraW5nLCBFdmVudCwgTG9ncywgYW5kIFJVTSBtb25pdG9ycy5cbiAgICovXG4gIHJlYWRvbmx5IGdyb3VwUmV0ZW50aW9uRHVyYXRpb24/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgb3Igbm90IHRvIGluY2x1ZGUgdHJpZ2dlcmluZyB0YWdzIGludG8gbm90aWZpY2F0aW9uIHRpdGxlJ1xuICAgKlxuICAgKiBAZGVmYXVsdFZhbHVlIHRydWVcbiAgICovXG4gIHJlYWRvbmx5IGluY2x1ZGVUYWdzPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogV2hldGhlciBvciBub3QgY2hhbmdlcyB0byB0aGlzIG1vbml0b3Igc2hvdWxkIGJlIHJlc3RyaWN0ZWQgdG8gdGhlIGNyZWF0b3Igb3IgYWRtaW5zXG4gICAqL1xuICByZWFkb25seSBsb2NrZWQ/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBOdW1iZXIgb2YgbG9jYXRpb25zIGFsbG93ZWQgdG8gZmFpbCBiZWZvcmUgdHJpZ2dlcmluZyBhbGVydFxuICAgKi9cbiAgcmVhZG9ubHkgbWluTG9jYXRpb25GYWlsZWQ/OiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIFRpbWUgaW4gc2Vjb25kcyB0byBhbGxvdyBhIGhvc3QgdG8gc3RhcnQgcmVwb3J0aW5nIGRhdGEgYmVmb3JlIHN0YXJ0aW5nIHRoZSBldmFsdWF0aW9uIG9mIG1vbml0b3IgcmVzdWx0c1xuICAgKi9cbiAgcmVhZG9ubHkgbmV3SG9zdERlbGF5PzogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBOdW1iZXIgb2YgbWludXRlcyBkYXRhIHN0b3BwZWQgcmVwb3J0aW5nIGJlZm9yZSBub3RpZnlpbmdcbiAgICovXG4gIHJlYWRvbmx5IG5vRGF0YVRpbWVmcmFtZT86IG51bWJlcjtcblxuICAvKipcbiAgICogV2hldGhlciBvciBub3QgdG8gbm90aWZ5IHRhZ2dlZCB1c2VycyB3aGVuIGNoYW5nZXMgYXJlIG1hZGUgdG8gdGhlIG1vbml0b3JcbiAgICovXG4gIHJlYWRvbmx5IG5vdGlmeUF1ZGl0PzogYm9vbGVhbjtcblxuICAvKipcbiAgICogQ29udHJvbHMgd2hhdCBncmFudWxhcml0eSBhIG1vbml0b3IgYWxlcnRzIG9uLlxuICAgKlxuICAgKiBPbmx5IGF2YWlsYWJsZSBmb3IgbW9uaXRvcnMgd2l0aCBncm91cGluZ3MuXG4gICAqIEZvciBpbnN0YW5jZSwgYSBtb25pdG9yIGdyb3VwZWQgYnkgYGNsdXN0ZXJgLCBgbmFtZXNwYWNlYCwgYW5kIGBwb2RgIGNhbiBiZSBjb25maWd1cmVkIHRvIG9ubHkgbm90aWZ5IG9uIGVhY2ggbmV3IGBjbHVzdGVyYCB2aW9sYXRpbmcgdGhlIGFsZXJ0IGNvbmRpdGlvbnMgYnkgc2V0dGluZyBgbm90aWZ5X2J5YCB0byBgW1wiY2x1c3RlclwiXWAuXG4gICAqIFRhZ3MgbWVudGlvbmVkIGluIGBub3RpZnlfYnlgIG11c3QgYmUgYSBzdWJzZXQgb2YgdGhlIGdyb3VwaW5nIHRhZ3MgaW4gdGhlIHF1ZXJ5LlxuICAgKiBGb3IgZXhhbXBsZSwgYSBxdWVyeSBncm91cGVkIGJ5IGBjbHVzdGVyYCBhbmQgYG5hbWVzcGFjZWAgY2Fubm90IG5vdGlmeSBvbiBgcmVnaW9uYC5cbiAgICogU2V0dGluZyBgbm90aWZ5X2J5YCB0byBgWypdYCBjb25maWd1cmVzIHRoZSBtb25pdG9yIHRvIG5vdGlmeSBhcyBhIHNpbXBsZS1hbGVydC5cbiAgICovXG4gIHJlYWRvbmx5IG5vdGlmeUJ5Pzogc3RyaW5nW107XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgb3Igbm90IHRvIG5vdGlmeSB3aGVuIGRhdGEgc3RvcHMgcmVwb3J0aW5nXG4gICAqXG4gICAqIEBkZWZhdWx0VmFsdWUgZmFsc2VcbiAgICovXG4gIHJlYWRvbmx5IG5vdGlmeU5vRGF0YT86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIENvbnRyb2xzIGhvdyBncm91cHMgb3IgbW9uaXRvcnMgYXJlIHRyZWF0ZWQgaWYgYW4gZXZhbHVhdGlvbiBkb2VzIG5vdCByZXR1cm4gYW55IGRhdGEgcG9pbnRzLlxuICAgKlxuICAgKiBUaGUgZGVmYXVsdCBvcHRpb24gcmVzdWx0cyBpbiBkaWZmZXJlbnQgYmVoYXZpb3IgZGVwZW5kaW5nIG9uIHRoZSBtb25pdG9yIHF1ZXJ5IHR5cGUuXG4gICAqIEZvciBtb25pdG9ycyB1c2luZyBDb3VudCBxdWVyaWVzLCBhbiBlbXB0eSBtb25pdG9yIGV2YWx1YXRpb24gaXMgdHJlYXRlZCBhcyAwIGFuZCBpcyBjb21wYXJlZCB0byB0aGUgdGhyZXNob2xkIGNvbmRpdGlvbnMuXG4gICAqIEZvciBtb25pdG9ycyB1c2luZyBhbnkgcXVlcnkgdHlwZSBvdGhlciB0aGFuIENvdW50LCBmb3IgZXhhbXBsZSBHYXVnZSwgTWVhc3VyZSwgb3IgUmF0ZSwgdGhlIG1vbml0b3Igc2hvd3MgdGhlIGxhc3Qga25vd24gc3RhdHVzLlxuICAgKiBUaGlzIG9wdGlvbiBpcyBvbmx5IGF2YWlsYWJsZSBmb3IgQVBNIFRyYWNlIEFuYWx5dGljcywgQXVkaXQgVHJhaWwsIENJLCBFcnJvciBUcmFja2luZywgRXZlbnQsIExvZ3MsIGFuZCBSVU0gbW9uaXRvcnMuXG4gICAqL1xuICByZWFkb25seSBvbk1pc3NpbmdEYXRhPzogTW9uaXRvck9uTWlzc2luZ0RhdGE7XG5cbiAgLyoqXG4gICAqIE51bWJlciBvZiBtaW51dGVzIGFmdGVyIHRoZSBsYXN0IG5vdGlmaWNhdGlvbiBiZWZvcmUgdGhlIG1vbml0b3IgcmUtbm90aWZpZXMgb24gdGhlIGN1cnJlbnQgc3RhdHVzXG4gICAqL1xuICByZWFkb25seSByZW5vdGlmeUludGVydmFsPzogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIG9yIG5vdCB0aGUgbW9uaXRvciByZXF1aXJlcyBhIGZ1bGwgd2luZG93IG9mIGRhdGEgYmVmb3JlIGl0IGlzIGV2YWx1YXRlZFxuICAgKlxuICAgKiBAZGVmYXVsdFZhbHVlIGZhbHNlXG4gICAqL1xuICByZWFkb25seSByZXF1aXJlRnVsbFdpbmRvdz86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIENvbmZpZ3VyYXRpb24gb3B0aW9ucyBmb3Igc2NoZWR1bGluZ1xuICAgKi9cbiAgcmVhZG9ubHkgc2NoZWR1bGluZ09wdGlvbnM/OiBNb25pdG9yU2NoZWR1bGluZ09wdGlvbnM7XG5cbiAgLyoqXG4gICAqIElEIG9mIHRoZSBjb3JyZXNwb25kaW5nIHN5bnRoZXRpY3MgY2hlY2tcbiAgICovXG4gIHJlYWRvbmx5IHN5bnRoZXRpY3NDaGVja0lEPzogbnVtYmVyO1xuXG4gIHJlYWRvbmx5IHRocmVzaG9sZHM/OiBDZm5EYXRhZG9nTW9uaXRvclRocmVzaG9sZHM7XG5cbiAgcmVhZG9ubHkgdGhyZXNob2xkV2luZG93cz86IENmbkRhdGFkb2dNb25pdG9yVGhyZXNob2xkV2luZG93cztcblxuICAvKipcbiAgICogTnVtYmVyIG9mIGhvdXJzIG9mIHRoZSBtb25pdG9yIG5vdCByZXBvcnRpbmcgZGF0YSBiZWZvcmUgaXQgYXV0b21hdGljYWxseSByZXNvbHZlc1xuICAgKi9cbiAgcmVhZG9ubHkgdGltZW91dEg/OiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIFRoZSBudW1iZXIgb2YgdGltZXMgcmUtbm90aWZpY2F0aW9uIG1lc3NhZ2VzIHNob3VsZCBiZSBzZW50IG9uIHRoZSBjdXJyZW50IHN0YXR1cyBhdCB0aGUgcHJvdmlkZWQgcmUtbm90aWZpY2F0aW9uIGludGVydmFsLlxuICAgKi9cbiAgcmVhZG9ubHkgcmVub3RpZnlPY2N1cnJlbmNlcz86IG51bWJlcjtcblxuICAvKipcbiAgICogVGhlIHR5cGVzIG9mIG1vbml0b3Igc3RhdHVzZXMgZm9yIHdoaWNoIHJlLW5vdGlmaWNhdGlvbiBtZXNzYWdlcyBhcmUgc2VudC5cbiAgICovXG4gIHJlYWRvbmx5IHJlbm90aWZ5U3RhdHVzZXM/OiBSZW5vdGlmeVN0YXR1c2VzW107XG5cbiAgLyoqXG4gICAqIEhvdyBsb25nIHRoZSB0ZXN0IHNob3VsZCBiZSBpbiBmYWlsdXJlIGJlZm9yZSBhbGVydGluZyAoaW50ZWdlciwgbnVtYmVyIG9mIHNlY29uZHMsIG1heCA3MjAwKS5cbiAgICovXG4gIHJlYWRvbmx5IG1pbkZhaWx1cmVEdXJhdGlvbj86IG51bWJlcjtcblxuICAvKipcbiAgICogQ29udHJvbHMgd2hpY2ggaW5mb3JtYXRpb24gc2hvdWxkIGJlIGFkZGVkL2xldHQgb3V0IGZyb20gdGhlIG5vdGlmaWNhdGlvbi5cbiAgICpcbiAgICogQGRlZmF1bHRWYWx1ZSB7QGxpbmsgTW9uaXRvck5vdGlmaWNhdGlvblByZXNldC5TSE9XX0FMTH1cbiAgICovXG4gIHJlYWRvbmx5IG1vbml0b3JOb3RpZmljYXRpb25QcmVzZXROYW1lPzogTW9uaXRvck5vdGlmaWNhdGlvblByZXNldDtcblxuICAvKipcbiAgICogVGltZSAoaW4gc2Vjb25kcykgdG8gc2tpcCBldmFsdWF0aW9ucyBmb3IgbmV3IGdyb3Vwcy4gRm9yIGV4YW1wbGUsIHRoaXMgb3B0aW9uIGNhbiBiZSB1c2VkIHRvIHNraXAgZXZhbHVhdGlvbnMgZm9yIG5ldyBob3N0cyB3aGlsZSB0aGV5IGluaXRpYWxpemUuIE11c3QgYmUgYSBub24gbmVnYXRpdmUgaW50ZWdlci5cbiAgICovXG4gIHJlYWRvbmx5IG5ld0dyb3VwRGVsYXk/OiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIExpc3Qgb2YgcmVxdWVzdHMgdGhhdCBjYW4gYmUgdXNlZCBpbiB0aGUgbW9uaXRvciBxdWVyeS5cbiAgICovXG4gIHJlYWRvbmx5IHZhcmlhYmxlcz86IG9iamVjdFtdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENmbkRhdGFkb2dNb25pdG9yVGhyZXNob2xkcyB7XG5cbiAgLyoqXG4gICAqIFRocmVzaG9sZCB2YWx1ZSBmb3IgdHJpZ2dlcmluZyBhbiBhbGVydFxuICAgKi9cbiAgcmVhZG9ubHkgY3JpdGljYWw/OiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIFRocmVzaG9sZCB2YWx1ZSBmb3IgcmVjb3ZlcmluZyBmcm9tIGFuIGFsZXJ0IHN0YXRlXG4gICAqL1xuICByZWFkb25seSBjcml0aWNhbFJlY292ZXJ5PzogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBUaHJlc2hvbGQgdmFsdWUgZm9yIHJlY292ZXJpbmcgZnJvbSBhbiBhbGVydCBzdGF0ZVxuICAgKi9cbiAgcmVhZG9ubHkgb2s/OiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIFRocmVzaG9sZCB2YWx1ZSBmb3IgdHJpZ2dlcmluZyBhIHdhcm5pbmdcbiAgICovXG4gIHJlYWRvbmx5IHdhcm5pbmc/OiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIFRocmVzaG9sZCB2YWx1ZSBmb3IgcmVjb3ZlcmluZyBmcm9tIGEgd2FybmluZyBzdGF0ZVxuICAgKi9cbiAgcmVhZG9ubHkgd2FybmluZ1JlY292ZXJ5PzogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENmbkRhdGFkb2dNb25pdG9yVGhyZXNob2xkV2luZG93cyB7XG5cbiAgLyoqXG4gICAqIEhvdyBsb25nIGEgbWV0cmljIG11c3QgYmUgYW5vbWFsb3VzIGJlZm9yZSB0cmlnZ2VyaW5nIGFuIGFsZXJ0XG4gICAqL1xuICByZWFkb25seSB0cmlnZ2VyV2luZG93Pzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBIb3cgbG9uZyBhbiBhbm9tYWxvdXMgbWV0cmljIG11c3QgYmUgbm9ybWFsIGJlZm9yZSByZWNvdmVyaW5nIGZyb20gYW4gYWxlcnQgc3RhdGVcbiAgICovXG4gIHJlYWRvbmx5IHJlY292ZXJ5V2luZG93Pzogc3RyaW5nO1xufVxuXG4vKipcbiAqIENvbmZpZ3VyYXRpb24gb3B0aW9ucyBmb3Igc2NoZWR1bGluZ1xuICovXG5leHBvcnQgaW50ZXJmYWNlIE1vbml0b3JTY2hlZHVsaW5nT3B0aW9ucyB7XG4gIHJlYWRvbmx5IGV2YWx1YXRpb25XaW5kb3c/OiBNb25pdG9yU2NoZWR1bGluZ09wdGlvbnNFdmFsdWF0aW9uV2luZG93O1xufVxuXG4vKipcbiAqIENvbmZpZ3VyYXRpb24gb3B0aW9ucyBmb3IgdGhlIGV2YWx1YXRpb24gd2luZG93LlxuICpcbiAqIElmIGBob3VyX3N0YXJ0c2AgaXMgc2V0LCBubyBvdGhlciBmaWVsZHMgbWF5IGJlIHNldC5cbiAqIE90aGVyd2lzZSwgYGRheV9zdGFydHNgIGFuZCBgbW9udGhfc3RhcnRzYCBtdXN0IGJlIHNldCB0b2dldGhlci5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBNb25pdG9yU2NoZWR1bGluZ09wdGlvbnNFdmFsdWF0aW9uV2luZG93IHtcblxuICAvKipcbiAgICogVGhlIHRpbWUgb2YgdGhlIGRheSBhdCB3aGljaCBhIG9uZSBkYXkgY3VtdWxhdGl2ZSBldmFsdWF0aW9uIHdpbmRvdyBzdGFydHMuXG4gICAqXG4gICAqIE11c3QgYmUgZGVmaW5lZCBpbiBVVEMgdGltZSBpbiBgSEg6bW1gIGZvcm1hdC5cbiAgICovXG4gIHJlYWRvbmx5IGRheVN0YXJ0cz86IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIGRheSBvZiB0aGUgbW9udGggYXQgd2hpY2ggYSBvbmUgbW9udGggY3VtdWxhdGl2ZSBldmFsdWF0aW9uIHdpbmRvdyBzdGFydHNcbiAgICovXG4gIHJlYWRvbmx5IG1vbnRoU3RhcnRzPzogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBUaGUgbWludXRlIG9mIHRoZSBob3VyIGF0IHdoaWNoIGEgb25lIGhvdXIgY3VtdWxhdGl2ZSBldmFsdWF0aW9uIHdpbmRvdyBzdGFydHNcbiAgICovXG4gIHJlYWRvbmx5IGhvdXJTdGFydHM/OiBudW1iZXI7XG59XG5cbi8qKlxuICogV3JhcHBlciBhcm91bmQgRGF0YWRvZydzIENsb3VkRm9ybWF0aW9uIGBEYXRhZG9nOjpNb25pdG9yczo6TW9uaXRvcmAgd2l0aCBzb21lIFJJTyBkZWZhdWx0cyBhcHBsaWVkLlxuICpcbiAqIFRvIHVzZSB0aGlzIHRoZSBEYXRhZG9nIHJlc291cmNlcyBoYXZlIHRvIGJlIHtAbGluayBodHRwczovL2RvY3MuZGF0YWRvZ2hxLmNvbS9pbnRlZ3JhdGlvbnMvZ3VpZGUvYW1hem9uX2Nsb3VkZm9ybWF0aW9uL1xuICogfGVuYWJsZWQgaW4gdGhlIENsb3VkRm9ybWF0aW9uIHJlZ2lzdHJ5fSBvZiB0aGUgY29ycmVzcG9uZGluZyBBV1MgYWNjb3VudC4gVXN1YWxseSB0aGlzIGlzIGRvbmVcbiAqIGF1dG9tYXRpY2FsbHkgYnkgdGhlIERhdGFkb2cgSW50ZWdyYXRpb25zIChhY2NvdW50IG1vZHVsZSBBTkQgU2VydmljZUNhdGFsb2cpIHByb3ZpZGVkIGJ5IENMQUlELlxuICovXG5leHBvcnQgY2xhc3MgRGF0YWRvZ01vbml0b3IgZXh0ZW5kcyBDb25zdHJ1Y3Qge1xuICAvKipcbiAgICogRGVmYXVsdCBwcmlvcml0eSBvZiBhIG1vbml0b3JcbiAgICovXG4gIHN0YXRpYyByZWFkb25seSBERUZBVUxUX1BSSU9SSVRZID0gNDtcblxuICByZWFkb25seSBuYW1lOiBzdHJpbmc7XG4gIHJlYWRvbmx5IHByaW9yaXR5OiBudW1iZXI7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBtb25pdG9yOiBjZGsuQ2ZuUmVzb3VyY2U7XG5cbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IERhdGFkb2dNb25pdG9yUHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQpO1xuICAgIHRoaXMucHJpb3JpdHkgPSBwcm9wcy5wcmlvcml0eSA/PyBEYXRhZG9nTW9uaXRvci5ERUZBVUxUX1BSSU9SSVRZO1xuICAgIHRoaXMubmFtZSA9IHByb3BzLm5hbWU7XG5cbiAgICBjb25zdCB0ZWFtTmFtZSA9IFJpb0xhbmRpbmdab25lLmdldFRlYW1OYW1lUGFyYW1ldGVyKHRoaXMpO1xuICAgIGNvbnN0IHRlYW1JZGVudGlmaWVyID0gUmlvTGFuZGluZ1pvbmUuZ2V0VGVhbUlkZW50aWZpZXJQYXJhbWV0ZXIodGhpcyk7XG4gICAgY29uc3QgYWNjb3VudE5hbWUgPSBSaW9MYW5kaW5nWm9uZS5nZXRBY2NvdW50TmFtZVBhcmFtZXRlcih0aGlzKTtcblxuICAgIGNvbnN0IG5vdGlmaWNhdGlvbiA9IHByb3BzLm5vdGlmaWNhdGlvbiA/IHByb3BzLm5vdGlmaWNhdGlvbiA6IG5ldyBEZWZhdWx0U2xhY2tOb3RpZmljYXRpb24oKTtcblxuICAgIGNvbnN0IGlzQXdzTWV0cmlrTW9uaXRvciA9IChwcm9wcy5tb25pdG9yVHlwZSA9PT0gRGF0YWRvZ01vbml0b3JRdWVyeUFsZXJ0VHlwZS5NRVRSSUNfQUxFUlQgfHwgcHJvcHMubW9uaXRvclR5cGUgPT09IERhdGFkb2dNb25pdG9yUXVlcnlBbGVydFR5cGUuUVVFUllfQUxFUlQpICYmIHByb3BzLnF1ZXJ5LmluZGV4T2YoJ2F3cy4nKSA+IC0xO1xuICAgIGNvbnN0IG9wdGlvbk92ZXJyaWRlcyA9IHtcbiAgICAgIC4uLnByb3BzLm9wdGlvbk92ZXJyaWRlcyxcbiAgICB9O1xuXG4gICAgaWYgKGlzQXdzTWV0cmlrTW9uaXRvciAmJiBvcHRpb25PdmVycmlkZXMuZXZhbHVhdGlvbkRlbGF5ID09PSB1bmRlZmluZWQpIHtcbiAgICAgIG9wdGlvbk92ZXJyaWRlcy5ldmFsdWF0aW9uRGVsYXkgPSA5MDA7XG4gICAgICBjb25zdCBhbm5vdGF0aW9ucyA9IGNkay5Bbm5vdGF0aW9ucy5vZihjZGsuU3RhY2sub2YodGhpcykpO1xuICAgICAgYW5ub3RhdGlvbnMuYWRkV2FybmluZ1YyKFxuICAgICAgICBgQHJpby1jbG91ZC9jZGstdjItY29uc3RydWN0cy9kYXRhZG9ndjIvRGF0YWRvZ01vbml0b3IvJHtpZH0vQ2xvdWRNZXRyaWNFdmFsdWF0aW9uRGVsYXlgLFxuICAgICAgICAnXFxuIOKdjCBZb3VyIG1vbml0b3IgaXMgYWxlcnRpbmcgb24gQ2xvdWQgTWV0cmljcyBidXQgeW91IGhhdmVuXFwndCBzZXQgYW4gXFwnb3B0aW9uT3ZlcnJpZGVzLmV2YWx1YXRpb25EZWxheVxcJy5cXG4g4pyFIEl0XFwncyBhdXRvbWF0aWNhbGx5IHNldCB0byAxNSBtaW51dGVzLCBidXQgcGxlYXNlIHByb3ZpZGUgYSBzdWl0YWJsZSB2YWx1ZSBvbiB5b3VyIG93bi5cXG4nLFxuICAgICAgKTtcbiAgICB9XG5cbiAgICAvLyBodHRwczovL2dpdGh1Yi5jb20vRGF0YURvZy9kYXRhZG9nLWNsb3VkZm9ybWF0aW9uLXJlc291cmNlcy9ibG9iL21hc3Rlci9kYXRhZG9nLW1vbml0b3JzLW1vbml0b3ItaGFuZGxlci9kYXRhZG9nLW1vbml0b3JzLW1vbml0b3IuanNvblxuICAgIHRoaXMubW9uaXRvciA9IG5ldyBjZGsuQ2ZuUmVzb3VyY2UodGhpcywgJ01vbml0b3InLCB7XG4gICAgICB0eXBlOiAnRGF0YWRvZzo6TW9uaXRvcnM6Ok1vbml0b3InLFxuICAgICAgcHJvcGVydGllczoge1xuICAgICAgICBUeXBlOiBwcm9wcy5tb25pdG9yVHlwZSxcbiAgICAgICAgUXVlcnk6IHByb3BzLnF1ZXJ5LFxuICAgICAgICBOYW1lOiBgJHt0ZWFtTmFtZS5zdHJpbmdWYWx1ZX0gJHtwcm9wcy5zZXJ2aWNlTmFtZX0gJHtwcm9wcy5uYW1lfWAsXG4gICAgICAgIE1lc3NhZ2U6IHRoaXMuY29uY2F0ZW5hdGVNZXNzYWdlKHsgbWVzc2FnZTogcHJvcHMubWVzc2FnZSwgbm90aWZpY2F0aW9uIH0pLFxuICAgICAgICBQcmlvcml0eTogdGhpcy5wcmlvcml0eSxcbiAgICAgICAgT3B0aW9uczogbWFwTW9uaXRvck9wdGlvbnMob3B0aW9uT3ZlcnJpZGVzKSxcbiAgICAgICAgVGFnczogW1xuICAgICAgICAgIC4uLihwcm9wcy5leHRyYVRhZ3MgPz8gW10pLFxuICAgICAgICAgIGBhY2NvdW50X2lkOiR7Y2RrLlN0YWNrLm9mKHRoaXMpLmFjY291bnR9YCxcbiAgICAgICAgICBgYWNjb3VudF9uYW1lOiR7YWNjb3VudE5hbWUuc3RyaW5nVmFsdWV9YCxcbiAgICAgICAgICBgc2VydmljZToke3Byb3BzLnNlcnZpY2VOYW1lfWAsXG4gICAgICAgICAgYHRlYW06JHt0ZWFtTmFtZS5zdHJpbmdWYWx1ZX1gLFxuICAgICAgICAgIGB0ZWFtX2lkZW50aWZpZXI6JHt0ZWFtSWRlbnRpZmllci5zdHJpbmdWYWx1ZX1gLFxuICAgICAgICBdLFxuICAgICAgfSxcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBPYnRhaW4gdGhlIG1vbml0b3JfaWQgYXMgdXNlZCBpbiBEYXRhZG9nXG4gICAqIFNlZSBodHRwczovL2RvY3MuZGF0YWRvZ2hxLmNvbS9hcGkvbGF0ZXN0L21vbml0b3JzLyNnZXQtYS1tb25pdG9ycy1kZXRhaWxzXG4gICAqXG4gICAqIFRoaXMgYWxsb3dzIHJlZmVyZW5jaW5nIHRoaXMgbW9uaXRvciBpbiBvdGhlciBjb25zdHJ1Y3RzL3Jlc291cmNlcyAoZS5nLiBTTE9zKVxuICAgKi9cbiAgZ2V0IG1vbml0b3JJZCgpIHtcbiAgICAvLyByZXR1cm4gUmVmIGFzIGl0IHJldHVybnMgdGhlIElkIGFzIHN0cmluZyBpbnN0ZWFkIG9mIHRoZSBHZXRBdHQoSWQpIHdpaGNoIHJldHVybnMgdGhlIGlkIGFzIG51bWJlclxuICAgIC8vIGh0dHBzOi8vbXktcmlvLnNsYWNrLmNvbS9hcmNoaXZlcy9DMDM0V0FHM1FVQS9wMTcwODQxOTg3MTM5ODk0OVxuICAgIHJldHVybiBjZGsuRm4ucmVmKHRoaXMubW9uaXRvci5sb2dpY2FsSWQpO1xuICB9XG5cbiAgcHJpdmF0ZSBjb25jYXRlbmF0ZU1lc3NhZ2UocHJvcHM6IHttZXNzYWdlOiBzdHJpbmc7IG5vdGlmaWNhdGlvbjogSU5vdGlmaWNhdGlvbn0pIHtcbiAgICByZXR1cm4gYCR7cHJvcHMubWVzc2FnZX1cXG5cXG4ke3Byb3BzLm5vdGlmaWNhdGlvbi5nZW5lcmF0ZU1lc3NhZ2VBbm5vdGF0aW9uKHRoaXMpfWA7XG4gIH1cblxufVxuXG5mdW5jdGlvbiBtYXBNb25pdG9yT3B0aW9ucyhzb3VyY2U6IENmbkRhdGFkb2dNb25pdG9yT3B0aW9ucyB8IHVuZGVmaW5lZCkge1xuICByZXR1cm4ge1xuICAgIEVuYWJsZUxvZ3NTYW1wbGU6IHNvdXJjZT8uZW5hYmxlTG9nc1NhbXBsZSxcbiAgICBFbmFibGVTYW1wbGVzOiBzb3VyY2U/LmVuYWJsZVNhbXBsZXMsXG4gICAgRXNjYWxhdGlvbk1lc3NhZ2U6IHNvdXJjZT8uZXNjYWxhdGlvbk1lc3NhZ2UsXG4gICAgRXZhbHVhdGlvbkRlbGF5OiBzb3VyY2U/LmV2YWx1YXRpb25EZWxheSxcbiAgICBHcm91cFJldGVudGlvbkR1cmF0aW9uOiBzb3VyY2U/Lmdyb3VwUmV0ZW50aW9uRHVyYXRpb24sXG4gICAgSW5jbHVkZVRhZ3M6IHNvdXJjZT8uaW5jbHVkZVRhZ3MgPz8gdHJ1ZSxcbiAgICBMb2NrZWQ6IHNvdXJjZT8ubG9ja2VkLFxuICAgIE1pbkxvY2F0aW9uRmFpbGVkOiBzb3VyY2U/Lm1pbkxvY2F0aW9uRmFpbGVkLFxuICAgIE5ld0hvc3REZWxheTogc291cmNlPy5uZXdIb3N0RGVsYXksXG4gICAgTm9EYXRhVGltZWZyYW1lOiBzb3VyY2U/Lm5vRGF0YVRpbWVmcmFtZSxcbiAgICBOb3RpZnlBdWRpdDogc291cmNlPy5ub3RpZnlBdWRpdCxcbiAgICBOb3RpZnlCeTogc291cmNlPy5ub3RpZnlCeSxcbiAgICBOb3RpZnlOb0RhdGE6IHNvdXJjZT8ubm90aWZ5Tm9EYXRhID8/IGZhbHNlLFxuICAgIFJlbm90aWZ5SW50ZXJ2YWw6IHNvdXJjZT8ucmVub3RpZnlJbnRlcnZhbCxcbiAgICBSZXF1aXJlRnVsbFdpbmRvdzogc291cmNlPy5yZXF1aXJlRnVsbFdpbmRvdyA/PyBmYWxzZSxcbiAgICBTY2hlZHVsaW5nT3B0aW9uczogbWFwU2NoZWR1bGluZ09wdGlvbnNQcm9wZXJ0aWVzKHNvdXJjZT8uc2NoZWR1bGluZ09wdGlvbnMpLFxuICAgIFN5bnRoZXRpY3NDaGVja0lEOiBzb3VyY2U/LnN5bnRoZXRpY3NDaGVja0lELFxuICAgIFRocmVzaG9sZHM6IG1hcFRocmVzaG9sZHNQcm9wZXJ0aWVzKHNvdXJjZT8udGhyZXNob2xkcyksXG4gICAgVGhyZXNob2xkV2luZG93czogbWFwVGhyZXNob2xkV2luZG93c1Byb3BlcnRpZXMoc291cmNlPy50aHJlc2hvbGRXaW5kb3dzKSxcbiAgICBNb25pdG9yTm90aWZpY2F0aW9uUHJlc2V0TmFtZTogc291cmNlPy5tb25pdG9yTm90aWZpY2F0aW9uUHJlc2V0TmFtZSxcbiAgICBUaW1lb3V0SDogc291cmNlPy50aW1lb3V0SCxcbiAgICBSZW5vdGlmeU9jY3VycmVuY2VzOiBzb3VyY2U/LnJlbm90aWZ5T2NjdXJyZW5jZXMsXG4gICAgUmVub3RpZnlTdGF0dXNlczogc291cmNlPy5yZW5vdGlmeVN0YXR1c2VzLFxuICAgIE1pbkZhaWx1cmVEdXJhdGlvbjogc291cmNlPy5taW5GYWlsdXJlRHVyYXRpb24sXG4gICAgTmV3R3JvdXBEZWxheTogc291cmNlPy5uZXdHcm91cERlbGF5LFxuICAgIFZhcmlhYmxlczogc291cmNlPy52YXJpYWJsZXMsXG4gICAgT25NaXNzaW5nRGF0YTogc291cmNlPy5vbk1pc3NpbmdEYXRhLFxuICB9O1xufTtcblxuZnVuY3Rpb24gbWFwU2NoZWR1bGluZ09wdGlvbnNQcm9wZXJ0aWVzKHNvdXJjZTogTW9uaXRvclNjaGVkdWxpbmdPcHRpb25zIHwgdW5kZWZpbmVkKSB7XG4gIHJldHVybiBzb3VyY2UgPyB7XG4gICAgRXZhbHVhdGlvbldpbmRvdzogbWFwU2NoZWR1bGluZ09wdGlvbnNFdmFsdWF0aW9uV2luZG93UHJvcGVydGllcyhzb3VyY2UuZXZhbHVhdGlvbldpbmRvdyksXG4gIH0gOiB1bmRlZmluZWQ7XG59XG5cbmZ1bmN0aW9uIG1hcFNjaGVkdWxpbmdPcHRpb25zRXZhbHVhdGlvbldpbmRvd1Byb3BlcnRpZXMoc291cmNlOiBNb25pdG9yU2NoZWR1bGluZ09wdGlvbnNFdmFsdWF0aW9uV2luZG93IHwgdW5kZWZpbmVkKSB7XG4gIHJldHVybiBzb3VyY2UgPyB7XG4gICAgRGF5U3RhcnRzOiBzb3VyY2UuZGF5U3RhcnRzLFxuICAgIE1vbnRoU3RhcnRzOiBzb3VyY2UubW9udGhTdGFydHMsXG4gICAgSG91clN0YXJ0czogc291cmNlLmhvdXJTdGFydHMsXG4gIH0gOiB1bmRlZmluZWQ7XG59XG5cbmZ1bmN0aW9uIG1hcFRocmVzaG9sZHNQcm9wZXJ0aWVzKHNvdXJjZTogQ2ZuRGF0YWRvZ01vbml0b3JUaHJlc2hvbGRzIHwgdW5kZWZpbmVkKSB7XG4gIHJldHVybiBzb3VyY2UgPyB7XG4gICAgQ3JpdGljYWw6IHNvdXJjZS5jcml0aWNhbCxcbiAgICBDcml0aWNhbFJlY292ZXJ5OiBzb3VyY2UuY3JpdGljYWxSZWNvdmVyeSxcbiAgICBPSzogc291cmNlLm9rLFxuICAgIFdhcm5pbmc6IHNvdXJjZS53YXJuaW5nLFxuICAgIFdhcm5pbmdSZWNvdmVyeTogc291cmNlLndhcm5pbmdSZWNvdmVyeSxcbiAgfSA6IHVuZGVmaW5lZDtcbn1cblxuZnVuY3Rpb24gbWFwVGhyZXNob2xkV2luZG93c1Byb3BlcnRpZXMoc291cmNlOiBDZm5EYXRhZG9nTW9uaXRvclRocmVzaG9sZFdpbmRvd3MgfCB1bmRlZmluZWQpIHtcbiAgcmV0dXJuIHNvdXJjZSA/IHtcbiAgICBUcmlnZ2VyV2luZG93OiBzb3VyY2UudHJpZ2dlcldpbmRvdyxcbiAgICBSZWNvdmVyeVdpbmRvdzogc291cmNlLnJlY292ZXJ5V2luZG93LFxuICB9IDogdW5kZWZpbmVkO1xufVxuIl19
196
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YWRvZy1tb25pdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2RhdGFkb2d2Mi9kYXRhZG9nLW1vbml0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxtQ0FBbUM7QUFDbkMsMkNBQXVDO0FBQ3ZDLGlFQUFpRjtBQUNqRiwwREFBcUQ7QUFFckQ7Ozs7R0FJRztBQUNILElBQVksNEJBaUJYO0FBakJELFdBQVksNEJBQTRCO0lBQ3RDLDJEQUEyQixDQUFBO0lBQzNCLHVEQUF1QixDQUFBO0lBQ3ZCLDJEQUEyQixDQUFBO0lBQzNCLGtFQUFrQyxDQUFBO0lBQ2xDLHVEQUF1QixDQUFBO0lBQ3ZCLDZEQUE2QixDQUFBO0lBQzdCLCtEQUErQixDQUFBO0lBQy9CLDJEQUEyQixDQUFBO0lBQzNCLCtEQUErQixDQUFBO0lBQy9CLHFFQUFxQyxDQUFBO0lBQ3JDLCtFQUErQyxDQUFBO0lBQy9DLHVEQUF1QixDQUFBO0lBQ3ZCLHVEQUF1QixDQUFBO0lBQ3ZCLHlFQUF5QyxDQUFBO0lBQ3pDLDZFQUE2QyxDQUFBO0lBQzdDLGlFQUFpQyxDQUFBO0FBQ25DLENBQUMsRUFqQlcsNEJBQTRCLDRDQUE1Qiw0QkFBNEIsUUFpQnZDO0FBcUVEOzs7O0dBSUc7QUFDSCxJQUFZLGdCQUlYO0FBSkQsV0FBWSxnQkFBZ0I7SUFDMUIsbUNBQWUsQ0FBQTtJQUNmLHVDQUFtQixDQUFBO0lBQ25CLGlDQUFhLENBQUE7QUFDZixDQUFDLEVBSlcsZ0JBQWdCLGdDQUFoQixnQkFBZ0IsUUFJM0I7QUFFRDs7OztHQUlHO0FBQ0gsSUFBWSx5QkFLWDtBQUxELFdBQVkseUJBQXlCO0lBQ25DLGtEQUFxQixDQUFBO0lBQ3JCLHNEQUF5QixDQUFBO0lBQ3pCLDBEQUE2QixDQUFBO0lBQzdCLGtEQUFxQixDQUFBO0FBQ3ZCLENBQUMsRUFMVyx5QkFBeUIseUNBQXpCLHlCQUF5QixRQUtwQztBQUVEOzs7O0dBSUc7QUFDSCxJQUFZLG9CQUtY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QXVCLENBQUMsTUFBK0M7SUFDOUUsT0FBTyxNQUFNLENBQUMsQ0FBQyxDQUFDO1FBQ2QsUUFBUSxFQUFFLE1BQU0sQ0FBQyxRQUFRO1FBQ3pCLGdCQUFnQixFQUFFLE1BQU0sQ0FBQyxnQkFBZ0I7UUFDekMsRUFBRSxFQUFFLE1BQU0sQ0FBQyxFQUFFO1FBQ2IsT0FBTyxFQUFFLE1BQU0sQ0FBQyxPQUFPO1FBQ3ZCLGVBQWUsRUFBRSxNQUFNLENBQUMsZUFBZTtLQUN4QyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7QUFDaEIsQ0FBQztBQUVELFNBQVMsNkJBQTZCLENBQUMsTUFBcUQ7SUFDMUYsT0FBTyxNQUFNLENBQUMsQ0FBQyxDQUFDO1FBQ2QsYUFBYSxFQUFFLE1BQU0sQ0FBQyxhQUFhO1FBQ25DLGNBQWMsRUFBRSxNQUFNLENBQUMsY0FBYztLQUN0QyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7QUFDaEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIGNkayBmcm9tICdhd3MtY2RrLWxpYic7XG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tICdjb25zdHJ1Y3RzJztcbmltcG9ydCB7IERlZmF1bHRTbGFja05vdGlmaWNhdGlvbiwgSU5vdGlmaWNhdGlvbiB9IGZyb20gJy4vZGF0YWRvZy1ub3RpZmljYXRpb24nO1xuaW1wb3J0IHsgUmlvTGFuZGluZ1pvbmUgfSBmcm9tICcuLi9yaW8tbGFuZGluZy16b25lJztcblxuLyoqXG4gKiBXZWxsIGtub3duIG1vbml0b3IgdHlwZXMgc3VwcG9ydGVkIGJ5IERhdGFkb2cuXG4gKlxuICogQHNlZSBodHRwczovL2RvY3MuZGF0YWRvZ2hxLmNvbS9tb25pdG9ycy90eXBlcy9cbiAqL1xuZXhwb3J0IGVudW0gRGF0YWRvZ01vbml0b3JRdWVyeUFsZXJ0VHlwZSB7XG4gIEFVRElUX0FMRVJUID0gJ2F1ZGl0IGFsZXJ0JyxcbiAgQ09NUE9TSVRFID0gJ2NvbXBvc2l0ZScsXG4gIEVWRU5UX0FMRVJUID0gJ2V2ZW50IGFsZXJ0JyxcbiAgRVZFTlRfVl8yX0FMRVJUID0gJ2V2ZW50LXYyIGFsZXJ0JyxcbiAgTE9HX0FMRVJUID0gJ2xvZyBhbGVydCcsXG4gIE1FVFJJQ19BTEVSVCA9ICdtZXRyaWMgYWxlcnQnLFxuICBQUk9DRVNTX0FMRVJUID0gJ3Byb2Nlc3MgYWxlcnQnLFxuICBRVUVSWV9BTEVSVCA9ICdxdWVyeSBhbGVydCcsXG4gIFNFUlZJQ0VfQ0hFQ0sgPSAnc2VydmljZSBjaGVjaycsXG4gIFNZTlRIRVRJQ1NfQUxFUlQgPSAnc3ludGhldGljcyBhbGVydCcsXG4gIFRSQUNFX0FOQUxZVElDU19BTEVSVCA9ICd0cmFjZS1hbmFseXRpY3MgYWxlcnQnLFxuICBTTE9fQUxFUlQgPSAnc2xvIGFsZXJ0JyxcbiAgUlVNX0FMRVJUID0gJ3J1bSBhbGVydCcsXG4gIENJX1BJUEVMSU5FU19BTEVSVCA9ICdjaS1waXBlbGluZXMgYWxlcnQnLFxuICBFUlJPUl9UUkFDS0lOR19BTEVSVCA9ICdlcnJvci10cmFja2luZyBhbGVydCcsXG4gIENJX1RFU1RTX0FMRVJUID0gJ2NpLXRlc3RzIGFsZXJ0Jyxcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIG9mIHtAbGluayBEYXRhZG9nTW9uaXRvcn1cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBEYXRhZG9nTW9uaXRvclByb3BzIHtcblxuICAvKipcbiAgICogQSBuYW1lIHN1ZmZpeCB0byBiZSBhcHBlbmRlZCB0byB0aGUgbW9uaXRvcnMgbmFtZS5cbiAgICpcbiAgICogVGhlIG1vbml0b3IgbmFtZSBpcyBjb25jYXRlbmF0ZWQgZm9ybSBgPFRlYW1OYW1lPiA8c2VydmljZU5hbWUgcHJvcGVydHk+IDxuYW1lIHByb3BlcnR5PmBcbiAgICovXG4gIHJlYWRvbmx5IG5hbWU6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIG5hbWUgb2YgdGhlIHNlcnZpY2UgdG8gd2hpY2ggdGhlIG1vbml0b3IgYmVsb25ncy5cbiAgICpcbiAgICogVXNlZCB0byBnZW5lcmF0ZSB0aGUgbW9uaXRvciBuYW1lIGFzIHdlbGwgYSBhcHBseSB0aGUgYHNlcnZpY2VgIHRhZy5cbiAgICovXG4gIHJlYWRvbmx5IHNlcnZpY2VOYW1lOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBtb25pdG9ycyB0eXBlXG4gICAqXG4gICAqIEBzZWUgaHR0cHM6Ly9kb2NzLmRhdGFkb2docS5jb20vbW9uaXRvcnMvdHlwZXMvXG4gICAqL1xuICByZWFkb25seSBtb25pdG9yVHlwZTogRGF0YWRvZ01vbml0b3JRdWVyeUFsZXJ0VHlwZTtcblxuICAvKipcbiAgICogVGhlIG1vbml0b3JzIHNlYXJjaCBxdWVyeVxuICAgKlxuICAgKiBAc2VlIGh0dHBzOi8vZG9jcy5kYXRhZG9naHEuY29tL21vbml0b3JzL2NvbmZpZ3VyYXRpb24vI2RlZmluZS10aGUtc2VhcmNoLXF1ZXJ5XG4gICAqL1xuICByZWFkb25seSBxdWVyeTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgbWVzc2FnZSBwYXR0ZXJuIGZvciB0aGUgbW9uaXRvclxuICAgKlxuICAgKiBAc2VlIGh0dHBzOi8vZG9jcy5kYXRhZG9naHEuY29tL21vbml0b3JzL2NvbmZpZ3VyYXRpb24vI21lc3NhZ2VcbiAgICovXG4gIHJlYWRvbmx5IG1lc3NhZ2U6IHN0cmluZztcblxuICAvKipcbiAgICogVG8gZXhwbGljaXRseSBkaXNhYmxlIG5vdGlmaWNhdGlvbnMgdXNlIHtAbGluayBOb05vdGlmaWNhdGlvbn0uXG4gICAqXG4gICAqIEBkZWZhdWx0VmFsdWUge0BsaW5rIERlZmF1bHRTbGFja05vdGlmaWNhdGlvbn1cbiAgICpcbiAgICogQHNlZSBodHRwczovL2RvY3MuZGF0YWRvZ2hxLmNvbS9tb25pdG9ycy9ub3RpZnlcbiAgICovXG4gIHJlYWRvbmx5IG5vdGlmaWNhdGlvbj86IElOb3RpZmljYXRpb247XG5cbiAgLyoqXG4gICAqIFRoZSBhbGVydCBwcmlvcml0eSBvZiB0aGUgbW9uaXRvclxuICAgKlxuICAgKiBAZGVmYXVsdFZhbHVlIDRcbiAgICovXG4gIHJlYWRvbmx5IHByaW9yaXR5PzogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBTcGVjaWZpYyBvcHRpb25zIHRvIG92ZXJyaWRlIHRoZSBkZWZhdWx0IG1vbml0b3Igb3B0aW9ucy5cbiAgICovXG4gIHJlYWRvbmx5IG9wdGlvbk92ZXJyaWRlcz86IENmbkRhdGFkb2dNb25pdG9yT3B0aW9ucztcblxuICAvKipcbiAgICogVGFncyB0byBiZSBhcHBlbmRlZCB0byB0aGUgbW9uaXRvciBpbiBhZGRpdGlvbiB0byB0aGUgUklPIGRlZmF1bHQgdGFnc1xuICAgKi9cbiAgcmVhZG9ubHkgZXh0cmFUYWdzPzogc3RyaW5nW107XG59XG5cbi8qKlxuICogV2VsbCBrbm93biByZW5vdGlmaWNhdGlvbiBzZXR0aW5ncyBzdXBwb3J0ZWQgYnkgRGF0YWRvZy5cbiAqXG4gKiBAc2VlIGh0dHBzOi8vZG9jcy5kYXRhZG9naHEuY29tL21vbml0b3JzL25vdGlmeS8jcmVub3RpZnlcbiAqL1xuZXhwb3J0IGVudW0gUmVub3RpZnlTdGF0dXNlcyB7XG4gIEFMRVJUID0gJ2FsZXJ0JyxcbiAgTk9fREFUQSA9ICdubyBkYXRhJyxcbiAgV0FSTiA9ICd3YXJuJ1xufVxuXG4vKipcbiAqIFdlbGwga25vd24gbm90aWZpY2F0aW9uIHByZXNldHMgc3VwcG9ydGVkIGJ5IERhdGFkb2cuXG4gKlxuICogQHNlZSBodHRwczovL2dpdGh1Yi5jb20vRGF0YURvZy9kYXRhZG9nLWNsb3VkZm9ybWF0aW9uLXJlc291cmNlcy9ibG9iL21hc3Rlci9kYXRhZG9nLW1vbml0b3JzLW1vbml0b3ItaGFuZGxlci9kYXRhZG9nLW1vbml0b3JzLW1vbml0b3IuanNvblxuICovXG5leHBvcnQgZW51bSBNb25pdG9yTm90aWZpY2F0aW9uUHJlc2V0IHtcbiAgU0hPV19BTEwgPSAnc2hvd19hbGwnLFxuICBISURFX1FVRVJZID0gJ2hpZGVfcXVlcnknLFxuICBISURFX0hBTkRMRVMgPSAnaGlkZV9oYW5kbGVzJyxcbiAgSElERV9BTEwgPSAnaGlkZV9hbGwnLFxufVxuXG4vKipcbiAqIE9wdGlvbnMgZm9yIG9uTWlzc2luZ0RhdGEgc3VwcG9ydGVkIGJ5IERhdGFkb2cuXG4gKlxuICogQHNlZSBodHRwczovL2dpdGh1Yi5jb20vRGF0YURvZy9kYXRhZG9nLWNsb3VkZm9ybWF0aW9uLXJlc291cmNlcy9ibG9iL21hc3Rlci9kYXRhZG9nLW1vbml0b3JzLW1vbml0b3ItaGFuZGxlci9kYXRhZG9nLW1vbml0b3JzLW1vbml0b3IuanNvblxuICovXG5leHBvcnQgZW51bSBNb25pdG9yT25NaXNzaW5nRGF0YSB7XG4gIERFRkFVTFQgPSAnZGVmYXVsdCcsXG4gIFNIT1dfTk9fREFUQSA9ICdzaG93X25vX2RhdGEnLFxuICBTSE9XX0FORF9OT1RJRllfTk9fREFUQSA9ICdzaG93X2FuZF9ub3RpZnlfbm9fZGF0YScsXG4gIFJFU09MVkUgPSAncmVzb2x2ZScsXG59XG5cbi8qKlxuICogT3B0aW9ucyB0byBvdmVycmlkZSBmb3IgRGF0YWRvZyBtb25pdG9ycyBpbiBjYXNlIG1vcmUgc3BlY2lmaWMgc2V0dGluZ3MgYXJlIHJlcXVpcmVkLlxuICpcbiAqIHtAbGluayBodHRwczovL2dpdGh1Yi5jb20vRGF0YURvZy9kYXRhZG9nLWNsb3VkZm9ybWF0aW9uLXJlc291cmNlcy9ibG9iL21hc3Rlci9kYXRhZG9nLW1vbml0b3JzLW1vbml0b3ItaGFuZGxlci9kYXRhZG9nLW1vbml0b3JzLW1vbml0b3IuanNvbn1cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBDZm5EYXRhZG9nTW9uaXRvck9wdGlvbnMge1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIG9yIG5vdCB0byBpbmNsdWRlIGEgc2FtcGxlIG9mIHRoZSBsb2dzXG4gICAqL1xuICByZWFkb25seSBlbmFibGVMb2dzU2FtcGxlPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogV2hldGhlciBvciBub3QgdG8gc2VuZCBhIGxpc3Qgb2Ygc2FtcGxlcyB3aGVuIHRoZSBtb25pdG9yIHRyaWdnZXJzLlxuICAgKlxuICAgKiBUaGlzIGlzIG9ubHkgdXNlZCBieSBDSSBUZXN0IGFuZCBQaXBlbGluZSBtb25pdG9ycy5cbiAgICovXG4gIHJlYWRvbmx5IGVuYWJsZVNhbXBsZXM/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBNZXNzYWdlIHRvIGluY2x1ZGUgd2l0aCBhIHJlLW5vdGlmaWNhdGlvbiB3aGVuIHJlbm90aWZ5X2ludGVydmFsIGlzIHNldFxuICAgKi9cbiAgcmVhZG9ubHkgZXNjYWxhdGlvbk1lc3NhZ2U/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRpbWUgaW4gc2Vjb25kcyB0byBkZWxheSBldmFsdWF0aW9uXG4gICAqXG4gICAqL1xuICByZWFkb25seSBldmFsdWF0aW9uRGVsYXk/OiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIFRoZSB0aW1lIHNwYW4gYWZ0ZXIgd2hpY2ggZ3JvdXBzIHdpdGggbWlzc2luZyBkYXRhIGFyZSBkcm9wcGVkIGZyb20gdGhlIG1vbml0b3Igc3RhdGUuXG4gICAqXG4gICAqIFRoZSBtaW5pbXVtIHZhbHVlIGlzIG9uZSBob3VyLCBhbmQgdGhlIG1heGltdW0gdmFsdWUgaXMgNzIgaG91cnMuXG4gICAqIEV4YW1wbGUgdmFsdWVzIGFyZTogXCI2MG1cIiwgXCIxaFwiLCBhbmQgXCIyZFwiLlxuICAgKiBUaGlzIG9wdGlvbiBpcyBvbmx5IGF2YWlsYWJsZSBmb3IgQVBNIFRyYWNlIEFuYWx5dGljcywgQXVkaXQgVHJhaWwsIENJLCBFcnJvciBUcmFja2luZywgRXZlbnQsIExvZ3MsIGFuZCBSVU0gbW9uaXRvcnMuXG4gICAqL1xuICByZWFkb25seSBncm91cFJldGVudGlvbkR1cmF0aW9uPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIG9yIG5vdCB0byBpbmNsdWRlIHRyaWdnZXJpbmcgdGFncyBpbnRvIG5vdGlmaWNhdGlvbiB0aXRsZSdcbiAgICpcbiAgICogQGRlZmF1bHRWYWx1ZSB0cnVlXG4gICAqL1xuICByZWFkb25seSBpbmNsdWRlVGFncz86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgb3Igbm90IGNoYW5nZXMgdG8gdGhpcyBtb25pdG9yIHNob3VsZCBiZSByZXN0cmljdGVkIHRvIHRoZSBjcmVhdG9yIG9yIGFkbWluc1xuICAgKi9cbiAgcmVhZG9ubHkgbG9ja2VkPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogTnVtYmVyIG9mIGxvY2F0aW9ucyBhbGxvd2VkIHRvIGZhaWwgYmVmb3JlIHRyaWdnZXJpbmcgYWxlcnRcbiAgICovXG4gIHJlYWRvbmx5IG1pbkxvY2F0aW9uRmFpbGVkPzogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBUaW1lIGluIHNlY29uZHMgdG8gYWxsb3cgYSBob3N0IHRvIHN0YXJ0IHJlcG9ydGluZyBkYXRhIGJlZm9yZSBzdGFydGluZyB0aGUgZXZhbHVhdGlvbiBvZiBtb25pdG9yIHJlc3VsdHNcbiAgICovXG4gIHJlYWRvbmx5IG5ld0hvc3REZWxheT86IG51bWJlcjtcblxuICAvKipcbiAgICogTnVtYmVyIG9mIG1pbnV0ZXMgZGF0YSBzdG9wcGVkIHJlcG9ydGluZyBiZWZvcmUgbm90aWZ5aW5nXG4gICAqL1xuICByZWFkb25seSBub0RhdGFUaW1lZnJhbWU/OiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgb3Igbm90IHRvIG5vdGlmeSB0YWdnZWQgdXNlcnMgd2hlbiBjaGFuZ2VzIGFyZSBtYWRlIHRvIHRoZSBtb25pdG9yXG4gICAqL1xuICByZWFkb25seSBub3RpZnlBdWRpdD86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIENvbnRyb2xzIHdoYXQgZ3JhbnVsYXJpdHkgYSBtb25pdG9yIGFsZXJ0cyBvbi5cbiAgICpcbiAgICogT25seSBhdmFpbGFibGUgZm9yIG1vbml0b3JzIHdpdGggZ3JvdXBpbmdzLlxuICAgKiBGb3IgaW5zdGFuY2UsIGEgbW9uaXRvciBncm91cGVkIGJ5IGBjbHVzdGVyYCwgYG5hbWVzcGFjZWAsIGFuZCBgcG9kYCBjYW4gYmUgY29uZmlndXJlZCB0byBvbmx5IG5vdGlmeSBvbiBlYWNoIG5ldyBgY2x1c3RlcmAgdmlvbGF0aW5nIHRoZSBhbGVydCBjb25kaXRpb25zIGJ5IHNldHRpbmcgYG5vdGlmeV9ieWAgdG8gYFtcImNsdXN0ZXJcIl1gLlxuICAgKiBUYWdzIG1lbnRpb25lZCBpbiBgbm90aWZ5X2J5YCBtdXN0IGJlIGEgc3Vic2V0IG9mIHRoZSBncm91cGluZyB0YWdzIGluIHRoZSBxdWVyeS5cbiAgICogRm9yIGV4YW1wbGUsIGEgcXVlcnkgZ3JvdXBlZCBieSBgY2x1c3RlcmAgYW5kIGBuYW1lc3BhY2VgIGNhbm5vdCBub3RpZnkgb24gYHJlZ2lvbmAuXG4gICAqIFNldHRpbmcgYG5vdGlmeV9ieWAgdG8gYFsqXWAgY29uZmlndXJlcyB0aGUgbW9uaXRvciB0byBub3RpZnkgYXMgYSBzaW1wbGUtYWxlcnQuXG4gICAqL1xuICByZWFkb25seSBub3RpZnlCeT86IHN0cmluZ1tdO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIG9yIG5vdCB0byBub3RpZnkgd2hlbiBkYXRhIHN0b3BzIHJlcG9ydGluZ1xuICAgKlxuICAgKiBAZGVmYXVsdFZhbHVlIGZhbHNlXG4gICAqL1xuICByZWFkb25seSBub3RpZnlOb0RhdGE/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBDb250cm9scyBob3cgZ3JvdXBzIG9yIG1vbml0b3JzIGFyZSB0cmVhdGVkIGlmIGFuIGV2YWx1YXRpb24gZG9lcyBub3QgcmV0dXJuIGFueSBkYXRhIHBvaW50cy5cbiAgICpcbiAgICogVGhlIGRlZmF1bHQgb3B0aW9uIHJlc3VsdHMgaW4gZGlmZmVyZW50IGJlaGF2aW9yIGRlcGVuZGluZyBvbiB0aGUgbW9uaXRvciBxdWVyeSB0eXBlLlxuICAgKiBGb3IgbW9uaXRvcnMgdXNpbmcgQ291bnQgcXVlcmllcywgYW4gZW1wdHkgbW9uaXRvciBldmFsdWF0aW9uIGlzIHRyZWF0ZWQgYXMgMCBhbmQgaXMgY29tcGFyZWQgdG8gdGhlIHRocmVzaG9sZCBjb25kaXRpb25zLlxuICAgKiBGb3IgbW9uaXRvcnMgdXNpbmcgYW55IHF1ZXJ5IHR5cGUgb3RoZXIgdGhhbiBDb3VudCwgZm9yIGV4YW1wbGUgR2F1Z2UsIE1lYXN1cmUsIG9yIFJhdGUsIHRoZSBtb25pdG9yIHNob3dzIHRoZSBsYXN0IGtub3duIHN0YXR1cy5cbiAgICogVGhpcyBvcHRpb24gaXMgb25seSBhdmFpbGFibGUgZm9yIEFQTSBUcmFjZSBBbmFseXRpY3MsIEF1ZGl0IFRyYWlsLCBDSSwgRXJyb3IgVHJhY2tpbmcsIEV2ZW50LCBMb2dzLCBhbmQgUlVNIG1vbml0b3JzLlxuICAgKi9cbiAgcmVhZG9ubHkgb25NaXNzaW5nRGF0YT86IE1vbml0b3JPbk1pc3NpbmdEYXRhO1xuXG4gIC8qKlxuICAgKiBOdW1iZXIgb2YgbWludXRlcyBhZnRlciB0aGUgbGFzdCBub3RpZmljYXRpb24gYmVmb3JlIHRoZSBtb25pdG9yIHJlLW5vdGlmaWVzIG9uIHRoZSBjdXJyZW50IHN0YXR1c1xuICAgKi9cbiAgcmVhZG9ubHkgcmVub3RpZnlJbnRlcnZhbD86IG51bWJlcjtcblxuICAvKipcbiAgICogV2hldGhlciBvciBub3QgdGhlIG1vbml0b3IgcmVxdWlyZXMgYSBmdWxsIHdpbmRvdyBvZiBkYXRhIGJlZm9yZSBpdCBpcyBldmFsdWF0ZWRcbiAgICpcbiAgICogQGRlZmF1bHRWYWx1ZSBmYWxzZVxuICAgKi9cbiAgcmVhZG9ubHkgcmVxdWlyZUZ1bGxXaW5kb3c/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBDb25maWd1cmF0aW9uIG9wdGlvbnMgZm9yIHNjaGVkdWxpbmdcbiAgICovXG4gIHJlYWRvbmx5IHNjaGVkdWxpbmdPcHRpb25zPzogTW9uaXRvclNjaGVkdWxpbmdPcHRpb25zO1xuXG4gIC8qKlxuICAgKiBJRCBvZiB0aGUgY29ycmVzcG9uZGluZyBzeW50aGV0aWNzIGNoZWNrXG4gICAqL1xuICByZWFkb25seSBzeW50aGV0aWNzQ2hlY2tJRD86IG51bWJlcjtcblxuICByZWFkb25seSB0aHJlc2hvbGRzPzogQ2ZuRGF0YWRvZ01vbml0b3JUaHJlc2hvbGRzO1xuXG4gIHJlYWRvbmx5IHRocmVzaG9sZFdpbmRvd3M/OiBDZm5EYXRhZG9nTW9uaXRvclRocmVzaG9sZFdpbmRvd3M7XG5cbiAgLyoqXG4gICAqIE51bWJlciBvZiBob3VycyBvZiB0aGUgbW9uaXRvciBub3QgcmVwb3J0aW5nIGRhdGEgYmVmb3JlIGl0IGF1dG9tYXRpY2FsbHkgcmVzb2x2ZXNcbiAgICovXG4gIHJlYWRvbmx5IHRpbWVvdXRIPzogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBUaGUgbnVtYmVyIG9mIHRpbWVzIHJlLW5vdGlmaWNhdGlvbiBtZXNzYWdlcyBzaG91bGQgYmUgc2VudCBvbiB0aGUgY3VycmVudCBzdGF0dXMgYXQgdGhlIHByb3ZpZGVkIHJlLW5vdGlmaWNhdGlvbiBpbnRlcnZhbC5cbiAgICovXG4gIHJlYWRvbmx5IHJlbm90aWZ5T2NjdXJyZW5jZXM/OiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIFRoZSB0eXBlcyBvZiBtb25pdG9yIHN0YXR1c2VzIGZvciB3aGljaCByZS1ub3RpZmljYXRpb24gbWVzc2FnZXMgYXJlIHNlbnQuXG4gICAqL1xuICByZWFkb25seSByZW5vdGlmeVN0YXR1c2VzPzogUmVub3RpZnlTdGF0dXNlc1tdO1xuXG4gIC8qKlxuICAgKiBIb3cgbG9uZyB0aGUgdGVzdCBzaG91bGQgYmUgaW4gZmFpbHVyZSBiZWZvcmUgYWxlcnRpbmcgKGludGVnZXIsIG51bWJlciBvZiBzZWNvbmRzLCBtYXggNzIwMCkuXG4gICAqL1xuICByZWFkb25seSBtaW5GYWlsdXJlRHVyYXRpb24/OiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIENvbnRyb2xzIHdoaWNoIGluZm9ybWF0aW9uIHNob3VsZCBiZSBhZGRlZC9sZXR0IG91dCBmcm9tIHRoZSBub3RpZmljYXRpb24uXG4gICAqXG4gICAqIEBkZWZhdWx0VmFsdWUge0BsaW5rIE1vbml0b3JOb3RpZmljYXRpb25QcmVzZXQuU0hPV19BTEx9XG4gICAqL1xuICByZWFkb25seSBtb25pdG9yTm90aWZpY2F0aW9uUHJlc2V0TmFtZT86IE1vbml0b3JOb3RpZmljYXRpb25QcmVzZXQ7XG5cbiAgLyoqXG4gICAqIFRpbWUgKGluIHNlY29uZHMpIHRvIHNraXAgZXZhbHVhdGlvbnMgZm9yIG5ldyBncm91cHMuIEZvciBleGFtcGxlLCB0aGlzIG9wdGlvbiBjYW4gYmUgdXNlZCB0byBza2lwIGV2YWx1YXRpb25zIGZvciBuZXcgaG9zdHMgd2hpbGUgdGhleSBpbml0aWFsaXplLiBNdXN0IGJlIGEgbm9uIG5lZ2F0aXZlIGludGVnZXIuXG4gICAqL1xuICByZWFkb25seSBuZXdHcm91cERlbGF5PzogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBMaXN0IG9mIHJlcXVlc3RzIHRoYXQgY2FuIGJlIHVzZWQgaW4gdGhlIG1vbml0b3IgcXVlcnkuXG4gICAqL1xuICByZWFkb25seSB2YXJpYWJsZXM/OiBvYmplY3RbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDZm5EYXRhZG9nTW9uaXRvclRocmVzaG9sZHMge1xuXG4gIC8qKlxuICAgKiBUaHJlc2hvbGQgdmFsdWUgZm9yIHRyaWdnZXJpbmcgYW4gYWxlcnRcbiAgICovXG4gIHJlYWRvbmx5IGNyaXRpY2FsPzogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBUaHJlc2hvbGQgdmFsdWUgZm9yIHJlY292ZXJpbmcgZnJvbSBhbiBhbGVydCBzdGF0ZVxuICAgKi9cbiAgcmVhZG9ubHkgY3JpdGljYWxSZWNvdmVyeT86IG51bWJlcjtcblxuICAvKipcbiAgICogVGhyZXNob2xkIHZhbHVlIGZvciByZWNvdmVyaW5nIGZyb20gYW4gYWxlcnQgc3RhdGVcbiAgICovXG4gIHJlYWRvbmx5IG9rPzogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBUaHJlc2hvbGQgdmFsdWUgZm9yIHRyaWdnZXJpbmcgYSB3YXJuaW5nXG4gICAqL1xuICByZWFkb25seSB3YXJuaW5nPzogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBUaHJlc2hvbGQgdmFsdWUgZm9yIHJlY292ZXJpbmcgZnJvbSBhIHdhcm5pbmcgc3RhdGVcbiAgICovXG4gIHJlYWRvbmx5IHdhcm5pbmdSZWNvdmVyeT86IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDZm5EYXRhZG9nTW9uaXRvclRocmVzaG9sZFdpbmRvd3Mge1xuXG4gIC8qKlxuICAgKiBIb3cgbG9uZyBhIG1ldHJpYyBtdXN0IGJlIGFub21hbG91cyBiZWZvcmUgdHJpZ2dlcmluZyBhbiBhbGVydFxuICAgKi9cbiAgcmVhZG9ubHkgdHJpZ2dlcldpbmRvdz86IHN0cmluZztcblxuICAvKipcbiAgICogSG93IGxvbmcgYW4gYW5vbWFsb3VzIG1ldHJpYyBtdXN0IGJlIG5vcm1hbCBiZWZvcmUgcmVjb3ZlcmluZyBmcm9tIGFuIGFsZXJ0IHN0YXRlXG4gICAqL1xuICByZWFkb25seSByZWNvdmVyeVdpbmRvdz86IHN0cmluZztcbn1cblxuLyoqXG4gKiBDb25maWd1cmF0aW9uIG9wdGlvbnMgZm9yIHNjaGVkdWxpbmdcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBNb25pdG9yU2NoZWR1bGluZ09wdGlvbnMge1xuICByZWFkb25seSBldmFsdWF0aW9uV2luZG93PzogTW9uaXRvclNjaGVkdWxpbmdPcHRpb25zRXZhbHVhdGlvbldpbmRvdztcbn1cblxuLyoqXG4gKiBDb25maWd1cmF0aW9uIG9wdGlvbnMgZm9yIHRoZSBldmFsdWF0aW9uIHdpbmRvdy5cbiAqXG4gKiBJZiBgaG91cl9zdGFydHNgIGlzIHNldCwgbm8gb3RoZXIgZmllbGRzIG1heSBiZSBzZXQuXG4gKiBPdGhlcndpc2UsIGBkYXlfc3RhcnRzYCBhbmQgYG1vbnRoX3N0YXJ0c2AgbXVzdCBiZSBzZXQgdG9nZXRoZXIuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgTW9uaXRvclNjaGVkdWxpbmdPcHRpb25zRXZhbHVhdGlvbldpbmRvdyB7XG5cbiAgLyoqXG4gICAqIFRoZSB0aW1lIG9mIHRoZSBkYXkgYXQgd2hpY2ggYSBvbmUgZGF5IGN1bXVsYXRpdmUgZXZhbHVhdGlvbiB3aW5kb3cgc3RhcnRzLlxuICAgKlxuICAgKiBNdXN0IGJlIGRlZmluZWQgaW4gVVRDIHRpbWUgaW4gYEhIOm1tYCBmb3JtYXQuXG4gICAqL1xuICByZWFkb25seSBkYXlTdGFydHM/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBkYXkgb2YgdGhlIG1vbnRoIGF0IHdoaWNoIGEgb25lIG1vbnRoIGN1bXVsYXRpdmUgZXZhbHVhdGlvbiB3aW5kb3cgc3RhcnRzXG4gICAqL1xuICByZWFkb25seSBtb250aFN0YXJ0cz86IG51bWJlcjtcblxuICAvKipcbiAgICogVGhlIG1pbnV0ZSBvZiB0aGUgaG91ciBhdCB3aGljaCBhIG9uZSBob3VyIGN1bXVsYXRpdmUgZXZhbHVhdGlvbiB3aW5kb3cgc3RhcnRzXG4gICAqL1xuICByZWFkb25seSBob3VyU3RhcnRzPzogbnVtYmVyO1xufVxuXG4vKipcbiAqIFdyYXBwZXIgYXJvdW5kIERhdGFkb2cncyBDbG91ZEZvcm1hdGlvbiBgRGF0YWRvZzo6TW9uaXRvcnM6Ok1vbml0b3JgIHdpdGggc29tZSBSSU8gZGVmYXVsdHMgYXBwbGllZC5cbiAqXG4gKiBUbyB1c2UgdGhpcyB0aGUgRGF0YWRvZyByZXNvdXJjZXMgaGF2ZSB0byBiZSB7QGxpbmsgaHR0cHM6Ly9kb2NzLmRhdGFkb2docS5jb20vaW50ZWdyYXRpb25zL2d1aWRlL2FtYXpvbl9jbG91ZGZvcm1hdGlvbi9cbiAqIHxlbmFibGVkIGluIHRoZSBDbG91ZEZvcm1hdGlvbiByZWdpc3RyeX0gb2YgdGhlIGNvcnJlc3BvbmRpbmcgQVdTIGFjY291bnQuIFVzdWFsbHkgdGhpcyBpcyBkb25lXG4gKiBhdXRvbWF0aWNhbGx5IGJ5IHRoZSBEYXRhZG9nIEludGVncmF0aW9ucyAoYWNjb3VudCBtb2R1bGUgQU5EIFNlcnZpY2VDYXRhbG9nKSBwcm92aWRlZCBieSBDTEFJRC5cbiAqL1xuZXhwb3J0IGNsYXNzIERhdGFkb2dNb25pdG9yIGV4dGVuZHMgQ29uc3RydWN0IHtcbiAgLyoqXG4gICAqIERlZmF1bHQgcHJpb3JpdHkgb2YgYSBtb25pdG9yXG4gICAqL1xuICBzdGF0aWMgcmVhZG9ubHkgREVGQVVMVF9QUklPUklUWSA9IDQ7XG5cbiAgcmVhZG9ubHkgbmFtZTogc3RyaW5nO1xuICByZWFkb25seSBwcmlvcml0eTogbnVtYmVyO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgbW9uaXRvcjogY2RrLkNmblJlc291cmNlO1xuXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBEYXRhZG9nTW9uaXRvclByb3BzKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkKTtcbiAgICB0aGlzLnByaW9yaXR5ID0gcHJvcHMucHJpb3JpdHkgPz8gRGF0YWRvZ01vbml0b3IuREVGQVVMVF9QUklPUklUWTtcbiAgICB0aGlzLm5hbWUgPSBwcm9wcy5uYW1lO1xuXG4gICAgY29uc3QgdGVhbU5hbWUgPSBSaW9MYW5kaW5nWm9uZS5nZXRUZWFtTmFtZVBhcmFtZXRlcih0aGlzKTtcbiAgICBjb25zdCB0ZWFtSWRlbnRpZmllciA9IFJpb0xhbmRpbmdab25lLmdldFRlYW1JZGVudGlmaWVyUGFyYW1ldGVyKHRoaXMpO1xuICAgIGNvbnN0IGFjY291bnROYW1lID0gUmlvTGFuZGluZ1pvbmUuZ2V0QWNjb3VudE5hbWVQYXJhbWV0ZXIodGhpcyk7XG5cbiAgICBjb25zdCBub3RpZmljYXRpb24gPSBwcm9wcy5ub3RpZmljYXRpb24gPyBwcm9wcy5ub3RpZmljYXRpb24gOiBuZXcgRGVmYXVsdFNsYWNrTm90aWZpY2F0aW9uKCk7XG5cbiAgICBjb25zdCBpc0F3c01ldHJpa01vbml0b3IgPSAocHJvcHMubW9uaXRvclR5cGUgPT09IERhdGFkb2dNb25pdG9yUXVlcnlBbGVydFR5cGUuTUVUUklDX0FMRVJUIHx8IHByb3BzLm1vbml0b3JUeXBlID09PSBEYXRhZG9nTW9uaXRvclF1ZXJ5QWxlcnRUeXBlLlFVRVJZX0FMRVJUKSAmJiBwcm9wcy5xdWVyeS5pbmRleE9mKCdhd3MuJykgPiAtMTtcbiAgICBjb25zdCBvcHRpb25PdmVycmlkZXMgPSB7XG4gICAgICAuLi5wcm9wcy5vcHRpb25PdmVycmlkZXMsXG4gICAgfTtcblxuICAgIGlmIChpc0F3c01ldHJpa01vbml0b3IgJiYgb3B0aW9uT3ZlcnJpZGVzLmV2YWx1YXRpb25EZWxheSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICBvcHRpb25PdmVycmlkZXMuZXZhbHVhdGlvbkRlbGF5ID0gOTAwO1xuICAgICAgY29uc3QgYW5ub3RhdGlvbnMgPSBjZGsuQW5ub3RhdGlvbnMub2YoY2RrLlN0YWNrLm9mKHRoaXMpKTtcbiAgICAgIGFubm90YXRpb25zLmFkZFdhcm5pbmdWMihcbiAgICAgICAgYEByaW8tY2xvdWQvY2RrLXYyLWNvbnN0cnVjdHMvZGF0YWRvZ3YyL0RhdGFkb2dNb25pdG9yLyR7aWR9L0Nsb3VkTWV0cmljRXZhbHVhdGlvbkRlbGF5YCxcbiAgICAgICAgJ1xcbiDinYwgWW91ciBtb25pdG9yIGlzIGFsZXJ0aW5nIG9uIENsb3VkIE1ldHJpY3MgYnV0IHlvdSBoYXZlblxcJ3Qgc2V0IGFuIFxcJ29wdGlvbk92ZXJyaWRlcy5ldmFsdWF0aW9uRGVsYXlcXCcuXFxuIOKchSBJdFxcJ3MgYXV0b21hdGljYWxseSBzZXQgdG8gMTUgbWludXRlcywgYnV0IHBsZWFzZSBwcm92aWRlIGEgc3VpdGFibGUgdmFsdWUgb24geW91ciBvd24uXFxuJyxcbiAgICAgICk7XG4gICAgfVxuXG4gICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL0RhdGFEb2cvZGF0YWRvZy1jbG91ZGZvcm1hdGlvbi1yZXNvdXJjZXMvYmxvYi9tYXN0ZXIvZGF0YWRvZy1tb25pdG9ycy1tb25pdG9yLWhhbmRsZXIvZGF0YWRvZy1tb25pdG9ycy1tb25pdG9yLmpzb25cbiAgICB0aGlzLm1vbml0b3IgPSBuZXcgY2RrLkNmblJlc291cmNlKHRoaXMsICdNb25pdG9yJywge1xuICAgICAgdHlwZTogJ0RhdGFkb2c6Ok1vbml0b3JzOjpNb25pdG9yJyxcbiAgICAgIHByb3BlcnRpZXM6IHtcbiAgICAgICAgVHlwZTogcHJvcHMubW9uaXRvclR5cGUsXG4gICAgICAgIFF1ZXJ5OiBwcm9wcy5xdWVyeSxcbiAgICAgICAgTmFtZTogYCR7dGVhbU5hbWUuc3RyaW5nVmFsdWV9ICR7cHJvcHMuc2VydmljZU5hbWV9ICR7cHJvcHMubmFtZX1gLFxuICAgICAgICBNZXNzYWdlOiB0aGlzLmNvbmNhdGVuYXRlTWVzc2FnZSh7IG1lc3NhZ2U6IHByb3BzLm1lc3NhZ2UsIG5vdGlmaWNhdGlvbiB9KSxcbiAgICAgICAgUHJpb3JpdHk6IHRoaXMucHJpb3JpdHksXG4gICAgICAgIE9wdGlvbnM6IG1hcE1vbml0b3JPcHRpb25zKG9wdGlvbk92ZXJyaWRlcyksXG4gICAgICAgIFRhZ3M6IFtcbiAgICAgICAgICAuLi4ocHJvcHMuZXh0cmFUYWdzID8/IFtdKSxcbiAgICAgICAgICBgYWNjb3VudF9pZDoke2Nkay5TdGFjay5vZih0aGlzKS5hY2NvdW50fWAsXG4gICAgICAgICAgYGFjY291bnRfbmFtZToke2FjY291bnROYW1lLnN0cmluZ1ZhbHVlfWAsXG4gICAgICAgICAgYHNlcnZpY2U6JHtwcm9wcy5zZXJ2aWNlTmFtZX1gLFxuICAgICAgICAgIGB0ZWFtOiR7dGVhbU5hbWUuc3RyaW5nVmFsdWV9YCxcbiAgICAgICAgICBgdGVhbV9pZGVudGlmaWVyOiR7dGVhbUlkZW50aWZpZXIuc3RyaW5nVmFsdWV9YCxcbiAgICAgICAgXSxcbiAgICAgIH0sXG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogT2J0YWluIHRoZSBtb25pdG9yX2lkIGFzIHVzZWQgaW4gRGF0YWRvZ1xuICAgKiBTZWUgaHR0cHM6Ly9kb2NzLmRhdGFkb2docS5jb20vYXBpL2xhdGVzdC9tb25pdG9ycy8jZ2V0LWEtbW9uaXRvcnMtZGV0YWlsc1xuICAgKlxuICAgKiBUaGlzIGFsbG93cyByZWZlcmVuY2luZyB0aGlzIG1vbml0b3IgaW4gb3RoZXIgY29uc3RydWN0cy9yZXNvdXJjZXMgKGUuZy4gU0xPcylcbiAgICovXG4gIGdldCBtb25pdG9ySWQoKSB7XG4gICAgLy8gcmV0dXJuIFJlZiBhcyBpdCByZXR1cm5zIHRoZSBJZCBhcyBzdHJpbmcgaW5zdGVhZCBvZiB0aGUgR2V0QXR0KElkKSB3aWhjaCByZXR1cm5zIHRoZSBpZCBhcyBudW1iZXJcbiAgICAvLyBodHRwczovL215LXJpby5zbGFjay5jb20vYXJjaGl2ZXMvQzAzNFdBRzNRVUEvcDE3MDg0MTk4NzEzOTg5NDlcbiAgICByZXR1cm4gY2RrLkZuLnJlZih0aGlzLm1vbml0b3IubG9naWNhbElkKTtcbiAgfVxuXG4gIHByaXZhdGUgY29uY2F0ZW5hdGVNZXNzYWdlKHByb3BzOiB7bWVzc2FnZTogc3RyaW5nOyBub3RpZmljYXRpb246IElOb3RpZmljYXRpb259KSB7XG4gICAgcmV0dXJuIGAke3Byb3BzLm1lc3NhZ2V9XFxuXFxuJHtwcm9wcy5ub3RpZmljYXRpb24uZ2VuZXJhdGVNZXNzYWdlQW5ub3RhdGlvbih0aGlzKX1gO1xuICB9XG5cbn1cblxuZnVuY3Rpb24gbWFwTW9uaXRvck9wdGlvbnMoc291cmNlOiBDZm5EYXRhZG9nTW9uaXRvck9wdGlvbnMgfCB1bmRlZmluZWQpIHtcbiAgcmV0dXJuIHtcbiAgICBFbmFibGVMb2dzU2FtcGxlOiBzb3VyY2U/LmVuYWJsZUxvZ3NTYW1wbGUsXG4gICAgRW5hYmxlU2FtcGxlczogc291cmNlPy5lbmFibGVTYW1wbGVzLFxuICAgIEVzY2FsYXRpb25NZXNzYWdlOiBzb3VyY2U/LmVzY2FsYXRpb25NZXNzYWdlLFxuICAgIEV2YWx1YXRpb25EZWxheTogc291cmNlPy5ldmFsdWF0aW9uRGVsYXksXG4gICAgR3JvdXBSZXRlbnRpb25EdXJhdGlvbjogc291cmNlPy5ncm91cFJldGVudGlvbkR1cmF0aW9uLFxuICAgIEluY2x1ZGVUYWdzOiBzb3VyY2U/LmluY2x1ZGVUYWdzID8/IHRydWUsXG4gICAgTG9ja2VkOiBzb3VyY2U/LmxvY2tlZCxcbiAgICBNaW5Mb2NhdGlvbkZhaWxlZDogc291cmNlPy5taW5Mb2NhdGlvbkZhaWxlZCxcbiAgICBOZXdIb3N0RGVsYXk6IHNvdXJjZT8ubmV3SG9zdERlbGF5LFxuICAgIE5vRGF0YVRpbWVmcmFtZTogc291cmNlPy5ub0RhdGFUaW1lZnJhbWUsXG4gICAgTm90aWZ5QXVkaXQ6IHNvdXJjZT8ubm90aWZ5QXVkaXQsXG4gICAgTm90aWZ5Qnk6IHNvdXJjZT8ubm90aWZ5QnksXG4gICAgTm90aWZ5Tm9EYXRhOiBzb3VyY2U/Lm5vdGlmeU5vRGF0YSA/PyBmYWxzZSxcbiAgICBSZW5vdGlmeUludGVydmFsOiBzb3VyY2U/LnJlbm90aWZ5SW50ZXJ2YWwsXG4gICAgUmVxdWlyZUZ1bGxXaW5kb3c6IHNvdXJjZT8ucmVxdWlyZUZ1bGxXaW5kb3cgPz8gZmFsc2UsXG4gICAgU2NoZWR1bGluZ09wdGlvbnM6IG1hcFNjaGVkdWxpbmdPcHRpb25zUHJvcGVydGllcyhzb3VyY2U/LnNjaGVkdWxpbmdPcHRpb25zKSxcbiAgICBTeW50aGV0aWNzQ2hlY2tJRDogc291cmNlPy5zeW50aGV0aWNzQ2hlY2tJRCxcbiAgICBUaHJlc2hvbGRzOiBtYXBUaHJlc2hvbGRzUHJvcGVydGllcyhzb3VyY2U/LnRocmVzaG9sZHMpLFxuICAgIFRocmVzaG9sZFdpbmRvd3M6IG1hcFRocmVzaG9sZFdpbmRvd3NQcm9wZXJ0aWVzKHNvdXJjZT8udGhyZXNob2xkV2luZG93cyksXG4gICAgTW9uaXRvck5vdGlmaWNhdGlvblByZXNldE5hbWU6IHNvdXJjZT8ubW9uaXRvck5vdGlmaWNhdGlvblByZXNldE5hbWUsXG4gICAgVGltZW91dEg6IHNvdXJjZT8udGltZW91dEgsXG4gICAgUmVub3RpZnlPY2N1cnJlbmNlczogc291cmNlPy5yZW5vdGlmeU9jY3VycmVuY2VzLFxuICAgIFJlbm90aWZ5U3RhdHVzZXM6IHNvdXJjZT8ucmVub3RpZnlTdGF0dXNlcyxcbiAgICBNaW5GYWlsdXJlRHVyYXRpb246IHNvdXJjZT8ubWluRmFpbHVyZUR1cmF0aW9uLFxuICAgIE5ld0dyb3VwRGVsYXk6IHNvdXJjZT8ubmV3R3JvdXBEZWxheSxcbiAgICBWYXJpYWJsZXM6IHNvdXJjZT8udmFyaWFibGVzLFxuICAgIE9uTWlzc2luZ0RhdGE6IHNvdXJjZT8ub25NaXNzaW5nRGF0YSxcbiAgfTtcbn07XG5cbmZ1bmN0aW9uIG1hcFNjaGVkdWxpbmdPcHRpb25zUHJvcGVydGllcyhzb3VyY2U6IE1vbml0b3JTY2hlZHVsaW5nT3B0aW9ucyB8IHVuZGVmaW5lZCkge1xuICByZXR1cm4gc291cmNlID8ge1xuICAgIEV2YWx1YXRpb25XaW5kb3c6IG1hcFNjaGVkdWxpbmdPcHRpb25zRXZhbHVhdGlvbldpbmRvd1Byb3BlcnRpZXMoc291cmNlLmV2YWx1YXRpb25XaW5kb3cpLFxuICB9IDogdW5kZWZpbmVkO1xufVxuXG5mdW5jdGlvbiBtYXBTY2hlZHVsaW5nT3B0aW9uc0V2YWx1YXRpb25XaW5kb3dQcm9wZXJ0aWVzKHNvdXJjZTogTW9uaXRvclNjaGVkdWxpbmdPcHRpb25zRXZhbHVhdGlvbldpbmRvdyB8IHVuZGVmaW5lZCkge1xuICByZXR1cm4gc291cmNlID8ge1xuICAgIERheVN0YXJ0czogc291cmNlLmRheVN0YXJ0cyxcbiAgICBNb250aFN0YXJ0czogc291cmNlLm1vbnRoU3RhcnRzLFxuICAgIEhvdXJTdGFydHM6IHNvdXJjZS5ob3VyU3RhcnRzLFxuICB9IDogdW5kZWZpbmVkO1xufVxuXG5mdW5jdGlvbiBtYXBUaHJlc2hvbGRzUHJvcGVydGllcyhzb3VyY2U6IENmbkRhdGFkb2dNb25pdG9yVGhyZXNob2xkcyB8IHVuZGVmaW5lZCkge1xuICByZXR1cm4gc291cmNlID8ge1xuICAgIENyaXRpY2FsOiBzb3VyY2UuY3JpdGljYWwsXG4gICAgQ3JpdGljYWxSZWNvdmVyeTogc291cmNlLmNyaXRpY2FsUmVjb3ZlcnksXG4gICAgT0s6IHNvdXJjZS5vayxcbiAgICBXYXJuaW5nOiBzb3VyY2Uud2FybmluZyxcbiAgICBXYXJuaW5nUmVjb3Zlcnk6IHNvdXJjZS53YXJuaW5nUmVjb3ZlcnksXG4gIH0gOiB1bmRlZmluZWQ7XG59XG5cbmZ1bmN0aW9uIG1hcFRocmVzaG9sZFdpbmRvd3NQcm9wZXJ0aWVzKHNvdXJjZTogQ2ZuRGF0YWRvZ01vbml0b3JUaHJlc2hvbGRXaW5kb3dzIHwgdW5kZWZpbmVkKSB7XG4gIHJldHVybiBzb3VyY2UgPyB7XG4gICAgVHJpZ2dlcldpbmRvdzogc291cmNlLnRyaWdnZXJXaW5kb3csXG4gICAgUmVjb3ZlcnlXaW5kb3c6IHNvdXJjZS5yZWNvdmVyeVdpbmRvdyxcbiAgfSA6IHVuZGVmaW5lZDtcbn1cbiJdfQ==
@@ -102,4 +102,4 @@ class NotificationAggregator {
102
102
  exports.NotificationAggregator = NotificationAggregator;
103
103
  _f = JSII_RTTI_SYMBOL_1;
104
104
  NotificationAggregator[_f] = { fqn: "@rio-cloud/cdk-v2-constructs.datadogv2.NotificationAggregator", version: "0.0.0" };
105
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YWRvZy1ub3RpZmljYXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZGF0YWRvZ3YyL2RhdGFkb2ctbm90aWZpY2F0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQ0EsMERBQXFEO0FBc0NyRDs7OztHQUlHO0FBQ0gsTUFBYSxjQUFjO0lBTXpCLHlCQUF5QixDQUFDLFFBQXdCO1FBQ2hELE9BQU8sY0FBYyxDQUFDLGFBQWEsQ0FBQztJQUN0QyxDQUFDOztBQVJILHdDQVNDOzs7QUFSQzs7R0FFRztBQUNhLDRCQUFhLEdBQUcsRUFBRSxDQUFDO0FBT3JDLE1BQU0sb0NBQW9DLEdBQUcsQ0FBQyxZQUFvQixFQUFFLEVBQUUsQ0FBQyxVQUFVLFlBQVksRUFBRSxDQUFDO0FBWWhHOztHQUVHO0FBQ0gsTUFBYSxpQkFBaUI7SUFFNUIsWUFBNkIsS0FBNkI7UUFBN0IsVUFBSyxHQUFMLEtBQUssQ0FBd0I7SUFBSSxDQUFDO0lBRS9ELHlCQUF5QixDQUFDLFFBQXdCO1FBQ2hELE9BQU8sb0NBQW9DLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNsRSxDQUFDOztBQU5ILDhDQU9DOzs7QUFFRDs7Ozs7R0FLRztBQUNILE1BQWEsd0JBQXdCO0lBRW5DLHlCQUF5QixDQUFDLE9BQXVCO1FBQy9DLE1BQU0sWUFBWSxHQUFHLGlDQUFjLENBQUMsaUNBQWlDLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDL0UsT0FBTyxvQ0FBb0MsQ0FBQyxZQUFZLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDeEUsQ0FBQzs7QUFMSCw0REFPQzs7O0FBRUQ7Ozs7R0FJRztBQUNILE1BQWEscUJBQXFCO0lBRWhDLHlCQUF5QixDQUFDLE9BQXVCO1FBQy9DLElBQUksT0FBTyxDQUFDLFFBQVEsR0FBRyxxQkFBcUIsQ0FBQyxnQkFBZ0IsRUFBRTtZQUM3RCxPQUFPLGNBQWMsQ0FBQyxhQUFhLENBQUM7U0FDckM7UUFDRCxPQUFPLDRCQUE0QixDQUFDO0lBQ3RDLENBQUM7O0FBUEgsc0RBUUM7OztBQVBpQixzQ0FBZ0IsR0FBRyxDQUFDLENBQUM7QUFTdkM7Ozs7Ozs7O0dBUUc7QUFDSCxNQUFhLHVCQUF1QjtJQUNsQyx5QkFBeUIsQ0FBQyxPQUF1QjtRQUMvQyxNQUFNLGNBQWMsR0FBRyxpQ0FBYyxDQUFDLDBCQUEwQixDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQzFFLE9BQU8sU0FBUyxjQUFjLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDL0MsQ0FBQzs7QUFKSCwwREFLQzs7O0FBRUQ7O0dBRUc7QUFDSCxNQUFhLHNCQUFzQjtJQUVqQyxZQUE2QixhQUE4QjtRQUE5QixrQkFBYSxHQUFiLGFBQWEsQ0FBaUI7SUFBSSxDQUFDO0lBRWhFLHlCQUF5QixDQUFDLE9BQXVCO1FBQy9DLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMseUJBQXlCLENBQUMsT0FBTyxDQUFDLENBQUM7YUFDdkUsTUFBTSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxLQUFLLGNBQWMsQ0FBQyxhQUFhLENBQUM7YUFDakQsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2hCLENBQUM7O0FBUkgsd0RBVUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEYXRhZG9nTW9uaXRvciB9IGZyb20gJy4vZGF0YWRvZy1tb25pdG9yJztcbmltcG9ydCB7IFJpb0xhbmRpbmdab25lIH0gZnJvbSAnLi4vcmlvLWxhbmRpbmctem9uZSc7XG5cbi8qKlxuICogSW50ZXJmYWNlIHRvIHBsdWcgaW4gc3BlY2lmaWMgbm90aWZpY2F0aW9uIHR5cGVzIGZvciBtb25pdG9ycyBpbiBEYXRhZG9nLlxuICogT25lIGluc3RhbmNlIGNvdWxkIGJlIHJldXNlZCBvdmVyIG11bHRpcGxlIG1vbml0b3JzLCBlLmcuIHdoZW4gdXNpbmcgdGhlIHtAbGluayBbV2F0Y2hmdWwgdjJdKC4uL3dhdGNoZnVsdjIvd2F0Y2hmdWwudHMpfSBjb25zdHJ1Y3QuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSU5vdGlmaWNhdGlvbiB7XG4gIC8qKlxuICAgKiBFeGFtcGxlIC0gcm91dGUgYWxsIHBpcGVsaW5lIG1vbml0b3JzIHRvIGEgc3BlY2lmaWMgY2hhbm5lbDpcbiAgICogYGBgdHNcbiAgICogIGdlbmVyYXRlTWVzc2FnZUFubm90YXRpb24obW9uaXRvcjogRGF0YWRvZ01vbml0b3IpOiBzdHJpbmcge1xuICAgKiAgICBpZiAobW9uaXRvci5uYW1lLmluZGV4T2YoJ3BpcGVsaW5lJykgPiAtMSkge1xuICAgKiAgICAgIHJldHVybiAnQHNsYWNrLXRlYW0tcGlwZWxpbmUtYWxlcnQtY2hhbm5lbCc7XG4gICAqICAgIH0gZWxzZSB7XG4gICAqICAgICAgcmV0dXJuICdAc2xhY2stdGVhbS1zZXJpb3VzLWlzc3VlLWFsZXJ0LWNoYW5uZWwnO1xuICAgKiAgICB9XG4gICAqICB9XG4gICAqIGBgYFxuICAgKlxuICAgKiBFeGFtcGxlIC0gcm91dGUgaXNzdWVzIGJhc2VkIG9uIHRoZWlyIHByaW9yaXR5OlxuICAgKiBgYGB0c1xuICAgKiAgZ2VuZXJhdGVNZXNzYWdlQW5ub3RhdGlvbihtb25pdG9yOiBEYXRhZG9nTW9uaXRvcik6IHN0cmluZyB7XG4gICAqICAgIGlmIChtb25pdG9yLnByaW9yaXR5IDw9IDIpIHtcbiAgICogICAgICByZXR1cm4gJ0A8cGFnZXItaW50ZWdyYXRpb24+LXRlYW0tc2NoZWR1bGUnO1xuICAgKiAgICB9IGVsc2UgaWYgKG1vbml0b3IucHJpb3JpdHkgPT0gMykge1xuICAgKiAgICAgIHJldHVybiAnQHNsYWNrLXRlYW0tYWxlcnQtY2hhbm5lbCc7XG4gICAqICAgIH0gZWxzZSB7XG4gICAqICAgICAgcmV0dXJuIE5vTm90aWZpY2F0aW9uLkRPX05PVF9OT1RJRlk7XG4gICAqICAgIH1cbiAgICogIH1cbiAgICogYGBgXG4gICAqXG4gICAqIEBwYXJhbSBtb25pdG9yIC0gdGhlIG1vbml0b3Igb24gd2hpY2ggdGhlIG5vdGlmaWNhdGlvbiBzaG91bGQgYmUgYXBwbGllZC5cbiAgICogQHJldHVybnMgdGhlIGludGVncmF0aW9uIGhhbmRsZSB0byByb3V0ZSBhbGVydCBub3RpZmljYXRpb25zIHRvIHNwZWNpZmljIGludGVncmF0aW9ucyBpbiBEYXRhZG9nLlxuICAqL1xuICBnZW5lcmF0ZU1lc3NhZ2VBbm5vdGF0aW9uKG1vbml0b3I6IERhdGFkb2dNb25pdG9yKTogc3RyaW5nO1xufVxuXG4vKipcbiAqIHtAbGluayBJTm90aWZpY2F0aW9ufSBpbXBsZW1lbnRhdGlvbiwgdGhhdCBleHBsaWNpdGx5IHN1cHByZXNzZXMgbm90aWZpY2F0aW9ucy4gUGVyIGRlZmF1bHQgZXZlcnkgbW9uaXRvclxuICogaGFzIGEgc2xhY2sgbm90aWZpY2F0aW9uLiBJbiBvcmRlciB0byBjcmVhdGUgYSB7QGxpbmsgRGF0YWRvZ01vbml0b3J9IGp1c3QgZm9yIGEge0BsaW5rIFtEYXRhZG9nRGFzaGJvYXJkXSguL2RhdGFkb2ctZGFzaGJvYXJkLnRzKX1cbiAqIHdpdGhvdXQgZnVydGhlciBub3RpZmljYXRpb24uXG4gKi9cbmV4cG9ydCBjbGFzcyBOb05vdGlmaWNhdGlvbiBpbXBsZW1lbnRzIElOb3RpZmljYXRpb24ge1xuICAvKipcbiAgICogVGhpcyBwaHJhc2UgaXMgZXhwbGljaXRseSBmaWx0ZXJlZCBvdXQgZHVyaW5nIG1lc3NhZ2UgZ2VuZXJhdGlvbi5cbiAgICovXG4gIHN0YXRpYyByZWFkb25seSBET19OT1RfTk9USUZZID0gJyc7XG5cbiAgZ2VuZXJhdGVNZXNzYWdlQW5ub3RhdGlvbihfbW9uaXRvcjogRGF0YWRvZ01vbml0b3IpOiBzdHJpbmcge1xuICAgIHJldHVybiBOb05vdGlmaWNhdGlvbi5ET19OT1RfTk9USUZZO1xuICB9XG59XG5cbmNvbnN0IGdldE1lc3NhZ2VBbm5vdGF0aW9uRnJvbVNsYWNrQ2hhbm5lbCA9IChzbGFja0NoYW5uZWw6IHN0cmluZykgPT4gYEBzbGFjay0ke3NsYWNrQ2hhbm5lbH1gO1xuXG4vKipcbiAqIFByb3BlcnRpZXMgb2Yge0BsaW5rIFNsYWNrTm90aWZpY2F0aW9ufVxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNsYWNrTm90aWZpY2F0aW9uUHJvcHMge1xuICAvKipcbiAgICogdGhlIHNsYWNrIGNoYW5uZWwgdG8gcm91dGUgdGhlIGFsZXJ0IHRvLlxuICAgKi9cbiAgcmVhZG9ubHkgY2hhbm5lbDogc3RyaW5nO1xufVxuXG4vKipcbiAqIEFuIHtAbGluayBJTm90aWZpY2F0aW9ufSwgdGhhdCBmb3J3YXJkcyBhbGVydHMgdG8gdGhlIFNsYWNrIGNoYW5uZWwgcGFzc2VkIGluIHByb3BzLlxuICovXG5leHBvcnQgY2xhc3MgU2xhY2tOb3RpZmljYXRpb24gaW1wbGVtZW50cyBJTm90aWZpY2F0aW9uIHtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IHByb3BzOiBTbGFja05vdGlmaWNhdGlvblByb3BzKSB7IH1cblxuICBnZW5lcmF0ZU1lc3NhZ2VBbm5vdGF0aW9uKF9tb25pdG9yOiBEYXRhZG9nTW9uaXRvcik6IHN0cmluZyB7XG4gICAgcmV0dXJuIGdldE1lc3NhZ2VBbm5vdGF0aW9uRnJvbVNsYWNrQ2hhbm5lbCh0aGlzLnByb3BzLmNoYW5uZWwpO1xuICB9XG59XG5cbi8qKlxuICogQW4ge0BsaW5rIElOb3RpZmljYXRpb259LCB0aGF0IGZvcndhcmRzIGFsZXJ0cyB0byB0aGUgU2xhY2sgY2hhbm5lbCwgdGhhdCB3YXMgZW50ZXJlZFxuICogYXMgYWxlcnQgY2hhbm5lbCBkdXJpbmcgYWNjb3VudCBjcmVhdGlvbiBwcm9jZXNzLiBUaGUgYWN0dWFsIGNoYW5uZWwgdmFsdWUgaXMgdGFrZW4gZnJvbVxuICogc3NtIHBhcmFtZXRlciBgL2NvbmZpZy90ZWFtL3NsYWNrLWFsZXJ0LWNoYW5uZWxgLlxuICogVGhpcyBub3RpZmljYXRpb24gY291bGQgYnJlYWsgdGhlIGRlcGxveW1lbnQsIGlmIHRoZSBzc20gcGFyYW1ldGVyIGlzIG5vdCBzZXQuXG4gKi9cbmV4cG9ydCBjbGFzcyBEZWZhdWx0U2xhY2tOb3RpZmljYXRpb24gaW1wbGVtZW50cyBJTm90aWZpY2F0aW9uIHtcblxuICBnZW5lcmF0ZU1lc3NhZ2VBbm5vdGF0aW9uKG1vbml0b3I6IERhdGFkb2dNb25pdG9yKTogc3RyaW5nIHtcbiAgICBjb25zdCBzbGFja0NoYW5uZWwgPSBSaW9MYW5kaW5nWm9uZS5nZXRUZWFtQWxlcnRTbGFja0NoYW5uZWxQYXJhbWV0ZXIobW9uaXRvcik7XG4gICAgcmV0dXJuIGdldE1lc3NhZ2VBbm5vdGF0aW9uRnJvbVNsYWNrQ2hhbm5lbChzbGFja0NoYW5uZWwuc3RyaW5nVmFsdWUpO1xuICB9XG5cbn1cblxuLyoqXG4gKiBBbiB7QGxpbmsgSU5vdGlmaWNhdGlvbn0sIHRoYXQgZm9yd2FyZHMgYWxlcnRzIHRvIHRoZSBSSU8gcGFnaW5nIHJvdXRlclxuICogdG8gZW5nYWdlIHRoZSBjb3JyZXNwb25kaW5nIHRlYW0uXG4gKiBBbGVydHMgd2l0aCBQcmlvcml0eSA+IHtAbGluayBSaW9QYWdpbmdOb3RpZmljYXRpb24uTUlOSU1VTV9QUklPUklUWX0gd2lsbCBub3QgYmUgdGFrZW4gaW50byBhY2NvdW50LlxuICovXG5leHBvcnQgY2xhc3MgUmlvUGFnaW5nTm90aWZpY2F0aW9uIGltcGxlbWVudHMgSU5vdGlmaWNhdGlvbiB7XG4gIHN0YXRpYyByZWFkb25seSBNSU5JTVVNX1BSSU9SSVRZID0gMjtcbiAgZ2VuZXJhdGVNZXNzYWdlQW5ub3RhdGlvbihtb25pdG9yOiBEYXRhZG9nTW9uaXRvcik6IHN0cmluZyB7XG4gICAgaWYgKG1vbml0b3IucHJpb3JpdHkgPiBSaW9QYWdpbmdOb3RpZmljYXRpb24uTUlOSU1VTV9QUklPUklUWSkge1xuICAgICAgcmV0dXJuIE5vTm90aWZpY2F0aW9uLkRPX05PVF9OT1RJRlk7XG4gICAgfVxuICAgIHJldHVybiAnQGF3c2V2ZW50YnJpZGdlLXJpby1wYWdpbmcnO1xuICB9XG59XG5cbi8qKlxuICogQW4ge0BsaW5rIElOb3RpZmljYXRpb259LCB0aGF0IHVzZXMgdGhlIHRlYW1faWRlbnRpZmllciB0byBjcmVhdGVcbiAqIGEgY2FzZSBpbiBhIHRlYW0gcHJvamVjdCBpbiBEYXRhZG9ncyBDYXNlTWFuYWdlbWVudC5cbiAqIEl0IGNhbiBiZSB1c2VkIHRvIG5vdCBsb3NlIGUuZy4gYW4gbG9nIGFsZXJ0LCB0aGF0IGlzIHJlY292ZXJpbmdcbiAqIGF1dG9tYXRpY2FsbHkgYWZ0ZXIgYSB3aGlsZS5cbiAqXG4gKiBUbyB1c2UgaXQsIHNldHVwIGEgcHJvamVjdCBpbiBEYXRhZG9nIGNhc2UgbWFuYWdlbWVudCBhbmQgY29uZmlndXJlXG4gKiB0aGUgaW50ZWdyYXRpb24gaGFuZGxlIGFjY29yZGluZyB0byB0aGUgbmFtaW5nIGNvbnZlbnRpb24uXG4gKi9cbmV4cG9ydCBjbGFzcyBEYXRhZG9nQ2FzZU5vdGlmaWNhdGlvbiBpbXBsZW1lbnRzIElOb3RpZmljYXRpb24ge1xuICBnZW5lcmF0ZU1lc3NhZ2VBbm5vdGF0aW9uKG1vbml0b3I6IERhdGFkb2dNb25pdG9yKTogc3RyaW5nIHtcbiAgICBjb25zdCB0ZWFtSWRlbnRpZmllciA9IFJpb0xhbmRpbmdab25lLmdldFRlYW1JZGVudGlmaWVyUGFyYW1ldGVyKG1vbml0b3IpO1xuICAgIHJldHVybiBgQGNhc2UtJHt0ZWFtSWRlbnRpZmllci5zdHJpbmdWYWx1ZX1gO1xuICB9XG59XG5cbi8qKlxuICogSGVscGVyIHRvIGNvbWJpbmUgbXVsdGlwbGUge0BsaW5rIElOb3RpZmljYXRpb259IGludG8gb25lLlxuICovXG5leHBvcnQgY2xhc3MgTm90aWZpY2F0aW9uQWdncmVnYXRvciBpbXBsZW1lbnRzIElOb3RpZmljYXRpb24ge1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgbm90aWZpY2F0aW9uczogSU5vdGlmaWNhdGlvbltdKSB7IH1cblxuICBnZW5lcmF0ZU1lc3NhZ2VBbm5vdGF0aW9uKG1vbml0b3I6IERhdGFkb2dNb25pdG9yKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5ub3RpZmljYXRpb25zLm1hcChpdCA9PiBpdC5nZW5lcmF0ZU1lc3NhZ2VBbm5vdGF0aW9uKG1vbml0b3IpKVxuICAgICAgLmZpbHRlcihpdCA9PiBpdCAhPT0gTm9Ob3RpZmljYXRpb24uRE9fTk9UX05PVElGWSlcbiAgICAgIC5qb2luKCdcXG4nKTtcbiAgfVxuXG59XG4iXX0=
105
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YWRvZy1ub3RpZmljYXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZGF0YWRvZ3YyL2RhdGFkb2ctbm90aWZpY2F0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQ0EsMERBQXFEO0FBc0NyRDs7OztHQUlHO0FBQ0gsTUFBYSxjQUFjO0lBTXpCLHlCQUF5QixDQUFDLFFBQXdCO1FBQ2hELE9BQU8sY0FBYyxDQUFDLGFBQWEsQ0FBQztJQUN0QyxDQUFDOztBQVJILHdDQVNDOzs7QUFSQzs7R0FFRztBQUNhLDRCQUFhLEdBQUcsRUFBRSxDQUFDO0FBT3JDLE1BQU0sb0NBQW9DLEdBQUcsQ0FBQyxZQUFvQixFQUFFLEVBQUUsQ0FBQyxVQUFVLFlBQVksRUFBRSxDQUFDO0FBWWhHOztHQUVHO0FBQ0gsTUFBYSxpQkFBaUI7SUFFNUIsWUFBNkIsS0FBNkI7UUFBN0IsVUFBSyxHQUFMLEtBQUssQ0FBd0I7SUFBSSxDQUFDO0lBRS9ELHlCQUF5QixDQUFDLFFBQXdCO1FBQ2hELE9BQU8sb0NBQW9DLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNsRSxDQUFDOztBQU5ILDhDQU9DOzs7QUFFRDs7Ozs7R0FLRztBQUNILE1BQWEsd0JBQXdCO0lBRW5DLHlCQUF5QixDQUFDLE9BQXVCO1FBQy9DLE1BQU0sWUFBWSxHQUFHLGlDQUFjLENBQUMsaUNBQWlDLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDL0UsT0FBTyxvQ0FBb0MsQ0FBQyxZQUFZLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDeEUsQ0FBQzs7QUFMSCw0REFPQzs7O0FBRUQ7Ozs7R0FJRztBQUNILE1BQWEscUJBQXFCO0lBRWhDLHlCQUF5QixDQUFDLE9BQXVCO1FBQy9DLElBQUksT0FBTyxDQUFDLFFBQVEsR0FBRyxxQkFBcUIsQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1lBQzlELE9BQU8sY0FBYyxDQUFDLGFBQWEsQ0FBQztRQUN0QyxDQUFDO1FBQ0QsT0FBTyw0QkFBNEIsQ0FBQztJQUN0QyxDQUFDOztBQVBILHNEQVFDOzs7QUFQaUIsc0NBQWdCLEdBQUcsQ0FBQyxDQUFDO0FBU3ZDOzs7Ozs7OztHQVFHO0FBQ0gsTUFBYSx1QkFBdUI7SUFDbEMseUJBQXlCLENBQUMsT0FBdUI7UUFDL0MsTUFBTSxjQUFjLEdBQUcsaUNBQWMsQ0FBQywwQkFBMEIsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUMxRSxPQUFPLFNBQVMsY0FBYyxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQy9DLENBQUM7O0FBSkgsMERBS0M7OztBQUVEOztHQUVHO0FBQ0gsTUFBYSxzQkFBc0I7SUFFakMsWUFBNkIsYUFBOEI7UUFBOUIsa0JBQWEsR0FBYixhQUFhLENBQWlCO0lBQUksQ0FBQztJQUVoRSx5QkFBeUIsQ0FBQyxPQUF1QjtRQUMvQyxPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLHlCQUF5QixDQUFDLE9BQU8sQ0FBQyxDQUFDO2FBQ3ZFLE1BQU0sQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsS0FBSyxjQUFjLENBQUMsYUFBYSxDQUFDO2FBQ2pELElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNoQixDQUFDOztBQVJILHdEQVVDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGF0YWRvZ01vbml0b3IgfSBmcm9tICcuL2RhdGFkb2ctbW9uaXRvcic7XG5pbXBvcnQgeyBSaW9MYW5kaW5nWm9uZSB9IGZyb20gJy4uL3Jpby1sYW5kaW5nLXpvbmUnO1xuXG4vKipcbiAqIEludGVyZmFjZSB0byBwbHVnIGluIHNwZWNpZmljIG5vdGlmaWNhdGlvbiB0eXBlcyBmb3IgbW9uaXRvcnMgaW4gRGF0YWRvZy5cbiAqIE9uZSBpbnN0YW5jZSBjb3VsZCBiZSByZXVzZWQgb3ZlciBtdWx0aXBsZSBtb25pdG9ycywgZS5nLiB3aGVuIHVzaW5nIHRoZSB7QGxpbmsgW1dhdGNoZnVsIHYyXSguLi93YXRjaGZ1bHYyL3dhdGNoZnVsLnRzKX0gY29uc3RydWN0LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIElOb3RpZmljYXRpb24ge1xuICAvKipcbiAgICogRXhhbXBsZSAtIHJvdXRlIGFsbCBwaXBlbGluZSBtb25pdG9ycyB0byBhIHNwZWNpZmljIGNoYW5uZWw6XG4gICAqIGBgYHRzXG4gICAqICBnZW5lcmF0ZU1lc3NhZ2VBbm5vdGF0aW9uKG1vbml0b3I6IERhdGFkb2dNb25pdG9yKTogc3RyaW5nIHtcbiAgICogICAgaWYgKG1vbml0b3IubmFtZS5pbmRleE9mKCdwaXBlbGluZScpID4gLTEpIHtcbiAgICogICAgICByZXR1cm4gJ0BzbGFjay10ZWFtLXBpcGVsaW5lLWFsZXJ0LWNoYW5uZWwnO1xuICAgKiAgICB9IGVsc2Uge1xuICAgKiAgICAgIHJldHVybiAnQHNsYWNrLXRlYW0tc2VyaW91cy1pc3N1ZS1hbGVydC1jaGFubmVsJztcbiAgICogICAgfVxuICAgKiAgfVxuICAgKiBgYGBcbiAgICpcbiAgICogRXhhbXBsZSAtIHJvdXRlIGlzc3VlcyBiYXNlZCBvbiB0aGVpciBwcmlvcml0eTpcbiAgICogYGBgdHNcbiAgICogIGdlbmVyYXRlTWVzc2FnZUFubm90YXRpb24obW9uaXRvcjogRGF0YWRvZ01vbml0b3IpOiBzdHJpbmcge1xuICAgKiAgICBpZiAobW9uaXRvci5wcmlvcml0eSA8PSAyKSB7XG4gICAqICAgICAgcmV0dXJuICdAPHBhZ2VyLWludGVncmF0aW9uPi10ZWFtLXNjaGVkdWxlJztcbiAgICogICAgfSBlbHNlIGlmIChtb25pdG9yLnByaW9yaXR5ID09IDMpIHtcbiAgICogICAgICByZXR1cm4gJ0BzbGFjay10ZWFtLWFsZXJ0LWNoYW5uZWwnO1xuICAgKiAgICB9IGVsc2Uge1xuICAgKiAgICAgIHJldHVybiBOb05vdGlmaWNhdGlvbi5ET19OT1RfTk9USUZZO1xuICAgKiAgICB9XG4gICAqICB9XG4gICAqIGBgYFxuICAgKlxuICAgKiBAcGFyYW0gbW9uaXRvciAtIHRoZSBtb25pdG9yIG9uIHdoaWNoIHRoZSBub3RpZmljYXRpb24gc2hvdWxkIGJlIGFwcGxpZWQuXG4gICAqIEByZXR1cm5zIHRoZSBpbnRlZ3JhdGlvbiBoYW5kbGUgdG8gcm91dGUgYWxlcnQgbm90aWZpY2F0aW9ucyB0byBzcGVjaWZpYyBpbnRlZ3JhdGlvbnMgaW4gRGF0YWRvZy5cbiAgKi9cbiAgZ2VuZXJhdGVNZXNzYWdlQW5ub3RhdGlvbihtb25pdG9yOiBEYXRhZG9nTW9uaXRvcik6IHN0cmluZztcbn1cblxuLyoqXG4gKiB7QGxpbmsgSU5vdGlmaWNhdGlvbn0gaW1wbGVtZW50YXRpb24sIHRoYXQgZXhwbGljaXRseSBzdXBwcmVzc2VzIG5vdGlmaWNhdGlvbnMuIFBlciBkZWZhdWx0IGV2ZXJ5IG1vbml0b3JcbiAqIGhhcyBhIHNsYWNrIG5vdGlmaWNhdGlvbi4gSW4gb3JkZXIgdG8gY3JlYXRlIGEge0BsaW5rIERhdGFkb2dNb25pdG9yfSBqdXN0IGZvciBhIHtAbGluayBbRGF0YWRvZ0Rhc2hib2FyZF0oLi9kYXRhZG9nLWRhc2hib2FyZC50cyl9XG4gKiB3aXRob3V0IGZ1cnRoZXIgbm90aWZpY2F0aW9uLlxuICovXG5leHBvcnQgY2xhc3MgTm9Ob3RpZmljYXRpb24gaW1wbGVtZW50cyBJTm90aWZpY2F0aW9uIHtcbiAgLyoqXG4gICAqIFRoaXMgcGhyYXNlIGlzIGV4cGxpY2l0bHkgZmlsdGVyZWQgb3V0IGR1cmluZyBtZXNzYWdlIGdlbmVyYXRpb24uXG4gICAqL1xuICBzdGF0aWMgcmVhZG9ubHkgRE9fTk9UX05PVElGWSA9ICcnO1xuXG4gIGdlbmVyYXRlTWVzc2FnZUFubm90YXRpb24oX21vbml0b3I6IERhdGFkb2dNb25pdG9yKTogc3RyaW5nIHtcbiAgICByZXR1cm4gTm9Ob3RpZmljYXRpb24uRE9fTk9UX05PVElGWTtcbiAgfVxufVxuXG5jb25zdCBnZXRNZXNzYWdlQW5ub3RhdGlvbkZyb21TbGFja0NoYW5uZWwgPSAoc2xhY2tDaGFubmVsOiBzdHJpbmcpID0+IGBAc2xhY2stJHtzbGFja0NoYW5uZWx9YDtcblxuLyoqXG4gKiBQcm9wZXJ0aWVzIG9mIHtAbGluayBTbGFja05vdGlmaWNhdGlvbn1cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTbGFja05vdGlmaWNhdGlvblByb3BzIHtcbiAgLyoqXG4gICAqIHRoZSBzbGFjayBjaGFubmVsIHRvIHJvdXRlIHRoZSBhbGVydCB0by5cbiAgICovXG4gIHJlYWRvbmx5IGNoYW5uZWw6IHN0cmluZztcbn1cblxuLyoqXG4gKiBBbiB7QGxpbmsgSU5vdGlmaWNhdGlvbn0sIHRoYXQgZm9yd2FyZHMgYWxlcnRzIHRvIHRoZSBTbGFjayBjaGFubmVsIHBhc3NlZCBpbiBwcm9wcy5cbiAqL1xuZXhwb3J0IGNsYXNzIFNsYWNrTm90aWZpY2F0aW9uIGltcGxlbWVudHMgSU5vdGlmaWNhdGlvbiB7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBwcm9wczogU2xhY2tOb3RpZmljYXRpb25Qcm9wcykgeyB9XG5cbiAgZ2VuZXJhdGVNZXNzYWdlQW5ub3RhdGlvbihfbW9uaXRvcjogRGF0YWRvZ01vbml0b3IpOiBzdHJpbmcge1xuICAgIHJldHVybiBnZXRNZXNzYWdlQW5ub3RhdGlvbkZyb21TbGFja0NoYW5uZWwodGhpcy5wcm9wcy5jaGFubmVsKTtcbiAgfVxufVxuXG4vKipcbiAqIEFuIHtAbGluayBJTm90aWZpY2F0aW9ufSwgdGhhdCBmb3J3YXJkcyBhbGVydHMgdG8gdGhlIFNsYWNrIGNoYW5uZWwsIHRoYXQgd2FzIGVudGVyZWRcbiAqIGFzIGFsZXJ0IGNoYW5uZWwgZHVyaW5nIGFjY291bnQgY3JlYXRpb24gcHJvY2Vzcy4gVGhlIGFjdHVhbCBjaGFubmVsIHZhbHVlIGlzIHRha2VuIGZyb21cbiAqIHNzbSBwYXJhbWV0ZXIgYC9jb25maWcvdGVhbS9zbGFjay1hbGVydC1jaGFubmVsYC5cbiAqIFRoaXMgbm90aWZpY2F0aW9uIGNvdWxkIGJyZWFrIHRoZSBkZXBsb3ltZW50LCBpZiB0aGUgc3NtIHBhcmFtZXRlciBpcyBub3Qgc2V0LlxuICovXG5leHBvcnQgY2xhc3MgRGVmYXVsdFNsYWNrTm90aWZpY2F0aW9uIGltcGxlbWVudHMgSU5vdGlmaWNhdGlvbiB7XG5cbiAgZ2VuZXJhdGVNZXNzYWdlQW5ub3RhdGlvbihtb25pdG9yOiBEYXRhZG9nTW9uaXRvcik6IHN0cmluZyB7XG4gICAgY29uc3Qgc2xhY2tDaGFubmVsID0gUmlvTGFuZGluZ1pvbmUuZ2V0VGVhbUFsZXJ0U2xhY2tDaGFubmVsUGFyYW1ldGVyKG1vbml0b3IpO1xuICAgIHJldHVybiBnZXRNZXNzYWdlQW5ub3RhdGlvbkZyb21TbGFja0NoYW5uZWwoc2xhY2tDaGFubmVsLnN0cmluZ1ZhbHVlKTtcbiAgfVxuXG59XG5cbi8qKlxuICogQW4ge0BsaW5rIElOb3RpZmljYXRpb259LCB0aGF0IGZvcndhcmRzIGFsZXJ0cyB0byB0aGUgUklPIHBhZ2luZyByb3V0ZXJcbiAqIHRvIGVuZ2FnZSB0aGUgY29ycmVzcG9uZGluZyB0ZWFtLlxuICogQWxlcnRzIHdpdGggUHJpb3JpdHkgPiB7QGxpbmsgUmlvUGFnaW5nTm90aWZpY2F0aW9uLk1JTklNVU1fUFJJT1JJVFl9IHdpbGwgbm90IGJlIHRha2VuIGludG8gYWNjb3VudC5cbiAqL1xuZXhwb3J0IGNsYXNzIFJpb1BhZ2luZ05vdGlmaWNhdGlvbiBpbXBsZW1lbnRzIElOb3RpZmljYXRpb24ge1xuICBzdGF0aWMgcmVhZG9ubHkgTUlOSU1VTV9QUklPUklUWSA9IDI7XG4gIGdlbmVyYXRlTWVzc2FnZUFubm90YXRpb24obW9uaXRvcjogRGF0YWRvZ01vbml0b3IpOiBzdHJpbmcge1xuICAgIGlmIChtb25pdG9yLnByaW9yaXR5ID4gUmlvUGFnaW5nTm90aWZpY2F0aW9uLk1JTklNVU1fUFJJT1JJVFkpIHtcbiAgICAgIHJldHVybiBOb05vdGlmaWNhdGlvbi5ET19OT1RfTk9USUZZO1xuICAgIH1cbiAgICByZXR1cm4gJ0Bhd3NldmVudGJyaWRnZS1yaW8tcGFnaW5nJztcbiAgfVxufVxuXG4vKipcbiAqIEFuIHtAbGluayBJTm90aWZpY2F0aW9ufSwgdGhhdCB1c2VzIHRoZSB0ZWFtX2lkZW50aWZpZXIgdG8gY3JlYXRlXG4gKiBhIGNhc2UgaW4gYSB0ZWFtIHByb2plY3QgaW4gRGF0YWRvZ3MgQ2FzZU1hbmFnZW1lbnQuXG4gKiBJdCBjYW4gYmUgdXNlZCB0byBub3QgbG9zZSBlLmcuIGFuIGxvZyBhbGVydCwgdGhhdCBpcyByZWNvdmVyaW5nXG4gKiBhdXRvbWF0aWNhbGx5IGFmdGVyIGEgd2hpbGUuXG4gKlxuICogVG8gdXNlIGl0LCBzZXR1cCBhIHByb2plY3QgaW4gRGF0YWRvZyBjYXNlIG1hbmFnZW1lbnQgYW5kIGNvbmZpZ3VyZVxuICogdGhlIGludGVncmF0aW9uIGhhbmRsZSBhY2NvcmRpbmcgdG8gdGhlIG5hbWluZyBjb252ZW50aW9uLlxuICovXG5leHBvcnQgY2xhc3MgRGF0YWRvZ0Nhc2VOb3RpZmljYXRpb24gaW1wbGVtZW50cyBJTm90aWZpY2F0aW9uIHtcbiAgZ2VuZXJhdGVNZXNzYWdlQW5ub3RhdGlvbihtb25pdG9yOiBEYXRhZG9nTW9uaXRvcik6IHN0cmluZyB7XG4gICAgY29uc3QgdGVhbUlkZW50aWZpZXIgPSBSaW9MYW5kaW5nWm9uZS5nZXRUZWFtSWRlbnRpZmllclBhcmFtZXRlcihtb25pdG9yKTtcbiAgICByZXR1cm4gYEBjYXNlLSR7dGVhbUlkZW50aWZpZXIuc3RyaW5nVmFsdWV9YDtcbiAgfVxufVxuXG4vKipcbiAqIEhlbHBlciB0byBjb21iaW5lIG11bHRpcGxlIHtAbGluayBJTm90aWZpY2F0aW9ufSBpbnRvIG9uZS5cbiAqL1xuZXhwb3J0IGNsYXNzIE5vdGlmaWNhdGlvbkFnZ3JlZ2F0b3IgaW1wbGVtZW50cyBJTm90aWZpY2F0aW9uIHtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IG5vdGlmaWNhdGlvbnM6IElOb3RpZmljYXRpb25bXSkgeyB9XG5cbiAgZ2VuZXJhdGVNZXNzYWdlQW5ub3RhdGlvbihtb25pdG9yOiBEYXRhZG9nTW9uaXRvcik6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMubm90aWZpY2F0aW9ucy5tYXAoaXQgPT4gaXQuZ2VuZXJhdGVNZXNzYWdlQW5ub3RhdGlvbihtb25pdG9yKSlcbiAgICAgIC5maWx0ZXIoaXQgPT4gaXQgIT09IE5vTm90aWZpY2F0aW9uLkRPX05PVF9OT1RJRlkpXG4gICAgICAuam9pbignXFxuJyk7XG4gIH1cblxufVxuIl19