@appium/base-driver 8.5.2 → 8.5.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/lib/basedriver/capabilities.d.ts.map +1 -1
- package/build/lib/basedriver/capabilities.js +1 -1
- package/build/lib/basedriver/commands/event.js +1 -1
- package/build/lib/basedriver/commands/find.d.ts.map +1 -1
- package/build/lib/basedriver/commands/find.js +1 -1
- package/build/lib/basedriver/commands/index.js +1 -1
- package/build/lib/basedriver/commands/log.d.ts.map +1 -1
- package/build/lib/basedriver/commands/log.js +1 -1
- package/build/lib/basedriver/commands/session.js +1 -1
- package/build/lib/basedriver/commands/settings.d.ts.map +1 -1
- package/build/lib/basedriver/commands/settings.js +1 -1
- package/build/lib/basedriver/commands/timeout.d.ts.map +1 -1
- package/build/lib/basedriver/commands/timeout.js +1 -1
- package/build/lib/basedriver/core.d.ts +120 -139
- package/build/lib/basedriver/core.d.ts.map +1 -1
- package/build/lib/basedriver/core.js +1 -49
- package/build/lib/basedriver/desired-caps.d.ts +5 -2
- package/build/lib/basedriver/desired-caps.d.ts.map +1 -1
- package/build/lib/basedriver/desired-caps.js +14 -18
- package/build/lib/basedriver/device-settings.d.ts +9 -9
- package/build/lib/basedriver/device-settings.d.ts.map +1 -1
- package/build/lib/basedriver/device-settings.js +4 -4
- package/build/lib/basedriver/driver.d.ts +43 -38
- package/build/lib/basedriver/driver.d.ts.map +1 -1
- package/build/lib/basedriver/driver.js +58 -11
- package/build/lib/basedriver/helpers.d.ts +8 -3
- package/build/lib/basedriver/helpers.d.ts.map +1 -1
- package/build/lib/basedriver/helpers.js +4 -6
- package/build/lib/basedriver/logger.d.ts +1 -1
- package/build/lib/basedriver/logger.d.ts.map +1 -1
- package/build/lib/basedriver/logger.js +1 -1
- package/build/lib/constants.js +1 -1
- package/build/lib/express/crash.d.ts.map +1 -1
- package/build/lib/express/crash.js +1 -1
- package/build/lib/express/express-logging.d.ts.map +1 -1
- package/build/lib/express/express-logging.js +1 -1
- package/build/lib/express/idempotency.js +1 -1
- package/build/lib/express/logger.d.ts +1 -1
- package/build/lib/express/logger.d.ts.map +1 -1
- package/build/lib/express/logger.js +1 -1
- package/build/lib/express/middleware.d.ts.map +1 -1
- package/build/lib/express/middleware.js +1 -1
- package/build/lib/express/server.d.ts +21 -0
- package/build/lib/express/server.d.ts.map +1 -1
- package/build/lib/express/server.js +4 -9
- package/build/lib/express/static.d.ts.map +1 -1
- package/build/lib/express/static.js +2 -2
- package/build/lib/express/websocket.d.ts +14 -11
- package/build/lib/express/websocket.d.ts.map +1 -1
- package/build/lib/express/websocket.js +2 -2
- package/build/lib/helpers/capabilities.d.ts.map +1 -1
- package/build/lib/helpers/capabilities.js +1 -1
- package/build/lib/index.d.ts +2 -1
- package/build/lib/index.js +7 -1
- package/build/lib/jsonwp-proxy/protocol-converter.d.ts.map +1 -1
- package/build/lib/jsonwp-proxy/protocol-converter.js +2 -2
- package/build/lib/jsonwp-proxy/proxy.d.ts +30 -5
- package/build/lib/jsonwp-proxy/proxy.d.ts.map +1 -1
- package/build/lib/jsonwp-proxy/proxy.js +20 -4
- package/build/lib/jsonwp-status/status.d.ts.map +1 -1
- package/build/lib/jsonwp-status/status.js +2 -2
- package/build/lib/protocol/errors.d.ts +17 -8
- package/build/lib/protocol/errors.d.ts.map +1 -1
- package/build/lib/protocol/errors.js +9 -5
- package/build/lib/protocol/helpers.js +1 -1
- package/build/lib/protocol/index.js +1 -1
- package/build/lib/protocol/protocol.d.ts.map +1 -1
- package/build/lib/protocol/protocol.js +1 -1
- package/build/lib/protocol/routes.d.ts +17 -3
- package/build/lib/protocol/routes.d.ts.map +1 -1
- package/build/lib/protocol/routes.js +1 -1
- package/build/lib/protocol/validators.js +1 -1
- package/build/test/basedriver/driver-e2e-tests.js +1 -1
- package/build/test/basedriver/driver-tests.js +1 -1
- package/build/test/basedriver/index.js +1 -1
- package/build/test/e2e/basedriver/driver.e2e.spec.js +1 -1
- package/build/test/e2e/basedriver/helpers.e2e.spec.js +1 -1
- package/build/test/e2e/basedriver/websockets.e2e.spec.js +1 -1
- package/build/test/e2e/express/server.e2e.spec.js +1 -1
- package/build/test/e2e/jsonwp-proxy/proxy.e2e.spec.js +1 -1
- package/build/test/e2e/protocol/fake-driver.js +1 -1
- package/build/test/e2e/protocol/helpers.js +1 -1
- package/build/test/e2e/protocol/protocol.e2e.spec.js +13 -13
- package/build/test/helpers.js +1 -1
- package/build/test/unit/basedriver/capabilities.spec.js +12 -12
- package/build/test/unit/basedriver/capability.spec.js +15 -15
- package/build/test/unit/basedriver/commands/event.spec.js +1 -1
- package/build/test/unit/basedriver/commands/log.spec.js +1 -1
- package/build/test/unit/basedriver/device-settings.spec.js +1 -1
- package/build/test/unit/basedriver/driver.spec.js +1 -1
- package/build/test/unit/basedriver/helpers.spec.js +33 -33
- package/build/test/unit/basedriver/timeout.spec.js +1 -1
- package/build/test/unit/express/server.spec.js +1 -1
- package/build/test/unit/express/static.spec.js +2 -2
- package/build/test/unit/jsonwp-proxy/mock-request.js +1 -1
- package/build/test/unit/jsonwp-proxy/protocol-converter.spec.js +1 -1
- package/build/test/unit/jsonwp-proxy/proxy.spec.js +2 -2
- package/build/test/unit/jsonwp-proxy/url.spec.js +1 -1
- package/build/test/unit/jsonwp-status/status.spec.js +1 -1
- package/build/test/unit/protocol/errors.spec.js +1 -1
- package/build/test/unit/protocol/routes.spec.js +1 -1
- package/build/test/unit/protocol/validator.spec.js +1 -1
- package/build/tsconfig.tsbuildinfo +1 -1
- package/lib/basedriver/capabilities.js +95 -47
- package/lib/basedriver/commands/event.js +4 -4
- package/lib/basedriver/commands/find.js +12 -26
- package/lib/basedriver/commands/index.js +7 -7
- package/lib/basedriver/commands/log.js +5 -7
- package/lib/basedriver/commands/session.js +3 -3
- package/lib/basedriver/commands/settings.js +3 -5
- package/lib/basedriver/commands/timeout.js +18 -23
- package/lib/basedriver/core.js +150 -229
- package/lib/basedriver/desired-caps.js +30 -29
- package/lib/basedriver/device-settings.js +21 -20
- package/lib/basedriver/driver.js +131 -96
- package/lib/basedriver/helpers.js +124 -81
- package/lib/basedriver/logger.js +1 -1
- package/lib/constants.js +2 -6
- package/lib/express/crash.js +4 -6
- package/lib/express/express-logging.js +26 -24
- package/lib/express/idempotency.js +16 -16
- package/lib/express/logger.js +1 -1
- package/lib/express/middleware.js +49 -33
- package/lib/express/server.js +68 -44
- package/lib/express/static.js +11 -12
- package/lib/express/websocket.js +26 -16
- package/lib/helpers/capabilities.js +11 -16
- package/lib/index.js +50 -33
- package/lib/jsonwp-proxy/protocol-converter.js +85 -69
- package/lib/jsonwp-proxy/proxy.js +116 -53
- package/lib/jsonwp-status/status.js +36 -29
- package/lib/protocol/errors.js +469 -292
- package/lib/protocol/helpers.js +5 -8
- package/lib/protocol/index.js +22 -15
- package/lib/protocol/protocol.js +103 -55
- package/lib/protocol/routes.js +430 -273
- package/lib/protocol/validators.js +5 -5
- package/package.json +9 -11
- package/test/basedriver/driver-e2e-tests.js +92 -66
- package/test/basedriver/driver-tests.js +90 -33
- package/test/basedriver/index.js +1 -1
|
@@ -1,6 +1,20 @@
|
|
|
1
|
-
|
|
2
|
-
export
|
|
1
|
+
export type Driver = import('@appium/types').Driver;
|
|
2
|
+
export type MethodMap = import('@appium/types').MethodMap;
|
|
3
|
+
/**
|
|
4
|
+
* define the routes, mapping of HTTP methods to particular driver commands, and
|
|
5
|
+
* any parameters that are expected in a request parameters can be `required` or
|
|
6
|
+
* `optional`
|
|
7
|
+
* @type {MethodMap}
|
|
8
|
+
*/
|
|
9
|
+
export const METHOD_MAP: MethodMap;
|
|
3
10
|
export let ALL_COMMANDS: any[];
|
|
4
11
|
export const NO_SESSION_ID_COMMANDS: string[];
|
|
5
|
-
|
|
12
|
+
/**
|
|
13
|
+
*
|
|
14
|
+
* @param {string} endpoint
|
|
15
|
+
* @param {import('@appium/types').HTTPMethod} method
|
|
16
|
+
* @param {string} [basePath]
|
|
17
|
+
* @returns {string|undefined}
|
|
18
|
+
*/
|
|
19
|
+
export function routeToCommandName(endpoint: string, method: import('@appium/types').HTTPMethod, basePath?: string | undefined): string | undefined;
|
|
6
20
|
//# sourceMappingURL=routes.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"routes.d.ts","sourceRoot":"","sources":["../../../lib/protocol/routes.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"routes.d.ts","sourceRoot":"","sources":["../../../lib/protocol/routes.js"],"names":[],"mappings":"qBAi/Ba,OAAO,eAAe,EAAE,MAAM;wBAC9B,OAAO,eAAe,EAAE,SAAS;AAl+B9C;;;;;GAKG;AACH,yBAFU,SAAS,CAi4BjB;AAGF,+BAAsB;AAoFtB,8CAA6E;AA5C7E;;;;;;GAMG;AACH,6CALW,MAAM,UACN,OAAO,eAAe,EAAE,UAAU,kCAEhC,MAAM,GAAC,SAAS,CAoC5B"}
|
|
@@ -1352,4 +1352,4 @@ function routeToCommandName(endpoint, method, basePath = _constants.DEFAULT_BASE
|
|
|
1352
1352
|
|
|
1353
1353
|
const NO_SESSION_ID_COMMANDS = ['createSession', 'getStatus', 'getSessions'];
|
|
1354
1354
|
exports.NO_SESSION_ID_COMMANDS = NO_SESSION_ID_COMMANDS;
|
|
1355
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2xpYi9wcm90b2NvbC9yb3V0ZXMuanMiXSwibmFtZXMiOlsiU0VUX0FMRVJUX1RFWFRfUEFZTE9BRF9QQVJBTVMiLCJ2YWxpZGF0ZSIsImpzb25PYmoiLCJ1dGlsIiwiaGFzVmFsdWUiLCJ2YWx1ZSIsInRleHQiLCJvcHRpb25hbCIsIm1ha2VBcmdzIiwiTUVUSE9EX01BUCIsIkdFVCIsImNvbW1hbmQiLCJQT1NUIiwicGF5bG9hZFBhcmFtcyIsImNhcGFiaWxpdGllcyIsImRlc2lyZWRDYXBhYmlsaXRpZXMiLCJERUxFVEUiLCJwcm90b2NvbE5hbWUiLCJQUk9UT0NPTFMiLCJXM0MiLCJzY3JpcHQiLCJwYWdlTG9hZCIsImltcGxpY2l0IiwidHlwZSIsIm1zIiwicmVxdWlyZWQiLCJoYW5kbGUiLCJuYW1lIiwidW53cmFwIiwid3JhcCIsInNpZ25hbFN0cmVuZ3RoIiwic2lnbmFsU3RyZW5naCIsIkFMTF9DT01NQU5EUyIsInYiLCJfIiwidmFsdWVzIiwibSIsInB1c2giLCJSRV9FU0NBUEUiLCJSRV9QQVJBTSIsIlJvdXRlIiwiY29uc3RydWN0b3IiLCJyb3V0ZSIsInBhcmFtTmFtZXMiLCJyZVN0ciIsInJlcGxhY2UiLCJtb2RlIiwicm91dGVSZWdleHAiLCJSZWdFeHAiLCJwYXJzZSIsInVybCIsIm1hdGNoZXMiLCJtYXRjaCIsImkiLCJwYXJhbXMiLCJsZW5ndGgiLCJwYXJhbU5hbWUiLCJyb3V0ZVRvQ29tbWFuZE5hbWUiLCJlbmRwb2ludCIsIm1ldGhvZCIsImJhc2VQYXRoIiwiREVGQVVMVF9CQVNFX1BBVEgiLCJkc3RSb3V0ZSIsImluY2x1ZGVzIiwic2xpY2UiLCJpbmRleE9mIiwiYWN0dWFsRW5kcG9pbnQiLCJzdGFydHNXaXRoIiwiY3VycmVudFJvdXRlIiwia2V5cyIsIm1ldGhvZHMiLCJnZXQiLCJ0b1VwcGVyIiwiaGFzIiwiZHN0TWV0aG9kIiwiTk9fU0VTU0lPTl9JRF9DT01NQU5EUyJdLCJtYXBwaW5ncyI6Ijs7Ozs7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QXVCO0FBQ3JCLGFBQU8rRCxTQUFTLENBQUMvRCxPQUFqQjtBQUNEO0FBQ0Y7QUFDRjs7QUFHRCxNQUFNZ0Usc0JBQXNCLEdBQUcsQ0FBQyxlQUFELEVBQWtCLFdBQWxCLEVBQStCLGFBQS9CLENBQS9CIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQHRzLWNoZWNrXG5cbmltcG9ydCBfIGZyb20gJ2xvZGFzaCc7XG5pbXBvcnQgeyB1dGlsIH0gZnJvbSAnQGFwcGl1bS9zdXBwb3J0JztcbmltcG9ydCB7IFBST1RPQ09MUywgREVGQVVMVF9CQVNFX1BBVEggfSBmcm9tICcuLi9jb25zdGFudHMnO1xuXG5cbmNvbnN0IFNFVF9BTEVSVF9URVhUX1BBWUxPQURfUEFSQU1TID0ge1xuICB2YWxpZGF0ZTogKGpzb25PYmopID0+ICghdXRpbC5oYXNWYWx1ZShqc29uT2JqLnZhbHVlKSAmJiAhdXRpbC5oYXNWYWx1ZShqc29uT2JqLnRleHQpKSAmJlxuICAgICAgJ2VpdGhlciBcInRleHRcIiBvciBcInZhbHVlXCIgbXVzdCBiZSBzZXQnLFxuICBvcHRpb25hbDogWyd2YWx1ZScsICd0ZXh0J10sXG4gIC8vIFByZWZlciAndmFsdWUnIHNpbmNlIGl0J3MgbW9yZSBiYWNrd2FyZC1jb21wYXRpYmxlLlxuICBtYWtlQXJnczogKGpzb25PYmopID0+IFtqc29uT2JqLnZhbHVlIHx8IGpzb25PYmoudGV4dF0sXG59O1xuXG4vLyBkZWZpbmUgdGhlIHJvdXRlcywgbWFwcGluZyBvZiBIVFRQIG1ldGhvZHMgdG8gcGFydGljdWxhciBkcml2ZXIgY29tbWFuZHMsXG4vLyBhbmQgYW55IHBhcmFtZXRlcnMgdGhhdCBhcmUgZXhwZWN0ZWQgaW4gYSByZXF1ZXN0XG4vLyBwYXJhbWV0ZXJzIGNhbiBiZSBgcmVxdWlyZWRgIG9yIGBvcHRpb25hbGBcbi8qKiBAdHlwZSB7aW1wb3J0KCdAYXBwaXVtL3R5cGVzJykuTWV0aG9kTWFwfSAqL1xuY29uc3QgTUVUSE9EX01BUCA9IHtcbiAgJy9zdGF0dXMnOiB7XG4gICAgR0VUOiB7Y29tbWFuZDogJ2dldFN0YXR1cyd9XG4gIH0sXG4gICcvc2Vzc2lvbic6IHtcbiAgICBQT1NUOiB7Y29tbWFuZDogJ2NyZWF0ZVNlc3Npb24nLCBwYXlsb2FkUGFyYW1zOiB7XG4gICAgICB2YWxpZGF0ZTogKGpzb25PYmopID0+ICghanNvbk9iai5jYXBhYmlsaXRpZXMgJiYgIWpzb25PYmouZGVzaXJlZENhcGFiaWxpdGllcykgJiYgJ3dlIHJlcXVpcmUgb25lIG9mIFwiZGVzaXJlZENhcGFiaWxpdGllc1wiIG9yIFwiY2FwYWJpbGl0aWVzXCIgb2JqZWN0JyxcbiAgICAgIG9wdGlvbmFsOiBbJ2Rlc2lyZWRDYXBhYmlsaXRpZXMnLCAncmVxdWlyZWRDYXBhYmlsaXRpZXMnLCAnY2FwYWJpbGl0aWVzJ119fVxuICB9LFxuICAnL3Nlc3Npb25zJzoge1xuICAgIEdFVDoge2NvbW1hbmQ6ICdnZXRTZXNzaW9ucyd9XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkJzoge1xuICAgIEdFVDoge2NvbW1hbmQ6ICdnZXRTZXNzaW9uJ30sXG4gICAgREVMRVRFOiB7Y29tbWFuZDogJ2RlbGV0ZVNlc3Npb24nfVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC90aW1lb3V0cyc6IHtcbiAgICBHRVQ6IHtjb21tYW5kOiAnZ2V0VGltZW91dHMnfSwgLy8gVzNDIHJvdXRlXG4gICAgUE9TVDoge2NvbW1hbmQ6ICd0aW1lb3V0cycsIHBheWxvYWRQYXJhbXM6IHtcbiAgICAgIHZhbGlkYXRlOiAoanNvbk9iaiwgcHJvdG9jb2xOYW1lKSA9PiB7XG4gICAgICAgIGlmIChwcm90b2NvbE5hbWUgPT09IFBST1RPQ09MUy5XM0MpIHtcbiAgICAgICAgICBpZiAoIXV0aWwuaGFzVmFsdWUoanNvbk9iai5zY3JpcHQpICYmICF1dGlsLmhhc1ZhbHVlKGpzb25PYmoucGFnZUxvYWQpICYmICF1dGlsLmhhc1ZhbHVlKGpzb25PYmouaW1wbGljaXQpKSB7XG4gICAgICAgICAgICByZXR1cm4gJ1czQyBwcm90b2NvbCBleHBlY3RzIGFueSBvZiBzY3JpcHQsIHBhZ2VMb2FkIG9yIGltcGxpY2l0IHRvIGJlIHNldCc7XG4gICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIC8vIE1KU09OV1BcbiAgICAgICAgICBpZiAoIXV0aWwuaGFzVmFsdWUoanNvbk9iai50eXBlKSB8fCAhdXRpbC5oYXNWYWx1ZShqc29uT2JqLm1zKSkge1xuICAgICAgICAgICAgcmV0dXJuICdNSlNPTldQIHByb3RvY29sIHJlcXVpcmVzIHR5cGUgYW5kIG1zJztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICBvcHRpb25hbDogWyd0eXBlJywgJ21zJywgJ3NjcmlwdCcsICdwYWdlTG9hZCcsICdpbXBsaWNpdCddLFxuICAgIH19XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL3RpbWVvdXRzL2FzeW5jX3NjcmlwdCc6IHtcbiAgICBQT1NUOiB7Y29tbWFuZDogJ2FzeW5jU2NyaXB0VGltZW91dCcsIHBheWxvYWRQYXJhbXM6IHtyZXF1aXJlZDogWydtcyddfX1cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvdGltZW91dHMvaW1wbGljaXRfd2FpdCc6IHtcbiAgICBQT1NUOiB7Y29tbWFuZDogJ2ltcGxpY2l0V2FpdCcsIHBheWxvYWRQYXJhbXM6IHtyZXF1aXJlZDogWydtcyddfX1cbiAgfSxcbiAgLy8gSlNPTldQXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL3dpbmRvd19oYW5kbGUnOiB7XG4gICAgR0VUOiB7Y29tbWFuZDogJ2dldFdpbmRvd0hhbmRsZSd9XG4gIH0sXG4gIC8vIFczQ1xuICAnL3Nlc3Npb24vOnNlc3Npb25JZC93aW5kb3cvaGFuZGxlJzoge1xuICAgIEdFVDoge2NvbW1hbmQ6ICdnZXRXaW5kb3dIYW5kbGUnfVxuICB9LFxuICAvLyBKU09OV1BcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvd2luZG93X2hhbmRsZXMnOiB7XG4gICAgR0VUOiB7Y29tbWFuZDogJ2dldFdpbmRvd0hhbmRsZXMnfVxuICB9LFxuICAvLyBXM0NcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvd2luZG93L2hhbmRsZXMnOiB7XG4gICAgR0VUOiB7Y29tbWFuZDogJ2dldFdpbmRvd0hhbmRsZXMnfVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC91cmwnOiB7XG4gICAgR0VUOiB7Y29tbWFuZDogJ2dldFVybCd9LFxuICAgIFBPU1Q6IHtjb21tYW5kOiAnc2V0VXJsJywgcGF5bG9hZFBhcmFtczoge3JlcXVpcmVkOiBbJ3VybCddfX1cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvZm9yd2FyZCc6IHtcbiAgICBQT1NUOiB7Y29tbWFuZDogJ2ZvcndhcmQnfVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9iYWNrJzoge1xuICAgIFBPU1Q6IHtjb21tYW5kOiAnYmFjayd9XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL3JlZnJlc2gnOiB7XG4gICAgUE9TVDoge2NvbW1hbmQ6ICdyZWZyZXNoJ31cbiAgfSxcbiAgLy8gTUpTT05XUFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9leGVjdXRlJzoge1xuICAgIFBPU1Q6IHtjb21tYW5kOiAnZXhlY3V0ZScsIHBheWxvYWRQYXJhbXM6IHtyZXF1aXJlZDogWydzY3JpcHQnLCAnYXJncyddfX1cbiAgfSxcbiAgLy8gTUpTT05XUFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9leGVjdXRlX2FzeW5jJzoge1xuICAgIFBPU1Q6IHtjb21tYW5kOiAnZXhlY3V0ZUFzeW5jJywgcGF5bG9hZFBhcmFtczoge3JlcXVpcmVkOiBbJ3NjcmlwdCcsICdhcmdzJ119fVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9zY3JlZW5zaG90Jzoge1xuICAgIEdFVDoge2NvbW1hbmQ6ICdnZXRTY3JlZW5zaG90J31cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvaW1lL2F2YWlsYWJsZV9lbmdpbmVzJzoge1xuICAgIEdFVDoge2NvbW1hbmQ6ICdhdmFpbGFibGVJTUVFbmdpbmVzJ31cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvaW1lL2FjdGl2ZV9lbmdpbmUnOiB7XG4gICAgR0VUOiB7Y29tbWFuZDogJ2dldEFjdGl2ZUlNRUVuZ2luZSd9XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL2ltZS9hY3RpdmF0ZWQnOiB7XG4gICAgR0VUOiB7Y29tbWFuZDogJ2lzSU1FQWN0aXZhdGVkJ31cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvaW1lL2RlYWN0aXZhdGUnOiB7XG4gICAgUE9TVDoge2NvbW1hbmQ6ICdkZWFjdGl2YXRlSU1FRW5naW5lJ31cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvaW1lL2FjdGl2YXRlJzoge1xuICAgIFBPU1Q6IHtjb21tYW5kOiAnYWN0aXZhdGVJTUVFbmdpbmUnLCBwYXlsb2FkUGFyYW1zOiB7cmVxdWlyZWQ6IFsnZW5naW5lJ119fVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9mcmFtZSc6IHtcbiAgICBQT1NUOiB7Y29tbWFuZDogJ3NldEZyYW1lJywgcGF5bG9hZFBhcmFtczoge3JlcXVpcmVkOiBbJ2lkJ119fVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9mcmFtZS9wYXJlbnQnOiB7XG4gICAgUE9TVDoge31cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvd2luZG93Jzoge1xuICAgIEdFVDoge2NvbW1hbmQ6ICdnZXRXaW5kb3dIYW5kbGUnfSxcbiAgICBQT1NUOiB7Y29tbWFuZDogJ3NldFdpbmRvdycsIHBheWxvYWRQYXJhbXM6IHtcbiAgICAgIG9wdGlvbmFsOiBbJ25hbWUnLCAnaGFuZGxlJ10sXG4gICAgICAvLyBSZXR1cm4gYm90aCB2YWx1ZXMgdG8gbWF0Y2ggVzNDIGFuZCBKU09OV1AgcHJvdG9jb2xzXG4gICAgICBtYWtlQXJnczogKGpzb25PYmopID0+IHtcbiAgICAgICAgaWYgKHV0aWwuaGFzVmFsdWUoanNvbk9iai5oYW5kbGUpICYmICF1dGlsLmhhc1ZhbHVlKGpzb25PYmoubmFtZSkpIHtcbiAgICAgICAgICByZXR1cm4gW2pzb25PYmouaGFuZGxlLCBqc29uT2JqLmhhbmRsZV07XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHV0aWwuaGFzVmFsdWUoanNvbk9iai5uYW1lKSAmJiAhdXRpbC5oYXNWYWx1ZShqc29uT2JqLmhhbmRsZSkpIHtcbiAgICAgICAgICByZXR1cm4gW2pzb25PYmoubmFtZSwganNvbk9iai5uYW1lXTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gW2pzb25PYmoubmFtZSwganNvbk9iai5oYW5kbGVdO1xuICAgICAgfSxcbiAgICAgIHZhbGlkYXRlOiAoanNvbk9iaikgPT4gKCF1dGlsLmhhc1ZhbHVlKGpzb25PYmoubmFtZSkgJiYgIXV0aWwuaGFzVmFsdWUoanNvbk9iai5oYW5kbGUpKVxuICAgICAgICAmJiAnd2UgcmVxdWlyZSBvbmUgb2YgXCJuYW1lXCIgb3IgXCJoYW5kbGVcIiB0byBiZSBzZXQnLFxuICAgIH19LFxuICAgIERFTEVURToge2NvbW1hbmQ6ICdjbG9zZVdpbmRvdyd9XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL3dpbmRvdy86d2luZG93aGFuZGxlL3NpemUnOiB7XG4gICAgR0VUOiB7Y29tbWFuZDogJ2dldFdpbmRvd1NpemUnfSxcbiAgICBQT1NUOiB7fVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC93aW5kb3cvOndpbmRvd2hhbmRsZS9wb3NpdGlvbic6IHtcbiAgICBQT1NUOiB7fSxcbiAgICBHRVQ6IHt9XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL3dpbmRvdy86d2luZG93aGFuZGxlL21heGltaXplJzoge1xuICAgIFBPU1Q6IHtjb21tYW5kOiAnbWF4aW1pemVXaW5kb3cnfVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9jb29raWUnOiB7XG4gICAgR0VUOiB7Y29tbWFuZDogJ2dldENvb2tpZXMnfSxcbiAgICBQT1NUOiB7Y29tbWFuZDogJ3NldENvb2tpZScsIHBheWxvYWRQYXJhbXM6IHtyZXF1aXJlZDogWydjb29raWUnXX19LFxuICAgIERFTEVURToge2NvbW1hbmQ6ICdkZWxldGVDb29raWVzJ31cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvY29va2llLzpuYW1lJzoge1xuICAgIEdFVDoge2NvbW1hbmQ6ICdnZXRDb29raWUnfSxcbiAgICBERUxFVEU6IHtjb21tYW5kOiAnZGVsZXRlQ29va2llJ31cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvc291cmNlJzoge1xuICAgIEdFVDoge2NvbW1hbmQ6ICdnZXRQYWdlU291cmNlJ31cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvdGl0bGUnOiB7XG4gICAgR0VUOiB7Y29tbWFuZDogJ3RpdGxlJ31cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvZWxlbWVudCc6IHtcbiAgICBQT1NUOiB7Y29tbWFuZDogJ2ZpbmRFbGVtZW50JywgcGF5bG9hZFBhcmFtczoge3JlcXVpcmVkOiBbJ3VzaW5nJywgJ3ZhbHVlJ119fVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9lbGVtZW50cyc6IHtcbiAgICBQT1NUOiB7Y29tbWFuZDogJ2ZpbmRFbGVtZW50cycsIHBheWxvYWRQYXJhbXM6IHtyZXF1aXJlZDogWyd1c2luZycsICd2YWx1ZSddfX1cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvZWxlbWVudC9hY3RpdmUnOiB7XG4gICAgR0VUOiB7Y29tbWFuZDogJ2FjdGl2ZSd9LCAvLyBXM0M6IGh0dHBzOi8vdzNjLmdpdGh1Yi5pby93ZWJkcml2ZXIvd2ViZHJpdmVyLXNwZWMuaHRtbCNkZm4tZ2V0LWFjdGl2ZS1lbGVtZW50XG4gICAgUE9TVDoge2NvbW1hbmQ6ICdhY3RpdmUnfVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9lbGVtZW50LzplbGVtZW50SWQnOiB7XG4gICAgR0VUOiB7fVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9lbGVtZW50LzplbGVtZW50SWQvZWxlbWVudCc6IHtcbiAgICBQT1NUOiB7Y29tbWFuZDogJ2ZpbmRFbGVtZW50RnJvbUVsZW1lbnQnLCBwYXlsb2FkUGFyYW1zOiB7cmVxdWlyZWQ6IFsndXNpbmcnLCAndmFsdWUnXX19XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL2VsZW1lbnQvOmVsZW1lbnRJZC9lbGVtZW50cyc6IHtcbiAgICBQT1NUOiB7Y29tbWFuZDogJ2ZpbmRFbGVtZW50c0Zyb21FbGVtZW50JywgcGF5bG9hZFBhcmFtczoge3JlcXVpcmVkOiBbJ3VzaW5nJywgJ3ZhbHVlJ119fVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9lbGVtZW50LzplbGVtZW50SWQvY2xpY2snOiB7XG4gICAgUE9TVDoge2NvbW1hbmQ6ICdjbGljayd9XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL2VsZW1lbnQvOmVsZW1lbnRJZC9zdWJtaXQnOiB7XG4gICAgUE9TVDoge2NvbW1hbmQ6ICdzdWJtaXQnfVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9lbGVtZW50LzplbGVtZW50SWQvdGV4dCc6IHtcbiAgICBHRVQ6IHtjb21tYW5kOiAnZ2V0VGV4dCd9XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL2VsZW1lbnQvOmVsZW1lbnRJZC92YWx1ZSc6IHtcbiAgICBQT1NUOiB7XG4gICAgICBjb21tYW5kOiAnc2V0VmFsdWUnLFxuICAgICAgcGF5bG9hZFBhcmFtczoge1xuICAgICAgICB2YWxpZGF0ZTogKGpzb25PYmopID0+ICghdXRpbC5oYXNWYWx1ZShqc29uT2JqLnZhbHVlKSAmJiAhdXRpbC5oYXNWYWx1ZShqc29uT2JqLnRleHQpKSAmJlxuICAgICAgICAgICAgJ3dlIHJlcXVpcmUgb25lIG9mIFwidGV4dFwiIG9yIFwidmFsdWVcIiBwYXJhbXMnLFxuICAgICAgICBvcHRpb25hbDogWyd2YWx1ZScsICd0ZXh0J10sXG4gICAgICAgIC8vIG92ZXJyaWRlIHRoZSBkZWZhdWx0IGFyZ3VtZW50IGNvbnN0cnVjdG9yIGJlY2F1c2Ugb2YgdGhlIHNwZWNpYWxcbiAgICAgICAgLy8gbG9naWMgaGVyZS4gQmFzaWNhbGx5IHdlIHdhbnQgdG8gYWNjZXB0IGVpdGhlciBhIHZhbHVlIChvbGQgSlNPTldQKVxuICAgICAgICAvLyBvciBhIHRleHQgKG5ldyBXM0MpIHBhcmFtZXRlciwgYnV0IG9ubHkgc2VuZCBvbmUgb2YgdGhlbSB0byB0aGVcbiAgICAgICAgLy8gY29tbWFuZCAobm90IGJvdGgpLiBQcmVmZXIgJ3ZhbHVlJyBzaW5jZSBpdCdzIG1vcmVcbiAgICAgICAgLy8gYmFja3dhcmQtY29tcGF0aWJsZS5cbiAgICAgICAgbWFrZUFyZ3M6IChqc29uT2JqKSA9PiBbanNvbk9iai52YWx1ZSB8fCBqc29uT2JqLnRleHRdLFxuICAgICAgfVxuICAgIH1cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQva2V5cyc6IHtcbiAgICBQT1NUOiB7Y29tbWFuZDogJ2tleXMnLCBwYXlsb2FkUGFyYW1zOiB7cmVxdWlyZWQ6IFsndmFsdWUnXX19XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL2VsZW1lbnQvOmVsZW1lbnRJZC9uYW1lJzoge1xuICAgIEdFVDoge2NvbW1hbmQ6ICdnZXROYW1lJ31cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvZWxlbWVudC86ZWxlbWVudElkL2NsZWFyJzoge1xuICAgIFBPU1Q6IHtjb21tYW5kOiAnY2xlYXInfVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9lbGVtZW50LzplbGVtZW50SWQvc2VsZWN0ZWQnOiB7XG4gICAgR0VUOiB7Y29tbWFuZDogJ2VsZW1lbnRTZWxlY3RlZCd9XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL2VsZW1lbnQvOmVsZW1lbnRJZC9lbmFibGVkJzoge1xuICAgIEdFVDoge2NvbW1hbmQ6ICdlbGVtZW50RW5hYmxlZCd9XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL2VsZW1lbnQvOmVsZW1lbnRJZC9hdHRyaWJ1dGUvOm5hbWUnOiB7XG4gICAgR0VUOiB7Y29tbWFuZDogJ2dldEF0dHJpYnV0ZSd9XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL2VsZW1lbnQvOmVsZW1lbnRJZC9lcXVhbHMvOm90aGVySWQnOiB7XG4gICAgR0VUOiB7Y29tbWFuZDogJ2VxdWFsc0VsZW1lbnQnfVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9lbGVtZW50LzplbGVtZW50SWQvZGlzcGxheWVkJzoge1xuICAgIEdFVDoge2NvbW1hbmQ6ICdlbGVtZW50RGlzcGxheWVkJ31cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvZWxlbWVudC86ZWxlbWVudElkL2xvY2F0aW9uJzoge1xuICAgIEdFVDoge2NvbW1hbmQ6ICdnZXRMb2NhdGlvbid9XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL2VsZW1lbnQvOmVsZW1lbnRJZC9sb2NhdGlvbl9pbl92aWV3Jzoge1xuICAgIEdFVDoge2NvbW1hbmQ6ICdnZXRMb2NhdGlvbkluVmlldyd9XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL2VsZW1lbnQvOmVsZW1lbnRJZC9zaXplJzoge1xuICAgIEdFVDoge2NvbW1hbmQ6ICdnZXRTaXplJ31cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvZWxlbWVudC86ZWxlbWVudElkL3NoYWRvdyc6IHtcbiAgICBHRVQ6IHtjb21tYW5kOiAnZWxlbWVudFNoYWRvd1Jvb3QnfVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9zaGFkb3cvOnNoYWRvd0lkL2VsZW1lbnQnOiB7XG4gICAgUE9TVDoge2NvbW1hbmQ6ICdmaW5kRWxlbWVudEZyb21TaGFkb3dSb290JywgcGF5bG9hZFBhcmFtczoge3JlcXVpcmVkOiBbJ3VzaW5nJywgJ3ZhbHVlJ119fVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9zaGFkb3cvOnNoYWRvd0lkL2VsZW1lbnRzJzoge1xuICAgIFBPU1Q6IHtjb21tYW5kOiAnZmluZEVsZW1lbnRzRnJvbVNoYWRvd1Jvb3QnLCBwYXlsb2FkUGFyYW1zOiB7cmVxdWlyZWQ6IFsndXNpbmcnLCAndmFsdWUnXX19XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL2VsZW1lbnQvOmVsZW1lbnRJZC9jc3MvOnByb3BlcnR5TmFtZSc6IHtcbiAgICBHRVQ6IHtjb21tYW5kOiAnZ2V0Q3NzUHJvcGVydHknfVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9vcmllbnRhdGlvbic6IHtcbiAgICBHRVQ6IHtjb21tYW5kOiAnZ2V0T3JpZW50YXRpb24nfSxcbiAgICBQT1NUOiB7Y29tbWFuZDogJ3NldE9yaWVudGF0aW9uJywgcGF5bG9hZFBhcmFtczoge3JlcXVpcmVkOiBbJ29yaWVudGF0aW9uJ119fVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9yb3RhdGlvbic6IHtcbiAgICBHRVQ6IHtjb21tYW5kOiAnZ2V0Um90YXRpb24nfSxcbiAgICBQT1NUOiB7Y29tbWFuZDogJ3NldFJvdGF0aW9uJywgcGF5bG9hZFBhcmFtczoge3JlcXVpcmVkOiBbJ3gnLCAneScsICd6J119fVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9tb3ZldG8nOiB7XG4gICAgUE9TVDoge2NvbW1hbmQ6ICdtb3ZlVG8nLCBwYXlsb2FkUGFyYW1zOiB7b3B0aW9uYWw6IFsnZWxlbWVudCcsICd4b2Zmc2V0JywgJ3lvZmZzZXQnXX19XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL2NsaWNrJzoge1xuICAgIFBPU1Q6IHtjb21tYW5kOiAnY2xpY2tDdXJyZW50JywgcGF5bG9hZFBhcmFtczoge29wdGlvbmFsOiBbJ2J1dHRvbiddfX1cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvYnV0dG9uZG93bic6IHtcbiAgICBQT1NUOiB7Y29tbWFuZDogJ2J1dHRvbkRvd24nLCBwYXlsb2FkUGFyYW1zOiB7b3B0aW9uYWw6IFsnYnV0dG9uJ119fVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9idXR0b251cCc6IHtcbiAgICBQT1NUOiB7Y29tbWFuZDogJ2J1dHRvblVwJywgcGF5bG9hZFBhcmFtczoge29wdGlvbmFsOiBbJ2J1dHRvbiddfX1cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvZG91YmxlY2xpY2snOiB7XG4gICAgUE9TVDoge2NvbW1hbmQ6ICdkb3VibGVDbGljayd9XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL3RvdWNoL2NsaWNrJzoge1xuICAgIFBPU1Q6IHtjb21tYW5kOiAnY2xpY2snLCBwYXlsb2FkUGFyYW1zOiB7cmVxdWlyZWQ6IFsnZWxlbWVudCddfX1cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvdG91Y2gvZG93bic6IHtcbiAgICBQT1NUOiB7Y29tbWFuZDogJ3RvdWNoRG93bicsIHBheWxvYWRQYXJhbXM6IHtyZXF1aXJlZDogWyd4JywgJ3knXX19XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL3RvdWNoL3VwJzoge1xuICAgIFBPU1Q6IHtjb21tYW5kOiAndG91Y2hVcCcsIHBheWxvYWRQYXJhbXM6IHtyZXF1aXJlZDogWyd4JywgJ3knXX19XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL3RvdWNoL21vdmUnOiB7XG4gICAgUE9TVDoge2NvbW1hbmQ6ICd0b3VjaE1vdmUnLCBwYXlsb2FkUGFyYW1zOiB7cmVxdWlyZWQ6IFsneCcsICd5J119fVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC90b3VjaC9zY3JvbGwnOiB7XG4gICAgUE9TVDoge31cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvdG91Y2gvZG91YmxlY2xpY2snOiB7XG4gICAgUE9TVDoge31cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvYWN0aW9ucyc6IHtcbiAgICBQT1NUOiB7Y29tbWFuZDogJ3BlcmZvcm1BY3Rpb25zJywgcGF5bG9hZFBhcmFtczoge3JlcXVpcmVkOiBbJ2FjdGlvbnMnXX19LFxuICAgIERFTEVURToge2NvbW1hbmQ6ICdyZWxlYXNlQWN0aW9ucyd9XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL3RvdWNoL2xvbmdjbGljayc6IHtcbiAgICBQT1NUOiB7Y29tbWFuZDogJ3RvdWNoTG9uZ0NsaWNrJywgcGF5bG9hZFBhcmFtczoge3JlcXVpcmVkOiBbJ2VsZW1lbnRzJ119fVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC90b3VjaC9mbGljayc6IHtcbiAgICBQT1NUOiB7Y29tbWFuZDogJ2ZsaWNrJywgcGF5bG9hZFBhcmFtczoge29wdGlvbmFsOiBbJ2VsZW1lbnQnLCAneHNwZWVkJywgJ3lzcGVlZCcsICd4b2Zmc2V0JywgJ3lvZmZzZXQnLCAnc3BlZWQnXX19XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL2xvY2F0aW9uJzoge1xuICAgIEdFVDoge2NvbW1hbmQ6ICdnZXRHZW9Mb2NhdGlvbid9LFxuICAgIFBPU1Q6IHtjb21tYW5kOiAnc2V0R2VvTG9jYXRpb24nLCBwYXlsb2FkUGFyYW1zOiB7cmVxdWlyZWQ6IFsnbG9jYXRpb24nXX19XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL2xvY2FsX3N0b3JhZ2UnOiB7XG4gICAgR0VUOiB7fSxcbiAgICBQT1NUOiB7fSxcbiAgICBERUxFVEU6IHt9XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL2xvY2FsX3N0b3JhZ2Uva2V5LzprZXknOiB7XG4gICAgR0VUOiB7fSxcbiAgICBERUxFVEU6IHt9XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL2xvY2FsX3N0b3JhZ2Uvc2l6ZSc6IHtcbiAgICBHRVQ6IHt9XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL3Nlc3Npb25fc3RvcmFnZSc6IHtcbiAgICBHRVQ6IHt9LFxuICAgIFBPU1Q6IHt9LFxuICAgIERFTEVURToge31cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvc2Vzc2lvbl9zdG9yYWdlL2tleS86a2V5Jzoge1xuICAgIEdFVDoge30sXG4gICAgREVMRVRFOiB7fVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9zZXNzaW9uX3N0b3JhZ2Uvc2l6ZSc6IHtcbiAgICBHRVQ6IHt9XG4gIH0sXG4gIC8vIFNlbGVuaXVtIDQgY2xpZW50c1xuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9zZS9sb2cnOiB7XG4gICAgUE9TVDoge2NvbW1hbmQ6ICdnZXRMb2cnLCBwYXlsb2FkUGFyYW1zOiB7cmVxdWlyZWQ6IFsndHlwZSddfX1cbiAgfSxcbiAgLy8gU2VsZW5pdW0gNCBjbGllbnRzXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL3NlL2xvZy90eXBlcyc6IHtcbiAgICBHRVQ6IHtjb21tYW5kOiAnZ2V0TG9nVHlwZXMnfVxuICB9LFxuICAvLyBtanNvbndpcmUsIGFwcGl1bSBjbGllbnRzXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL2xvZyc6IHtcbiAgICBQT1NUOiB7Y29tbWFuZDogJ2dldExvZycsIHBheWxvYWRQYXJhbXM6IHtyZXF1aXJlZDogWyd0eXBlJ119fVxuICB9LFxuICAvLyBtanNvbndpcmUsIGFwcGl1bSBjbGllbnRzXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL2xvZy90eXBlcyc6IHtcbiAgICBHRVQ6IHtjb21tYW5kOiAnZ2V0TG9nVHlwZXMnfVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9hcHBsaWNhdGlvbl9jYWNoZS9zdGF0dXMnOiB7XG4gICAgR0VUOiB7fVxuICB9LFxuXG4gIC8vXG4gIC8vIG1qc29ud2lyZVxuICAvL1xuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9jb250ZXh0Jzoge1xuICAgIEdFVDoge2NvbW1hbmQ6ICdnZXRDdXJyZW50Q29udGV4dCd9LFxuICAgIFBPU1Q6IHtjb21tYW5kOiAnc2V0Q29udGV4dCcsIHBheWxvYWRQYXJhbXM6IHtyZXF1aXJlZDogWyduYW1lJ119fVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9jb250ZXh0cyc6IHtcbiAgICBHRVQ6IHtjb21tYW5kOiAnZ2V0Q29udGV4dHMnfVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9lbGVtZW50LzplbGVtZW50SWQvcGFnZUluZGV4Jzoge1xuICAgIEdFVDoge2NvbW1hbmQ6ICdnZXRQYWdlSW5kZXgnfVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9uZXR3b3JrX2Nvbm5lY3Rpb24nOiB7XG4gICAgR0VUOiB7Y29tbWFuZDogJ2dldE5ldHdvcmtDb25uZWN0aW9uJ30sXG4gICAgUE9TVDoge2NvbW1hbmQ6ICdzZXROZXR3b3JrQ29ubmVjdGlvbicsIHBheWxvYWRQYXJhbXM6IHt1bndyYXA6ICdwYXJhbWV0ZXJzJywgcmVxdWlyZWQ6IFsndHlwZSddfX1cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvdG91Y2gvcGVyZm9ybSc6IHtcbiAgICBQT1NUOiB7Y29tbWFuZDogJ3BlcmZvcm1Ub3VjaCcsIHBheWxvYWRQYXJhbXM6IHt3cmFwOiAnYWN0aW9ucycsIHJlcXVpcmVkOiBbJ2FjdGlvbnMnXX19XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL3RvdWNoL211bHRpL3BlcmZvcm0nOiB7XG4gICAgUE9TVDoge2NvbW1hbmQ6ICdwZXJmb3JtTXVsdGlBY3Rpb24nLCBwYXlsb2FkUGFyYW1zOiB7cmVxdWlyZWQ6IFsnYWN0aW9ucyddLCBvcHRpb25hbDogWydlbGVtZW50SWQnXX19XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL3JlY2VpdmVfYXN5bmNfcmVzcG9uc2UnOiB7XG4gICAgUE9TVDoge2NvbW1hbmQ6ICdyZWNlaXZlQXN5bmNSZXNwb25zZScsIHBheWxvYWRQYXJhbXM6IHtyZXF1aXJlZDogWydzdGF0dXMnLCAndmFsdWUnXX19XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL2FwcGl1bS9kZXZpY2Uvc2hha2UnOiB7XG4gICAgUE9TVDoge2NvbW1hbmQ6ICdtb2JpbGVTaGFrZSd9XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL2FwcGl1bS9kZXZpY2Uvc3lzdGVtX3RpbWUnOiB7XG4gICAgR0VUOiB7Y29tbWFuZDogJ2dldERldmljZVRpbWUnLCBwYXlsb2FkUGFyYW1zOiB7b3B0aW9uYWw6IFsnZm9ybWF0J119fSxcbiAgICBQT1NUOiB7Y29tbWFuZDogJ2dldERldmljZVRpbWUnLCBwYXlsb2FkUGFyYW1zOiB7b3B0aW9uYWw6IFsnZm9ybWF0J119fVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9hcHBpdW0vZGV2aWNlL2xvY2snOiB7XG4gICAgUE9TVDoge2NvbW1hbmQ6ICdsb2NrJywgcGF5bG9hZFBhcmFtczoge29wdGlvbmFsOiBbJ3NlY29uZHMnXX19XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL2FwcGl1bS9kZXZpY2UvdW5sb2NrJzoge1xuICAgIFBPU1Q6IHtjb21tYW5kOiAndW5sb2NrJ31cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvYXBwaXVtL2RldmljZS9pc19sb2NrZWQnOiB7XG4gICAgUE9TVDoge2NvbW1hbmQ6ICdpc0xvY2tlZCd9XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL2FwcGl1bS9zdGFydF9yZWNvcmRpbmdfc2NyZWVuJzoge1xuICAgIFBPU1Q6IHtjb21tYW5kOiAnc3RhcnRSZWNvcmRpbmdTY3JlZW4nLCBwYXlsb2FkUGFyYW1zOiB7b3B0aW9uYWw6IFsnb3B0aW9ucyddfX1cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvYXBwaXVtL3N0b3BfcmVjb3JkaW5nX3NjcmVlbic6IHtcbiAgICBQT1NUOiB7Y29tbWFuZDogJ3N0b3BSZWNvcmRpbmdTY3JlZW4nLCBwYXlsb2FkUGFyYW1zOiB7b3B0aW9uYWw6IFsnb3B0aW9ucyddfX1cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvYXBwaXVtL3BlcmZvcm1hbmNlRGF0YS90eXBlcyc6IHtcbiAgICBQT1NUOiB7Y29tbWFuZDogJ2dldFBlcmZvcm1hbmNlRGF0YVR5cGVzJ31cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvYXBwaXVtL2dldFBlcmZvcm1hbmNlRGF0YSc6IHtcbiAgICBQT1NUOiB7Y29tbWFuZDogJ2dldFBlcmZvcm1hbmNlRGF0YScsIHBheWxvYWRQYXJhbXM6IHtyZXF1aXJlZDogWydwYWNrYWdlTmFtZScsICdkYXRhVHlwZSddLCBvcHRpb25hbDogWydkYXRhUmVhZFRpbWVvdXQnXX19XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL2FwcGl1bS9kZXZpY2UvcHJlc3Nfa2V5Y29kZSc6IHtcbiAgICBQT1NUOiB7Y29tbWFuZDogJ3ByZXNzS2V5Q29kZScsIHBheWxvYWRQYXJhbXM6IHtyZXF1aXJlZDogWydrZXljb2RlJ10sIG9wdGlvbmFsOiBbJ21ldGFzdGF0ZScsICdmbGFncyddfX1cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvYXBwaXVtL2RldmljZS9sb25nX3ByZXNzX2tleWNvZGUnOiB7XG4gICAgUE9TVDoge2NvbW1hbmQ6ICdsb25nUHJlc3NLZXlDb2RlJywgcGF5bG9hZFBhcmFtczoge3JlcXVpcmVkOiBbJ2tleWNvZGUnXSwgb3B0aW9uYWw6IFsnbWV0YXN0YXRlJywgJ2ZsYWdzJ119fVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9hcHBpdW0vZGV2aWNlL2Zpbmdlcl9wcmludCc6IHtcbiAgICBQT1NUOiB7Y29tbWFuZDogJ2ZpbmdlcnByaW50JywgcGF5bG9hZFBhcmFtczoge3JlcXVpcmVkOiBbJ2ZpbmdlcnByaW50SWQnXX19XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL2FwcGl1bS9kZXZpY2Uvc2VuZF9zbXMnOiB7XG4gICAgUE9TVDoge2NvbW1hbmQ6ICdzZW5kU01TJywgcGF5bG9hZFBhcmFtczoge3JlcXVpcmVkOiBbJ3Bob25lTnVtYmVyJywgJ21lc3NhZ2UnXX19XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL2FwcGl1bS9kZXZpY2UvZ3NtX2NhbGwnOiB7XG4gICAgUE9TVDoge2NvbW1hbmQ6ICdnc21DYWxsJywgcGF5bG9hZFBhcmFtczoge3JlcXVpcmVkOiBbJ3Bob25lTnVtYmVyJywgJ2FjdGlvbiddfX1cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvYXBwaXVtL2RldmljZS9nc21fc2lnbmFsJzoge1xuICAgIFBPU1Q6IHtcbiAgICAgIGNvbW1hbmQ6ICdnc21TaWduYWwnLFxuICAgICAgcGF5bG9hZFBhcmFtczoge1xuICAgICAgICB2YWxpZGF0ZTogKGpzb25PYmopID0+ICghdXRpbC5oYXNWYWx1ZShqc29uT2JqLnNpZ25hbFN0cmVuZ3RoKSAmJiAhdXRpbC5oYXNWYWx1ZShqc29uT2JqLnNpZ25hbFN0cmVuZ2gpKSAmJlxuICAgICAgICAgICAgJ3dlIHJlcXVpcmUgb25lIG9mIFwic2lnbmFsU3RyZW5ndGhcIiBvciBcInNpZ25hbFN0cmVuZ2hcIiBwYXJhbXMnLFxuICAgICAgICBvcHRpb25hbDogWydzaWduYWxTdHJlbmd0aCcsICdzaWduYWxTdHJlbmdoJ10sXG4gICAgICAgIC8vIGJhY2t3YXJkLWNvbXBhdGlibGUuIHNvbk9iai5zaWduYWxTdHJlbmd0aCBjYW4gYmUgMFxuICAgICAgICBtYWtlQXJnczogKGpzb25PYmopID0+IFt1dGlsLmhhc1ZhbHVlKGpzb25PYmouc2lnbmFsU3RyZW5ndGgpID8ganNvbk9iai5zaWduYWxTdHJlbmd0aCA6IGpzb25PYmouc2lnbmFsU3RyZW5naF1cbiAgICAgIH1cbiAgICB9XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL2FwcGl1bS9kZXZpY2UvZ3NtX3ZvaWNlJzoge1xuICAgIFBPU1Q6IHtjb21tYW5kOiAnZ3NtVm9pY2UnLCBwYXlsb2FkUGFyYW1zOiB7cmVxdWlyZWQ6IFsnc3RhdGUnXX19XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL2FwcGl1bS9kZXZpY2UvcG93ZXJfY2FwYWNpdHknOiB7XG4gICAgUE9TVDoge2NvbW1hbmQ6ICdwb3dlckNhcGFjaXR5JywgcGF5bG9hZFBhcmFtczoge3JlcXVpcmVkOiBbJ3BlcmNlbnQnXX19XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL2FwcGl1bS9kZXZpY2UvcG93ZXJfYWMnOiB7XG4gICAgUE9TVDoge2NvbW1hbmQ6ICdwb3dlckFDJywgcGF5bG9hZFBhcmFtczoge3JlcXVpcmVkOiBbJ3N0YXRlJ119fVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9hcHBpdW0vZGV2aWNlL25ldHdvcmtfc3BlZWQnOiB7XG4gICAgUE9TVDoge2NvbW1hbmQ6ICduZXR3b3JrU3BlZWQnLCBwYXlsb2FkUGFyYW1zOiB7cmVxdWlyZWQ6IFsnbmV0c3BlZWQnXX19XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL2FwcGl1bS9kZXZpY2Uva2V5ZXZlbnQnOiB7XG4gICAgUE9TVDoge2NvbW1hbmQ6ICdrZXlldmVudCcsIHBheWxvYWRQYXJhbXM6IHtyZXF1aXJlZDogWydrZXljb2RlJ10sIG9wdGlvbmFsOiBbJ21ldGFzdGF0ZSddfX1cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvYXBwaXVtL2RldmljZS9yb3RhdGUnOiB7XG4gICAgUE9TVDoge2NvbW1hbmQ6ICdtb2JpbGVSb3RhdGlvbicsIHBheWxvYWRQYXJhbXM6IHtcbiAgICAgIHJlcXVpcmVkOiBbJ3gnLCAneScsICdyYWRpdXMnLCAncm90YXRpb24nLCAndG91Y2hDb3VudCcsICdkdXJhdGlvbiddLFxuICAgICAgb3B0aW9uYWw6IFsnZWxlbWVudCddIH19XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL2FwcGl1bS9kZXZpY2UvY3VycmVudF9hY3Rpdml0eSc6IHtcbiAgICBHRVQ6IHtjb21tYW5kOiAnZ2V0Q3VycmVudEFjdGl2aXR5J31cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvYXBwaXVtL2RldmljZS9jdXJyZW50X3BhY2thZ2UnOiB7XG4gICAgR0VUOiB7Y29tbWFuZDogJ2dldEN1cnJlbnRQYWNrYWdlJ31cbiAgfSxcbiAgLy9yZWdpb24gQXBwbGljYXRpb25zIE1hbmFnZW1lbnRcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvYXBwaXVtL2RldmljZS9pbnN0YWxsX2FwcCc6IHtcbiAgICBQT1NUOiB7XG4gICAgICBjb21tYW5kOiAnaW5zdGFsbEFwcCcsXG4gICAgICBwYXlsb2FkUGFyYW1zOiB7XG4gICAgICAgIHJlcXVpcmVkOiBbJ2FwcFBhdGgnXSxcbiAgICAgICAgb3B0aW9uYWw6IFsnb3B0aW9ucyddXG4gICAgICB9XG4gICAgfVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9hcHBpdW0vZGV2aWNlL2FjdGl2YXRlX2FwcCc6IHtcbiAgICBQT1NUOiB7XG4gICAgICBjb21tYW5kOiAnYWN0aXZhdGVBcHAnLFxuICAgICAgcGF5bG9hZFBhcmFtczoge1xuICAgICAgICByZXF1aXJlZDogW1snYXBwSWQnXSwgWydidW5kbGVJZCddXSxcbiAgICAgICAgb3B0aW9uYWw6IFsnb3B0aW9ucyddXG4gICAgICB9XG4gICAgfVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9hcHBpdW0vZGV2aWNlL3JlbW92ZV9hcHAnOiB7XG4gICAgUE9TVDoge1xuICAgICAgY29tbWFuZDogJ3JlbW92ZUFwcCcsXG4gICAgICBwYXlsb2FkUGFyYW1zOiB7XG4gICAgICAgIHJlcXVpcmVkOiBbWydhcHBJZCddLCBbJ2J1bmRsZUlkJ11dLFxuICAgICAgICBvcHRpb25hbDogWydvcHRpb25zJ11cbiAgICAgIH1cbiAgICB9XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL2FwcGl1bS9kZXZpY2UvdGVybWluYXRlX2FwcCc6IHtcbiAgICBQT1NUOiB7XG4gICAgICBjb21tYW5kOiAndGVybWluYXRlQXBwJyxcbiAgICAgIHBheWxvYWRQYXJhbXM6IHtcbiAgICAgICAgcmVxdWlyZWQ6IFtbJ2FwcElkJ10sIFsnYnVuZGxlSWQnXV0sXG4gICAgICAgIG9wdGlvbmFsOiBbJ29wdGlvbnMnXVxuICAgICAgfVxuICAgIH1cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvYXBwaXVtL2RldmljZS9hcHBfaW5zdGFsbGVkJzoge1xuICAgIFBPU1Q6IHtcbiAgICAgIGNvbW1hbmQ6ICdpc0FwcEluc3RhbGxlZCcsXG4gICAgICBwYXlsb2FkUGFyYW1zOiB7XG4gICAgICAgIHJlcXVpcmVkOiBbWydhcHBJZCddLCBbJ2J1bmRsZUlkJ11dXG4gICAgICB9XG4gICAgfVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9hcHBpdW0vZGV2aWNlL2FwcF9zdGF0ZSc6IHtcbiAgICBHRVQ6IHtcbiAgICAgIGNvbW1hbmQ6ICdxdWVyeUFwcFN0YXRlJyxcbiAgICAgIHBheWxvYWRQYXJhbXM6IHtcbiAgICAgICAgcmVxdWlyZWQ6IFtbJ2FwcElkJ10sIFsnYnVuZGxlSWQnXV1cbiAgICAgIH1cbiAgICB9LFxuICAgIFBPU1Q6IHtcbiAgICAgIGNvbW1hbmQ6ICdxdWVyeUFwcFN0YXRlJyxcbiAgICAgIHBheWxvYWRQYXJhbXM6IHtcbiAgICAgICAgcmVxdWlyZWQ6IFtbJ2FwcElkJ10sIFsnYnVuZGxlSWQnXV1cbiAgICAgIH1cbiAgICB9XG4gIH0sXG4gIC8vZW5kcmVnaW9uXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL2FwcGl1bS9kZXZpY2UvaGlkZV9rZXlib2FyZCc6IHtcbiAgICBQT1NUOiB7Y29tbWFuZDogJ2hpZGVLZXlib2FyZCcsIHBheWxvYWRQYXJhbXM6IHtvcHRpb25hbDogWydzdHJhdGVneScsICdrZXknLCAna2V5Q29kZScsICdrZXlOYW1lJ119fVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9hcHBpdW0vZGV2aWNlL2lzX2tleWJvYXJkX3Nob3duJzoge1xuICAgIEdFVDoge2NvbW1hbmQ6ICdpc0tleWJvYXJkU2hvd24nfVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9hcHBpdW0vZGV2aWNlL3B1c2hfZmlsZSc6IHtcbiAgICBQT1NUOiB7Y29tbWFuZDogJ3B1c2hGaWxlJywgcGF5bG9hZFBhcmFtczoge3JlcXVpcmVkOiBbJ3BhdGgnLCAnZGF0YSddfX1cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvYXBwaXVtL2RldmljZS9wdWxsX2ZpbGUnOiB7XG4gICAgUE9TVDoge2NvbW1hbmQ6ICdwdWxsRmlsZScsIHBheWxvYWRQYXJhbXM6IHtyZXF1aXJlZDogWydwYXRoJ119fVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9hcHBpdW0vZGV2aWNlL3B1bGxfZm9sZGVyJzoge1xuICAgIFBPU1Q6IHtjb21tYW5kOiAncHVsbEZvbGRlcicsIHBheWxvYWRQYXJhbXM6IHtyZXF1aXJlZDogWydwYXRoJ119fVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9hcHBpdW0vZGV2aWNlL3RvZ2dsZV9haXJwbGFuZV9tb2RlJzoge1xuICAgIFBPU1Q6IHtjb21tYW5kOiAndG9nZ2xlRmxpZ2h0TW9kZSd9XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL2FwcGl1bS9kZXZpY2UvdG9nZ2xlX2RhdGEnOiB7XG4gICAgUE9TVDoge2NvbW1hbmQ6ICd0b2dnbGVEYXRhJ31cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvYXBwaXVtL2RldmljZS90b2dnbGVfd2lmaSc6IHtcbiAgICBQT1NUOiB7Y29tbWFuZDogJ3RvZ2dsZVdpRmknfVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9hcHBpdW0vZGV2aWNlL3RvZ2dsZV9sb2NhdGlvbl9zZXJ2aWNlcyc6IHtcbiAgICBQT1NUOiB7Y29tbWFuZDogJ3RvZ2dsZUxvY2F0aW9uU2VydmljZXMnfVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9hcHBpdW0vZGV2aWNlL29wZW5fbm90aWZpY2F0aW9ucyc6IHtcbiAgICBQT1NUOiB7Y29tbWFuZDogJ29wZW5Ob3RpZmljYXRpb25zJ31cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvYXBwaXVtL2RldmljZS9zdGFydF9hY3Rpdml0eSc6IHtcbiAgICBQT1NUOiB7XG4gICAgICBjb21tYW5kOiAnc3RhcnRBY3Rpdml0eScsXG4gICAgICBwYXlsb2FkUGFyYW1zOiB7XG4gICAgICAgIHJlcXVpcmVkOiBbJ2FwcFBhY2thZ2UnLCAnYXBwQWN0aXZpdHknXSxcbiAgICAgICAgb3B0aW9uYWw6IFsnYXBwV2FpdFBhY2thZ2UnLCAnYXBwV2FpdEFjdGl2aXR5JywgJ2ludGVudEFjdGlvbicsXG4gICAgICAgICAgJ2ludGVudENhdGVnb3J5JywgJ2ludGVudEZsYWdzJywgJ29wdGlvbmFsSW50ZW50QXJndW1lbnRzJywgJ2RvbnRTdG9wQXBwT25SZXNldCddXG4gICAgICB9XG4gICAgfVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9hcHBpdW0vZGV2aWNlL3N5c3RlbV9iYXJzJzoge1xuICAgIEdFVDoge2NvbW1hbmQ6ICdnZXRTeXN0ZW1CYXJzJ31cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvYXBwaXVtL2RldmljZS9kaXNwbGF5X2RlbnNpdHknOiB7XG4gICAgR0VUOiB7Y29tbWFuZDogJ2dldERpc3BsYXlEZW5zaXR5J31cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvYXBwaXVtL3NpbXVsYXRvci90b3VjaF9pZCc6IHtcbiAgICBQT1NUOiB7Y29tbWFuZDogJ3RvdWNoSWQnLCBwYXlsb2FkUGFyYW1zOiB7cmVxdWlyZWQ6IFsnbWF0Y2gnXX19XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL2FwcGl1bS9zaW11bGF0b3IvdG9nZ2xlX3RvdWNoX2lkX2Vucm9sbG1lbnQnOiB7XG4gICAgUE9TVDoge2NvbW1hbmQ6ICd0b2dnbGVFbnJvbGxUb3VjaElkJywgcGF5bG9hZFBhcmFtczoge29wdGlvbmFsOiBbJ2VuYWJsZWQnXX19XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL2FwcGl1bS9hcHAvbGF1bmNoJzoge1xuICAgIFBPU1Q6IHtjb21tYW5kOiAnbGF1bmNoQXBwJ31cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvYXBwaXVtL2FwcC9jbG9zZSc6IHtcbiAgICBQT1NUOiB7Y29tbWFuZDogJ2Nsb3NlQXBwJ31cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvYXBwaXVtL2FwcC9yZXNldCc6IHtcbiAgICBQT1NUOiB7Y29tbWFuZDogJ3Jlc2V0J31cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvYXBwaXVtL2FwcC9iYWNrZ3JvdW5kJzoge1xuICAgIFBPU1Q6IHtjb21tYW5kOiAnYmFja2dyb3VuZCcsIHBheWxvYWRQYXJhbXM6IHtyZXF1aXJlZDogWydzZWNvbmRzJ119fVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9hcHBpdW0vYXBwL2VuZF90ZXN0X2NvdmVyYWdlJzoge1xuICAgIFBPU1Q6IHtjb21tYW5kOiAnZW5kQ292ZXJhZ2UnLCBwYXlsb2FkUGFyYW1zOiB7cmVxdWlyZWQ6IFsnaW50ZW50JywgJ3BhdGgnXX19XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL2FwcGl1bS9hcHAvc3RyaW5ncyc6IHtcbiAgICBQT1NUOiB7Y29tbWFuZDogJ2dldFN0cmluZ3MnLCBwYXlsb2FkUGFyYW1zOiB7b3B0aW9uYWw6IFsnbGFuZ3VhZ2UnLCAnc3RyaW5nRmlsZSddfX1cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvYXBwaXVtL2VsZW1lbnQvOmVsZW1lbnRJZC92YWx1ZSc6IHtcbiAgICBQT1NUOiB7Y29tbWFuZDogJ3NldFZhbHVlSW1tZWRpYXRlJywgcGF5bG9hZFBhcmFtczoge1xuICAgICAgdmFsaWRhdGU6IChqc29uT2JqKSA9PiAoIXV0aWwuaGFzVmFsdWUoanNvbk9iai52YWx1ZSkgJiYgIXV0aWwuaGFzVmFsdWUoanNvbk9iai50ZXh0KSkgJiZcbiAgICAgICAgICAnd2UgcmVxdWlyZSBvbmUgb2YgXCJ0ZXh0XCIgb3IgXCJ2YWx1ZVwiIHBhcmFtcycsXG4gICAgICBvcHRpb25hbDogWyd2YWx1ZScsICd0ZXh0J10sXG4gICAgICAvLyBXZSB3YW50IHRvIGVpdGhlciBhIHZhbHVlIChvbGQgSlNPTldQKSBvciBhIHRleHQgKG5ldyBXM0MpIHBhcmFtZXRlcixcbiAgICAgIC8vIGJ1dCBvbmx5IHNlbmQgb25lIG9mIHRoZW0gdG8gdGhlIGNvbW1hbmQgKG5vdCBib3RoKS5cbiAgICAgIC8vIFByZWZlciAndmFsdWUnIHNpbmNlIGl0J3MgbW9yZSBiYWNrd2FyZC1jb21wYXRpYmxlLlxuICAgICAgbWFrZUFyZ3M6IChqc29uT2JqKSA9PiBbanNvbk9iai52YWx1ZSB8fCBqc29uT2JqLnRleHRdLFxuICAgIH19XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL2FwcGl1bS9lbGVtZW50LzplbGVtZW50SWQvcmVwbGFjZV92YWx1ZSc6IHtcbiAgICBQT1NUOiB7Y29tbWFuZDogJ3JlcGxhY2VWYWx1ZScsIHBheWxvYWRQYXJhbXM6IHtcbiAgICAgIHZhbGlkYXRlOiAoanNvbk9iaikgPT4gKCF1dGlsLmhhc1ZhbHVlKGpzb25PYmoudmFsdWUpICYmICF1dGlsLmhhc1ZhbHVlKGpzb25PYmoudGV4dCkpICYmXG4gICAgICAgICAgJ3dlIHJlcXVpcmUgb25lIG9mIFwidGV4dFwiIG9yIFwidmFsdWVcIiBwYXJhbXMnLFxuICAgICAgb3B0aW9uYWw6IFsndmFsdWUnLCAndGV4dCddLFxuICAgICAgLy8gV2Ugd2FudCB0byBlaXRoZXIgYSB2YWx1ZSAob2xkIEpTT05XUCkgb3IgYSB0ZXh0IChuZXcgVzNDKSBwYXJhbWV0ZXIsXG4gICAgICAvLyBidXQgb25seSBzZW5kIG9uZSBvZiB0aGVtIHRvIHRoZSBjb21tYW5kIChub3QgYm90aCkuXG4gICAgICAvLyBQcmVmZXIgJ3ZhbHVlJyBzaW5jZSBpdCdzIG1vcmUgYmFja3dhcmQtY29tcGF0aWJsZS5cbiAgICAgIG1ha2VBcmdzOiAoanNvbk9iaikgPT4gW2pzb25PYmoudmFsdWUgPz8ganNvbk9iai50ZXh0ID8/ICcnXSxcbiAgICB9fVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9hcHBpdW0vc2V0dGluZ3MnOiB7XG4gICAgUE9TVDoge2NvbW1hbmQ6ICd1cGRhdGVTZXR0aW5ncycsIHBheWxvYWRQYXJhbXM6IHtyZXF1aXJlZDogWydzZXR0aW5ncyddfX0sXG4gICAgR0VUOiB7Y29tbWFuZDogJ2dldFNldHRpbmdzJ31cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvYXBwaXVtL3JlY2VpdmVfYXN5bmNfcmVzcG9uc2UnOiB7XG4gICAgUE9TVDoge2NvbW1hbmQ6ICdyZWNlaXZlQXN5bmNSZXNwb25zZScsIHBheWxvYWRQYXJhbXM6IHtyZXF1aXJlZDogWydyZXNwb25zZSddfX1cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvYXBwaXVtL2V2ZW50cyc6IHtcbiAgICBQT1NUOiB7Y29tbWFuZDogJ2dldExvZ0V2ZW50cycsIHBheWxvYWRQYXJhbXM6IHtvcHRpb25hbDogWyd0eXBlJ119fVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9hcHBpdW0vbG9nX2V2ZW50Jzoge1xuICAgIFBPU1Q6IHtjb21tYW5kOiAnbG9nQ3VzdG9tRXZlbnQnLCBwYXlsb2FkUGFyYW1zOiB7cmVxdWlyZWQ6IFsndmVuZG9yJywgJ2V2ZW50J119fVxuICB9LFxuXG4gIC8qXG4gICAqIFRoZSBXM0Mgc3BlYyBoYXMgc29tZSBjaGFuZ2VzIHRvIHRoZSB3aXJlIHByb3RvY29sLlxuICAgKiBodHRwczovL3czYy5naXRodWIuaW8vd2ViZHJpdmVyL3dlYmRyaXZlci1zcGVjLmh0bWxcbiAgICogQmVnaW4gdG8gYWRkIHRob3NlIGNoYW5nZXMgaGVyZSwga2VlcGluZyB0aGUgb2xkIHZlcnNpb25cbiAgICogc2luY2UgY2xpZW50cyBzdGlsbCBpbXBsZW1lbnQgdGhlbS5cbiAgICovXG4gIC8vIE1KU09OV1BcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvYWxlcnRfdGV4dCc6IHtcbiAgICBHRVQ6IHtjb21tYW5kOiAnZ2V0QWxlcnRUZXh0J30sXG4gICAgUE9TVDoge1xuICAgICAgY29tbWFuZDogJ3NldEFsZXJ0VGV4dCcsXG4gICAgICBwYXlsb2FkUGFyYW1zOiBTRVRfQUxFUlRfVEVYVF9QQVlMT0FEX1BBUkFNUyxcbiAgICB9XG4gIH0sXG4gIC8vIE1KU09OV1BcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvYWNjZXB0X2FsZXJ0Jzoge1xuICAgIFBPU1Q6IHtjb21tYW5kOiAncG9zdEFjY2VwdEFsZXJ0J31cbiAgfSxcbiAgLy8gTUpTT05XUFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9kaXNtaXNzX2FsZXJ0Jzoge1xuICAgIFBPU1Q6IHtjb21tYW5kOiAncG9zdERpc21pc3NBbGVydCd9XG4gIH0sXG4gIC8vIGh0dHBzOi8vdzNjLmdpdGh1Yi5pby93ZWJkcml2ZXIvd2ViZHJpdmVyLXNwZWMuaHRtbCN1c2VyLXByb21wdHNcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvYWxlcnQvdGV4dCc6IHtcbiAgICBHRVQ6IHtjb21tYW5kOiAnZ2V0QWxlcnRUZXh0J30sXG4gICAgUE9TVDoge1xuICAgICAgY29tbWFuZDogJ3NldEFsZXJ0VGV4dCcsXG4gICAgICBwYXlsb2FkUGFyYW1zOiBTRVRfQUxFUlRfVEVYVF9QQVlMT0FEX1BBUkFNUyxcbiAgICB9XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL2FsZXJ0L2FjY2VwdCc6IHtcbiAgICBQT1NUOiB7Y29tbWFuZDogJ3Bvc3RBY2NlcHRBbGVydCd9XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL2FsZXJ0L2Rpc21pc3MnOiB7XG4gICAgUE9TVDoge2NvbW1hbmQ6ICdwb3N0RGlzbWlzc0FsZXJ0J31cbiAgfSxcbiAgLy8gaHR0cHM6Ly93M2MuZ2l0aHViLmlvL3dlYmRyaXZlci93ZWJkcml2ZXItc3BlYy5odG1sI2dldC1lbGVtZW50LXJlY3RcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvZWxlbWVudC86ZWxlbWVudElkL3JlY3QnOiB7XG4gICAgR0VUOiB7Y29tbWFuZDogJ2dldEVsZW1lbnRSZWN0J31cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvZXhlY3V0ZS9zeW5jJzoge1xuICAgIFBPU1Q6IHtjb21tYW5kOiAnZXhlY3V0ZScsIHBheWxvYWRQYXJhbXM6IHtyZXF1aXJlZDogWydzY3JpcHQnLCAnYXJncyddfX1cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvZXhlY3V0ZS9hc3luYyc6IHtcbiAgICBQT1NUOiB7Y29tbWFuZDogJ2V4ZWN1dGVBc3luYycsIHBheWxvYWRQYXJhbXM6IHtyZXF1aXJlZDogWydzY3JpcHQnLCAnYXJncyddfX1cbiAgfSxcbiAgLy8gUHJlLVczQyBlbmRwb2ludCBmb3IgZWxlbWVudCBzY3JlZW5zaG90XG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL3NjcmVlbnNob3QvOmVsZW1lbnRJZCc6IHtcbiAgICBHRVQ6IHtjb21tYW5kOiAnZ2V0RWxlbWVudFNjcmVlbnNob3QnfVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9lbGVtZW50LzplbGVtZW50SWQvc2NyZWVuc2hvdCc6IHtcbiAgICBHRVQ6IHtjb21tYW5kOiAnZ2V0RWxlbWVudFNjcmVlbnNob3QnfVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC93aW5kb3cvcmVjdCc6IHtcbiAgICBHRVQ6IHtjb21tYW5kOiAnZ2V0V2luZG93UmVjdCd9LFxuICAgIFBPU1Q6IHtjb21tYW5kOiAnc2V0V2luZG93UmVjdCcsIHBheWxvYWRQYXJhbXM6IHtyZXF1aXJlZDogWyd4JywgJ3knLCAnd2lkdGgnLCAnaGVpZ2h0J119fSxcbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvd2luZG93L21heGltaXplJzoge1xuICAgIFBPU1Q6IHtjb21tYW5kOiAnbWF4aW1pemVXaW5kb3cnfVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC93aW5kb3cvbWluaW1pemUnOiB7XG4gICAgUE9TVDoge2NvbW1hbmQ6ICdtaW5pbWl6ZVdpbmRvdyd9XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL3dpbmRvdy9mdWxsc2NyZWVuJzoge1xuICAgIFBPU1Q6IHtjb21tYW5kOiAnZnVsbFNjcmVlbldpbmRvdyd9XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL3dpbmRvdy9uZXcnOiB7XG4gICAgUE9TVDoge2NvbW1hbmQ6ICdjcmVhdGVOZXdXaW5kb3cnLCBwYXlsb2FkUGFyYW1zOiB7b3B0aW9uYWw6IFsndHlwZSddfX1cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvZWxlbWVudC86ZWxlbWVudElkL3Byb3BlcnR5LzpuYW1lJzoge1xuICAgIEdFVDoge2NvbW1hbmQ6ICdnZXRQcm9wZXJ0eSd9XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL2FwcGl1bS9kZXZpY2Uvc2V0X2NsaXBib2FyZCc6IHtcbiAgICBQT1NUOiB7XG4gICAgICBjb21tYW5kOiAnc2V0Q2xpcGJvYXJkJyxcbiAgICAgIHBheWxvYWRQYXJhbXM6IHtcbiAgICAgICAgcmVxdWlyZWQ6IFsnY29udGVudCddLFxuICAgICAgICBvcHRpb25hbDogW1xuICAgICAgICAgICdjb250ZW50VHlwZScsXG4gICAgICAgICAgJ2xhYmVsJyxcbiAgICAgICAgXVxuICAgICAgfSxcbiAgICB9XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL2FwcGl1bS9kZXZpY2UvZ2V0X2NsaXBib2FyZCc6IHtcbiAgICBQT1NUOiB7XG4gICAgICBjb21tYW5kOiAnZ2V0Q2xpcGJvYXJkJyxcbiAgICAgIHBheWxvYWRQYXJhbXM6IHtcbiAgICAgICAgb3B0aW9uYWw6IFtcbiAgICAgICAgICAnY29udGVudFR5cGUnLFxuICAgICAgICBdXG4gICAgICB9LFxuICAgIH1cbiAgfSxcblxuICAvLyBjaHJvbWl1bSBkZXZ0b29sc1xuICAvLyBodHRwczovL2Nocm9taXVtLmdvb2dsZXNvdXJjZS5jb20vY2hyb21pdW0vc3JjLysvbWFzdGVyL2Nocm9tZS90ZXN0L2Nocm9tZWRyaXZlci9zZXJ2ZXIvaHR0cF9oYW5kbGVyLmNjXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkLzp2ZW5kb3IvY2RwL2V4ZWN1dGUnOiB7XG4gICAgUE9TVDoge2NvbW1hbmQ6ICdleGVjdXRlQ2RwJywgcGF5bG9hZFBhcmFtczoge3JlcXVpcmVkOiBbJ2NtZCcsICdwYXJhbXMnXX19XG4gIH0sXG5cbiAgLy9yZWdpb24gV2ViYXV0aG5cbiAgLy8gaHR0cHM6Ly93d3cudzMub3JnL1RSL3dlYmF1dGhuLTIvI3NjdG4tYXV0b21hdGlvbi1hZGQtdmlydHVhbC1hdXRoZW50aWNhdG9yXG5cbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvd2ViYXV0aG4vYXV0aGVudGljYXRvcic6IHtcbiAgICBQT1NUOiB7XG4gICAgICBjb21tYW5kOiAnYWRkVmlydHVhbEF1dGhlbnRpY2F0b3InLFxuICAgICAgcGF5bG9hZFBhcmFtczoge1xuICAgICAgICByZXF1aXJlZDogWydwcm90b2NvbCcsICd0cmFuc3BvcnQnXSxcbiAgICAgICAgb3B0aW9uYWw6IFsnaGFzUmVzaWRlbnRLZXknLCAnaGFzVXNlclZlcmlmaWNhdGlvbicsICdpc1VzZXJDb25zZW50aW5nJywgJ2lzVXNlclZlcmlmaWVkJ10sXG4gICAgICB9XG4gICAgfVxuICB9LFxuXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL3dlYmF1dGhuL2F1dGhlbnRpY2F0b3IvOmF1dGhlbnRpY2F0b3JJZCc6IHtcbiAgICBERUxFVEU6IHtcbiAgICAgIGNvbW1hbmQ6ICdyZW1vdmVWaXJ0dWFsQXV0aGVudGljYXRvcidcbiAgICB9XG4gIH0sXG5cbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvd2ViYXV0aG4vYXV0aGVudGljYXRvci86YXV0aGVudGljYXRvcklkL2NyZWRlbnRpYWwnOiB7XG4gICAgUE9TVDoge1xuICAgICAgY29tbWFuZDogJ2FkZEF1dGhDcmVkZW50aWFsJyxcbiAgICAgIHBheWxvYWRQYXJhbXM6IHtcbiAgICAgICAgcmVxdWlyZWQ6IFsnY3JlZGVudGlhbElkJywgJ2lzUmVzaWRlbnRDcmVkZW50aWFsJywgJ3JwSWQnLCAncHJpdmF0ZUtleSddLFxuICAgICAgICBvcHRpb25hbDogWyd1c2VySGFuZGxlJywgJ3NpZ25Db3VudCddLFxuICAgICAgfVxuICAgIH1cbiAgfSxcblxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC93ZWJhdXRobi9hdXRoZW50aWNhdG9yLzphdXRoZW50aWNhdG9ySWQvY3JlZGVudGlhbHMnOiB7XG4gICAgR0VUOiB7Y29tbWFuZDogJ2dldEF1dGhDcmVkZW50aWFsJ30sXG4gICAgREVMRVRFOiB7Y29tbWFuZDogJ3JlbW92ZUFsbEF1dGhDcmVkZW50aWFscyd9LFxuICB9LFxuXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL3dlYmF1dGhuL2F1dGhlbnRpY2F0b3IvOmF1dGhlbnRpY2F0b3JJZC9jcmVkZW50aWFscy86Y3JlZGVudGlhbElkJzoge1xuICAgIERFTEVURToge2NvbW1hbmQ6ICdyZW1vdmVBdXRoQ3JlZGVudGlhbCd9XG4gIH0sXG5cbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvd2ViYXV0aG4vYXV0aGVudGljYXRvci86YXV0aGVudGljYXRvcklkL3V2Jzoge1xuICAgIFBPU1Q6IHtcbiAgICAgIGNvbW1hbmQ6ICdzZXRVc2VyQXV0aFZlcmlmaWVkJyxcbiAgICAgIHBheWxvYWRQYXJhbXM6IHtcbiAgICAgICAgcmVxdWlyZWQ6IFsnaXNVc2VyVmVyaWZpZWQnXVxuICAgICAgfVxuICAgIH1cbiAgfSxcblxuICAvL2VuZHJlZ2lvblxuXG59O1xuXG4vLyBkcml2ZXIgY29tbWFuZCBuYW1lc1xubGV0IEFMTF9DT01NQU5EUyA9IFtdO1xuZm9yIChsZXQgdiBvZiBfLnZhbHVlcyhNRVRIT0RfTUFQKSkge1xuICBmb3IgKGxldCBtIG9mIF8udmFsdWVzKHYpKSB7XG4gICAgaWYgKG0uY29tbWFuZCkge1xuICAgICAgQUxMX0NPTU1BTkRTLnB1c2gobS5jb21tYW5kKTtcbiAgICB9XG4gIH1cbn1cblxuY29uc3QgUkVfRVNDQVBFID0gL1stW1xcXXt9KCkrPy4sXFxcXF4kfCNcXHNdL2c7XG5jb25zdCBSRV9QQVJBTSA9IC8oWzoqXSkoXFx3KykvZztcblxuY2xhc3MgUm91dGUge1xuICBjb25zdHJ1Y3RvciAocm91dGUpIHtcbiAgICB0aGlzLnBhcmFtTmFtZXMgPSBbXTtcblxuICAgIGxldCByZVN0ciA9IHJvdXRlLnJlcGxhY2UoUkVfRVNDQVBFLCAnXFxcXCQmJyk7XG4gICAgcmVTdHIgPSByZVN0ci5yZXBsYWNlKFJFX1BBUkFNLCAoXywgbW9kZSwgbmFtZSkgPT4ge1xuICAgICAgdGhpcy5wYXJhbU5hbWVzLnB1c2gobmFtZSk7XG4gICAgICByZXR1cm4gbW9kZSA9PT0gJzonID8gJyhbXi9dKiknIDogJyguKiknO1xuICAgIH0pO1xuICAgIHRoaXMucm91dGVSZWdleHAgPSBuZXcgUmVnRXhwKGBeJHtyZVN0cn0kYCk7XG4gIH1cblxuICBwYXJzZSAodXJsKSB7XG4gICAgLy9pZiAodXJsLmluZGV4T2YoJ3RpbWVvdXRzJykgIT09IC0xICYmIHRoaXMucm91dGVSZWdleHAudG9TdHJpbmcoKS5pbmRleE9mKCd0aW1lb3V0cycpICE9PSAtMSkge1xuICAgIC8vZGVidWdnZXI7XG4gICAgLy99XG4gICAgbGV0IG1hdGNoZXMgPSB1cmwubWF0Y2godGhpcy5yb3V0ZVJlZ2V4cCk7XG4gICAgaWYgKCFtYXRjaGVzKSByZXR1cm47IC8vIGVzbGludC1kaXNhYmxlLWxpbmUgY3VybHlcbiAgICBsZXQgaSA9IDA7XG4gICAgbGV0IHBhcmFtcyA9IHt9O1xuICAgIHdoaWxlIChpIDwgdGhpcy5wYXJhbU5hbWVzLmxlbmd0aCkge1xuICAgICAgY29uc3QgcGFyYW1OYW1lID0gdGhpcy5wYXJhbU5hbWVzW2krK107XG4gICAgICBwYXJhbXNbcGFyYW1OYW1lXSA9IG1hdGNoZXNbaV07XG4gICAgfVxuICAgIHJldHVybiBwYXJhbXM7XG4gIH1cbn1cblxuZnVuY3Rpb24gcm91dGVUb0NvbW1hbmROYW1lIChlbmRwb2ludCwgbWV0aG9kLCBiYXNlUGF0aCA9IERFRkFVTFRfQkFTRV9QQVRIKSB7XG4gIGxldCBkc3RSb3V0ZSA9IG51bGw7XG5cbiAgLy8gcmVtb3ZlIGFueSBxdWVyeSBzdHJpbmdcbiAgaWYgKGVuZHBvaW50LmluY2x1ZGVzKCc/JykpIHtcbiAgICBlbmRwb2ludCA9IGVuZHBvaW50LnNsaWNlKDAsIGVuZHBvaW50LmluZGV4T2YoJz8nKSk7XG4gIH1cblxuICBjb25zdCBhY3R1YWxFbmRwb2ludCA9IGVuZHBvaW50ID09PSAnLycgPyAnJyA6XG4gICAgKF8uc3RhcnRzV2l0aChlbmRwb2ludCwgJy8nKSA/IGVuZHBvaW50IDogYC8ke2VuZHBvaW50fWApO1xuXG4gIGZvciAobGV0IGN1cnJlbnRSb3V0ZSBvZiBfLmtleXMoTUVUSE9EX01BUCkpIHtcbiAgICBjb25zdCByb3V0ZSA9IG5ldyBSb3V0ZShgJHtiYXNlUGF0aH0ke2N1cnJlbnRSb3V0ZX1gKTtcbiAgICAvLyB3ZSBkb24ndCBjYXJlIGFib3V0IHRoZSBhY3R1YWwgc2Vzc2lvbiBpZCBmb3IgbWF0Y2hpbmdcbiAgICBpZiAocm91dGUucGFyc2UoYCR7YmFzZVBhdGh9L3Nlc3Npb24vaWdub3JlZC1zZXNzaW9uLWlkJHthY3R1YWxFbmRwb2ludH1gKSB8fFxuICAgICAgICByb3V0ZS5wYXJzZShgJHtiYXNlUGF0aH0ke2FjdHVhbEVuZHBvaW50fWApIHx8IHJvdXRlLnBhcnNlKGFjdHVhbEVuZHBvaW50KSkge1xuICAgICAgZHN0Um91dGUgPSBjdXJyZW50Um91dGU7XG4gICAgICBicmVhaztcbiAgICB9XG4gIH1cbiAgaWYgKCFkc3RSb3V0ZSkgcmV0dXJuOyAvLyBlc2xpbnQtZGlzYWJsZS1saW5lIGN1cmx5XG5cbiAgY29uc3QgbWV0aG9kcyA9IF8uZ2V0KE1FVEhPRF9NQVAsIGRzdFJvdXRlKTtcbiAgbWV0aG9kID0gXy50b1VwcGVyKG1ldGhvZCk7XG4gIGlmIChfLmhhcyhtZXRob2RzLCBtZXRob2QpKSB7XG4gICAgY29uc3QgZHN0TWV0aG9kID0gXy5nZXQobWV0aG9kcywgbWV0aG9kKTtcbiAgICBpZiAoZHN0TWV0aG9kLmNvbW1hbmQpIHtcbiAgICAgIHJldHVybiBkc3RNZXRob2QuY29tbWFuZDtcbiAgICB9XG4gIH1cbn1cblxuLy8gZHJpdmVyIGNvbW1hbmRzIHRoYXQgZG8gbm90IHJlcXVpcmUgYSBzZXNzaW9uIHRvIGFscmVhZHkgZXhpc3RcbmNvbnN0IE5PX1NFU1NJT05fSURfQ09NTUFORFMgPSBbJ2NyZWF0ZVNlc3Npb24nLCAnZ2V0U3RhdHVzJywgJ2dldFNlc3Npb25zJ107XG5cbmV4cG9ydCB7IE1FVEhPRF9NQVAsIEFMTF9DT01NQU5EUywgTk9fU0VTU0lPTl9JRF9DT01NQU5EUywgcm91dGVUb0NvbW1hbmROYW1lIH07XG4iXX0=
|
|
1355
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJTRVRfQUxFUlRfVEVYVF9QQVlMT0FEX1BBUkFNUyIsInZhbGlkYXRlIiwianNvbk9iaiIsInV0aWwiLCJoYXNWYWx1ZSIsInZhbHVlIiwidGV4dCIsIm9wdGlvbmFsIiwibWFrZUFyZ3MiLCJNRVRIT0RfTUFQIiwiR0VUIiwiY29tbWFuZCIsIlBPU1QiLCJwYXlsb2FkUGFyYW1zIiwiY2FwYWJpbGl0aWVzIiwiZGVzaXJlZENhcGFiaWxpdGllcyIsIkRFTEVURSIsInByb3RvY29sTmFtZSIsIlBST1RPQ09MUyIsIlczQyIsInNjcmlwdCIsInBhZ2VMb2FkIiwiaW1wbGljaXQiLCJ0eXBlIiwibXMiLCJyZXF1aXJlZCIsImhhbmRsZSIsIm5hbWUiLCJ1bndyYXAiLCJ3cmFwIiwic2lnbmFsU3RyZW5ndGgiLCJzaWduYWxTdHJlbmdoIiwiQUxMX0NPTU1BTkRTIiwidiIsIl8iLCJ2YWx1ZXMiLCJtIiwicHVzaCIsIlJFX0VTQ0FQRSIsIlJFX1BBUkFNIiwiUm91dGUiLCJjb25zdHJ1Y3RvciIsInJvdXRlIiwicGFyYW1OYW1lcyIsInJlU3RyIiwicmVwbGFjZSIsIm1vZGUiLCJyb3V0ZVJlZ2V4cCIsIlJlZ0V4cCIsInBhcnNlIiwidXJsIiwibWF0Y2hlcyIsIm1hdGNoIiwiaSIsInBhcmFtcyIsImxlbmd0aCIsInBhcmFtTmFtZSIsInJvdXRlVG9Db21tYW5kTmFtZSIsImVuZHBvaW50IiwibWV0aG9kIiwiYmFzZVBhdGgiLCJERUZBVUxUX0JBU0VfUEFUSCIsImRzdFJvdXRlIiwiaW5jbHVkZXMiLCJzbGljZSIsImluZGV4T2YiLCJhY3R1YWxFbmRwb2ludCIsInN0YXJ0c1dpdGgiLCJjdXJyZW50Um91dGUiLCJrZXlzIiwibWV0aG9kcyIsImdldCIsInRvVXBwZXIiLCJoYXMiLCJkc3RNZXRob2QiLCJOT19TRVNTSU9OX0lEX0NPTU1BTkRTIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vbGliL3Byb3RvY29sL3JvdXRlcy5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBAdHMtY2hlY2tcblxuaW1wb3J0IF8gZnJvbSAnbG9kYXNoJztcbmltcG9ydCB7dXRpbH0gZnJvbSAnQGFwcGl1bS9zdXBwb3J0JztcbmltcG9ydCB7UFJPVE9DT0xTLCBERUZBVUxUX0JBU0VfUEFUSH0gZnJvbSAnLi4vY29uc3RhbnRzJztcblxuY29uc3QgU0VUX0FMRVJUX1RFWFRfUEFZTE9BRF9QQVJBTVMgPSB7XG4gIHZhbGlkYXRlOiAoanNvbk9iaikgPT5cbiAgICAhdXRpbC5oYXNWYWx1ZShqc29uT2JqLnZhbHVlKSAmJlxuICAgICF1dGlsLmhhc1ZhbHVlKGpzb25PYmoudGV4dCkgJiZcbiAgICAnZWl0aGVyIFwidGV4dFwiIG9yIFwidmFsdWVcIiBtdXN0IGJlIHNldCcsXG4gIG9wdGlvbmFsOiBbJ3ZhbHVlJywgJ3RleHQnXSxcbiAgLy8gUHJlZmVyICd2YWx1ZScgc2luY2UgaXQncyBtb3JlIGJhY2t3YXJkLWNvbXBhdGlibGUuXG4gIG1ha2VBcmdzOiAoanNvbk9iaikgPT4gW2pzb25PYmoudmFsdWUgfHwganNvbk9iai50ZXh0XSxcbn07XG5cbi8qKlxuICogZGVmaW5lIHRoZSByb3V0ZXMsIG1hcHBpbmcgb2YgSFRUUCBtZXRob2RzIHRvIHBhcnRpY3VsYXIgZHJpdmVyIGNvbW1hbmRzLCBhbmRcbiAqIGFueSBwYXJhbWV0ZXJzIHRoYXQgYXJlIGV4cGVjdGVkIGluIGEgcmVxdWVzdCBwYXJhbWV0ZXJzIGNhbiBiZSBgcmVxdWlyZWRgIG9yXG4gKiBgb3B0aW9uYWxgXG4gKiBAdHlwZSB7TWV0aG9kTWFwfVxuICovXG5jb25zdCBNRVRIT0RfTUFQID0ge1xuICAnL3N0YXR1cyc6IHtcbiAgICBHRVQ6IHtjb21tYW5kOiAnZ2V0U3RhdHVzJ30sXG4gIH0sXG4gICcvc2Vzc2lvbic6IHtcbiAgICBQT1NUOiB7XG4gICAgICBjb21tYW5kOiAnY3JlYXRlU2Vzc2lvbicsXG4gICAgICBwYXlsb2FkUGFyYW1zOiB7XG4gICAgICAgIHZhbGlkYXRlOiAoanNvbk9iaikgPT5cbiAgICAgICAgICAhanNvbk9iai5jYXBhYmlsaXRpZXMgJiZcbiAgICAgICAgICAhanNvbk9iai5kZXNpcmVkQ2FwYWJpbGl0aWVzICYmXG4gICAgICAgICAgJ3dlIHJlcXVpcmUgb25lIG9mIFwiZGVzaXJlZENhcGFiaWxpdGllc1wiIG9yIFwiY2FwYWJpbGl0aWVzXCIgb2JqZWN0JyxcbiAgICAgICAgb3B0aW9uYWw6IFsnZGVzaXJlZENhcGFiaWxpdGllcycsICdyZXF1aXJlZENhcGFiaWxpdGllcycsICdjYXBhYmlsaXRpZXMnXSxcbiAgICAgIH0sXG4gICAgfSxcbiAgfSxcbiAgJy9zZXNzaW9ucyc6IHtcbiAgICBHRVQ6IHtjb21tYW5kOiAnZ2V0U2Vzc2lvbnMnfSxcbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQnOiB7XG4gICAgR0VUOiB7Y29tbWFuZDogJ2dldFNlc3Npb24nfSxcbiAgICBERUxFVEU6IHtjb21tYW5kOiAnZGVsZXRlU2Vzc2lvbid9LFxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC90aW1lb3V0cyc6IHtcbiAgICBHRVQ6IHtjb21tYW5kOiAnZ2V0VGltZW91dHMnfSwgLy8gVzNDIHJvdXRlXG4gICAgUE9TVDoge1xuICAgICAgY29tbWFuZDogJ3RpbWVvdXRzJyxcbiAgICAgIHBheWxvYWRQYXJhbXM6IHtcbiAgICAgICAgdmFsaWRhdGU6IChqc29uT2JqLCBwcm90b2NvbE5hbWUpID0+IHtcbiAgICAgICAgICBpZiAocHJvdG9jb2xOYW1lID09PSBQUk9UT0NPTFMuVzNDKSB7XG4gICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgICF1dGlsLmhhc1ZhbHVlKGpzb25PYmouc2NyaXB0KSAmJlxuICAgICAgICAgICAgICAhdXRpbC5oYXNWYWx1ZShqc29uT2JqLnBhZ2VMb2FkKSAmJlxuICAgICAgICAgICAgICAhdXRpbC5oYXNWYWx1ZShqc29uT2JqLmltcGxpY2l0KVxuICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgIHJldHVybiAnVzNDIHByb3RvY29sIGV4cGVjdHMgYW55IG9mIHNjcmlwdCwgcGFnZUxvYWQgb3IgaW1wbGljaXQgdG8gYmUgc2V0JztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgLy8gTUpTT05XUFxuICAgICAgICAgICAgaWYgKCF1dGlsLmhhc1ZhbHVlKGpzb25PYmoudHlwZSkgfHwgIXV0aWwuaGFzVmFsdWUoanNvbk9iai5tcykpIHtcbiAgICAgICAgICAgICAgcmV0dXJuICdNSlNPTldQIHByb3RvY29sIHJlcXVpcmVzIHR5cGUgYW5kIG1zJztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIG9wdGlvbmFsOiBbJ3R5cGUnLCAnbXMnLCAnc2NyaXB0JywgJ3BhZ2VMb2FkJywgJ2ltcGxpY2l0J10sXG4gICAgICB9LFxuICAgIH0sXG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL3RpbWVvdXRzL2FzeW5jX3NjcmlwdCc6IHtcbiAgICBQT1NUOiB7Y29tbWFuZDogJ2FzeW5jU2NyaXB0VGltZW91dCcsIHBheWxvYWRQYXJhbXM6IHtyZXF1aXJlZDogWydtcyddfX0sXG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL3RpbWVvdXRzL2ltcGxpY2l0X3dhaXQnOiB7XG4gICAgUE9TVDoge2NvbW1hbmQ6ICdpbXBsaWNpdFdhaXQnLCBwYXlsb2FkUGFyYW1zOiB7cmVxdWlyZWQ6IFsnbXMnXX19LFxuICB9LFxuICAvLyBKU09OV1BcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvd2luZG93X2hhbmRsZSc6IHtcbiAgICBHRVQ6IHtjb21tYW5kOiAnZ2V0V2luZG93SGFuZGxlJ30sXG4gIH0sXG4gIC8vIFczQ1xuICAnL3Nlc3Npb24vOnNlc3Npb25JZC93aW5kb3cvaGFuZGxlJzoge1xuICAgIEdFVDoge2NvbW1hbmQ6ICdnZXRXaW5kb3dIYW5kbGUnfSxcbiAgfSxcbiAgLy8gSlNPTldQXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL3dpbmRvd19oYW5kbGVzJzoge1xuICAgIEdFVDoge2NvbW1hbmQ6ICdnZXRXaW5kb3dIYW5kbGVzJ30sXG4gIH0sXG4gIC8vIFczQ1xuICAnL3Nlc3Npb24vOnNlc3Npb25JZC93aW5kb3cvaGFuZGxlcyc6IHtcbiAgICBHRVQ6IHtjb21tYW5kOiAnZ2V0V2luZG93SGFuZGxlcyd9LFxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC91cmwnOiB7XG4gICAgR0VUOiB7Y29tbWFuZDogJ2dldFVybCd9LFxuICAgIFBPU1Q6IHtjb21tYW5kOiAnc2V0VXJsJywgcGF5bG9hZFBhcmFtczoge3JlcXVpcmVkOiBbJ3VybCddfX0sXG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL2ZvcndhcmQnOiB7XG4gICAgUE9TVDoge2NvbW1hbmQ6ICdmb3J3YXJkJ30sXG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL2JhY2snOiB7XG4gICAgUE9TVDoge2NvbW1hbmQ6ICdiYWNrJ30sXG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL3JlZnJlc2gnOiB7XG4gICAgUE9TVDoge2NvbW1hbmQ6ICdyZWZyZXNoJ30sXG4gIH0sXG4gIC8vIE1KU09OV1BcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvZXhlY3V0ZSc6IHtcbiAgICBQT1NUOiB7Y29tbWFuZDogJ2V4ZWN1dGUnLCBwYXlsb2FkUGFyYW1zOiB7cmVxdWlyZWQ6IFsnc2NyaXB0JywgJ2FyZ3MnXX19LFxuICB9LFxuICAvLyBNSlNPTldQXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL2V4ZWN1dGVfYXN5bmMnOiB7XG4gICAgUE9TVDoge1xuICAgICAgY29tbWFuZDogJ2V4ZWN1dGVBc3luYycsXG4gICAgICBwYXlsb2FkUGFyYW1zOiB7cmVxdWlyZWQ6IFsnc2NyaXB0JywgJ2FyZ3MnXX0sXG4gICAgfSxcbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvc2NyZWVuc2hvdCc6IHtcbiAgICBHRVQ6IHtjb21tYW5kOiAnZ2V0U2NyZWVuc2hvdCd9LFxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9pbWUvYXZhaWxhYmxlX2VuZ2luZXMnOiB7XG4gICAgR0VUOiB7Y29tbWFuZDogJ2F2YWlsYWJsZUlNRUVuZ2luZXMnfSxcbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvaW1lL2FjdGl2ZV9lbmdpbmUnOiB7XG4gICAgR0VUOiB7Y29tbWFuZDogJ2dldEFjdGl2ZUlNRUVuZ2luZSd9LFxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9pbWUvYWN0aXZhdGVkJzoge1xuICAgIEdFVDoge2NvbW1hbmQ6ICdpc0lNRUFjdGl2YXRlZCd9LFxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9pbWUvZGVhY3RpdmF0ZSc6IHtcbiAgICBQT1NUOiB7Y29tbWFuZDogJ2RlYWN0aXZhdGVJTUVFbmdpbmUnfSxcbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvaW1lL2FjdGl2YXRlJzoge1xuICAgIFBPU1Q6IHtjb21tYW5kOiAnYWN0aXZhdGVJTUVFbmdpbmUnLCBwYXlsb2FkUGFyYW1zOiB7cmVxdWlyZWQ6IFsnZW5naW5lJ119fSxcbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvZnJhbWUnOiB7XG4gICAgUE9TVDoge2NvbW1hbmQ6ICdzZXRGcmFtZScsIHBheWxvYWRQYXJhbXM6IHtyZXF1aXJlZDogWydpZCddfX0sXG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL2ZyYW1lL3BhcmVudCc6IHtcbiAgICBQT1NUOiB7fSxcbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvd2luZG93Jzoge1xuICAgIEdFVDoge2NvbW1hbmQ6ICdnZXRXaW5kb3dIYW5kbGUnfSxcbiAgICBQT1NUOiB7XG4gICAgICBjb21tYW5kOiAnc2V0V2luZG93JyxcbiAgICAgIHBheWxvYWRQYXJhbXM6IHtcbiAgICAgICAgb3B0aW9uYWw6IFsnbmFtZScsICdoYW5kbGUnXSxcbiAgICAgICAgLy8gUmV0dXJuIGJvdGggdmFsdWVzIHRvIG1hdGNoIFczQyBhbmQgSlNPTldQIHByb3RvY29sc1xuICAgICAgICBtYWtlQXJnczogKGpzb25PYmopID0+IHtcbiAgICAgICAgICBpZiAodXRpbC5oYXNWYWx1ZShqc29uT2JqLmhhbmRsZSkgJiYgIXV0aWwuaGFzVmFsdWUoanNvbk9iai5uYW1lKSkge1xuICAgICAgICAgICAgcmV0dXJuIFtqc29uT2JqLmhhbmRsZSwganNvbk9iai5oYW5kbGVdO1xuICAgICAgICAgIH1cbiAgICAgICAgICBpZiAodXRpbC5oYXNWYWx1ZShqc29uT2JqLm5hbWUpICYmICF1dGlsLmhhc1ZhbHVlKGpzb25PYmouaGFuZGxlKSkge1xuICAgICAgICAgICAgcmV0dXJuIFtqc29uT2JqLm5hbWUsIGpzb25PYmoubmFtZV07XG4gICAgICAgICAgfVxuICAgICAgICAgIHJldHVybiBbanNvbk9iai5uYW1lLCBqc29uT2JqLmhhbmRsZV07XG4gICAgICAgIH0sXG4gICAgICAgIHZhbGlkYXRlOiAoanNvbk9iaikgPT5cbiAgICAgICAgICAhdXRpbC5oYXNWYWx1ZShqc29uT2JqLm5hbWUpICYmXG4gICAgICAgICAgIXV0aWwuaGFzVmFsdWUoanNvbk9iai5oYW5kbGUpICYmXG4gICAgICAgICAgJ3dlIHJlcXVpcmUgb25lIG9mIFwibmFtZVwiIG9yIFwiaGFuZGxlXCIgdG8gYmUgc2V0JyxcbiAgICAgIH0sXG4gICAgfSxcbiAgICBERUxFVEU6IHtjb21tYW5kOiAnY2xvc2VXaW5kb3cnfSxcbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvd2luZG93Lzp3aW5kb3doYW5kbGUvc2l6ZSc6IHtcbiAgICBHRVQ6IHtjb21tYW5kOiAnZ2V0V2luZG93U2l6ZSd9LFxuICAgIFBPU1Q6IHt9LFxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC93aW5kb3cvOndpbmRvd2hhbmRsZS9wb3NpdGlvbic6IHtcbiAgICBQT1NUOiB7fSxcbiAgICBHRVQ6IHt9LFxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC93aW5kb3cvOndpbmRvd2hhbmRsZS9tYXhpbWl6ZSc6IHtcbiAgICBQT1NUOiB7Y29tbWFuZDogJ21heGltaXplV2luZG93J30sXG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL2Nvb2tpZSc6IHtcbiAgICBHRVQ6IHtjb21tYW5kOiAnZ2V0Q29va2llcyd9LFxuICAgIFBPU1Q6IHtjb21tYW5kOiAnc2V0Q29va2llJywgcGF5bG9hZFBhcmFtczoge3JlcXVpcmVkOiBbJ2Nvb2tpZSddfX0sXG4gICAgREVMRVRFOiB7Y29tbWFuZDogJ2RlbGV0ZUNvb2tpZXMnfSxcbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvY29va2llLzpuYW1lJzoge1xuICAgIEdFVDoge2NvbW1hbmQ6ICdnZXRDb29raWUnfSxcbiAgICBERUxFVEU6IHtjb21tYW5kOiAnZGVsZXRlQ29va2llJ30sXG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL3NvdXJjZSc6IHtcbiAgICBHRVQ6IHtjb21tYW5kOiAnZ2V0UGFnZVNvdXJjZSd9LFxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC90aXRsZSc6IHtcbiAgICBHRVQ6IHtjb21tYW5kOiAndGl0bGUnfSxcbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvZWxlbWVudCc6IHtcbiAgICBQT1NUOiB7XG4gICAgICBjb21tYW5kOiAnZmluZEVsZW1lbnQnLFxuICAgICAgcGF5bG9hZFBhcmFtczoge3JlcXVpcmVkOiBbJ3VzaW5nJywgJ3ZhbHVlJ119LFxuICAgIH0sXG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL2VsZW1lbnRzJzoge1xuICAgIFBPU1Q6IHtcbiAgICAgIGNvbW1hbmQ6ICdmaW5kRWxlbWVudHMnLFxuICAgICAgcGF5bG9hZFBhcmFtczoge3JlcXVpcmVkOiBbJ3VzaW5nJywgJ3ZhbHVlJ119LFxuICAgIH0sXG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL2VsZW1lbnQvYWN0aXZlJzoge1xuICAgIEdFVDoge2NvbW1hbmQ6ICdhY3RpdmUnfSwgLy8gVzNDOiBodHRwczovL3czYy5naXRodWIuaW8vd2ViZHJpdmVyL3dlYmRyaXZlci1zcGVjLmh0bWwjZGZuLWdldC1hY3RpdmUtZWxlbWVudFxuICAgIFBPU1Q6IHtjb21tYW5kOiAnYWN0aXZlJ30sXG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL2VsZW1lbnQvOmVsZW1lbnRJZCc6IHtcbiAgICBHRVQ6IHt9LFxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9lbGVtZW50LzplbGVtZW50SWQvZWxlbWVudCc6IHtcbiAgICBQT1NUOiB7XG4gICAgICBjb21tYW5kOiAnZmluZEVsZW1lbnRGcm9tRWxlbWVudCcsXG4gICAgICBwYXlsb2FkUGFyYW1zOiB7cmVxdWlyZWQ6IFsndXNpbmcnLCAndmFsdWUnXX0sXG4gICAgfSxcbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvZWxlbWVudC86ZWxlbWVudElkL2VsZW1lbnRzJzoge1xuICAgIFBPU1Q6IHtcbiAgICAgIGNvbW1hbmQ6ICdmaW5kRWxlbWVudHNGcm9tRWxlbWVudCcsXG4gICAgICBwYXlsb2FkUGFyYW1zOiB7cmVxdWlyZWQ6IFsndXNpbmcnLCAndmFsdWUnXX0sXG4gICAgfSxcbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvZWxlbWVudC86ZWxlbWVudElkL2NsaWNrJzoge1xuICAgIFBPU1Q6IHtjb21tYW5kOiAnY2xpY2snfSxcbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvZWxlbWVudC86ZWxlbWVudElkL3N1Ym1pdCc6IHtcbiAgICBQT1NUOiB7Y29tbWFuZDogJ3N1Ym1pdCd9LFxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9lbGVtZW50LzplbGVtZW50SWQvdGV4dCc6IHtcbiAgICBHRVQ6IHtjb21tYW5kOiAnZ2V0VGV4dCd9LFxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9lbGVtZW50LzplbGVtZW50SWQvdmFsdWUnOiB7XG4gICAgUE9TVDoge1xuICAgICAgY29tbWFuZDogJ3NldFZhbHVlJyxcbiAgICAgIHBheWxvYWRQYXJhbXM6IHtcbiAgICAgICAgdmFsaWRhdGU6IChqc29uT2JqKSA9PlxuICAgICAgICAgICF1dGlsLmhhc1ZhbHVlKGpzb25PYmoudmFsdWUpICYmXG4gICAgICAgICAgIXV0aWwuaGFzVmFsdWUoanNvbk9iai50ZXh0KSAmJlxuICAgICAgICAgICd3ZSByZXF1aXJlIG9uZSBvZiBcInRleHRcIiBvciBcInZhbHVlXCIgcGFyYW1zJyxcbiAgICAgICAgb3B0aW9uYWw6IFsndmFsdWUnLCAndGV4dCddLFxuICAgICAgICAvLyBvdmVycmlkZSB0aGUgZGVmYXVsdCBhcmd1bWVudCBjb25zdHJ1Y3RvciBiZWNhdXNlIG9mIHRoZSBzcGVjaWFsXG4gICAgICAgIC8vIGxvZ2ljIGhlcmUuIEJhc2ljYWxseSB3ZSB3YW50IHRvIGFjY2VwdCBlaXRoZXIgYSB2YWx1ZSAob2xkIEpTT05XUClcbiAgICAgICAgLy8gb3IgYSB0ZXh0IChuZXcgVzNDKSBwYXJhbWV0ZXIsIGJ1dCBvbmx5IHNlbmQgb25lIG9mIHRoZW0gdG8gdGhlXG4gICAgICAgIC8vIGNvbW1hbmQgKG5vdCBib3RoKS4gUHJlZmVyICd2YWx1ZScgc2luY2UgaXQncyBtb3JlXG4gICAgICAgIC8vIGJhY2t3YXJkLWNvbXBhdGlibGUuXG4gICAgICAgIG1ha2VBcmdzOiAoanNvbk9iaikgPT4gW2pzb25PYmoudmFsdWUgfHwganNvbk9iai50ZXh0XSxcbiAgICAgIH0sXG4gICAgfSxcbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQva2V5cyc6IHtcbiAgICBQT1NUOiB7Y29tbWFuZDogJ2tleXMnLCBwYXlsb2FkUGFyYW1zOiB7cmVxdWlyZWQ6IFsndmFsdWUnXX19LFxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9lbGVtZW50LzplbGVtZW50SWQvbmFtZSc6IHtcbiAgICBHRVQ6IHtjb21tYW5kOiAnZ2V0TmFtZSd9LFxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9lbGVtZW50LzplbGVtZW50SWQvY2xlYXInOiB7XG4gICAgUE9TVDoge2NvbW1hbmQ6ICdjbGVhcid9LFxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9lbGVtZW50LzplbGVtZW50SWQvc2VsZWN0ZWQnOiB7XG4gICAgR0VUOiB7Y29tbWFuZDogJ2VsZW1lbnRTZWxlY3RlZCd9LFxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9lbGVtZW50LzplbGVtZW50SWQvZW5hYmxlZCc6IHtcbiAgICBHRVQ6IHtjb21tYW5kOiAnZWxlbWVudEVuYWJsZWQnfSxcbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvZWxlbWVudC86ZWxlbWVudElkL2F0dHJpYnV0ZS86bmFtZSc6IHtcbiAgICBHRVQ6IHtjb21tYW5kOiAnZ2V0QXR0cmlidXRlJ30sXG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL2VsZW1lbnQvOmVsZW1lbnRJZC9lcXVhbHMvOm90aGVySWQnOiB7XG4gICAgR0VUOiB7Y29tbWFuZDogJ2VxdWFsc0VsZW1lbnQnfSxcbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvZWxlbWVudC86ZWxlbWVudElkL2Rpc3BsYXllZCc6IHtcbiAgICBHRVQ6IHtjb21tYW5kOiAnZWxlbWVudERpc3BsYXllZCd9LFxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9lbGVtZW50LzplbGVtZW50SWQvbG9jYXRpb24nOiB7XG4gICAgR0VUOiB7Y29tbWFuZDogJ2dldExvY2F0aW9uJ30sXG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL2VsZW1lbnQvOmVsZW1lbnRJZC9sb2NhdGlvbl9pbl92aWV3Jzoge1xuICAgIEdFVDoge2NvbW1hbmQ6ICdnZXRMb2NhdGlvbkluVmlldyd9LFxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9lbGVtZW50LzplbGVtZW50SWQvc2l6ZSc6IHtcbiAgICBHRVQ6IHtjb21tYW5kOiAnZ2V0U2l6ZSd9LFxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9lbGVtZW50LzplbGVtZW50SWQvc2hhZG93Jzoge1xuICAgIEdFVDoge2NvbW1hbmQ6ICdlbGVtZW50U2hhZG93Um9vdCd9LFxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9zaGFkb3cvOnNoYWRvd0lkL2VsZW1lbnQnOiB7XG4gICAgUE9TVDoge1xuICAgICAgY29tbWFuZDogJ2ZpbmRFbGVtZW50RnJvbVNoYWRvd1Jvb3QnLFxuICAgICAgcGF5bG9hZFBhcmFtczoge3JlcXVpcmVkOiBbJ3VzaW5nJywgJ3ZhbHVlJ119LFxuICAgIH0sXG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL3NoYWRvdy86c2hhZG93SWQvZWxlbWVudHMnOiB7XG4gICAgUE9TVDoge1xuICAgICAgY29tbWFuZDogJ2ZpbmRFbGVtZW50c0Zyb21TaGFkb3dSb290JyxcbiAgICAgIHBheWxvYWRQYXJhbXM6IHtyZXF1aXJlZDogWyd1c2luZycsICd2YWx1ZSddfSxcbiAgICB9LFxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9lbGVtZW50LzplbGVtZW50SWQvY3NzLzpwcm9wZXJ0eU5hbWUnOiB7XG4gICAgR0VUOiB7Y29tbWFuZDogJ2dldENzc1Byb3BlcnR5J30sXG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL29yaWVudGF0aW9uJzoge1xuICAgIEdFVDoge2NvbW1hbmQ6ICdnZXRPcmllbnRhdGlvbid9LFxuICAgIFBPU1Q6IHtcbiAgICAgIGNvbW1hbmQ6ICdzZXRPcmllbnRhdGlvbicsXG4gICAgICBwYXlsb2FkUGFyYW1zOiB7cmVxdWlyZWQ6IFsnb3JpZW50YXRpb24nXX0sXG4gICAgfSxcbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvcm90YXRpb24nOiB7XG4gICAgR0VUOiB7Y29tbWFuZDogJ2dldFJvdGF0aW9uJ30sXG4gICAgUE9TVDoge2NvbW1hbmQ6ICdzZXRSb3RhdGlvbicsIHBheWxvYWRQYXJhbXM6IHtyZXF1aXJlZDogWyd4JywgJ3knLCAneiddfX0sXG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL21vdmV0byc6IHtcbiAgICBQT1NUOiB7XG4gICAgICBjb21tYW5kOiAnbW92ZVRvJyxcbiAgICAgIHBheWxvYWRQYXJhbXM6IHtvcHRpb25hbDogWydlbGVtZW50JywgJ3hvZmZzZXQnLCAneW9mZnNldCddfSxcbiAgICB9LFxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9jbGljayc6IHtcbiAgICBQT1NUOiB7Y29tbWFuZDogJ2NsaWNrQ3VycmVudCcsIHBheWxvYWRQYXJhbXM6IHtvcHRpb25hbDogWydidXR0b24nXX19LFxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9idXR0b25kb3duJzoge1xuICAgIFBPU1Q6IHtjb21tYW5kOiAnYnV0dG9uRG93bicsIHBheWxvYWRQYXJhbXM6IHtvcHRpb25hbDogWydidXR0b24nXX19LFxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9idXR0b251cCc6IHtcbiAgICBQT1NUOiB7Y29tbWFuZDogJ2J1dHRvblVwJywgcGF5bG9hZFBhcmFtczoge29wdGlvbmFsOiBbJ2J1dHRvbiddfX0sXG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL2RvdWJsZWNsaWNrJzoge1xuICAgIFBPU1Q6IHtjb21tYW5kOiAnZG91YmxlQ2xpY2snfSxcbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvdG91Y2gvY2xpY2snOiB7XG4gICAgUE9TVDoge2NvbW1hbmQ6ICdjbGljaycsIHBheWxvYWRQYXJhbXM6IHtyZXF1aXJlZDogWydlbGVtZW50J119fSxcbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvdG91Y2gvZG93bic6IHtcbiAgICBQT1NUOiB7Y29tbWFuZDogJ3RvdWNoRG93bicsIHBheWxvYWRQYXJhbXM6IHtyZXF1aXJlZDogWyd4JywgJ3knXX19LFxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC90b3VjaC91cCc6IHtcbiAgICBQT1NUOiB7Y29tbWFuZDogJ3RvdWNoVXAnLCBwYXlsb2FkUGFyYW1zOiB7cmVxdWlyZWQ6IFsneCcsICd5J119fSxcbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvdG91Y2gvbW92ZSc6IHtcbiAgICBQT1NUOiB7Y29tbWFuZDogJ3RvdWNoTW92ZScsIHBheWxvYWRQYXJhbXM6IHtyZXF1aXJlZDogWyd4JywgJ3knXX19LFxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC90b3VjaC9zY3JvbGwnOiB7XG4gICAgUE9TVDoge30sXG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL3RvdWNoL2RvdWJsZWNsaWNrJzoge1xuICAgIFBPU1Q6IHt9LFxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9hY3Rpb25zJzoge1xuICAgIFBPU1Q6IHtjb21tYW5kOiAncGVyZm9ybUFjdGlvbnMnLCBwYXlsb2FkUGFyYW1zOiB7cmVxdWlyZWQ6IFsnYWN0aW9ucyddfX0sXG4gICAgREVMRVRFOiB7Y29tbWFuZDogJ3JlbGVhc2VBY3Rpb25zJ30sXG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL3RvdWNoL2xvbmdjbGljayc6IHtcbiAgICBQT1NUOiB7Y29tbWFuZDogJ3RvdWNoTG9uZ0NsaWNrJywgcGF5bG9hZFBhcmFtczoge3JlcXVpcmVkOiBbJ2VsZW1lbnRzJ119fSxcbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvdG91Y2gvZmxpY2snOiB7XG4gICAgUE9TVDoge1xuICAgICAgY29tbWFuZDogJ2ZsaWNrJyxcbiAgICAgIHBheWxvYWRQYXJhbXM6IHtcbiAgICAgICAgb3B0aW9uYWw6IFsnZWxlbWVudCcsICd4c3BlZWQnLCAneXNwZWVkJywgJ3hvZmZzZXQnLCAneW9mZnNldCcsICdzcGVlZCddLFxuICAgICAgfSxcbiAgICB9LFxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9sb2NhdGlvbic6IHtcbiAgICBHRVQ6IHtjb21tYW5kOiAnZ2V0R2VvTG9jYXRpb24nfSxcbiAgICBQT1NUOiB7Y29tbWFuZDogJ3NldEdlb0xvY2F0aW9uJywgcGF5bG9hZFBhcmFtczoge3JlcXVpcmVkOiBbJ2xvY2F0aW9uJ119fSxcbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvbG9jYWxfc3RvcmFnZSc6IHtcbiAgICBHRVQ6IHt9LFxuICAgIFBPU1Q6IHt9LFxuICAgIERFTEVURToge30sXG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL2xvY2FsX3N0b3JhZ2Uva2V5LzprZXknOiB7XG4gICAgR0VUOiB7fSxcbiAgICBERUxFVEU6IHt9LFxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9sb2NhbF9zdG9yYWdlL3NpemUnOiB7XG4gICAgR0VUOiB7fSxcbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvc2Vzc2lvbl9zdG9yYWdlJzoge1xuICAgIEdFVDoge30sXG4gICAgUE9TVDoge30sXG4gICAgREVMRVRFOiB7fSxcbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvc2Vzc2lvbl9zdG9yYWdlL2tleS86a2V5Jzoge1xuICAgIEdFVDoge30sXG4gICAgREVMRVRFOiB7fSxcbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvc2Vzc2lvbl9zdG9yYWdlL3NpemUnOiB7XG4gICAgR0VUOiB7fSxcbiAgfSxcbiAgLy8gU2VsZW5pdW0gNCBjbGllbnRzXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL3NlL2xvZyc6IHtcbiAgICBQT1NUOiB7Y29tbWFuZDogJ2dldExvZycsIHBheWxvYWRQYXJhbXM6IHtyZXF1aXJlZDogWyd0eXBlJ119fSxcbiAgfSxcbiAgLy8gU2VsZW5pdW0gNCBjbGllbnRzXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL3NlL2xvZy90eXBlcyc6IHtcbiAgICBHRVQ6IHtjb21tYW5kOiAnZ2V0TG9nVHlwZXMnfSxcbiAgfSxcbiAgLy8gbWpzb253aXJlLCBhcHBpdW0gY2xpZW50c1xuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9sb2cnOiB7XG4gICAgUE9TVDoge2NvbW1hbmQ6ICdnZXRMb2cnLCBwYXlsb2FkUGFyYW1zOiB7cmVxdWlyZWQ6IFsndHlwZSddfX0sXG4gIH0sXG4gIC8vIG1qc29ud2lyZSwgYXBwaXVtIGNsaWVudHNcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvbG9nL3R5cGVzJzoge1xuICAgIEdFVDoge2NvbW1hbmQ6ICdnZXRMb2dUeXBlcyd9LFxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9hcHBsaWNhdGlvbl9jYWNoZS9zdGF0dXMnOiB7XG4gICAgR0VUOiB7fSxcbiAgfSxcblxuICAvL1xuICAvLyBtanNvbndpcmVcbiAgLy9cbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvY29udGV4dCc6IHtcbiAgICBHRVQ6IHtjb21tYW5kOiAnZ2V0Q3VycmVudENvbnRleHQnfSxcbiAgICBQT1NUOiB7Y29tbWFuZDogJ3NldENvbnRleHQnLCBwYXlsb2FkUGFyYW1zOiB7cmVxdWlyZWQ6IFsnbmFtZSddfX0sXG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL2NvbnRleHRzJzoge1xuICAgIEdFVDoge2NvbW1hbmQ6ICdnZXRDb250ZXh0cyd9LFxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9lbGVtZW50LzplbGVtZW50SWQvcGFnZUluZGV4Jzoge1xuICAgIEdFVDoge2NvbW1hbmQ6ICdnZXRQYWdlSW5kZXgnfSxcbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvbmV0d29ya19jb25uZWN0aW9uJzoge1xuICAgIEdFVDoge2NvbW1hbmQ6ICdnZXROZXR3b3JrQ29ubmVjdGlvbid9LFxuICAgIFBPU1Q6IHtcbiAgICAgIGNvbW1hbmQ6ICdzZXROZXR3b3JrQ29ubmVjdGlvbicsXG4gICAgICBwYXlsb2FkUGFyYW1zOiB7dW53cmFwOiAncGFyYW1ldGVycycsIHJlcXVpcmVkOiBbJ3R5cGUnXX0sXG4gICAgfSxcbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvdG91Y2gvcGVyZm9ybSc6IHtcbiAgICBQT1NUOiB7XG4gICAgICBjb21tYW5kOiAncGVyZm9ybVRvdWNoJyxcbiAgICAgIHBheWxvYWRQYXJhbXM6IHt3cmFwOiAnYWN0aW9ucycsIHJlcXVpcmVkOiBbJ2FjdGlvbnMnXX0sXG4gICAgfSxcbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvdG91Y2gvbXVsdGkvcGVyZm9ybSc6IHtcbiAgICBQT1NUOiB7XG4gICAgICBjb21tYW5kOiAncGVyZm9ybU11bHRpQWN0aW9uJyxcbiAgICAgIHBheWxvYWRQYXJhbXM6IHtyZXF1aXJlZDogWydhY3Rpb25zJ10sIG9wdGlvbmFsOiBbJ2VsZW1lbnRJZCddfSxcbiAgICB9LFxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9yZWNlaXZlX2FzeW5jX3Jlc3BvbnNlJzoge1xuICAgIFBPU1Q6IHtcbiAgICAgIGNvbW1hbmQ6ICdyZWNlaXZlQXN5bmNSZXNwb25zZScsXG4gICAgICBwYXlsb2FkUGFyYW1zOiB7cmVxdWlyZWQ6IFsnc3RhdHVzJywgJ3ZhbHVlJ119LFxuICAgIH0sXG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL2FwcGl1bS9kZXZpY2Uvc2hha2UnOiB7XG4gICAgUE9TVDoge2NvbW1hbmQ6ICdtb2JpbGVTaGFrZSd9LFxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9hcHBpdW0vZGV2aWNlL3N5c3RlbV90aW1lJzoge1xuICAgIEdFVDoge2NvbW1hbmQ6ICdnZXREZXZpY2VUaW1lJywgcGF5bG9hZFBhcmFtczoge29wdGlvbmFsOiBbJ2Zvcm1hdCddfX0sXG4gICAgUE9TVDoge2NvbW1hbmQ6ICdnZXREZXZpY2VUaW1lJywgcGF5bG9hZFBhcmFtczoge29wdGlvbmFsOiBbJ2Zvcm1hdCddfX0sXG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL2FwcGl1bS9kZXZpY2UvbG9jayc6IHtcbiAgICBQT1NUOiB7Y29tbWFuZDogJ2xvY2snLCBwYXlsb2FkUGFyYW1zOiB7b3B0aW9uYWw6IFsnc2Vjb25kcyddfX0sXG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL2FwcGl1bS9kZXZpY2UvdW5sb2NrJzoge1xuICAgIFBPU1Q6IHtjb21tYW5kOiAndW5sb2NrJ30sXG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL2FwcGl1bS9kZXZpY2UvaXNfbG9ja2VkJzoge1xuICAgIFBPU1Q6IHtjb21tYW5kOiAnaXNMb2NrZWQnfSxcbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvYXBwaXVtL3N0YXJ0X3JlY29yZGluZ19zY3JlZW4nOiB7XG4gICAgUE9TVDoge1xuICAgICAgY29tbWFuZDogJ3N0YXJ0UmVjb3JkaW5nU2NyZWVuJyxcbiAgICAgIHBheWxvYWRQYXJhbXM6IHtvcHRpb25hbDogWydvcHRpb25zJ119LFxuICAgIH0sXG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL2FwcGl1bS9zdG9wX3JlY29yZGluZ19zY3JlZW4nOiB7XG4gICAgUE9TVDoge1xuICAgICAgY29tbWFuZDogJ3N0b3BSZWNvcmRpbmdTY3JlZW4nLFxuICAgICAgcGF5bG9hZFBhcmFtczoge29wdGlvbmFsOiBbJ29wdGlvbnMnXX0sXG4gICAgfSxcbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvYXBwaXVtL3BlcmZvcm1hbmNlRGF0YS90eXBlcyc6IHtcbiAgICBQT1NUOiB7Y29tbWFuZDogJ2dldFBlcmZvcm1hbmNlRGF0YVR5cGVzJ30sXG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL2FwcGl1bS9nZXRQZXJmb3JtYW5jZURhdGEnOiB7XG4gICAgUE9TVDoge1xuICAgICAgY29tbWFuZDogJ2dldFBlcmZvcm1hbmNlRGF0YScsXG4gICAgICBwYXlsb2FkUGFyYW1zOiB7XG4gICAgICAgIHJlcXVpcmVkOiBbJ3BhY2thZ2VOYW1lJywgJ2RhdGFUeXBlJ10sXG4gICAgICAgIG9wdGlvbmFsOiBbJ2RhdGFSZWFkVGltZW91dCddLFxuICAgICAgfSxcbiAgICB9LFxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9hcHBpdW0vZGV2aWNlL3ByZXNzX2tleWNvZGUnOiB7XG4gICAgUE9TVDoge1xuICAgICAgY29tbWFuZDogJ3ByZXNzS2V5Q29kZScsXG4gICAgICBwYXlsb2FkUGFyYW1zOiB7cmVxdWlyZWQ6IFsna2V5Y29kZSddLCBvcHRpb25hbDogWydtZXRhc3RhdGUnLCAnZmxhZ3MnXX0sXG4gICAgfSxcbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvYXBwaXVtL2RldmljZS9sb25nX3ByZXNzX2tleWNvZGUnOiB7XG4gICAgUE9TVDoge1xuICAgICAgY29tbWFuZDogJ2xvbmdQcmVzc0tleUNvZGUnLFxuICAgICAgcGF5bG9hZFBhcmFtczoge3JlcXVpcmVkOiBbJ2tleWNvZGUnXSwgb3B0aW9uYWw6IFsnbWV0YXN0YXRlJywgJ2ZsYWdzJ119LFxuICAgIH0sXG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL2FwcGl1bS9kZXZpY2UvZmluZ2VyX3ByaW50Jzoge1xuICAgIFBPU1Q6IHtcbiAgICAgIGNvbW1hbmQ6ICdmaW5nZXJwcmludCcsXG4gICAgICBwYXlsb2FkUGFyYW1zOiB7cmVxdWlyZWQ6IFsnZmluZ2VycHJpbnRJZCddfSxcbiAgICB9LFxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9hcHBpdW0vZGV2aWNlL3NlbmRfc21zJzoge1xuICAgIFBPU1Q6IHtcbiAgICAgIGNvbW1hbmQ6ICdzZW5kU01TJyxcbiAgICAgIHBheWxvYWRQYXJhbXM6IHtyZXF1aXJlZDogWydwaG9uZU51bWJlcicsICdtZXNzYWdlJ119LFxuICAgIH0sXG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL2FwcGl1bS9kZXZpY2UvZ3NtX2NhbGwnOiB7XG4gICAgUE9TVDoge1xuICAgICAgY29tbWFuZDogJ2dzbUNhbGwnLFxuICAgICAgcGF5bG9hZFBhcmFtczoge3JlcXVpcmVkOiBbJ3Bob25lTnVtYmVyJywgJ2FjdGlvbiddfSxcbiAgICB9LFxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9hcHBpdW0vZGV2aWNlL2dzbV9zaWduYWwnOiB7XG4gICAgUE9TVDoge1xuICAgICAgY29tbWFuZDogJ2dzbVNpZ25hbCcsXG4gICAgICBwYXlsb2FkUGFyYW1zOiB7XG4gICAgICAgIHZhbGlkYXRlOiAoanNvbk9iaikgPT5cbiAgICAgICAgICAhdXRpbC5oYXNWYWx1ZShqc29uT2JqLnNpZ25hbFN0cmVuZ3RoKSAmJlxuICAgICAgICAgICF1dGlsLmhhc1ZhbHVlKGpzb25PYmouc2lnbmFsU3RyZW5naCkgJiZcbiAgICAgICAgICAnd2UgcmVxdWlyZSBvbmUgb2YgXCJzaWduYWxTdHJlbmd0aFwiIG9yIFwic2lnbmFsU3RyZW5naFwiIHBhcmFtcycsXG4gICAgICAgIG9wdGlvbmFsOiBbJ3NpZ25hbFN0cmVuZ3RoJywgJ3NpZ25hbFN0cmVuZ2gnXSxcbiAgICAgICAgLy8gYmFja3dhcmQtY29tcGF0aWJsZS4gc29uT2JqLnNpZ25hbFN0cmVuZ3RoIGNhbiBiZSAwXG4gICAgICAgIG1ha2VBcmdzOiAoanNvbk9iaikgPT4gW1xuICAgICAgICAgIHV0aWwuaGFzVmFsdWUoanNvbk9iai5zaWduYWxTdHJlbmd0aCkgPyBqc29uT2JqLnNpZ25hbFN0cmVuZ3RoIDoganNvbk9iai5zaWduYWxTdHJlbmdoLFxuICAgICAgICBdLFxuICAgICAgfSxcbiAgICB9LFxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9hcHBpdW0vZGV2aWNlL2dzbV92b2ljZSc6IHtcbiAgICBQT1NUOiB7Y29tbWFuZDogJ2dzbVZvaWNlJywgcGF5bG9hZFBhcmFtczoge3JlcXVpcmVkOiBbJ3N0YXRlJ119fSxcbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvYXBwaXVtL2RldmljZS9wb3dlcl9jYXBhY2l0eSc6IHtcbiAgICBQT1NUOiB7Y29tbWFuZDogJ3Bvd2VyQ2FwYWNpdHknLCBwYXlsb2FkUGFyYW1zOiB7cmVxdWlyZWQ6IFsncGVyY2VudCddfX0sXG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL2FwcGl1bS9kZXZpY2UvcG93ZXJfYWMnOiB7XG4gICAgUE9TVDoge2NvbW1hbmQ6ICdwb3dlckFDJywgcGF5bG9hZFBhcmFtczoge3JlcXVpcmVkOiBbJ3N0YXRlJ119fSxcbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvYXBwaXVtL2RldmljZS9uZXR3b3JrX3NwZWVkJzoge1xuICAgIFBPU1Q6IHtjb21tYW5kOiAnbmV0d29ya1NwZWVkJywgcGF5bG9hZFBhcmFtczoge3JlcXVpcmVkOiBbJ25ldHNwZWVkJ119fSxcbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvYXBwaXVtL2RldmljZS9rZXlldmVudCc6IHtcbiAgICBQT1NUOiB7XG4gICAgICBjb21tYW5kOiAna2V5ZXZlbnQnLFxuICAgICAgcGF5bG9hZFBhcmFtczoge3JlcXVpcmVkOiBbJ2tleWNvZGUnXSwgb3B0aW9uYWw6IFsnbWV0YXN0YXRlJ119LFxuICAgIH0sXG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL2FwcGl1bS9kZXZpY2Uvcm90YXRlJzoge1xuICAgIFBPU1Q6IHtcbiAgICAgIGNvbW1hbmQ6ICdtb2JpbGVSb3RhdGlvbicsXG4gICAgICBwYXlsb2FkUGFyYW1zOiB7XG4gICAgICAgIHJlcXVpcmVkOiBbJ3gnLCAneScsICdyYWRpdXMnLCAncm90YXRpb24nLCAndG91Y2hDb3VudCcsICdkdXJhdGlvbiddLFxuICAgICAgICBvcHRpb25hbDogWydlbGVtZW50J10sXG4gICAgICB9LFxuICAgIH0sXG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL2FwcGl1bS9kZXZpY2UvY3VycmVudF9hY3Rpdml0eSc6IHtcbiAgICBHRVQ6IHtjb21tYW5kOiAnZ2V0Q3VycmVudEFjdGl2aXR5J30sXG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL2FwcGl1bS9kZXZpY2UvY3VycmVudF9wYWNrYWdlJzoge1xuICAgIEdFVDoge2NvbW1hbmQ6ICdnZXRDdXJyZW50UGFja2FnZSd9LFxuICB9LFxuICAvL3JlZ2lvbiBBcHBsaWNhdGlvbnMgTWFuYWdlbWVudFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9hcHBpdW0vZGV2aWNlL2luc3RhbGxfYXBwJzoge1xuICAgIFBPU1Q6IHtcbiAgICAgIGNvbW1hbmQ6ICdpbnN0YWxsQXBwJyxcbiAgICAgIHBheWxvYWRQYXJhbXM6IHtcbiAgICAgICAgcmVxdWlyZWQ6IFsnYXBwUGF0aCddLFxuICAgICAgICBvcHRpb25hbDogWydvcHRpb25zJ10sXG4gICAgICB9LFxuICAgIH0sXG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL2FwcGl1bS9kZXZpY2UvYWN0aXZhdGVfYXBwJzoge1xuICAgIFBPU1Q6IHtcbiAgICAgIGNvbW1hbmQ6ICdhY3RpdmF0ZUFwcCcsXG4gICAgICBwYXlsb2FkUGFyYW1zOiB7XG4gICAgICAgIHJlcXVpcmVkOiBbWydhcHBJZCddLCBbJ2J1bmRsZUlkJ11dLFxuICAgICAgICBvcHRpb25hbDogWydvcHRpb25zJ10sXG4gICAgICB9LFxuICAgIH0sXG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL2FwcGl1bS9kZXZpY2UvcmVtb3ZlX2FwcCc6IHtcbiAgICBQT1NUOiB7XG4gICAgICBjb21tYW5kOiAncmVtb3ZlQXBwJyxcbiAgICAgIHBheWxvYWRQYXJhbXM6IHtcbiAgICAgICAgcmVxdWlyZWQ6IFtbJ2FwcElkJ10sIFsnYnVuZGxlSWQnXV0sXG4gICAgICAgIG9wdGlvbmFsOiBbJ29wdGlvbnMnXSxcbiAgICAgIH0sXG4gICAgfSxcbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvYXBwaXVtL2RldmljZS90ZXJtaW5hdGVfYXBwJzoge1xuICAgIFBPU1Q6IHtcbiAgICAgIGNvbW1hbmQ6ICd0ZXJtaW5hdGVBcHAnLFxuICAgICAgcGF5bG9hZFBhcmFtczoge1xuICAgICAgICByZXF1aXJlZDogW1snYXBwSWQnXSwgWydidW5kbGVJZCddXSxcbiAgICAgICAgb3B0aW9uYWw6IFsnb3B0aW9ucyddLFxuICAgICAgfSxcbiAgICB9LFxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9hcHBpdW0vZGV2aWNlL2FwcF9pbnN0YWxsZWQnOiB7XG4gICAgUE9TVDoge1xuICAgICAgY29tbWFuZDogJ2lzQXBwSW5zdGFsbGVkJyxcbiAgICAgIHBheWxvYWRQYXJhbXM6IHtcbiAgICAgICAgcmVxdWlyZWQ6IFtbJ2FwcElkJ10sIFsnYnVuZGxlSWQnXV0sXG4gICAgICB9LFxuICAgIH0sXG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL2FwcGl1bS9kZXZpY2UvYXBwX3N0YXRlJzoge1xuICAgIEdFVDoge1xuICAgICAgY29tbWFuZDogJ3F1ZXJ5QXBwU3RhdGUnLFxuICAgICAgcGF5bG9hZFBhcmFtczoge1xuICAgICAgICByZXF1aXJlZDogW1snYXBwSWQnXSwgWydidW5kbGVJZCddXSxcbiAgICAgIH0sXG4gICAgfSxcbiAgICBQT1NUOiB7XG4gICAgICBjb21tYW5kOiAncXVlcnlBcHBTdGF0ZScsXG4gICAgICBwYXlsb2FkUGFyYW1zOiB7XG4gICAgICAgIHJlcXVpcmVkOiBbWydhcHBJZCddLCBbJ2J1bmRsZUlkJ11dLFxuICAgICAgfSxcbiAgICB9LFxuICB9LFxuICAvL2VuZHJlZ2lvblxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9hcHBpdW0vZGV2aWNlL2hpZGVfa2V5Ym9hcmQnOiB7XG4gICAgUE9TVDoge1xuICAgICAgY29tbWFuZDogJ2hpZGVLZXlib2FyZCcsXG4gICAgICBwYXlsb2FkUGFyYW1zOiB7b3B0aW9uYWw6IFsnc3RyYXRlZ3knLCAna2V5JywgJ2tleUNvZGUnLCAna2V5TmFtZSddfSxcbiAgICB9LFxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9hcHBpdW0vZGV2aWNlL2lzX2tleWJvYXJkX3Nob3duJzoge1xuICAgIEdFVDoge2NvbW1hbmQ6ICdpc0tleWJvYXJkU2hvd24nfSxcbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvYXBwaXVtL2RldmljZS9wdXNoX2ZpbGUnOiB7XG4gICAgUE9TVDoge2NvbW1hbmQ6ICdwdXNoRmlsZScsIHBheWxvYWRQYXJhbXM6IHtyZXF1aXJlZDogWydwYXRoJywgJ2RhdGEnXX19LFxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9hcHBpdW0vZGV2aWNlL3B1bGxfZmlsZSc6IHtcbiAgICBQT1NUOiB7Y29tbWFuZDogJ3B1bGxGaWxlJywgcGF5bG9hZFBhcmFtczoge3JlcXVpcmVkOiBbJ3BhdGgnXX19LFxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9hcHBpdW0vZGV2aWNlL3B1bGxfZm9sZGVyJzoge1xuICAgIFBPU1Q6IHtjb21tYW5kOiAncHVsbEZvbGRlcicsIHBheWxvYWRQYXJhbXM6IHtyZXF1aXJlZDogWydwYXRoJ119fSxcbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvYXBwaXVtL2RldmljZS90b2dnbGVfYWlycGxhbmVfbW9kZSc6IHtcbiAgICBQT1NUOiB7Y29tbWFuZDogJ3RvZ2dsZUZsaWdodE1vZGUnfSxcbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvYXBwaXVtL2RldmljZS90b2dnbGVfZGF0YSc6IHtcbiAgICBQT1NUOiB7Y29tbWFuZDogJ3RvZ2dsZURhdGEnfSxcbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvYXBwaXVtL2RldmljZS90b2dnbGVfd2lmaSc6IHtcbiAgICBQT1NUOiB7Y29tbWFuZDogJ3RvZ2dsZVdpRmknfSxcbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvYXBwaXVtL2RldmljZS90b2dnbGVfbG9jYXRpb25fc2VydmljZXMnOiB7XG4gICAgUE9TVDoge2NvbW1hbmQ6ICd0b2dnbGVMb2NhdGlvblNlcnZpY2VzJ30sXG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL2FwcGl1bS9kZXZpY2Uvb3Blbl9ub3RpZmljYXRpb25zJzoge1xuICAgIFBPU1Q6IHtjb21tYW5kOiAnb3Blbk5vdGlmaWNhdGlvbnMnfSxcbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvYXBwaXVtL2RldmljZS9zdGFydF9hY3Rpdml0eSc6IHtcbiAgICBQT1NUOiB7XG4gICAgICBjb21tYW5kOiAnc3RhcnRBY3Rpdml0eScsXG4gICAgICBwYXlsb2FkUGFyYW1zOiB7XG4gICAgICAgIHJlcXVpcmVkOiBbJ2FwcFBhY2thZ2UnLCAnYXBwQWN0aXZpdHknXSxcbiAgICAgICAgb3B0aW9uYWw6IFtcbiAgICAgICAgICAnYXBwV2FpdFBhY2thZ2UnLFxuICAgICAgICAgICdhcHBXYWl0QWN0aXZpdHknLFxuICAgICAgICAgICdpbnRlbnRBY3Rpb24nLFxuICAgICAgICAgICdpbnRlbnRDYXRlZ29yeScsXG4gICAgICAgICAgJ2ludGVudEZsYWdzJyxcbiAgICAgICAgICAnb3B0aW9uYWxJbnRlbnRBcmd1bWVudHMnLFxuICAgICAgICAgICdkb250U3RvcEFwcE9uUmVzZXQnLFxuICAgICAgICBdLFxuICAgICAgfSxcbiAgICB9LFxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9hcHBpdW0vZGV2aWNlL3N5c3RlbV9iYXJzJzoge1xuICAgIEdFVDoge2NvbW1hbmQ6ICdnZXRTeXN0ZW1CYXJzJ30sXG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL2FwcGl1bS9kZXZpY2UvZGlzcGxheV9kZW5zaXR5Jzoge1xuICAgIEdFVDoge2NvbW1hbmQ6ICdnZXREaXNwbGF5RGVuc2l0eSd9LFxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9hcHBpdW0vc2ltdWxhdG9yL3RvdWNoX2lkJzoge1xuICAgIFBPU1Q6IHtjb21tYW5kOiAndG91Y2hJZCcsIHBheWxvYWRQYXJhbXM6IHtyZXF1aXJlZDogWydtYXRjaCddfX0sXG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL2FwcGl1bS9zaW11bGF0b3IvdG9nZ2xlX3RvdWNoX2lkX2Vucm9sbG1lbnQnOiB7XG4gICAgUE9TVDoge1xuICAgICAgY29tbWFuZDogJ3RvZ2dsZUVucm9sbFRvdWNoSWQnLFxuICAgICAgcGF5bG9hZFBhcmFtczoge29wdGlvbmFsOiBbJ2VuYWJsZWQnXX0sXG4gICAgfSxcbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvYXBwaXVtL2FwcC9sYXVuY2gnOiB7XG4gICAgUE9TVDoge2NvbW1hbmQ6ICdsYXVuY2hBcHAnfSxcbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvYXBwaXVtL2FwcC9jbG9zZSc6IHtcbiAgICBQT1NUOiB7Y29tbWFuZDogJ2Nsb3NlQXBwJ30sXG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL2FwcGl1bS9hcHAvcmVzZXQnOiB7XG4gICAgUE9TVDoge2NvbW1hbmQ6ICdyZXNldCd9LFxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9hcHBpdW0vYXBwL2JhY2tncm91bmQnOiB7XG4gICAgUE9TVDoge2NvbW1hbmQ6ICdiYWNrZ3JvdW5kJywgcGF5bG9hZFBhcmFtczoge3JlcXVpcmVkOiBbJ3NlY29uZHMnXX19LFxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9hcHBpdW0vYXBwL2VuZF90ZXN0X2NvdmVyYWdlJzoge1xuICAgIFBPU1Q6IHtcbiAgICAgIGNvbW1hbmQ6ICdlbmRDb3ZlcmFnZScsXG4gICAgICBwYXlsb2FkUGFyYW1zOiB7cmVxdWlyZWQ6IFsnaW50ZW50JywgJ3BhdGgnXX0sXG4gICAgfSxcbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvYXBwaXVtL2FwcC9zdHJpbmdzJzoge1xuICAgIFBPU1Q6IHtcbiAgICAgIGNvbW1hbmQ6ICdnZXRTdHJpbmdzJyxcbiAgICAgIHBheWxvYWRQYXJhbXM6IHtvcHRpb25hbDogWydsYW5ndWFnZScsICdzdHJpbmdGaWxlJ119LFxuICAgIH0sXG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL2FwcGl1bS9lbGVtZW50LzplbGVtZW50SWQvdmFsdWUnOiB7XG4gICAgUE9TVDoge1xuICAgICAgY29tbWFuZDogJ3NldFZhbHVlSW1tZWRpYXRlJyxcbiAgICAgIHBheWxvYWRQYXJhbXM6IHtcbiAgICAgICAgdmFsaWRhdGU6IChqc29uT2JqKSA9PlxuICAgICAgICAgICF1dGlsLmhhc1ZhbHVlKGpzb25PYmoudmFsdWUpICYmXG4gICAgICAgICAgIXV0aWwuaGFzVmFsdWUoanNvbk9iai50ZXh0KSAmJlxuICAgICAgICAgICd3ZSByZXF1aXJlIG9uZSBvZiBcInRleHRcIiBvciBcInZhbHVlXCIgcGFyYW1zJyxcbiAgICAgICAgb3B0aW9uYWw6IFsndmFsdWUnLCAndGV4dCddLFxuICAgICAgICAvLyBXZSB3YW50IHRvIGVpdGhlciBhIHZhbHVlIChvbGQgSlNPTldQKSBvciBhIHRleHQgKG5ldyBXM0MpIHBhcmFtZXRlcixcbiAgICAgICAgLy8gYnV0IG9ubHkgc2VuZCBvbmUgb2YgdGhlbSB0byB0aGUgY29tbWFuZCAobm90IGJvdGgpLlxuICAgICAgICAvLyBQcmVmZXIgJ3ZhbHVlJyBzaW5jZSBpdCdzIG1vcmUgYmFja3dhcmQtY29tcGF0aWJsZS5cbiAgICAgICAgbWFrZUFyZ3M6IChqc29uT2JqKSA9PiBbanNvbk9iai52YWx1ZSB8fCBqc29uT2JqLnRleHRdLFxuICAgICAgfSxcbiAgICB9LFxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9hcHBpdW0vZWxlbWVudC86ZWxlbWVudElkL3JlcGxhY2VfdmFsdWUnOiB7XG4gICAgUE9TVDoge1xuICAgICAgY29tbWFuZDogJ3JlcGxhY2VWYWx1ZScsXG4gICAgICBwYXlsb2FkUGFyYW1zOiB7XG4gICAgICAgIHZhbGlkYXRlOiAoanNvbk9iaikgPT5cbiAgICAgICAgICAhdXRpbC5oYXNWYWx1ZShqc29uT2JqLnZhbHVlKSAmJlxuICAgICAgICAgICF1dGlsLmhhc1ZhbHVlKGpzb25PYmoudGV4dCkgJiZcbiAgICAgICAgICAnd2UgcmVxdWlyZSBvbmUgb2YgXCJ0ZXh0XCIgb3IgXCJ2YWx1ZVwiIHBhcmFtcycsXG4gICAgICAgIG9wdGlvbmFsOiBbJ3ZhbHVlJywgJ3RleHQnXSxcbiAgICAgICAgLy8gV2Ugd2FudCB0byBlaXRoZXIgYSB2YWx1ZSAob2xkIEpTT05XUCkgb3IgYSB0ZXh0IChuZXcgVzNDKSBwYXJhbWV0ZXIsXG4gICAgICAgIC8vIGJ1dCBvbmx5IHNlbmQgb25lIG9mIHRoZW0gdG8gdGhlIGNvbW1hbmQgKG5vdCBib3RoKS5cbiAgICAgICAgLy8gUHJlZmVyICd2YWx1ZScgc2luY2UgaXQncyBtb3JlIGJhY2t3YXJkLWNvbXBhdGlibGUuXG4gICAgICAgIG1ha2VBcmdzOiAoanNvbk9iaikgPT4gW2pzb25PYmoudmFsdWUgPz8ganNvbk9iai50ZXh0ID8/ICcnXSxcbiAgICAgIH0sXG4gICAgfSxcbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvYXBwaXVtL3NldHRpbmdzJzoge1xuICAgIFBPU1Q6IHtjb21tYW5kOiAndXBkYXRlU2V0dGluZ3MnLCBwYXlsb2FkUGFyYW1zOiB7cmVxdWlyZWQ6IFsnc2V0dGluZ3MnXX19LFxuICAgIEdFVDoge2NvbW1hbmQ6ICdnZXRTZXR0aW5ncyd9LFxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9hcHBpdW0vcmVjZWl2ZV9hc3luY19yZXNwb25zZSc6IHtcbiAgICBQT1NUOiB7XG4gICAgICBjb21tYW5kOiAncmVjZWl2ZUFzeW5jUmVzcG9uc2UnLFxuICAgICAgcGF5bG9hZFBhcmFtczoge3JlcXVpcmVkOiBbJ3Jlc3BvbnNlJ119LFxuICAgIH0sXG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL2FwcGl1bS9ldmVudHMnOiB7XG4gICAgUE9TVDoge2NvbW1hbmQ6ICdnZXRMb2dFdmVudHMnLCBwYXlsb2FkUGFyYW1zOiB7b3B0aW9uYWw6IFsndHlwZSddfX0sXG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL2FwcGl1bS9sb2dfZXZlbnQnOiB7XG4gICAgUE9TVDoge1xuICAgICAgY29tbWFuZDogJ2xvZ0N1c3RvbUV2ZW50JyxcbiAgICAgIHBheWxvYWRQYXJhbXM6IHtyZXF1aXJlZDogWyd2ZW5kb3InLCAnZXZlbnQnXX0sXG4gICAgfSxcbiAgfSxcblxuICAvKlxuICAgKiBUaGUgVzNDIHNwZWMgaGFzIHNvbWUgY2hhbmdlcyB0byB0aGUgd2lyZSBwcm90b2NvbC5cbiAgICogaHR0cHM6Ly93M2MuZ2l0aHViLmlvL3dlYmRyaXZlci93ZWJkcml2ZXItc3BlYy5odG1sXG4gICAqIEJlZ2luIHRvIGFkZCB0aG9zZSBjaGFuZ2VzIGhlcmUsIGtlZXBpbmcgdGhlIG9sZCB2ZXJzaW9uXG4gICAqIHNpbmNlIGNsaWVudHMgc3RpbGwgaW1wbGVtZW50IHRoZW0uXG4gICAqL1xuICAvLyBNSlNPTldQXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL2FsZXJ0X3RleHQnOiB7XG4gICAgR0VUOiB7Y29tbWFuZDogJ2dldEFsZXJ0VGV4dCd9LFxuICAgIFBPU1Q6IHtcbiAgICAgIGNvbW1hbmQ6ICdzZXRBbGVydFRleHQnLFxuICAgICAgcGF5bG9hZFBhcmFtczogU0VUX0FMRVJUX1RFWFRfUEFZTE9BRF9QQVJBTVMsXG4gICAgfSxcbiAgfSxcbiAgLy8gTUpTT05XUFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9hY2NlcHRfYWxlcnQnOiB7XG4gICAgUE9TVDoge2NvbW1hbmQ6ICdwb3N0QWNjZXB0QWxlcnQnfSxcbiAgfSxcbiAgLy8gTUpTT05XUFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9kaXNtaXNzX2FsZXJ0Jzoge1xuICAgIFBPU1Q6IHtjb21tYW5kOiAncG9zdERpc21pc3NBbGVydCd9LFxuICB9LFxuICAvLyBodHRwczovL3czYy5naXRodWIuaW8vd2ViZHJpdmVyL3dlYmRyaXZlci1zcGVjLmh0bWwjdXNlci1wcm9tcHRzXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL2FsZXJ0L3RleHQnOiB7XG4gICAgR0VUOiB7Y29tbWFuZDogJ2dldEFsZXJ0VGV4dCd9LFxuICAgIFBPU1Q6IHtcbiAgICAgIGNvbW1hbmQ6ICdzZXRBbGVydFRleHQnLFxuICAgICAgcGF5bG9hZFBhcmFtczogU0VUX0FMRVJUX1RFWFRfUEFZTE9BRF9QQVJBTVMsXG4gICAgfSxcbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvYWxlcnQvYWNjZXB0Jzoge1xuICAgIFBPU1Q6IHtjb21tYW5kOiAncG9zdEFjY2VwdEFsZXJ0J30sXG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL2FsZXJ0L2Rpc21pc3MnOiB7XG4gICAgUE9TVDoge2NvbW1hbmQ6ICdwb3N0RGlzbWlzc0FsZXJ0J30sXG4gIH0sXG4gIC8vIGh0dHBzOi8vdzNjLmdpdGh1Yi5pby93ZWJkcml2ZXIvd2ViZHJpdmVyLXNwZWMuaHRtbCNnZXQtZWxlbWVudC1yZWN0XG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL2VsZW1lbnQvOmVsZW1lbnRJZC9yZWN0Jzoge1xuICAgIEdFVDoge2NvbW1hbmQ6ICdnZXRFbGVtZW50UmVjdCd9LFxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9leGVjdXRlL3N5bmMnOiB7XG4gICAgUE9TVDoge2NvbW1hbmQ6ICdleGVjdXRlJywgcGF5bG9hZFBhcmFtczoge3JlcXVpcmVkOiBbJ3NjcmlwdCcsICdhcmdzJ119fSxcbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvZXhlY3V0ZS9hc3luYyc6IHtcbiAgICBQT1NUOiB7XG4gICAgICBjb21tYW5kOiAnZXhlY3V0ZUFzeW5jJyxcbiAgICAgIHBheWxvYWRQYXJhbXM6IHtyZXF1aXJlZDogWydzY3JpcHQnLCAnYXJncyddfSxcbiAgICB9LFxuICB9LFxuICAvLyBQcmUtVzNDIGVuZHBvaW50IGZvciBlbGVtZW50IHNjcmVlbnNob3RcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvc2NyZWVuc2hvdC86ZWxlbWVudElkJzoge1xuICAgIEdFVDoge2NvbW1hbmQ6ICdnZXRFbGVtZW50U2NyZWVuc2hvdCd9LFxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9lbGVtZW50LzplbGVtZW50SWQvc2NyZWVuc2hvdCc6IHtcbiAgICBHRVQ6IHtjb21tYW5kOiAnZ2V0RWxlbWVudFNjcmVlbnNob3QnfSxcbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvd2luZG93L3JlY3QnOiB7XG4gICAgR0VUOiB7Y29tbWFuZDogJ2dldFdpbmRvd1JlY3QnfSxcbiAgICBQT1NUOiB7XG4gICAgICBjb21tYW5kOiAnc2V0V2luZG93UmVjdCcsXG4gICAgICBwYXlsb2FkUGFyYW1zOiB7cmVxdWlyZWQ6IFsneCcsICd5JywgJ3dpZHRoJywgJ2hlaWdodCddfSxcbiAgICB9LFxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC93aW5kb3cvbWF4aW1pemUnOiB7XG4gICAgUE9TVDoge2NvbW1hbmQ6ICdtYXhpbWl6ZVdpbmRvdyd9LFxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC93aW5kb3cvbWluaW1pemUnOiB7XG4gICAgUE9TVDoge2NvbW1hbmQ6ICdtaW5pbWl6ZVdpbmRvdyd9LFxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC93aW5kb3cvZnVsbHNjcmVlbic6IHtcbiAgICBQT1NUOiB7Y29tbWFuZDogJ2Z1bGxTY3JlZW5XaW5kb3cnfSxcbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvd2luZG93L25ldyc6IHtcbiAgICBQT1NUOiB7Y29tbWFuZDogJ2NyZWF0ZU5ld1dpbmRvdycsIHBheWxvYWRQYXJhbXM6IHtvcHRpb25hbDogWyd0eXBlJ119fSxcbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvZWxlbWVudC86ZWxlbWVudElkL3Byb3BlcnR5LzpuYW1lJzoge1xuICAgIEdFVDoge2NvbW1hbmQ6ICdnZXRQcm9wZXJ0eSd9LFxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9hcHBpdW0vZGV2aWNlL3NldF9jbGlwYm9hcmQnOiB7XG4gICAgUE9TVDoge1xuICAgICAgY29tbWFuZDogJ3NldENsaXBib2FyZCcsXG4gICAgICBwYXlsb2FkUGFyYW1zOiB7XG4gICAgICAgIHJlcXVpcmVkOiBbJ2NvbnRlbnQnXSxcbiAgICAgICAgb3B0aW9uYWw6IFsnY29udGVudFR5cGUnLCAnbGFiZWwnXSxcbiAgICAgIH0sXG4gICAgfSxcbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvYXBwaXVtL2RldmljZS9nZXRfY2xpcGJvYXJkJzoge1xuICAgIFBPU1Q6IHtcbiAgICAgIGNvbW1hbmQ6ICdnZXRDbGlwYm9hcmQnLFxuICAgICAgcGF5bG9hZFBhcmFtczoge1xuICAgICAgICBvcHRpb25hbDogWydjb250ZW50VHlwZSddLFxuICAgICAgfSxcbiAgICB9LFxuICB9LFxuXG4gIC8vIGNocm9taXVtIGRldnRvb2xzXG4gIC8vIGh0dHBzOi8vY2hyb21pdW0uZ29vZ2xlc291cmNlLmNvbS9jaHJvbWl1bS9zcmMvKy9tYXN0ZXIvY2hyb21lL3Rlc3QvY2hyb21lZHJpdmVyL3NlcnZlci9odHRwX2hhbmRsZXIuY2NcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvOnZlbmRvci9jZHAvZXhlY3V0ZSc6IHtcbiAgICBQT1NUOiB7Y29tbWFuZDogJ2V4ZWN1dGVDZHAnLCBwYXlsb2FkUGFyYW1zOiB7cmVxdWlyZWQ6IFsnY21kJywgJ3BhcmFtcyddfX0sXG4gIH0sXG5cbiAgLy9yZWdpb24gV2ViYXV0aG5cbiAgLy8gaHR0cHM6Ly93d3cudzMub3JnL1RSL3dlYmF1dGhuLTIvI3NjdG4tYXV0b21hdGlvbi1hZGQtdmlydHVhbC1hdXRoZW50aWNhdG9yXG5cbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvd2ViYXV0aG4vYXV0aGVudGljYXRvcic6IHtcbiAgICBQT1NUOiB7XG4gICAgICBjb21tYW5kOiAnYWRkVmlydHVhbEF1dGhlbnRpY2F0b3InLFxuICAgICAgcGF5bG9hZFBhcmFtczoge1xuICAgICAgICByZXF1aXJlZDogWydwcm90b2NvbCcsICd0cmFuc3BvcnQnXSxcbiAgICAgICAgb3B0aW9uYWw6IFsnaGFzUmVzaWRlbnRLZXknLCAnaGFzVXNlclZlcmlmaWNhdGlvbicsICdpc1VzZXJDb25zZW50aW5nJywgJ2lzVXNlclZlcmlmaWVkJ10sXG4gICAgICB9LFxuICAgIH0sXG4gIH0sXG5cbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvd2ViYXV0aG4vYXV0aGVudGljYXRvci86YXV0aGVudGljYXRvcklkJzoge1xuICAgIERFTEVURToge1xuICAgICAgY29tbWFuZDogJ3JlbW92ZVZpcnR1YWxBdXRoZW50aWNhdG9yJyxcbiAgICB9LFxuICB9LFxuXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL3dlYmF1dGhuL2F1dGhlbnRpY2F0b3IvOmF1dGhlbnRpY2F0b3JJZC9jcmVkZW50aWFsJzoge1xuICAgIFBPU1Q6IHtcbiAgICAgIGNvbW1hbmQ6ICdhZGRBdXRoQ3JlZGVudGlhbCcsXG4gICAgICBwYXlsb2FkUGFyYW1zOiB7XG4gICAgICAgIHJlcXVpcmVkOiBbJ2NyZWRlbnRpYWxJZCcsICdpc1Jlc2lkZW50Q3JlZGVudGlhbCcsICdycElkJywgJ3ByaXZhdGVLZXknXSxcbiAgICAgICAgb3B0aW9uYWw6IFsndXNlckhhbmRsZScsICdzaWduQ291bnQnXSxcbiAgICAgIH0sXG4gICAgfSxcbiAgfSxcblxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC93ZWJhdXRobi9hdXRoZW50aWNhdG9yLzphdXRoZW50aWNhdG9ySWQvY3JlZGVudGlhbHMnOiB7XG4gICAgR0VUOiB7Y29tbWFuZDogJ2dldEF1dGhDcmVkZW50aWFsJ30sXG4gICAgREVMRVRFOiB7Y29tbWFuZDogJ3JlbW92ZUFsbEF1dGhDcmVkZW50aWFscyd9LFxuICB9LFxuXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL3dlYmF1dGhuL2F1dGhlbnRpY2F0b3IvOmF1dGhlbnRpY2F0b3JJZC9jcmVkZW50aWFscy86Y3JlZGVudGlhbElkJzoge1xuICAgIERFTEVURToge2NvbW1hbmQ6ICdyZW1vdmVBdXRoQ3JlZGVudGlhbCd9LFxuICB9LFxuXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL3dlYmF1dGhuL2F1dGhlbnRpY2F0b3IvOmF1dGhlbnRpY2F0b3JJZC91dic6IHtcbiAgICBQT1NUOiB7XG4gICAgICBjb21tYW5kOiAnc2V0VXNlckF1dGhWZXJpZmllZCcsXG4gICAgICBwYXlsb2FkUGFyYW1zOiB7XG4gICAgICAgIHJlcXVpcmVkOiBbJ2lzVXNlclZlcmlmaWVkJ10sXG4gICAgICB9LFxuICAgIH0sXG4gIH0sXG5cbiAgLy9lbmRyZWdpb25cbn07XG5cbi8vIGRyaXZlciBjb21tYW5kIG5hbWVzXG5sZXQgQUxMX0NPTU1BTkRTID0gW107XG5mb3IgKGxldCB2IG9mIF8udmFsdWVzKE1FVEhPRF9NQVApKSB7XG4gIGZvciAobGV0IG0gb2YgXy52YWx1ZXModikpIHtcbiAgICBpZiAobS5jb21tYW5kKSB7XG4gICAgICBBTExfQ09NTUFORFMucHVzaChtLmNvbW1hbmQpO1xuICAgIH1cbiAgfVxufVxuXG5jb25zdCBSRV9FU0NBUEUgPSAvWy1bXFxde30oKSs/LixcXFxcXiR8I1xcc10vZztcbmNvbnN0IFJFX1BBUkFNID0gLyhbOipdKShcXHcrKS9nO1xuXG5jbGFzcyBSb3V0ZSB7XG4gIGNvbnN0cnVjdG9yKHJvdXRlKSB7XG4gICAgdGhpcy5wYXJhbU5hbWVzID0gW107XG5cbiAgICBsZXQgcmVTdHIgPSByb3V0ZS5yZXBsYWNlKFJFX0VTQ0FQRSwgJ1xcXFwkJicpO1xuICAgIHJlU3RyID0gcmVTdHIucmVwbGFjZShSRV9QQVJBTSwgKF8sIG1vZGUsIG5hbWUpID0+IHtcbiAgICAgIHRoaXMucGFyYW1OYW1lcy5wdXNoKG5hbWUpO1xuICAgICAgcmV0dXJuIG1vZGUgPT09ICc6JyA/ICcoW14vXSopJyA6ICcoLiopJztcbiAgICB9KTtcbiAgICB0aGlzLnJvdXRlUmVnZXhwID0gbmV3IFJlZ0V4cChgXiR7cmVTdHJ9JGApO1xuICB9XG5cbiAgcGFyc2UodXJsKSB7XG4gICAgLy9pZiAodXJsLmluZGV4T2YoJ3RpbWVvdXRzJykgIT09IC0xICYmIHRoaXMucm91dGVSZWdleHAudG9TdHJpbmcoKS5pbmRleE9mKCd0aW1lb3V0cycpICE9PSAtMSkge1xuICAgIC8vZGVidWdnZXI7XG4gICAgLy99XG4gICAgbGV0IG1hdGNoZXMgPSB1cmwubWF0Y2godGhpcy5yb3V0ZVJlZ2V4cCk7XG4gICAgaWYgKCFtYXRjaGVzKSByZXR1cm47IC8vIGVzbGludC1kaXNhYmxlLWxpbmUgY3VybHlcbiAgICBsZXQgaSA9IDA7XG4gICAgbGV0IHBhcmFtcyA9IHt9O1xuICAgIHdoaWxlIChpIDwgdGhpcy5wYXJhbU5hbWVzLmxlbmd0aCkge1xuICAgICAgY29uc3QgcGFyYW1OYW1lID0gdGhpcy5wYXJhbU5hbWVzW2krK107XG4gICAgICBwYXJhbXNbcGFyYW1OYW1lXSA9IG1hdGNoZXNbaV07XG4gICAgfVxuICAgIHJldHVybiBwYXJhbXM7XG4gIH1cbn1cblxuLyoqXG4gKlxuICogQHBhcmFtIHtzdHJpbmd9IGVuZHBvaW50XG4gKiBAcGFyYW0ge2ltcG9ydCgnQGFwcGl1bS90eXBlcycpLkhUVFBNZXRob2R9IG1ldGhvZFxuICogQHBhcmFtIHtzdHJpbmd9IFtiYXNlUGF0aF1cbiAqIEByZXR1cm5zIHtzdHJpbmd8dW5kZWZpbmVkfVxuICovXG5mdW5jdGlvbiByb3V0ZVRvQ29tbWFuZE5hbWUoZW5kcG9pbnQsIG1ldGhvZCwgYmFzZVBhdGggPSBERUZBVUxUX0JBU0VfUEFUSCkge1xuICBsZXQgZHN0Um91dGUgPSBudWxsO1xuXG4gIC8vIHJlbW92ZSBhbnkgcXVlcnkgc3RyaW5nXG4gIC8vIFRPRE86IHdvdWxkIHRoaXMgYmUgYmV0dGVyIGhhbmRsZWQgYXMgYSBgVVJMYCBvYmplY3Q/XG4gIGlmIChlbmRwb2ludC5pbmNsdWRlcygnPycpKSB7XG4gICAgZW5kcG9pbnQgPSBlbmRwb2ludC5zbGljZSgwLCBlbmRwb2ludC5pbmRleE9mKCc/JykpO1xuICB9XG5cbiAgY29uc3QgYWN0dWFsRW5kcG9pbnQgPVxuICAgIGVuZHBvaW50ID09PSAnLycgPyAnJyA6IF8uc3RhcnRzV2l0aChlbmRwb2ludCwgJy8nKSA/IGVuZHBvaW50IDogYC8ke2VuZHBvaW50fWA7XG5cbiAgZm9yIChsZXQgY3VycmVudFJvdXRlIG9mIF8ua2V5cyhNRVRIT0RfTUFQKSkge1xuICAgIGNvbnN0IHJvdXRlID0gbmV3IFJvdXRlKGAke2Jhc2VQYXRofSR7Y3VycmVudFJvdXRlfWApO1xuICAgIC8vIHdlIGRvbid0IGNhcmUgYWJvdXQgdGhlIGFjdHVhbCBzZXNzaW9uIGlkIGZvciBtYXRjaGluZ1xuICAgIGlmIChcbiAgICAgIHJvdXRlLnBhcnNlKGAke2Jhc2VQYXRofS9zZXNzaW9uL2lnbm9yZWQtc2Vzc2lvbi1pZCR7YWN0dWFsRW5kcG9pbnR9YCkgfHxcbiAgICAgIHJvdXRlLnBhcnNlKGAke2Jhc2VQYXRofSR7YWN0dWFsRW5kcG9pbnR9YCkgfHxcbiAgICAgIHJvdXRlLnBhcnNlKGFjdHVhbEVuZHBvaW50KVxuICAgICkge1xuICAgICAgZHN0Um91dGUgPSBjdXJyZW50Um91dGU7XG4gICAgICBicmVhaztcbiAgICB9XG4gIH1cbiAgaWYgKCFkc3RSb3V0ZSkgcmV0dXJuOyAvLyBlc2xpbnQtZGlzYWJsZS1saW5lIGN1cmx5XG5cbiAgY29uc3QgbWV0aG9kcyA9IF8uZ2V0KE1FVEhPRF9NQVAsIGRzdFJvdXRlKTtcbiAgbWV0aG9kID0gLyoqIEB0eXBlIHtVcHBlcmNhc2U8dHlwZW9mIG1ldGhvZD59ICovIChfLnRvVXBwZXIobWV0aG9kKSk7XG4gIGlmIChfLmhhcyhtZXRob2RzLCBtZXRob2QpKSB7XG4gICAgY29uc3QgZHN0TWV0aG9kID0gXy5nZXQobWV0aG9kcywgbWV0aG9kKTtcbiAgICBpZiAoZHN0TWV0aG9kLmNvbW1hbmQpIHtcbiAgICAgIHJldHVybiBkc3RNZXRob2QuY29tbWFuZDtcbiAgICB9XG4gIH1cbn1cblxuLy8gZHJpdmVyIGNvbW1hbmRzIHRoYXQgZG8gbm90IHJlcXVpcmUgYSBzZXNzaW9uIHRvIGFscmVhZHkgZXhpc3RcbmNvbnN0IE5PX1NFU1NJT05fSURfQ09NTUFORFMgPSBbJ2NyZWF0ZVNlc3Npb24nLCAnZ2V0U3RhdHVzJywgJ2dldFNlc3Npb25zJ107XG5cbmV4cG9ydCB7TUVUSE9EX01BUCwgQUxMX0NPTU1BTkRTLCBOT19TRVNTSU9OX0lEX0NPTU1BTkRTLCByb3V0ZVRvQ29tbWFuZE5hbWV9O1xuXG4vKipcbiAqIEB0eXBlZGVmIHtpbXBvcnQoJ0BhcHBpdW0vdHlwZXMnKS5Ecml2ZXJ9IERyaXZlclxuICogQHR5cGVkZWYge2ltcG9ydCgnQGFwcGl1bS90eXBlcycpLk1ldGhvZE1hcH0gTWV0aG9kTWFwXG4gKi9cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0FBRUE7O0FBQ0E7O0FBQ0E7O0FBRUEsTUFBTUEsNkJBQTZCLEdBQUc7RUFDcENDLFFBQVEsRUFBR0MsT0FBRCxJQUNSLENBQUNDLGFBQUEsQ0FBS0MsUUFBTCxDQUFjRixPQUFPLENBQUNHLEtBQXRCLENBQUQsSUFDQSxDQUFDRixhQUFBLENBQUtDLFFBQUwsQ0FBY0YsT0FBTyxDQUFDSSxJQUF0QixDQURELElBRUEsc0NBSmtDO0VBS3BDQyxRQUFRLEVBQUUsQ0FBQyxPQUFELEVBQVUsTUFBVixDQUwwQjtFQU9wQ0MsUUFBUSxFQUFHTixPQUFELElBQWEsQ0FBQ0EsT0FBTyxDQUFDRyxLQUFSLElBQWlCSCxPQUFPLENBQUNJLElBQTFCO0FBUGEsQ0FBdEM7QUFnQkEsTUFBTUcsVUFBVSxHQUFHO0VBQ2pCLFdBQVc7SUFDVEMsR0FBRyxFQUFFO01BQUNDLE9BQU8sRUFBRTtJQUFWO0VBREksQ0FETTtFQUlqQixZQUFZO0lBQ1ZDLElBQUksRUFBRTtNQUNKRCxPQUFPLEVBQUUsZUFETDtNQUVKRSxhQUFhLEVBQUU7UUFDYlosUUFBUSxFQUFHQyxPQUFELElBQ1IsQ0FBQ0EsT0FBTyxDQUFDWSxZQUFULElBQ0EsQ0FBQ1osT0FBTyxDQUFDYSxtQkFEVCxJQUVBLGtFQUpXO1FBS2JSLFFBQVEsRUFBRSxDQUFDLHFCQUFELEVBQXdCLHNCQUF4QixFQUFnRCxjQUFoRDtNQUxHO0lBRlg7RUFESSxDQUpLO0VBZ0JqQixhQUFhO0lBQ1hHLEdBQUcsRUFBRTtNQUFDQyxPQUFPLEVBQUU7SUFBVjtFQURNLENBaEJJO0VBbUJqQix1QkFBdUI7SUFDckJELEdBQUcsRUFBRTtNQUFDQyxPQUFPLEVBQUU7SUFBVixDQURnQjtJQUVyQkssTUFBTSxF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
|
|
@@ -45,4 +45,4 @@ const validators = {
|
|
|
45
45
|
}
|
|
46
46
|
};
|
|
47
47
|
exports.validators = validators;
|
|
48
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
48
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJpc051bWJlciIsIm8iLCJfIiwiaXNOYU4iLCJwYXJzZUludCIsInBhcnNlRmxvYXQiLCJtc1ZhbGlkYXRvciIsIm1zIiwiRXJyb3IiLCJ2YWxpZGF0b3JzIiwic2V0VXJsIiwidXJsIiwibWF0Y2giLCJpbXBsaWNpdFdhaXQiLCJhc3luY1NjcmlwdFRpbWVvdXQiLCJjbGlja0N1cnJlbnQiLCJidXR0b24iLCJpc1VuZGVmaW5lZCIsInNldE5ldHdvcmtDb25uZWN0aW9uIiwidHlwZSIsImluZGV4T2YiXSwic291cmNlcyI6WyIuLi8uLi8uLi9saWIvcHJvdG9jb2wvdmFsaWRhdG9ycy5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgXyBmcm9tICdsb2Rhc2gnO1xuXG5mdW5jdGlvbiBpc051bWJlcihvKSB7XG4gIHJldHVybiBfLmlzTnVtYmVyKG8pIHx8ICFfLmlzTmFOKHBhcnNlSW50KG8sIDEwKSkgfHwgIV8uaXNOYU4ocGFyc2VGbG9hdChvKSk7XG59XG5cbmZ1bmN0aW9uIG1zVmFsaWRhdG9yKG1zKSB7XG4gIGlmICghXy5pc051bWJlcihtcykgfHwgbXMgPCAwKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdXYWl0IG1zIG11c3QgYmUgYSBudW1iZXIgZXF1YWwgdG8gMCBvciBncmVhdGVyJyk7XG4gIH1cbn1cblxuY29uc3QgdmFsaWRhdG9ycyA9IHtcbiAgc2V0VXJsOiAodXJsKSA9PiB7XG4gICAgLy8gZWl0aGVyIGFuIGB4eXo6Ly9gLCBgYWJvdXQ6YCwgb3IgYGRhdGE6YCBzY2hlbWUgaXMgYWxsb3dlZFxuICAgIGlmICghdXJsIHx8ICF1cmwubWF0Y2goL14oW2EtekEtWjAtOV8rLi1dKzpcXC9cXC8pfChhYm91dDopfChkYXRhOikvKSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdVcmwgb3IgVXJpIG11c3Qgc3RhcnQgd2l0aCA8c2NoZW1lPjovLycpO1xuICAgIH1cbiAgfSxcbiAgaW1wbGljaXRXYWl0OiAobXMpID0+IHtcbiAgICBtc1ZhbGlkYXRvcihtcyk7XG4gIH0sXG4gIGFzeW5jU2NyaXB0VGltZW91dDogKG1zKSA9PiB7XG4gICAgbXNWYWxpZGF0b3IobXMpO1xuICB9LFxuICBjbGlja0N1cnJlbnQ6IChidXR0b24pID0+IHtcbiAgICBpZiAoIShpc051bWJlcihidXR0b24pIHx8IF8uaXNVbmRlZmluZWQoYnV0dG9uKSkgfHwgYnV0dG9uIDwgMCB8fCBidXR0b24gPiAyKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0NsaWNrIGJ1dHRvbiBtdXN0IGJlIDAsIDEsIG9yIDInKTtcbiAgICB9XG4gIH0sXG4gIHNldE5ldHdvcmtDb25uZWN0aW9uOiAodHlwZSkgPT4ge1xuICAgIGlmICghaXNOdW1iZXIodHlwZSkgfHwgWzAsIDEsIDIsIDQsIDZdLmluZGV4T2YodHlwZSkgPT09IC0xKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ05ldHdvcmsgdHlwZSBtdXN0IGJlIG9uZSBvZiAwLCAxLCAyLCA0LCA2Jyk7XG4gICAgfVxuICB9LFxufTtcblxuZXhwb3J0IHt2YWxpZGF0b3JzfTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFBQTs7QUFFQSxTQUFTQSxRQUFULENBQWtCQyxDQUFsQixFQUFxQjtFQUNuQixPQUFPQyxlQUFBLENBQUVGLFFBQUYsQ0FBV0MsQ0FBWCxLQUFpQixDQUFDQyxlQUFBLENBQUVDLEtBQUYsQ0FBUUMsUUFBUSxDQUFDSCxDQUFELEVBQUksRUFBSixDQUFoQixDQUFsQixJQUE4QyxDQUFDQyxlQUFBLENBQUVDLEtBQUYsQ0FBUUUsVUFBVSxDQUFDSixDQUFELENBQWxCLENBQXREO0FBQ0Q7O0FBRUQsU0FBU0ssV0FBVCxDQUFxQkMsRUFBckIsRUFBeUI7RUFDdkIsSUFBSSxDQUFDTCxlQUFBLENBQUVGLFFBQUYsQ0FBV08sRUFBWCxDQUFELElBQW1CQSxFQUFFLEdBQUcsQ0FBNUIsRUFBK0I7SUFDN0IsTUFBTSxJQUFJQyxLQUFKLENBQVUsZ0RBQVYsQ0FBTjtFQUNEO0FBQ0Y7O0FBRUQsTUFBTUMsVUFBVSxHQUFHO0VBQ2pCQyxNQUFNLEVBQUdDLEdBQUQsSUFBUztJQUVmLElBQUksQ0FBQ0EsR0FBRCxJQUFRLENBQUNBLEdBQUcsQ0FBQ0MsS0FBSixDQUFVLDJDQUFWLENBQWIsRUFBcUU7TUFDbkUsTUFBTSxJQUFJSixLQUFKLENBQVUsd0NBQVYsQ0FBTjtJQUNEO0VBQ0YsQ0FOZ0I7RUFPakJLLFlBQVksRUFBR04sRUFBRCxJQUFRO0lBQ3BCRCxXQUFXLENBQUNDLEVBQUQsQ0FBWDtFQUNELENBVGdCO0VBVWpCTyxrQkFBa0IsRUFBR1AsRUFBRCxJQUFRO0lBQzFCRCxXQUFXLENBQUNDLEVBQUQsQ0FBWDtFQUNELENBWmdCO0VBYWpCUSxZQUFZLEVBQUdDLE1BQUQsSUFBWTtJQUN4QixJQUFJLEVBQUVoQixRQUFRLENBQUNnQixNQUFELENBQVIsSUFBb0JkLGVBQUEsQ0FBRWUsV0FBRixDQUFjRCxNQUFkLENBQXRCLEtBQWdEQSxNQUFNLEdBQUcsQ0FBekQsSUFBOERBLE1BQU0sR0FBRyxDQUEzRSxFQUE4RTtNQUM1RSxNQUFNLElBQUlSLEtBQUosQ0FBVSxpQ0FBVixDQUFOO0lBQ0Q7RUFDRixDQWpCZ0I7RUFrQmpCVSxvQkFBb0IsRUFBR0MsSUFBRCxJQUFVO0lBQzlCLElBQUksQ0FBQ25CLFFBQVEsQ0FBQ21CLElBQUQsQ0FBVCxJQUFtQixDQUFDLENBQUQsRUFBSSxDQUFKLEVBQU8sQ0FBUCxFQUFVLENBQVYsRUFBYSxDQUFiLEVBQWdCQyxPQUFoQixDQUF3QkQsSUFBeEIsTUFBa0MsQ0FBQyxDQUExRCxFQUE2RDtNQUMzRCxNQUFNLElBQUlYLEtBQUosQ0FBVSwyQ0FBVixDQUFOO0lBQ0Q7RUFDRjtBQXRCZ0IsQ0FBbkIifQ==
|
|
@@ -410,4 +410,4 @@ function baseDriverE2ETests(DriverClass, defaultCaps = {}) {
|
|
|
410
410
|
|
|
411
411
|
var _default = baseDriverE2ETests;
|
|
412
412
|
exports.default = _default;
|
|
413
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Rlc3QvYmFzZWRyaXZlci9kcml2ZXItZTJlLXRlc3RzLmpzIl0sIm5hbWVzIjpbIlBPU1QiLCJERUxFVEUiLCJNRVRIT0RTIiwiYmFzZURyaXZlckUyRVRlc3RzIiwiRHJpdmVyQ2xhc3MiLCJkZWZhdWx0Q2FwcyIsImFkZHJlc3MiLCJURVNUX0hPU1QiLCJwb3J0IiwiY2xhc3NOYW1lIiwibmFtZSIsImRlc2NyaWJlIiwiYmFzZVNlcnZlciIsImQiLCJuZXdTZXNzaW9uVVJMIiwiY3JlYXRlQXBwaXVtVGVzdFVSTCIsImNyZWF0ZVNlc3Npb25VUkwiLCJiZWZvcmUiLCJyb3V0ZUNvbmZpZ3VyaW5nRnVuY3Rpb24iLCJob3N0bmFtZSIsIl8iLCJhZnRlciIsImNsb3NlIiwic3RhcnRTZXNzaW9uIiwiY2FwcyIsInVybCIsIm1ldGhvZCIsImRhdGEiLCJjYXBhYmlsaXRpZXMiLCJhbHdheXNNYXRjaCIsImZpcnN0TWF0Y2giLCJ2YWx1ZSIsImVuZFNlc3Npb24iLCJpZCIsInZhbGlkYXRlU3RhdHVzIiwiZ2V0U2Vzc2lvbiIsIml0Iiwic2Vzc2lvbklkcyIsInRpbWVzIiwic2Vzc2lvbklkIiwiaGVhZGVycyIsInNpbXBsZSIsInJlc29sdmVXaXRoRnVsbFJlc3BvbnNlIiwicHVzaCIsInVuaXEiLCJsZW5ndGgiLCJzaG91bGQiLCJlcXVhbCIsInN0YXR1cyIsInJlcXMiLCJCIiwiYWxsIiwibWFwIiwieCIsImV4aXN0IiwicGxhdGZvcm1OYW1lIiwiZGV2aWNlTmFtZSIsInNraXAiLCJvcmlnaW5hbEZpbmRFbGVtZW50Iiwib3JpZ2luYWxGaW5kRWxlbWVudHMiLCJzdGFydFRpbWVvdXRTZXNzaW9uIiwidGltZW91dCIsImNsb25lRGVlcCIsImZpbmRFbGVtZW50IiwiYmluZCIsImZpbmRFbGVtZW50cyIsImRlbGF5IiwibmV3U2Vzc2lvbiIsIm5ld0NvbW1hbmRUaW1lb3V0TXMiLCJiZSIsImFib3ZlIiwic2Vzc2lvblVSTCIsInVzaW5nIiwiZXJyb3IiLCJyZXNwIiwic3RhcnQiLCJEYXRlIiwibm93IiwiZXFsIiwibm90Iiwibm9Db21tYW5kVGltZXIiLCJzZXR0aW5ncyIsIkRldmljZVNldHRpbmdzIiwiaWdub3JlVW5pbXBvcnRhbnRWaWV3cyIsImdldFNldHRpbmdzIiwiZmFsc2UiLCJ1cGRhdGUiLCJyZWplY3RlZCIsImV2ZW50dWFsbHkiLCJyZWplY3RlZFdpdGgiLCJfb2xkR2V0U3RhdHVzIiwiZ2V0U3RhdHVzIiwicmVxUHJvbWlzZSIsInNodXRkb3duRXZlbnRQcm9taXNlIiwicmVzb2x2ZSIsInJlamVjdCIsInNldFRpbWVvdXQiLCJFcnJvciIsIm9uVW5leHBlY3RlZFNodXRkb3duIiwic3RhcnRVbmV4cGVjdGVkU2h1dGRvd24iLCJtZXNzYWdlIiwiY29udGFpbiIsInNlc3Npb24iLCJyZXMiLCJldmVudHMiLCJPYmplY3QiLCJhc3NpZ24iLCJuZXdTZXNzaW9uUmVxdWVzdGVkIiwibmV3U2Vzc2lvblN0YXJ0ZWQiLCJhIiwiQmFzZURyaXZlciIsInJldCIsIlBSRUZJWEVEX0FQUElVTV9PUFRTX0NBUCIsInBsYXRmb3JtVmVyc2lvbiIsIm9wdHMiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0FBQUE7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0EsTUFBTTtBQUFDQSxFQUFBQSxJQUFEO0FBQU9DLEVBQUFBO0FBQVAsSUFBaUJDLGdCQUF2Qjs7QUFFQSxTQUFTQyxrQkFBVCxDQUE2QkMsV0FBN0IsRUFBMENDLFdBQVcsR0FBRyxFQUF4RCxFQUE0RDtBQUFBOztBQUMxRCxNQUFJQyxPQUFPLDJCQUFHRCxXQUFXLENBQUMsZ0JBQUQsQ0FBZCx1RUFBb0NFLGtCQUEvQztBQUNBLE1BQUlDLElBQUksR0FBR0gsV0FBVyxDQUFDLGFBQUQsQ0FBdEI7QUFDQSxRQUFNSSxTQUFTLEdBQUdMLFdBQVcsQ0FBQ00sSUFBWixJQUFvQixrQkFBdEM7QUFFQUMsRUFBQUEsUUFBUSxDQUFFLHNCQUFxQkYsU0FBVSxHQUFqQyxFQUFxQyxZQUFZO0FBQ3ZELFFBQUlHLFVBQUosRUFBZ0JDLENBQWhCO0FBS0EsUUFBSUMsYUFBSjtBQU1BLFFBQUlDLG1CQUFKO0FBT0EsUUFBSUMsZ0JBQUo7QUFFQUMsSUFBQUEsTUFBTSxDQUFDLGtCQUFrQjtBQUFBOztBQUN2QlQsTUFBQUEsSUFBSSxZQUFHQSxJQUFILHlDQUFXLE1BQU0sMkJBQXJCO0FBQ0FILE1BQUFBLFdBQVcsR0FBRyxFQUFDLEdBQUdBLFdBQUo7QUFBaUIsdUJBQWVHO0FBQWhDLE9BQWQ7QUFDQUssTUFBQUEsQ0FBQyxHQUFHLElBQUlULFdBQUosQ0FBZ0I7QUFBQ0ksUUFBQUEsSUFBRDtBQUFPRixRQUFBQTtBQUFQLE9BQWhCLENBQUo7QUFDQU0sTUFBQUEsVUFBVSxHQUFHLE1BQU0saUJBQU87QUFDeEJNLFFBQUFBLHdCQUF3QixFQUFFLG1DQUF5QkwsQ0FBekIsQ0FERjtBQUV4QkwsUUFBQUEsSUFGd0I7QUFHeEJXLFFBQUFBLFFBQVEsRUFBRVo7QUFIYyxPQUFQLENBQW5CO0FBS0FRLE1BQUFBLG1CQUFtQixHQUFHLDhCQUFnQlQsT0FBaEIsRUFBeUJFLElBQXpCLENBQXRCO0FBQ0FNLE1BQUFBLGFBQWEsR0FBR0MsbUJBQW1CLENBQUMsRUFBRCxFQUFLLFNBQUwsQ0FBbkM7QUFDQUMsTUFBQUEsZ0JBQWdCLEdBQUdELG1CQUFtQixDQUFDSyxlQUFELEVBQUksRUFBSixDQUF0QztBQUNELEtBWkssQ0FBTjtBQWNBQyxJQUFBQSxLQUFLLENBQUMsa0JBQWtCO0FBQ3RCLFlBQU1ULFVBQVUsQ0FBQ1UsS0FBWCxFQUFOO0FBQ0QsS0FGSSxDQUFMOztBQUlBLG1CQUFlQyxZQUFmLENBQTZCQyxJQUE3QixFQUFtQztBQUNqQyxhQUFPLENBQUMsTUFBTSxvQkFBTTtBQUNsQkMsUUFBQUEsR0FBRyxFQUFFWCxhQURhO0FBRWxCWSxRQUFBQSxNQUFNLEVBQUUxQixJQUZVO0FBR2xCMkIsUUFBQUEsSUFBSSxFQUFFO0FBQUNDLFVBQUFBLFlBQVksRUFBRTtBQUFDQyxZQUFBQSxXQUFXLEVBQUVMLElBQWQ7QUFBb0JNLFlBQUFBLFVBQVUsRUFBRSxDQUFDLEVBQUQ7QUFBaEM7QUFBZjtBQUhZLE9BQU4sQ0FBUCxFQUlISCxJQUpHLENBSUVJLEtBSlQ7QUFLRDs7QUFFRCxtQkFBZUMsVUFBZixDQUEyQkMsRUFBM0IsRUFBK0I7QUFDN0IsYUFBTyxDQUFDLE1BQU0sb0JBQU07QUFDbEJSLFFBQUFBLEdBQUcsRUFBRVQsZ0JBQWdCLENBQUNpQixFQUFELENBREg7QUFFbEJQLFFBQUFBLE1BQU0sRUFBRXpCLE1BRlU7QUFHbEJpQyxRQUFBQSxjQUFjLEVBQUU7QUFIRSxPQUFOLENBQVAsRUFJSFAsSUFKRyxDQUlFSSxLQUpUO0FBS0Q7O0FBRUQsbUJBQWVJLFVBQWYsQ0FBMkJGLEVBQTNCLEVBQStCO0FBQzdCLGFBQU8sQ0FBQyxNQUFNLG9CQUFNO0FBQ2xCUixRQUFBQSxHQUFHLEVBQUVULGdCQUFnQixDQUFDaUIsRUFBRDtBQURILE9BQU4sQ0FBUCxFQUVITixJQUZHLENBRUVJLEtBRlQ7QUFHRDs7QUFFRHBCLElBQUFBLFFBQVEsQ0FBQyxrQkFBRCxFQUFxQixZQUFZO0FBQ3ZDeUIsTUFBQUEsRUFBRSxDQUFDLG1EQUFELEVBQXNELGtCQUFrQjtBQUN4RSxjQUFNQyxVQUFVLEdBQUcsRUFBbkI7QUFDQSxZQUFJQyxLQUFLLEdBQUcsQ0FBWjs7QUFDQSxXQUFHO0FBQ0QsZ0JBQU07QUFBQ0MsWUFBQUE7QUFBRCxjQUFjLENBQUMsTUFBTSxvQkFBTTtBQUMvQmQsWUFBQUEsR0FBRyxFQUFFWCxhQUQwQjtBQUUvQjBCLFlBQUFBLE9BQU8sRUFBRTtBQUNQLG1DQUFxQjtBQURkLGFBRnNCO0FBSy9CZCxZQUFBQSxNQUFNLEVBQUUxQixJQUx1QjtBQU0vQjJCLFlBQUFBLElBQUksRUFBRTtBQUFDQyxjQUFBQSxZQUFZLEVBQUU7QUFBQ0MsZ0JBQUFBLFdBQVcsRUFBRXhCLFdBQWQ7QUFBMkJ5QixnQkFBQUEsVUFBVSxFQUFFLENBQUMsRUFBRDtBQUF2QztBQUFmLGFBTnlCO0FBTy9CVyxZQUFBQSxNQUFNLEVBQUUsS0FQdUI7QUFRL0JDLFlBQUFBLHVCQUF1QixFQUFFO0FBUk0sV0FBTixDQUFQLEVBU2hCZixJQVRnQixDQVNYSSxLQVRUO0FBV0FNLFVBQUFBLFVBQVUsQ0FBQ00sSUFBWCxDQUFnQkosU0FBaEI7QUFDQUQsVUFBQUEsS0FBSztBQUNOLFNBZEQsUUFjU0EsS0FBSyxHQUFHLENBZGpCOztBQWVBbEIsd0JBQUV3QixJQUFGLENBQU9QLFVBQVAsRUFBbUJRLE1BQW5CLENBQTBCQyxNQUExQixDQUFpQ0MsS0FBakMsQ0FBdUMsQ0FBdkM7O0FBRUEsY0FBTTtBQUFDQyxVQUFBQSxNQUFEO0FBQVNyQixVQUFBQTtBQUFULFlBQWlCLE1BQU0sb0JBQU07QUFDakNGLFVBQUFBLEdBQUcsRUFBRVQsZ0JBQWdCLENBQUNxQixVQUFVLENBQUMsQ0FBRCxDQUFYLENBRFk7QUFFakNYLFVBQUFBLE1BQU0sRUFBRXpCO0FBRnlCLFNBQU4sQ0FBN0I7QUFJQStDLFFBQUFBLE1BQU0sQ0FBQ0YsTUFBUCxDQUFjQyxLQUFkLENBQW9CLEdBQXBCO0FBQ0FELFFBQUFBLE1BQU0sQ0FBQ0MsS0FBUCxDQUFhcEIsSUFBSSxDQUFDSSxLQUFsQixFQUF5QixJQUF6QjtBQUNELE9BMUJDLENBQUY7QUE0QkFLLE1BQUFBLEVBQUUsQ0FBQyw0REFBRCxFQUErRCxrQkFBa0I7QUFDakYsY0FBTWEsSUFBSSxHQUFHLEVBQWI7QUFDQSxZQUFJWCxLQUFLLEdBQUcsQ0FBWjs7QUFDQSxXQUFHO0FBQ0RXLFVBQUFBLElBQUksQ0FBQ04sSUFBTCxDQUFVLG9CQUFNO0FBQ2RsQixZQUFBQSxHQUFHLEVBQUVYLGFBRFM7QUFFZDBCLFlBQUFBLE9BQU8sRUFBRTtBQUNQLG1DQUFxQjtBQURkLGFBRks7QUFLZGQsWUFBQUEsTUFBTSxFQUFFMUIsSUFMTTtBQU1kMkIsWUFBQUEsSUFBSSxFQUFFO0FBQUNDLGNBQUFBLFlBQVksRUFBRTtBQUFDQyxnQkFBQUEsV0FBVyxFQUFFeEIsV0FBZDtBQUEyQnlCLGdCQUFBQSxVQUFVLEVBQUUsQ0FBQyxFQUFEO0FBQXZDO0FBQWY7QUFOUSxXQUFOLENBQVY7QUFRQVEsVUFBQUEsS0FBSztBQUNOLFNBVkQsUUFVU0EsS0FBSyxHQUFHLENBVmpCOztBQVdBLGNBQU1ELFVBQVUsR0FBRyxDQUFDLE1BQU1hLGtCQUFFQyxHQUFGLENBQU1GLElBQU4sQ0FBUCxFQUFvQkcsR0FBcEIsQ0FBeUJDLENBQUQsSUFBT0EsQ0FBQyxDQUFDMUIsSUFBRixDQUFPSSxLQUFQLENBQWFRLFNBQTVDLENBQW5COztBQUNBbkIsd0JBQUV3QixJQUFGLENBQU9QLFVBQVAsRUFBbUJRLE1BQW5CLENBQTBCQyxNQUExQixDQUFpQ0MsS0FBakMsQ0FBdUMsQ0FBdkM7O0FBRUEsY0FBTTtBQUFDQyxVQUFBQSxNQUFEO0FBQVNyQixVQUFBQTtBQUFULFlBQWlCLE1BQU0sb0JBQU07QUFDakNGLFVBQUFBLEdBQUcsRUFBRVQsZ0JBQWdCLENBQUNxQixVQUFVLENBQUMsQ0FBRCxDQUFYLENBRFk7QUFFakNYLFVBQUFBLE1BQU0sRUFBRXpCO0FBRnlCLFNBQU4sQ0FBN0I7QUFJQStDLFFBQUFBLE1BQU0sQ0FBQ0YsTUFBUCxDQUFjQyxLQUFkLENBQW9CLEdBQXBCO0FBQ0FELFFBQUFBLE1BQU0sQ0FBQ0MsS0FBUCxDQUFhcEIsSUFBSSxDQUFDSSxLQUFsQixFQUF5QixJQUF6QjtBQUNELE9BdkJDLENBQUY7QUF5QkFLLE1BQUFBLEVBQUUsQ0FBQyxpRUFBRCxFQUFvRSxrQkFBa0I7QUFDdEYsWUFBSTtBQUFDWSxVQUFBQSxNQUFEO0FBQVNyQixVQUFBQTtBQUFULFlBQWlCLE1BQU0sb0JBQU07QUFDL0JGLFVBQUFBLEdBQUcsRUFBRVgsYUFEMEI7QUFFL0JZLFVBQUFBLE1BQU0sRUFBRTFCLElBRnVCO0FBRy9CMkIsVUFBQUEsSUFBSSxFQUFFO0FBQUNDLFlBQUFBLFlBQVksRUFBRTtBQUFDQyxjQUFBQSxXQUFXLEVBQUV4QixXQUFkO0FBQTJCeUIsY0FBQUEsVUFBVSxFQUFFLENBQUMsRUFBRDtBQUF2QztBQUFmO0FBSHlCLFNBQU4sQ0FBM0I7QUFNQWtCLFFBQUFBLE1BQU0sQ0FBQ0YsTUFBUCxDQUFjQyxLQUFkLENBQW9CLEdBQXBCO0FBQ0FELFFBQUFBLE1BQU0sQ0FBQ1EsS0FBUCxDQUFhM0IsSUFBSSxDQUFDSSxLQUFMLENBQVdRLFNBQXhCO0FBQ0FaLFFBQUFBLElBQUksQ0FBQ0ksS0FBTCxDQUFXSCxZQUFYLENBQXdCMkIsWUFBeEIsQ0FBcUNULE1BQXJDLENBQTRDQyxLQUE1QyxDQUFrRDFDLFdBQVcsQ0FBQ2tELFlBQTlEO0FBQ0E1QixRQUFBQSxJQUFJLENBQUNJLEtBQUwsQ0FBV0gsWUFBWCxDQUF3QjRCLFVBQXhCLENBQW1DVixNQUFuQyxDQUEwQ0MsS0FBMUMsQ0FBZ0QxQyxXQUFXLENBQUMsbUJBQUQsQ0FBM0Q7QUFFQSxTQUFDO0FBQUMyQyxVQUFBQSxNQUFEO0FBQVNyQixVQUFBQTtBQUFULFlBQWlCLE1BQU0sb0JBQU07QUFDNUJGLFVBQUFBLEdBQUcsRUFBRVQsZ0JBQWdCLENBQUNILENBQUMsQ0FBQzBCLFNBQUgsQ0FETztBQUU1QmIsVUFBQUEsTUFBTSxFQUFFekI7QUFGb0IsU0FBTixDQUF4QjtBQUtBK0MsUUFBQUEsTUFBTSxDQUFDRixNQUFQLENBQWNDLEtBQWQsQ0FBb0IsR0FBcEI7QUFDQUQsUUFBQUEsTUFBTSxDQUFDQyxLQUFQLENBQWFwQixJQUFJLENBQUNJLEtBQWxCLEVBQXlCLElBQXpCO0FBQ0FlLFFBQUFBLE1BQU0sQ0FBQ0MsS0FBUCxDQUFhbEMsQ0FBQyxDQUFDMEIsU0FBZixFQUEwQixJQUExQjtBQUNELE9BcEJDLENBQUY7QUFxQkQsS0EzRU8sQ0FBUjtBQTZFQUgsSUFBQUEsRUFBRSxDQUFDcUIsSUFBSCxDQUFRLCtDQUFSLEVBQXlELGtCQUFrQixDQUMxRSxDQUREO0FBR0E5QyxJQUFBQSxRQUFRLENBQUMsa0JBQUQsRUFBcUIsWUFBWTtBQUN2QyxVQUFJK0MsbUJBQUosRUFBeUJDLG9CQUF6Qjs7QUFFQSxxQkFBZUMsbUJBQWYsQ0FBb0NDLE9BQXBDLEVBQTZDO0FBQzNDLGNBQU1yQyxJQUFJLEdBQUdKLGdCQUFFMEMsU0FBRixDQUFZekQsV0FBWixDQUFiOztBQUNBbUIsUUFBQUEsSUFBSSxDQUFDLDBCQUFELENBQUosR0FBbUNxQyxPQUFuQztBQUNBLGVBQU8sTUFBTXRDLFlBQVksQ0FBQ0MsSUFBRCxDQUF6QjtBQUNEOztBQUVEUCxNQUFBQSxNQUFNLENBQUMsWUFBWTtBQUNqQnlDLFFBQUFBLG1CQUFtQixHQUFHN0MsQ0FBQyxDQUFDa0QsV0FBeEI7O0FBQ0FsRCxRQUFBQSxDQUFDLENBQUNrRCxXQUFGLEdBQWdCLFlBQVk7QUFDMUIsaUJBQU8sS0FBUDtBQUNELFNBRmUsQ0FFZEMsSUFGYyxDQUVUbkQsQ0FGUyxDQUFoQjs7QUFJQThDLFFBQUFBLG9CQUFvQixHQUFHOUMsQ0FBQyxDQUFDb0QsWUFBekI7O0FBQ0FwRCxRQUFBQSxDQUFDLENBQUNvRCxZQUFGLEdBQWlCLGtCQUFrQjtBQUNqQyxnQkFBTWYsa0JBQUVnQixLQUFGLENBQVEsR0FBUixDQUFOO0FBQ0EsaUJBQU8sQ0FBQyxLQUFELENBQVA7QUFDRCxTQUhnQixDQUdmRixJQUhlLENBR1ZuRCxDQUhVLENBQWpCO0FBSUQsT0FYSyxDQUFOO0FBYUFRLE1BQUFBLEtBQUssQ0FBQyxZQUFZO0FBQ2hCUixRQUFBQSxDQUFDLENBQUNrRCxXQUFGLEdBQWdCTCxtQkFBaEI7QUFDQTdDLFFBQUFBLENBQUMsQ0FBQ29ELFlBQUYsR0FBaUJOLG9CQUFqQjtBQUNELE9BSEksQ0FBTDtBQU1BdkIsTUFBQUEsRUFBRSxDQUFDLHFDQUFELEVBQXdDLGtCQUFrQjtBQUMxRCxZQUFJK0IsVUFBVSxHQUFHLE1BQU1QLG1CQUFtQixFQUExQztBQUNBL0MsUUFBQUEsQ0FBQyxDQUFDdUQsbUJBQUYsQ0FBc0J0QixNQUF0QixDQUE2QnVCLEVBQTdCLENBQWdDQyxLQUFoQyxDQUFzQyxDQUF0QztBQUNBLGNBQU10QyxVQUFVLENBQUNtQyxVQUFVLENBQUM1QixTQUFaLENBQWhCO0FBQ0QsT0FKQyxDQUFGO0FBTUFILE1BQUFBLEVBQUUsQ0FBQyxxREFBRCxFQUF3RCxrQkFBa0I7QUFDMUUsWUFBSStCLFVBQVUsR0FBRyxNQUFNUCxtQkFBbUIsQ0FBQyxJQUFELENBQTFDO0FBR0EsWUFBSVcsVUFBVSxHQUFHdkQsZ0JBQWdCLENBQUNILENBQUMsQ0FBQzBCLFNBQUgsQ0FBakM7QUFDQSxjQUFNLG9CQUFNO0FBQ1ZkLFVBQUFBLEdBQUcsRUFBRVYsbUJBQW1CLENBQUNGLENBQUMsQ0FBQzBCLFNBQUgsRUFBYyxTQUFkLENBRGQ7QUFFVmIsVUFBQUEsTUFBTSxFQUFFMUIsSUFGRTtBQUdWMkIsVUFBQUEsSUFBSSxFQUFFO0FBQUM2QyxZQUFBQSxLQUFLLEVBQUUsTUFBUjtBQUFnQnpDLFlBQUFBLEtBQUssRUFBRTtBQUF2QjtBQUhJLFNBQU4sQ0FBTjtBQUtBLGNBQU1tQixrQkFBRWdCLEtBQUYsQ0FBUSxHQUFSLENBQU47QUFDQSxjQUFNO0FBQUN2QyxVQUFBQTtBQUFELFlBQVMsTUFBTSxvQkFBTTtBQUN6QkYsVUFBQUEsR0FBRyxFQUFFOEMsVUFEb0I7QUFFekJyQyxVQUFBQSxjQUFjLEVBQUU7QUFGUyxTQUFOLENBQXJCO0FBSUFZLFFBQUFBLE1BQU0sQ0FBQ0MsS0FBUCxDQUFhcEIsSUFBSSxDQUFDSSxLQUFMLENBQVcwQyxLQUF4QixFQUErQixvQkFBL0I7QUFDQTNCLFFBQUFBLE1BQU0sQ0FBQ0MsS0FBUCxDQUFhbEMsQ0FBQyxDQUFDMEIsU0FBZixFQUEwQixJQUExQjtBQUNBLGNBQU1tQyxJQUFJLEdBQUcsTUFBTTFDLFVBQVUsQ0FBQ21DLFVBQVUsQ0FBQzVCLFNBQVosQ0FBN0I7QUFDQU8sUUFBQUEsTUFBTSxDQUFDQyxLQUFQLENBQWEyQixJQUFJLENBQUNELEtBQWxCLEVBQXlCLG9CQUF6QjtBQUNELE9BbkJDLENBQUY7QUFxQkFyQyxNQUFBQSxFQUFFLENBQUMsaURBQUQsRUFBb0Qsa0JBQWtCO0FBQ3RFLFlBQUkrQixVQUFVLEdBQUcsTUFBTVAsbUJBQW1CLENBQUMsR0FBRCxDQUExQztBQUNBLFlBQUllLEtBQUssR0FBR0MsSUFBSSxDQUFDQyxHQUFMLEVBQVo7QUFDQSxjQUFNO0FBQUM5QyxVQUFBQTtBQUFELFlBQVUsQ0FBQyxNQUFNLG9CQUFNO0FBQzNCTixVQUFBQSxHQUFHLEVBQUVWLG1CQUFtQixDQUFDRixDQUFDLENBQUMwQixTQUFILEVBQWMsVUFBZCxDQURHO0FBRTNCYixVQUFBQSxNQUFNLEVBQUUxQixJQUZtQjtBQUczQjJCLFVBQUFBLElBQUksRUFBRTtBQUFDNkMsWUFBQUEsS0FBSyxFQUFFLE1BQVI7QUFBZ0J6QyxZQUFBQSxLQUFLLEVBQUU7QUFBdkI7QUFIcUIsU0FBTixDQUFQLEVBSVpKLElBSko7QUFLQSxTQUFDaUQsSUFBSSxDQUFDQyxHQUFMLEtBQWFGLEtBQWQsRUFBcUI3QixNQUFyQixDQUE0QnVCLEVBQTVCLENBQStCQyxLQUEvQixDQUFxQyxHQUFyQztBQUNBdkMsUUFBQUEsS0FBSyxDQUFDZSxNQUFOLENBQWFnQyxHQUFiLENBQWlCLENBQUMsS0FBRCxDQUFqQjtBQUNBLGNBQU05QyxVQUFVLENBQUNtQyxVQUFVLENBQUM1QixTQUFaLENBQWhCO0FBQ0QsT0FYQyxDQUFGO0FBYUFILE1BQUFBLEVBQUUsQ0FBQyw2Q0FBRCxFQUFnRCxrQkFBa0I7QUFDbEV2QixRQUFBQSxDQUFDLENBQUN1RCxtQkFBRixHQUF3QixDQUF4QjtBQUNBLFlBQUlELFVBQVUsR0FBRyxNQUFNUCxtQkFBbUIsQ0FBQyxDQUFELENBQTFDO0FBRUEsY0FBTSxvQkFBTTtBQUNWbkMsVUFBQUEsR0FBRyxFQUFFVixtQkFBbUIsQ0FBQ0YsQ0FBQyxDQUFDMEIsU0FBSCxFQUFjLFNBQWQsQ0FEZDtBQUVWYixVQUFBQSxNQUFNLEVBQUUxQixJQUZFO0FBR1YyQixVQUFBQSxJQUFJLEVBQUU7QUFBQzZDLFlBQUFBLEtBQUssRUFBRSxNQUFSO0FBQWdCekMsWUFBQUEsS0FBSyxFQUFFO0FBQXZCO0FBSEksU0FBTixDQUFOO0FBS0EsY0FBTW1CLGtCQUFFZ0IsS0FBRixDQUFRLEdBQVIsQ0FBTjtBQUNBLGNBQU07QUFBQ25DLFVBQUFBO0FBQUQsWUFBVSxDQUFDLE1BQU0sb0JBQU07QUFDM0JOLFVBQUFBLEdBQUcsRUFBRVQsZ0JBQWdCLENBQUNILENBQUMsQ0FBQzBCLFNBQUg7QUFETSxTQUFOLENBQVAsRUFFWlosSUFGSjtBQUdBSSxRQUFBQSxLQUFLLENBQUN3QixZQUFOLENBQW1CVCxNQUFuQixDQUEwQkMsS0FBMUIsQ0FBZ0MxQyxXQUFXLENBQUNrRCxZQUE1QztBQUNBLGNBQU1tQixJQUFJLEdBQUcsTUFBTTFDLFVBQVUsQ0FBQ21DLFVBQVUsQ0FBQzVCLFNBQVosQ0FBN0I7QUFDQU8sUUFBQUEsTUFBTSxDQUFDQyxLQUFQLENBQWEyQixJQUFiLEVBQW1CLElBQW5CO0FBRUE3RCxRQUFBQSxDQUFDLENBQUN1RCxtQkFBRixHQUF3QixLQUFLLElBQTdCO0FBQ0QsT0FsQkMsQ0FBRjtBQW9CQWhDLE1BQUFBLEVBQUUsQ0FBQywwREFBRCxFQUE2RCxrQkFBa0I7QUFDL0UsWUFBSStCLFVBQVUsR0FBRyxNQUFNUCxtQkFBbUIsQ0FBQyxJQUFELENBQTFDO0FBR0EsWUFBSVcsVUFBVSxHQUFHdkQsZ0JBQWdCLENBQUNILENBQUMsQ0FBQzBCLFNBQUgsQ0FBakM7QUFDQSxjQUFNLG9CQUFNO0FBQ1ZkLFVBQUFBLEdBQUcsRUFBRVYsbUJBQW1CLENBQUNGLENBQUMsQ0FBQzBCLFNBQUgsRUFBYyxTQUFkLENBRGQ7QUFFVmIsVUFBQUEsTUFBTSxFQUFFMUIsSUFGRTtBQUdWMkIsVUFBQUEsSUFBSSxFQUFFO0FBQUM2QyxZQUFBQSxLQUFLLEVBQUUsTUFBUjtBQUFnQnpDLFlBQUFBLEtBQUssRUFBRTtBQUF2QjtBQUhJLFNBQU4sQ0FBTjtBQUtBLGNBQU1tQixrQkFBRWdCLEtBQUYsQ0FBUSxHQUFSLENBQU47QUFDQSxjQUFNO0FBQUNuQyxVQUFBQTtBQUFELFlBQVUsQ0FBQyxNQUFNLG9CQUFNO0FBQzNCTixVQUFBQSxHQUFHLEVBQUU4QyxVQURzQjtBQUUzQnJDLFVBQUFBLGNBQWMsRUFBRTtBQUZXLFNBQU4sQ0FBUCxFQUdaUCxJQUhKO0FBSUFJLFFBQUFBLEtBQUssQ0FBQzBDLEtBQU4sQ0FBWTNCLE1BQVosQ0FBbUJDLEtBQW5CLENBQXlCLG9CQUF6QjtBQUNBRCxRQUFBQSxNQUFNLENBQUNDLEtBQVAsQ0FBYWxDLENBQUMsQ0FBQzBCLFNBQWYsRUFBMEIsSUFBMUI7QUFDQSxjQUFNbUMsSUFBSSxHQUFHLE1BQU0xQyxVQUFVLENBQUNtQyxVQUFVLENBQUM1QixTQUFaLENBQTdCO0FBQ0FtQyxRQUFBQSxJQUFJLENBQUNELEtBQUwsQ0FBVzNCLE1BQVgsQ0FBa0JDLEtBQWxCLENBQXdCLG9CQUF4QjtBQUNELE9BbkJDLENBQUY7QUFxQkFYLE1BQUFBLEVBQUUsQ0FBQywyREFBRCxFQUE4RCxrQkFBa0I7QUFDaEZVLFFBQUFBLE1BQU0sQ0FBQ2lDLEdBQVAsQ0FBV3pCLEtBQVgsQ0FBaUJ6QyxDQUFDLENBQUNtRSxjQUFuQjtBQUNBLFlBQUliLFVBQVUsR0FBRyxNQUFNUCxtQkFBbUIsQ0FBQyxJQUFELENBQTFDO0FBQ0FPLFFBQUFBLFVBQVUsQ0FBQzVCLFNBQVgsQ0FBcUJPLE1BQXJCLENBQTRCQyxLQUE1QixDQUFrQ2xDLENBQUMsQ0FBQzBCLFNBQXBDO0FBQ0FPLFFBQUFBLE1BQU0sQ0FBQ1EsS0FBUCxDQUFhekMsQ0FBQyxDQUFDbUUsY0FBZjtBQUNBLGNBQU1oRCxVQUFVLENBQUNtQyxVQUFVLENBQUM1QixTQUFaLENBQWhCO0FBQ0FPLFFBQUFBLE1BQU0sQ0FBQ2lDLEdBQVAsQ0FBV3pCLEtBQVgsQ0FBaUJ6QyxDQUFDLENBQUNtRSxjQUFuQjtBQUNELE9BUEMsQ0FBRjtBQVNELEtBdEhPLENBQVI7QUF3SEFyRSxJQUFBQSxRQUFRLENBQUMsY0FBRCxFQUFpQixZQUFZO0FBQ25DTSxNQUFBQSxNQUFNLENBQUMsWUFBWTtBQUNqQkosUUFBQUEsQ0FBQyxDQUFDb0UsUUFBRixHQUFhLElBQUlDLG1CQUFKLENBQW1CO0FBQUNDLFVBQUFBLHNCQUFzQixFQUFFO0FBQXpCLFNBQW5CLENBQWI7QUFDRCxPQUZLLENBQU47QUFHQS9DLE1BQUFBLEVBQUUsQ0FBQyx1Q0FBRCxFQUEwQyxZQUFZO0FBQ3REdkIsUUFBQUEsQ0FBQyxDQUFDb0UsUUFBRixDQUFXRyxXQUFYLEdBQXlCRCxzQkFBekIsQ0FBZ0RyQyxNQUFoRCxDQUF1RHVCLEVBQXZELENBQTBEZ0IsS0FBMUQ7QUFDRCxPQUZDLENBQUY7QUFHQWpELE1BQUFBLEVBQUUsQ0FBQyxnRUFBRCxFQUFtRSxrQkFBa0I7QUFDckYsY0FBTXZCLENBQUMsQ0FBQ29FLFFBQUYsQ0FBV0ssTUFBWCxDQUFrQjtBQUFDSCxVQUFBQSxzQkFBc0IsRUFBRTtBQUF6QixTQUFsQixFQUFrRHJDLE1BQWxELENBQXlEaUMsR0FBekQsQ0FBNkRWLEVBQTdELENBQWdFa0IsUUFBdEU7QUFDRCxPQUZDLENBQUY7QUFHQW5ELE1BQUFBLEVBQUUsQ0FBQyx5Q0FBRCxFQUE0QyxrQkFBa0I7QUFDOUQsY0FBTXZCLENBQUMsQ0FBQ29FLFFBQUYsQ0FBV0ssTUFBWCxDQUFrQixjQUFsQixFQUFrQ3hDLE1BQWxDLENBQXlDMEMsVUFBekMsQ0FDR25CLEVBREgsQ0FDTW9CLFlBRE4sQ0FDbUIsTUFEbkIsQ0FBTjtBQUVELE9BSEMsQ0FBRjtBQUlELEtBZE8sQ0FBUjtBQWdCQTlFLElBQUFBLFFBQVEsQ0FBQyxrQkFBRCxFQUFxQixZQUFZO0FBQ3ZDeUIsTUFBQUEsRUFBRSxDQUFDLHlEQUFELEVBQTRELGtCQUFrQjtBQUM5RXZCLFFBQUFBLENBQUMsQ0FBQzZFLGFBQUYsR0FBa0I3RSxDQUFDLENBQUM4RSxTQUFwQjs7QUFDQSxZQUFJO0FBQ0Y5RSxVQUFBQSxDQUFDLENBQUM4RSxTQUFGLEdBQWMsa0JBQWtCO0FBQzlCLGtCQUFNekMsa0JBQUVnQixLQUFGLENBQVEsSUFBUixDQUFOO0FBQ0QsV0FGYSxDQUVaRixJQUZZLENBRVBuRCxDQUZPLENBQWQ7O0FBR0EsZ0JBQU0rRSxVQUFVLEdBQUcsb0JBQU07QUFDdkJuRSxZQUFBQSxHQUFHLEVBQUVWLG1CQUFtQixDQUFDLEVBQUQsRUFBSyxRQUFMLENBREQ7QUFFdkJtQixZQUFBQSxjQUFjLEVBQUU7QUFGTyxXQUFOLENBQW5CO0FBS0EsZ0JBQU1nQixrQkFBRWdCLEtBQUYsQ0FBUSxHQUFSLENBQU47QUFDQSxnQkFBTTJCLG9CQUFvQixHQUFHLElBQUkzQyxpQkFBSixDQUFNLENBQUM0QyxPQUFELEVBQVVDLE1BQVYsS0FBcUI7QUFDdERDLFlBQUFBLFVBQVUsQ0FBQyxNQUFNRCxNQUFNLENBQUMsSUFBSUUsS0FBSixDQUFVLDZFQUFWLENBQUQsQ0FBYixFQUF5RyxJQUF6RyxDQUFWO0FBQ0FwRixZQUFBQSxDQUFDLENBQUNxRixvQkFBRixDQUF1QkosT0FBdkI7QUFDRCxXQUg0QixDQUE3QjtBQUlBakYsVUFBQUEsQ0FBQyxDQUFDc0YsdUJBQUYsQ0FBMEIsSUFBSUYsS0FBSixDQUFVLGFBQVYsQ0FBMUI7QUFDQSxnQkFBTTtBQUFDbEUsWUFBQUE7QUFBRCxjQUFVLENBQUMsTUFBTTZELFVBQVAsRUFBbUJqRSxJQUFuQztBQUNBSSxVQUFBQSxLQUFLLENBQUNxRSxPQUFOLENBQWN0RCxNQUFkLENBQXFCdUQsT0FBckIsQ0FBNkIsYUFBN0I7QUFDQSxnQkFBTVIsb0JBQU47QUFDRCxTQWxCRCxTQWtCVTtBQUNSaEYsVUFBQUEsQ0FBQyxDQUFDOEUsU0FBRixHQUFjOUUsQ0FBQyxDQUFDNkUsYUFBaEI7QUFDRDtBQUNGLE9BdkJDLENBQUY7QUF3QkQsS0F6Qk8sQ0FBUjtBQTJCQS9FLElBQUFBLFFBQVEsQ0FBQyxlQUFELEVBQWtCLFlBQVk7QUFDcEN5QixNQUFBQSxFQUFFLENBQUMsZ0RBQUQsRUFBbUQsa0JBQWtCO0FBQ3JFLGNBQU1rRSxPQUFPLEdBQUcsTUFBTS9FLFlBQVksQ0FBQ2xCLFdBQUQsQ0FBbEM7QUFDQSxjQUFNa0csR0FBRyxHQUFHLE1BQU1wRSxVQUFVLENBQUNtRSxPQUFPLENBQUMvRCxTQUFULENBQTVCO0FBQ0FPLFFBQUFBLE1BQU0sQ0FBQ2lDLEdBQVAsQ0FBV3pCLEtBQVgsQ0FBaUJpRCxHQUFHLENBQUNDLE1BQXJCO0FBQ0EsY0FBTXhFLFVBQVUsQ0FBQ3NFLE9BQU8sQ0FBQy9ELFNBQVQsQ0FBaEI7QUFDRCxPQUxDLENBQUY7QUFNQUgsTUFBQUEsRUFBRSxDQUFDLGtDQUFELEVBQXFDLGtCQUFrQjtBQUN2RCxjQUFNWixJQUFJLEdBQUdpRixNQUFNLENBQUNDLE1BQVAsQ0FBYyxFQUFkLEVBQWtCckcsV0FBbEIsRUFBK0I7QUFBQyxpQ0FBdUI7QUFBeEIsU0FBL0IsQ0FBYjtBQUNBLGNBQU1pRyxPQUFPLEdBQUcsTUFBTS9FLFlBQVksQ0FBQ0MsSUFBRCxDQUFsQztBQUNBLGNBQU0rRSxHQUFHLEdBQUksTUFBTXBFLFVBQVUsQ0FBQ21FLE9BQU8sQ0FBQy9ELFNBQVQsQ0FBN0I7QUFDQU8sUUFBQUEsTUFBTSxDQUFDUSxLQUFQLENBQWFpRCxHQUFHLENBQUNDLE1BQWpCO0FBQ0ExRCxRQUFBQSxNQUFNLENBQUNRLEtBQVAsQ0FBYWlELEdBQUcsQ0FBQ0MsTUFBSixDQUFXRyxtQkFBeEI7QUFDQTdELFFBQUFBLE1BQU0sQ0FBQ1EsS0FBUCxDQUFhaUQsR0FBRyxDQUFDQyxNQUFKLENBQVdJLGlCQUF4QjtBQUNBTCxRQUFBQSxHQUFHLENBQUNDLE1BQUosQ0FBV0csbUJBQVgsQ0FBK0IsQ0FBL0IsRUFBa0M3RCxNQUFsQyxDQUF5Q3VCLEVBQXpDLENBQTRDd0MsQ0FBNUMsQ0FBOEMsUUFBOUM7QUFDQU4sUUFBQUEsR0FBRyxDQUFDQyxNQUFKLENBQVdJLGlCQUFYLENBQTZCLENBQTdCLEVBQWdDOUQsTUFBaEMsQ0FBdUN1QixFQUF2QyxDQUEwQ3dDLENBQTFDLENBQTRDLFFBQTVDO0FBQ0EsY0FBTTdFLFVBQVUsQ0FBQ3NFLE9BQU8sQ0FBQy9ELFNBQVQsQ0FBaEI7QUFDRCxPQVZDLENBQUY7QUFXRCxLQWxCTyxDQUFSOztBQW9CQSxRQUFJbkMsV0FBVyxLQUFLMEcsZUFBcEIsRUFBZ0M7QUFJOUJuRyxNQUFBQSxRQUFRLENBQUMsbUNBQUQsRUFBc0MsWUFBWTtBQUN4RHlCLFFBQUFBLEVBQUUsQ0FBQyxvRUFBRCxFQUF1RSxrQkFBa0I7QUFDekYsZ0JBQU0yRSxHQUFHLEdBQUcsTUFBTXhGLFlBQVksQ0FBQztBQUM3QmdDLFlBQUFBLFlBQVksRUFBRSxLQURlO0FBRTdCLGFBQUN5RCxzQ0FBRCxHQUE0QjtBQUMxQkMsY0FBQUEsZUFBZSxFQUFFLE1BRFM7QUFFMUIsbUNBQXFCO0FBRks7QUFGQyxXQUFELENBQTlCO0FBT0FwRyxVQUFBQSxDQUFDLENBQUNxRyxJQUFGLENBQU9ELGVBQVAsQ0FBdUJuRSxNQUF2QixDQUE4QmdDLEdBQTlCLENBQWtDLE1BQWxDO0FBQ0FqRSxVQUFBQSxDQUFDLENBQUNxRyxJQUFGLENBQU8xRCxVQUFQLENBQWtCVixNQUFsQixDQUF5QmdDLEdBQXpCLENBQTZCLFdBQTdCO0FBQ0EsZ0JBQU05QyxVQUFVLENBQUMrRSxHQUFHLENBQUN4RSxTQUFMLENBQWhCO0FBQ0QsU0FYQyxDQUFGO0FBWUQsT0FiTyxDQUFSO0FBY0Q7QUFDRixHQXZWTyxDQUFSO0FBd1ZEOztlQUVjcEMsa0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgXyBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IHsgQmFzZURyaXZlciwgc2VydmVyLCByb3V0ZUNvbmZpZ3VyaW5nRnVuY3Rpb24sIERldmljZVNldHRpbmdzIH0gZnJvbSAnLi4vLi4vbGliJztcbmltcG9ydCBheGlvcyBmcm9tICdheGlvcyc7XG5pbXBvcnQgQiBmcm9tICdibHVlYmlyZCc7XG5pbXBvcnQgeyBURVNUX0hPU1QsIGdldFRlc3RQb3J0LCBjcmVhdGVBcHBpdW1VUkwsIE1FVEhPRFMgfSBmcm9tICcuLi9oZWxwZXJzJztcbmltcG9ydCB7IFBSRUZJWEVEX0FQUElVTV9PUFRTX0NBUCB9IGZyb20gJy4uLy4uL2xpYi9iYXNlZHJpdmVyL2NhcGFiaWxpdGllcyc7XG5jb25zdCB7UE9TVCwgREVMRVRFfSA9IE1FVEhPRFM7XG5cbmZ1bmN0aW9uIGJhc2VEcml2ZXJFMkVUZXN0cyAoRHJpdmVyQ2xhc3MsIGRlZmF1bHRDYXBzID0ge30pIHtcbiAgbGV0IGFkZHJlc3MgPSBkZWZhdWx0Q2Fwc1snYXBwaXVtOmFkZHJlc3MnXSA/PyBURVNUX0hPU1Q7XG4gIGxldCBwb3J0ID0gZGVmYXVsdENhcHNbJ2FwcGl1bTpwb3J0J107XG4gIGNvbnN0IGNsYXNzTmFtZSA9IERyaXZlckNsYXNzLm5hbWUgfHwgJyh1bmtub3duIGRyaXZlciknO1xuXG4gIGRlc2NyaWJlKGBCYXNlRHJpdmVyIEUyRSAoYXMgJHtjbGFzc05hbWV9KWAsIGZ1bmN0aW9uICgpIHtcbiAgICBsZXQgYmFzZVNlcnZlciwgZDtcbiAgICAvKipcbiAgICAgICAqIFRoaXMgVVJMIGNyZWF0ZXMgYSBuZXcgc2Vzc2lvblxuICAgICAgICogQHR5cGUge3N0cmluZ31cbiAgICAgICAqKi9cbiAgICBsZXQgbmV3U2Vzc2lvblVSTDtcblxuICAgIC8qKlxuICAgICAqIENyZWF0ZXMgYSBVUkwgd2l0aCBiYXNlIGhvc3QvcG9ydC4gU3VwcGx5IGBzZXNzaW9uYCBhbmQgYHBhdGhuYW1lYFxuICAgICAqIEB0eXBlIHtfLkN1cnJpZWRGdW5jdGlvbjI8c3RyaW5nLHN0cmluZyxzdHJpbmc+fVxuICAgICAqL1xuICAgIGxldCBjcmVhdGVBcHBpdW1UZXN0VVJMO1xuXG4gICAgLyoqXG4gICAgICogQ3JlYXRlcyBhIFVSTCB3aXRoIHRoZSBnaXZlbiBzZXNzaW9uIElEIGFuZCBhIGJsYW5rIHBhdGhuYW1lO1xuICAgICAqIGUuZy4sIGBodHRwOi8vZm9vLmJhcjoxMjMvc2Vzc2lvbi88c2Vzc2lvbi1pZD5gXG4gICAgICogIEB0eXBlIHtfLkN1cnJpZWRGdW5jdGlvbjE8c3RyaW5nLHN0cmluZz59XG4gICAgICovXG4gICAgbGV0IGNyZWF0ZVNlc3Npb25VUkw7XG5cbiAgICBiZWZvcmUoYXN5bmMgZnVuY3Rpb24gKCkge1xuICAgICAgcG9ydCA9IHBvcnQgPz8gYXdhaXQgZ2V0VGVzdFBvcnQoKTtcbiAgICAgIGRlZmF1bHRDYXBzID0gey4uLmRlZmF1bHRDYXBzLCAnYXBwaXVtOnBvcnQnOiBwb3J0fTtcbiAgICAgIGQgPSBuZXcgRHJpdmVyQ2xhc3Moe3BvcnQsIGFkZHJlc3N9KTtcbiAgICAgIGJhc2VTZXJ2ZXIgPSBhd2FpdCBzZXJ2ZXIoe1xuICAgICAgICByb3V0ZUNvbmZpZ3VyaW5nRnVuY3Rpb246IHJvdXRlQ29uZmlndXJpbmdGdW5jdGlvbihkKSxcbiAgICAgICAgcG9ydCxcbiAgICAgICAgaG9zdG5hbWU6IFRFU1RfSE9TVFxuICAgICAgfSk7XG4gICAgICBjcmVhdGVBcHBpdW1UZXN0VVJMID0gY3JlYXRlQXBwaXVtVVJMKGFkZHJlc3MsIHBvcnQpO1xuICAgICAgbmV3U2Vzc2lvblVSTCA9IGNyZWF0ZUFwcGl1bVRlc3RVUkwoJycsICdzZXNzaW9uJyk7XG4gICAgICBjcmVhdGVTZXNzaW9uVVJMID0gY3JlYXRlQXBwaXVtVGVzdFVSTChfLCAnJyk7XG4gICAgfSk7XG5cbiAgICBhZnRlcihhc3luYyBmdW5jdGlvbiAoKSB7XG4gICAgICBhd2FpdCBiYXNlU2VydmVyLmNsb3NlKCk7XG4gICAgfSk7XG5cbiAgICBhc3luYyBmdW5jdGlvbiBzdGFydFNlc3Npb24gKGNhcHMpIHtcbiAgICAgIHJldHVybiAoYXdhaXQgYXhpb3Moe1xuICAgICAgICB1cmw6IG5ld1Nlc3Npb25VUkwsXG4gICAgICAgIG1ldGhvZDogUE9TVCxcbiAgICAgICAgZGF0YToge2NhcGFiaWxpdGllczoge2Fsd2F5c01hdGNoOiBjYXBzLCBmaXJzdE1hdGNoOiBbe31dfX0sXG4gICAgICB9KSkuZGF0YS52YWx1ZTtcbiAgICB9XG5cbiAgICBhc3luYyBmdW5jdGlvbiBlbmRTZXNzaW9uIChpZCkge1xuICAgICAgcmV0dXJuIChhd2FpdCBheGlvcyh7XG4gICAgICAgIHVybDogY3JlYXRlU2Vzc2lvblVSTChpZCksXG4gICAgICAgIG1ldGhvZDogREVMRVRFLFxuICAgICAgICB2YWxpZGF0ZVN0YXR1czogbnVsbCxcbiAgICAgIH0pKS5kYXRhLnZhbHVlO1xuICAgIH1cblxuICAgIGFzeW5jIGZ1bmN0aW9uIGdldFNlc3Npb24gKGlkKSB7XG4gICAgICByZXR1cm4gKGF3YWl0IGF4aW9zKHtcbiAgICAgICAgdXJsOiBjcmVhdGVTZXNzaW9uVVJMKGlkKSxcbiAgICAgIH0pKS5kYXRhLnZhbHVlO1xuICAgIH1cblxuICAgIGRlc2NyaWJlKCdzZXNzaW9uIGhhbmRsaW5nJywgZnVuY3Rpb24gKCkge1xuICAgICAgaXQoJ3Nob3VsZCBoYW5kbGUgaWRlbXBvdGVuY3kgd2hpbGUgY3JlYXRpbmcgc2Vzc2lvbnMnLCBhc3luYyBmdW5jdGlvbiAoKSB7XG4gICAgICAgIGNvbnN0IHNlc3Npb25JZHMgPSBbXTtcbiAgICAgICAgbGV0IHRpbWVzID0gMDtcbiAgICAgICAgZG8ge1xuICAgICAgICAgIGNvbnN0IHtzZXNzaW9uSWR9ID0gKGF3YWl0IGF4aW9zKHtcbiAgICAgICAgICAgIHVybDogbmV3U2Vzc2lvblVSTCxcbiAgICAgICAgICAgIGhlYWRlcnM6IHtcbiAgICAgICAgICAgICAgJ1gtSWRlbXBvdGVuY3ktS2V5JzogJzEyMzQ1NicsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgbWV0aG9kOiBQT1NULFxuICAgICAgICAgICAgZGF0YToge2NhcGFiaWxpdGllczoge2Fsd2F5c01hdGNoOiBkZWZhdWx0Q2FwcywgZmlyc3RNYXRjaDogW3t9XX19LFxuICAgICAgICAgICAgc2ltcGxlOiBmYWxzZSxcbiAgICAgICAgICAgIHJlc29sdmVXaXRoRnVsbFJlc3BvbnNlOiB0cnVlXG4gICAgICAgICAgfSkpLmRhdGEudmFsdWU7XG5cbiAgICAgICAgICBzZXNzaW9uSWRzLnB1c2goc2Vzc2lvbklkKTtcbiAgICAgICAgICB0aW1lcysrO1xuICAgICAgICB9IHdoaWxlICh0aW1lcyA8IDIpO1xuICAgICAgICBfLnVuaXEoc2Vzc2lvbklkcykubGVuZ3RoLnNob3VsZC5lcXVhbCgxKTtcblxuICAgICAgICBjb25zdCB7c3RhdHVzLCBkYXRhfSA9IGF3YWl0IGF4aW9zKHtcbiAgICAgICAgICB1cmw6IGNyZWF0ZVNlc3Npb25VUkwoc2Vzc2lvbklkc1swXSksXG4gICAgICAgICAgbWV0aG9kOiBERUxFVEUsXG4gICAgICAgIH0pO1xuICAgICAgICBzdGF0dXMuc2hvdWxkLmVxdWFsKDIwMCk7XG4gICAgICAgIHNob3VsZC5lcXVhbChkYXRhLnZhbHVlLCBudWxsKTtcbiAgICAgIH0pO1xuXG4gICAgICBpdCgnc2hvdWxkIGhhbmRsZSBpZGVtcG90ZW5jeSB3aGlsZSBjcmVhdGluZyBwYXJhbGxlbCBzZXNzaW9ucycsIGFzeW5jIGZ1bmN0aW9uICgpIHtcbiAgICAgICAgY29uc3QgcmVxcyA9IFtdO1xuICAgICAgICBsZXQgdGltZXMgPSAwO1xuICAgICAgICBkbyB7XG4gICAgICAgICAgcmVxcy5wdXNoKGF4aW9zKHtcbiAgICAgICAgICAgIHVybDogbmV3U2Vzc2lvblVSTCxcbiAgICAgICAgICAgIGhlYWRlcnM6IHtcbiAgICAgICAgICAgICAgJ1gtSWRlbXBvdGVuY3ktS2V5JzogJzEyMzQ1JyxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBtZXRob2Q6IFBPU1QsXG4gICAgICAgICAgICBkYXRhOiB7Y2FwYWJpbGl0aWVzOiB7YWx3YXlzTWF0Y2g6IGRlZmF1bHRDYXBzLCBmaXJzdE1hdGNoOiBbe31dfX0sXG4gICAgICAgICAgfSkpO1xuICAgICAgICAgIHRpbWVzKys7XG4gICAgICAgIH0gd2hpbGUgKHRpbWVzIDwgMik7XG4gICAgICAgIGNvbnN0IHNlc3Npb25JZHMgPSAoYXdhaXQgQi5hbGwocmVxcykpLm1hcCgoeCkgPT4geC5kYXRhLnZhbHVlLnNlc3Npb25JZCk7XG4gICAgICAgIF8udW5pcShzZXNzaW9uSWRzKS5sZW5ndGguc2hvdWxkLmVxdWFsKDEpO1xuXG4gICAgICAgIGNvbnN0IHtzdGF0dXMsIGRhdGF9ID0gYXdhaXQgYXhpb3Moe1xuICAgICAgICAgIHVybDogY3JlYXRlU2Vzc2lvblVSTChzZXNzaW9uSWRzWzBdKSxcbiAgICAgICAgICBtZXRob2Q6IERFTEVURSxcbiAgICAgICAgfSk7XG4gICAgICAgIHN0YXR1cy5zaG91bGQuZXF1YWwoMjAwKTtcbiAgICAgICAgc2hvdWxkLmVxdWFsKGRhdGEudmFsdWUsIG51bGwpO1xuICAgICAgfSk7XG5cbiAgICAgIGl0KCdzaG91bGQgY3JlYXRlIHNlc3Npb24gYW5kIHJldHJpZXZlIGEgc2Vzc2lvbiBpZCwgdGhlbiBkZWxldGUgaXQnLCBhc3luYyBmdW5jdGlvbiAoKSB7XG4gICAgICAgIGxldCB7c3RhdHVzLCBkYXRhfSA9IGF3YWl0IGF4aW9zKHtcbiAgICAgICAgICB1cmw6IG5ld1Nlc3Npb25VUkwsXG4gICAgICAgICAgbWV0aG9kOiBQT1NULFxuICAgICAgICAgIGRhdGE6IHtjYXBhYmlsaXRpZXM6IHthbHdheXNNYXRjaDogZGVmYXVsdENhcHMsIGZpcnN0TWF0Y2g6IFt7fV19fSxcbiAgICAgICAgfSk7XG5cbiAgICAgICAgc3RhdHVzLnNob3VsZC5lcXVhbCgyMDApO1xuICAgICAgICBzaG91bGQuZXhpc3QoZGF0YS52YWx1ZS5zZXNzaW9uSWQpO1xuICAgICAgICBkYXRhLnZhbHVlLmNhcGFiaWxpdGllcy5wbGF0Zm9ybU5hbWUuc2hvdWxkLmVxdWFsKGRlZmF1bHRDYXBzLnBsYXRmb3JtTmFtZSk7XG4gICAgICAgIGRhdGEudmFsdWUuY2FwYWJpbGl0aWVzLmRldmljZU5hbWUuc2hvdWxkLmVxdWFsKGRlZmF1bHRDYXBzWydhcHBpdW06ZGV2aWNlTmFtZSddKTtcblxuICAgICAgICAoe3N0YXR1cywgZGF0YX0gPSBhd2FpdCBheGlvcyh7XG4gICAgICAgICAgdXJsOiBjcmVhdGVTZXNzaW9uVVJMKGQuc2Vzc2lvbklkKSxcbiAgICAgICAgICBtZXRob2Q6IERFTEVURSxcbiAgICAgICAgfSkpO1xuXG4gICAgICAgIHN0YXR1cy5zaG91bGQuZXF1YWwoMjAwKTtcbiAgICAgICAgc2hvdWxkLmVxdWFsKGRhdGEudmFsdWUsIG51bGwpO1xuICAgICAgICBzaG91bGQuZXF1YWwoZC5zZXNzaW9uSWQsIG51bGwpO1xuICAgICAgfSk7XG4gICAgfSk7XG5cbiAgICBpdC5za2lwKCdzaG91bGQgdGhyb3cgTllJIGZvciBjb21tYW5kcyBub3QgaW1wbGVtZW50ZWQnLCBhc3luYyBmdW5jdGlvbiAoKSB7XG4gICAgfSk7XG5cbiAgICBkZXNjcmliZSgnY29tbWFuZCB0aW1lb3V0cycsIGZ1bmN0aW9uICgpIHtcbiAgICAgIGxldCBvcmlnaW5hbEZpbmRFbGVtZW50LCBvcmlnaW5hbEZpbmRFbGVtZW50cztcblxuICAgICAgYXN5bmMgZnVuY3Rpb24gc3RhcnRUaW1lb3V0U2Vzc2lvbiAodGltZW91dCkge1xuICAgICAgICBjb25zdCBjYXBzID0gXy5jbG9uZURlZXAoZGVmYXVsdENhcHMpO1xuICAgICAgICBjYXBzWydhcHBpdW06bmV3Q29tbWFuZFRpbWVvdXQnXSA9IHRpbWVvdXQ7XG4gICAgICAgIHJldHVybiBhd2FpdCBzdGFydFNlc3Npb24oY2Fwcyk7XG4gICAgICB9XG5cbiAgICAgIGJlZm9yZShmdW5jdGlvbiAoKSB7XG4gICAgICAgIG9yaWdpbmFsRmluZEVsZW1lbnQgPSBkLmZpbmRFbGVtZW50O1xuICAgICAgICBkLmZpbmRFbGVtZW50ID0gZnVuY3Rpb24gKCkge1xuICAgICAgICAgIHJldHVybiAnZm9vJztcbiAgICAgICAgfS5iaW5kKGQpO1xuXG4gICAgICAgIG9yaWdpbmFsRmluZEVsZW1lbnRzID0gZC5maW5kRWxlbWVudHM7XG4gICAgICAgIGQuZmluZEVsZW1lbnRzID0gYXN5bmMgZnVuY3Rpb24gKCkge1xuICAgICAgICAgIGF3YWl0IEIuZGVsYXkoMjAwKTtcbiAgICAgICAgICByZXR1cm4gWydmb28nXTtcbiAgICAgICAgfS5iaW5kKGQpO1xuICAgICAgfSk7XG5cbiAgICAgIGFmdGVyKGZ1bmN0aW9uICgpIHtcbiAgICAgICAgZC5maW5kRWxlbWVudCA9IG9yaWdpbmFsRmluZEVsZW1lbnQ7XG4gICAgICAgIGQuZmluZEVsZW1lbnRzID0gb3JpZ2luYWxGaW5kRWxlbWVudHM7XG4gICAgICB9KTtcblxuXG4gICAgICBpdCgnc2hvdWxkIHNldCBhIGRlZmF1bHQgY29tbWFuZFRpbWVvdXQnLCBhc3luYyBmdW5jdGlvbiAoKSB7XG4gICAgICAgIGxldCBuZXdTZXNzaW9uID0gYXdhaXQgc3RhcnRUaW1lb3V0U2Vzc2lvbigpO1xuICAgICAgICBkLm5ld0NvbW1hbmRUaW1lb3V0TXMuc2hvdWxkLmJlLmFib3ZlKDApO1xuICAgICAgICBhd2FpdCBlbmRTZXNzaW9uKG5ld1Nlc3Npb24uc2Vzc2lvbklkKTtcbiAgICAgIH0pO1xuXG4gICAgICBpdCgnc2hvdWxkIHRpbWVvdXQgb24gY29tbWFuZHMgdXNpbmcgY29tbWFuZFRpbWVvdXQgY2FwJywgYXN5bmMgZnVuY3Rpb24gKCkge1xuICAgICAgICBsZXQgbmV3U2Vzc2lvbiA9IGF3YWl0IHN0YXJ0VGltZW91dFNlc3Npb24oMC4yNSk7XG4gICAgICAgIC8vIFhYWDogcmFjZSBjb25kaXRpb246IHdlIG11c3QgYnVpbGQgdGhpcyBVUkwgYmVmb3JlIC4uLnNvbWV0aGluZyBoYXBwZW5zLi4uXG4gICAgICAgIC8vIHdoaWNoIGNhdXNlcyBgZC5zZXNzaW9uSWRgIHRvIGJlIG1pc3NpbmdcbiAgICAgICAgbGV0IHNlc3Npb25VUkwgPSBjcmVhdGVTZXNzaW9uVVJMKGQuc2Vzc2lvbklkKTtcbiAgICAgICAgYXdhaXQgYXhpb3Moe1xuICAgICAgICAgIHVybDogY3JlYXRlQXBwaXVtVGVzdFVSTChkLnNlc3Npb25JZCwgJ2VsZW1lbnQnKSxcbiAgICAgICAgICBtZXRob2Q6IFBPU1QsXG4gICAgICAgICAgZGF0YToge3VzaW5nOiAnbmFtZScsIHZhbHVlOiAnZm9vJ30sXG4gICAgICAgIH0pO1xuICAgICAgICBhd2FpdCBCLmRlbGF5KDQwMCk7XG4gICAgICAgIGNvbnN0IHtkYXRhfSA9IGF3YWl0IGF4aW9zKHtcbiAgICAgICAgICB1cmw6IHNlc3Npb25VUkwsXG4gICAgICAgICAgdmFsaWRhdGVTdGF0dXM6IG51bGwsXG4gICAgICAgIH0pO1xuICAgICAgICBzaG91bGQuZXF1YWwoZGF0YS52YWx1ZS5lcnJvciwgJ2ludmFsaWQgc2Vzc2lvbiBpZCcpO1xuICAgICAgICBzaG91bGQuZXF1YWwoZC5zZXNzaW9uSWQsIG51bGwpO1xuICAgICAgICBjb25zdCByZXNwID0gYXdhaXQgZW5kU2Vzc2lvbihuZXdTZXNzaW9uLnNlc3Npb25JZCk7XG4gICAgICAgIHNob3VsZC5lcXVhbChyZXNwLmVycm9yLCAnaW52YWxpZCBzZXNzaW9uIGlkJyk7XG4gICAgICB9KTtcblxuICAgICAgaXQoJ3Nob3VsZCBub3QgdGltZW91dCB3aXRoIGNvbW1hbmRUaW1lb3V0IG9mIGZhbHNlJywgYXN5bmMgZnVuY3Rpb24gKCkge1xuICAgICAgICBsZXQgbmV3U2Vzc2lvbiA9IGF3YWl0IHN0YXJ0VGltZW91dFNlc3Npb24oMC4xKTtcbiAgICAgICAgbGV0IHN0YXJ0ID0gRGF0ZS5ub3coKTtcbiAgICAgICAgY29uc3Qge3ZhbHVlfSA9IChhd2FpdCBheGlvcyh7XG4gICAgICAgICAgdXJsOiBjcmVhdGVBcHBpdW1UZXN0VVJMKGQuc2Vzc2lvbklkLCAnZWxlbWVudHMnKSxcbiAgICAgICAgICBtZXRob2Q6IFBPU1QsXG4gICAgICAgICAgZGF0YToge3VzaW5nOiAnbmFtZScsIHZhbHVlOiAnZm9vJ30sXG4gICAgICAgIH0pKS5kYXRhO1xuICAgICAgICAoRGF0ZS5ub3coKSAtIHN0YXJ0KS5zaG91bGQuYmUuYWJvdmUoMTUwKTtcbiAgICAgICAgdmFsdWUuc2hvdWxkLmVxbChbJ2ZvbyddKTtcbiAgICAgICAgYXdhaXQgZW5kU2Vzc2lvbihuZXdTZXNzaW9uLnNlc3Npb25JZCk7XG4gICAgICB9KTtcblxuICAgICAgaXQoJ3Nob3VsZCBub3QgdGltZW91dCB3aXRoIGNvbW1hbmRUaW1lb3V0IG9mIDAnLCBhc3luYyBmdW5jdGlvbiAoKSB7XG4gICAgICAgIGQubmV3Q29tbWFuZFRpbWVvdXRNcyA9IDI7XG4gICAgICAgIGxldCBuZXdTZXNzaW9uID0gYXdhaXQgc3RhcnRUaW1lb3V0U2Vzc2lvbigwKTtcblxuICAgICAgICBhd2FpdCBheGlvcyh7XG4gICAgICAgICAgdXJsOiBjcmVhdGVBcHBpdW1UZXN0VVJMKGQuc2Vzc2lvbklkLCAnZWxlbWVudCcpLFxuICAgICAgICAgIG1ldGhvZDogUE9TVCxcbiAgICAgICAgICBkYXRhOiB7dXNpbmc6ICduYW1lJywgdmFsdWU6ICdmb28nfSxcbiAgICAgICAgfSk7XG4gICAgICAgIGF3YWl0IEIuZGVsYXkoNDAwKTtcbiAgICAgICAgY29uc3Qge3ZhbHVlfSA9IChhd2FpdCBheGlvcyh7XG4gICAgICAgICAgdXJsOiBjcmVhdGVTZXNzaW9uVVJMKGQuc2Vzc2lvbklkKSxcbiAgICAgICAgfSkpLmRhdGE7XG4gICAgICAgIHZhbHVlLnBsYXRmb3JtTmFtZS5zaG91bGQuZXF1YWwoZGVmYXVsdENhcHMucGxhdGZvcm1OYW1lKTtcbiAgICAgICAgY29uc3QgcmVzcCA9IGF3YWl0IGVuZFNlc3Npb24obmV3U2Vzc2lvbi5zZXNzaW9uSWQpO1xuICAgICAgICBzaG91bGQuZXF1YWwocmVzcCwgbnVsbCk7XG5cbiAgICAgICAgZC5uZXdDb21tYW5kVGltZW91dE1zID0gNjAgKiAxMDAwO1xuICAgICAgfSk7XG5cbiAgICAgIGl0KCdzaG91bGQgbm90IHRpbWVvdXQgaWYgaXRzIGp1c3QgdGhlIGNvbW1hbmQgdGFraW5nIGF3aGlsZScsIGFzeW5jIGZ1bmN0aW9uICgpIHtcbiAgICAgICAgbGV0IG5ld1Nlc3Npb24gPSBhd2FpdCBzdGFydFRpbWVvdXRTZXNzaW9uKDAuMjUpO1xuICAgICAgICAvLyBYWFg6IHJhY2UgY29uZGl0aW9uOiB3ZSBtdXN0IGJ1aWxkIHRoaXMgVVJMIGJlZm9yZSAuLi5zb21ldGhpbmcgaGFwcGVucy4uLlxuICAgICAgICAvLyB3aGljaCBjYXVzZXMgYGQuc2Vzc2lvbklkYCB0byBiZSBtaXNzaW5nXG4gICAgICAgIGxldCBzZXNzaW9uVVJMID0gY3JlYXRlU2Vzc2lvblVSTChkLnNlc3Npb25JZCk7XG4gICAgICAgIGF3YWl0IGF4aW9zKHtcbiAgICAgICAgICB1cmw6IGNyZWF0ZUFwcGl1bVRlc3RVUkwoZC5zZXNzaW9uSWQsICdlbGVtZW50JyksXG4gICAgICAgICAgbWV0aG9kOiBQT1NULFxuICAgICAgICAgIGRhdGE6IHt1c2luZzogJ25hbWUnLCB2YWx1ZTogJ2Zvbyd9LFxuICAgICAgICB9KTtcbiAgICAgICAgYXdhaXQgQi5kZWxheSg0MDApO1xuICAgICAgICBjb25zdCB7dmFsdWV9ID0gKGF3YWl0IGF4aW9zKHtcbiAgICAgICAgICB1cmw6IHNlc3Npb25VUkwsXG4gICAgICAgICAgdmFsaWRhdGVTdGF0dXM6IG51bGwsXG4gICAgICAgIH0pKS5kYXRhO1xuICAgICAgICB2YWx1ZS5lcnJvci5zaG91bGQuZXF1YWwoJ2ludmFsaWQgc2Vzc2lvbiBpZCcpO1xuICAgICAgICBzaG91bGQuZXF1YWwoZC5zZXNzaW9uSWQsIG51bGwpO1xuICAgICAgICBjb25zdCByZXNwID0gYXdhaXQgZW5kU2Vzc2lvbihuZXdTZXNzaW9uLnNlc3Npb25JZCk7XG4gICAgICAgIHJlc3AuZXJyb3Iuc2hvdWxkLmVxdWFsKCdpbnZhbGlkIHNlc3Npb24gaWQnKTtcbiAgICAgIH0pO1xuXG4gICAgICBpdCgnc2hvdWxkIG5vdCBoYXZlIGEgdGltZXIgcnVubmluZyBiZWZvcmUgb3IgYWZ0ZXIgYSBzZXNzaW9uJywgYXN5bmMgZnVuY3Rpb24gKCkge1xuICAgICAgICBzaG91bGQubm90LmV4aXN0KGQubm9Db21tYW5kVGltZXIpO1xuICAgICAgICBsZXQgbmV3U2Vzc2lvbiA9IGF3YWl0IHN0YXJ0VGltZW91dFNlc3Npb24oMC4yNSk7XG4gICAgICAgIG5ld1Nlc3Npb24uc2Vzc2lvbklkLnNob3VsZC5lcXVhbChkLnNlc3Npb25JZCk7XG4gICAgICAgIHNob3VsZC5leGlzdChkLm5vQ29tbWFuZFRpbWVyKTtcbiAgICAgICAgYXdhaXQgZW5kU2Vzc2lvbihuZXdTZXNzaW9uLnNlc3Npb25JZCk7XG4gICAgICAgIHNob3VsZC5ub3QuZXhpc3QoZC5ub0NvbW1hbmRUaW1lcik7XG4gICAgICB9KTtcblxuICAgIH0pO1xuXG4gICAgZGVzY3JpYmUoJ3NldHRpbmdzIGFwaScsIGZ1bmN0aW9uICgpIHtcbiAgICAgIGJlZm9yZShmdW5jdGlvbiAoKSB7XG4gICAgICAgIGQuc2V0dGluZ3MgPSBuZXcgRGV2aWNlU2V0dGluZ3Moe2lnbm9yZVVuaW1wb3J0YW50Vmlld3M6IGZhbHNlfSk7XG4gICAgICB9KTtcbiAgICAgIGl0KCdzaG91bGQgYmUgYWJsZSB0byBnZXQgc2V0dGluZ3Mgb2JqZWN0JywgZnVuY3Rpb24gKCkge1xuICAgICAgICBkLnNldHRpbmdzLmdldFNldHRpbmdzKCkuaWdub3JlVW5pbXBvcnRhbnRWaWV3cy5zaG91bGQuYmUuZmFsc2U7XG4gICAgICB9KTtcbiAgICAgIGl0KCdzaG91bGQgbm90IHJlamVjdCB3aGVuIGB1cGRhdGVTZXR0aW5nc2AgbWV0aG9kIGlzIG5vdCBwcm92aWRlZCcsIGFzeW5jIGZ1bmN0aW9uICgpIHtcbiAgICAgICAgYXdhaXQgZC5zZXR0aW5ncy51cGRhdGUoe2lnbm9yZVVuaW1wb3J0YW50Vmlld3M6IHRydWV9KS5zaG91bGQubm90LmJlLnJlamVjdGVkO1xuICAgICAgfSk7XG4gICAgICBpdCgnc2hvdWxkIHJlamVjdCBmb3IgaW52YWxpZCB1cGRhdGUgb2JqZWN0JywgYXN5bmMgZnVuY3Rpb24gKCkge1xuICAgICAgICBhd2FpdCBkLnNldHRpbmdzLnVwZGF0ZSgnaW52YWxpZCBqc29uJykuc2hvdWxkLmV2ZW50dWFsbHlcbiAgICAgICAgICAgICAgICAuYmUucmVqZWN0ZWRXaXRoKCdKU09OJyk7XG4gICAgICB9KTtcbiAgICB9KTtcblxuICAgIGRlc2NyaWJlKCd1bmV4cGVjdGVkIGV4aXRzJywgZnVuY3Rpb24gKCkge1xuICAgICAgaXQoJ3Nob3VsZCByZWplY3QgYSBjdXJyZW50IGNvbW1hbmQgd2hlbiB0aGUgZHJpdmVyIGNyYXNoZXMnLCBhc3luYyBmdW5jdGlvbiAoKSB7XG4gICAgICAgIGQuX29sZEdldFN0YXR1cyA9IGQuZ2V0U3RhdHVzO1xuICAgICAgICB0cnkge1xuICAgICAgICAgIGQuZ2V0U3RhdHVzID0gYXN5bmMgZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgYXdhaXQgQi5kZWxheSg1MDAwKTtcbiAgICAgICAgICB9LmJpbmQoZCk7XG4gICAgICAgICAgY29uc3QgcmVxUHJvbWlzZSA9IGF4aW9zKHtcbiAgICAgICAgICAgIHVybDogY3JlYXRlQXBwaXVtVGVzdFVSTCgnJywgJ3N0YXR1cycpLFxuICAgICAgICAgICAgdmFsaWRhdGVTdGF0dXM6IG51bGwsXG4gICAgICAgICAgfSk7XG4gICAgICAgICAgLy8gbWFrZSBzdXJlIHRoYXQgdGhlIHJlcXVlc3QgZ2V0cyB0byB0aGUgc2VydmVyIGJlZm9yZSBvdXIgc2h1dGRvd25cbiAgICAgICAgICBhd2FpdCBCLmRlbGF5KDEwMCk7XG4gICAgICAgICAgY29uc3Qgc2h1dGRvd25FdmVudFByb21pc2UgPSBuZXcgQigocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHJlamVjdChuZXcgRXJyb3IoJ29uVW5leHBlY3RlZFNodXRkb3duIGV2ZW50IGlzIGV4cGVjdGVkIHRvIGJlIGZpcmVkIHdpdGhpbiA1IHNlY29uZHMgdGltZW91dCcpKSwgNTAwMCk7XG4gICAgICAgICAgICBkLm9uVW5leHBlY3RlZFNodXRkb3duKHJlc29sdmUpO1xuICAgICAgICAgIH0pO1xuICAgICAgICAgIGQuc3RhcnRVbmV4cGVjdGVkU2h1dGRvd24obmV3IEVycm9yKCdDcmFzaHl0aW1lcycpKTtcbiAgICAgICAgICBjb25zdCB7dmFsdWV9ID0gKGF3YWl0IHJlcVByb21pc2UpLmRhdGE7XG4gICAgICAgICAgdmFsdWUubWVzc2FnZS5zaG91bGQuY29udGFpbignQ3Jhc2h5dGltZXMnKTtcbiAgICAgICAgICBhd2FpdCBzaHV0ZG93bkV2ZW50UHJvbWlzZTtcbiAgICAgICAgfSBmaW5hbGx5IHtcbiAgICAgICAgICBkLmdldFN0YXR1cyA9IGQuX29sZEdldFN0YXR1cztcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfSk7XG5cbiAgICBkZXNjcmliZSgnZXZlbnQgdGltaW5ncycsIGZ1bmN0aW9uICgpIHtcbiAgICAgIGl0KCdzaG91bGQgbm90IGFkZCB0aW1pbmdzIGlmIG5vdCB1c2luZyBvcHQtaW4gY2FwJywgYXN5bmMgZnVuY3Rpb24gKCkge1xuICAgICAgICBjb25zdCBzZXNzaW9uID0gYXdhaXQgc3RhcnRTZXNzaW9uKGRlZmF1bHRDYXBzKTtcbiAgICAgICAgY29uc3QgcmVzID0gYXdhaXQgZ2V0U2Vzc2lvbihzZXNzaW9uLnNlc3Npb25JZCk7XG4gICAgICAgIHNob3VsZC5ub3QuZXhpc3QocmVzLmV2ZW50cyk7XG4gICAgICAgIGF3YWl0IGVuZFNlc3Npb24oc2Vzc2lvbi5zZXNzaW9uSWQpO1xuICAgICAgfSk7XG4gICAgICBpdCgnc2hvdWxkIGFkZCBzdGFydCBzZXNzaW9uIHRpbWluZ3MnLCBhc3luYyBmdW5jdGlvbiAoKSB7XG4gICAgICAgIGNvbnN0IGNhcHMgPSBPYmplY3QuYXNzaWduKHt9LCBkZWZhdWx0Q2FwcywgeydhcHBpdW06ZXZlbnRUaW1pbmdzJzogdHJ1ZX0pO1xuICAgICAgICBjb25zdCBzZXNzaW9uID0gYXdhaXQgc3RhcnRTZXNzaW9uKGNhcHMpO1xuICAgICAgICBjb25zdCByZXMgPSAoYXdhaXQgZ2V0U2Vzc2lvbihzZXNzaW9uLnNlc3Npb25JZCkpO1xuICAgICAgICBzaG91bGQuZXhpc3QocmVzLmV2ZW50cyk7XG4gICAgICAgIHNob3VsZC5leGlzdChyZXMuZXZlbnRzLm5ld1Nlc3Npb25SZXF1ZXN0ZWQpO1xuICAgICAgICBzaG91bGQuZXhpc3QocmVzLmV2ZW50cy5uZXdTZXNzaW9uU3RhcnRlZCk7XG4gICAgICAgIHJlcy5ldmVudHMubmV3U2Vzc2lvblJlcXVlc3RlZFswXS5zaG91bGQuYmUuYSgnbnVtYmVyJyk7XG4gICAgICAgIHJlcy5ldmVudHMubmV3U2Vzc2lvblN0YXJ0ZWRbMF0uc2hvdWxkLmJlLmEoJ251bWJlcicpO1xuICAgICAgICBhd2FpdCBlbmRTZXNzaW9uKHNlc3Npb24uc2Vzc2lvbklkKTtcbiAgICAgIH0pO1xuICAgIH0pO1xuXG4gICAgaWYgKERyaXZlckNsYXNzID09PSBCYXNlRHJpdmVyKSB7XG4gICAgICAvLyBvbmx5IHJ1biB0aGlzIHRlc3Qgb24gYmFzZWRyaXZlciwgbm90IG90aGVyIGRyaXZlcnMgd2hpY2ggYWxzbyB1c2UgdGhlc2UgdGVzdHMsIHNpbmNlIHdlXG4gICAgICAvLyBkb24ndCB3YW50IHRoZW0gdG8gdHJ5IGFuZCBzdGFydCBzZXNzaW9ucyB3aXRoIHRoZXNlIHJhbmRvbSBjYXBhYmlsaXRpZXMgdGhhdCBhcmVcbiAgICAgIC8vIG5lY2Vzc2FyeSB0byB0ZXN0IHRoZSBhcHBpdW0gb3B0aW9ucyBsb2dpY1xuICAgICAgZGVzY3JpYmUoJ3NwZWNpYWwgYXBwaXVtOm9wdGlvbnMgY2FwYWJpbGl0eScsIGZ1bmN0aW9uICgpIHtcbiAgICAgICAgaXQoJ3Nob3VsZCBiZSBhYmxlIHRvIHN0YXJ0IGEgc2Vzc2lvbiB3aXRoIGNhcHMgaGVsZCBpbiBhcHBpdW06b3B0aW9ucycsIGFzeW5jIGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICBjb25zdCByZXQgPSBhd2FpdCBzdGFydFNlc3Npb24oe1xuICAgICAgICAgICAgcGxhdGZvcm1OYW1lOiAnaU9TJyxcbiAgICAgICAgICAgIFtQUkVGSVhFRF9BUFBJVU1fT1BUU19DQVBdOiB7XG4gICAgICAgICAgICAgIHBsYXRmb3JtVmVyc2lvbjogJzExLjQnLFxuICAgICAgICAgICAgICAnYXBwaXVtOmRldmljZU5hbWUnOiAnaVBob25lIDExJyxcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9KTtcbiAgICAgICAgICBkLm9wdHMucGxhdGZvcm1WZXJzaW9uLnNob3VsZC5lcWwoJzExLjQnKTtcbiAgICAgICAgICBkLm9wdHMuZGV2aWNlTmFtZS5zaG91bGQuZXFsKCdpUGhvbmUgMTEnKTtcbiAgICAgICAgICBhd2FpdCBlbmRTZXNzaW9uKHJldC5zZXNzaW9uSWQpO1xuICAgICAgICB9KTtcbiAgICAgIH0pO1xuICAgIH1cbiAgfSk7XG59XG5cbmV4cG9ydCBkZWZhdWx0IGJhc2VEcml2ZXJFMkVUZXN0cztcbiJdfQ==
|
|
413
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJQT1NUIiwiREVMRVRFIiwiTUVUSE9EUyIsImJhc2VEcml2ZXJFMkVUZXN0cyIsIkRyaXZlckNsYXNzIiwiZGVmYXVsdENhcHMiLCJhZGRyZXNzIiwiVEVTVF9IT1NUIiwicG9ydCIsImNsYXNzTmFtZSIsIm5hbWUiLCJkZXNjcmliZSIsImJhc2VTZXJ2ZXIiLCJkIiwibmV3U2Vzc2lvblVSTCIsImNyZWF0ZUFwcGl1bVRlc3RVUkwiLCJjcmVhdGVTZXNzaW9uVVJMIiwiYmVmb3JlIiwiZ2V0VGVzdFBvcnQiLCJzZXJ2ZXIiLCJyb3V0ZUNvbmZpZ3VyaW5nRnVuY3Rpb24iLCJob3N0bmFtZSIsImNyZWF0ZUFwcGl1bVVSTCIsIl8iLCJhZnRlciIsImNsb3NlIiwic3RhcnRTZXNzaW9uIiwiY2FwcyIsImF4aW9zIiwidXJsIiwibWV0aG9kIiwiZGF0YSIsImNhcGFiaWxpdGllcyIsImFsd2F5c01hdGNoIiwiZmlyc3RNYXRjaCIsInZhbHVlIiwiZW5kU2Vzc2lvbiIsImlkIiwidmFsaWRhdGVTdGF0dXMiLCJnZXRTZXNzaW9uIiwiaXQiLCJzZXNzaW9uSWRzIiwidGltZXMiLCJzZXNzaW9uSWQiLCJoZWFkZXJzIiwic2ltcGxlIiwicmVzb2x2ZVdpdGhGdWxsUmVzcG9uc2UiLCJwdXNoIiwidW5pcSIsImxlbmd0aCIsInNob3VsZCIsImVxdWFsIiwic3RhdHVzIiwicmVxcyIsIkIiLCJhbGwiLCJtYXAiLCJ4IiwiZXhpc3QiLCJwbGF0Zm9ybU5hbWUiLCJkZXZpY2VOYW1lIiwic2tpcCIsIm9yaWdpbmFsRmluZEVsZW1lbnQiLCJvcmlnaW5hbEZpbmRFbGVtZW50cyIsInN0YXJ0VGltZW91dFNlc3Npb24iLCJ0aW1lb3V0IiwiY2xvbmVEZWVwIiwiZmluZEVsZW1lbnQiLCJiaW5kIiwiZmluZEVsZW1lbnRzIiwiZGVsYXkiLCJuZXdTZXNzaW9uIiwibmV3Q29tbWFuZFRpbWVvdXRNcyIsImJlIiwiYWJvdmUiLCJzZXNzaW9uVVJMIiwidXNpbmciLCJlcnJvciIsInJlc3AiLCJzdGFydCIsIkRhdGUiLCJub3ciLCJlcWwiLCJub3QiLCJub0NvbW1hbmRUaW1lciIsInNldHRpbmdzIiwiRGV2aWNlU2V0dGluZ3MiLCJpZ25vcmVVbmltcG9ydGFudFZpZXdzIiwiZ2V0U2V0dGluZ3MiLCJmYWxzZSIsInVwZGF0ZSIsInJlamVjdGVkIiwiZXZlbnR1YWxseSIsInJlamVjdGVkV2l0aCIsIl9vbGRHZXRTdGF0dXMiLCJnZXRTdGF0dXMiLCJyZXFQcm9taXNlIiwic2h1dGRvd25FdmVudFByb21pc2UiLCJyZXNvbHZlIiwicmVqZWN0Iiwic2V0VGltZW91dCIsIkVycm9yIiwib25VbmV4cGVjdGVkU2h1dGRvd24iLCJzdGFydFVuZXhwZWN0ZWRTaHV0ZG93biIsIm1lc3NhZ2UiLCJjb250YWluIiwic2Vzc2lvbiIsInJlcyIsImV2ZW50cyIsIk9iamVjdCIsImFzc2lnbiIsIm5ld1Nlc3Npb25SZXF1ZXN0ZWQiLCJuZXdTZXNzaW9uU3RhcnRlZCIsImEiLCJCYXNlRHJpdmVyIiwicmV0IiwiUFJFRklYRURfQVBQSVVNX09QVFNfQ0FQIiwicGxhdGZvcm1WZXJzaW9uIiwib3B0cyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Rlc3QvYmFzZWRyaXZlci9kcml2ZXItZTJlLXRlc3RzLmpzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBfIGZyb20gJ2xvZGFzaCc7XG5pbXBvcnQge0Jhc2VEcml2ZXIsIHNlcnZlciwgcm91dGVDb25maWd1cmluZ0Z1bmN0aW9uLCBEZXZpY2VTZXR0aW5nc30gZnJvbSAnLi4vLi4vbGliJztcbmltcG9ydCBheGlvcyBmcm9tICdheGlvcyc7XG5pbXBvcnQgQiBmcm9tICdibHVlYmlyZCc7XG5pbXBvcnQge1RFU1RfSE9TVCwgZ2V0VGVzdFBvcnQsIGNyZWF0ZUFwcGl1bVVSTCwgTUVUSE9EU30gZnJvbSAnLi4vaGVscGVycyc7XG5pbXBvcnQge1BSRUZJWEVEX0FQUElVTV9PUFRTX0NBUH0gZnJvbSAnLi4vLi4vbGliL2Jhc2Vkcml2ZXIvY2FwYWJpbGl0aWVzJztcbmNvbnN0IHtQT1NULCBERUxFVEV9ID0gTUVUSE9EUztcblxuZnVuY3Rpb24gYmFzZURyaXZlckUyRVRlc3RzKERyaXZlckNsYXNzLCBkZWZhdWx0Q2FwcyA9IHt9KSB7XG4gIGxldCBhZGRyZXNzID0gZGVmYXVsdENhcHNbJ2FwcGl1bTphZGRyZXNzJ10gPz8gVEVTVF9IT1NUO1xuICBsZXQgcG9ydCA9IGRlZmF1bHRDYXBzWydhcHBpdW06cG9ydCddO1xuICBjb25zdCBjbGFzc05hbWUgPSBEcml2ZXJDbGFzcy5uYW1lIHx8ICcodW5rbm93biBkcml2ZXIpJztcblxuICBkZXNjcmliZShgQmFzZURyaXZlciBFMkUgKGFzICR7Y2xhc3NOYW1lfSlgLCBmdW5jdGlvbiAoKSB7XG4gICAgbGV0IGJhc2VTZXJ2ZXIsIGQ7XG4gICAgLyoqXG4gICAgICogVGhpcyBVUkwgY3JlYXRlcyBhIG5ldyBzZXNzaW9uXG4gICAgICogQHR5cGUge3N0cmluZ31cbiAgICAgKiovXG4gICAgbGV0IG5ld1Nlc3Npb25VUkw7XG5cbiAgICAvKipcbiAgICAgKiBDcmVhdGVzIGEgVVJMIHdpdGggYmFzZSBob3N0L3BvcnQuIFN1cHBseSBgc2Vzc2lvbmAgYW5kIGBwYXRobmFtZWBcbiAgICAgKiBAdHlwZSB7Xy5DdXJyaWVkRnVuY3Rpb24yPHN0cmluZyxzdHJpbmcsc3RyaW5nPn1cbiAgICAgKi9cbiAgICBsZXQgY3JlYXRlQXBwaXVtVGVzdFVSTDtcblxuICAgIC8qKlxuICAgICAqIENyZWF0ZXMgYSBVUkwgd2l0aCB0aGUgZ2l2ZW4gc2Vzc2lvbiBJRCBhbmQgYSBibGFuayBwYXRobmFtZTtcbiAgICAgKiBlLmcuLCBgaHR0cDovL2Zvby5iYXI6MTIzL3Nlc3Npb24vPHNlc3Npb24taWQ+YFxuICAgICAqICBAdHlwZSB7Xy5DdXJyaWVkRnVuY3Rpb24xPHN0cmluZyxzdHJpbmc+fVxuICAgICAqL1xuICAgIGxldCBjcmVhdGVTZXNzaW9uVVJMO1xuXG4gICAgYmVmb3JlKGFzeW5jIGZ1bmN0aW9uICgpIHtcbiAgICAgIHBvcnQgPSBwb3J0ID8/IChhd2FpdCBnZXRUZXN0UG9ydCgpKTtcbiAgICAgIGRlZmF1bHRDYXBzID0gey4uLmRlZmF1bHRDYXBzLCAnYXBwaXVtOnBvcnQnOiBwb3J0fTtcbiAgICAgIGQgPSBuZXcgRHJpdmVyQ2xhc3Moe3BvcnQsIGFkZHJlc3N9KTtcbiAgICAgIGJhc2VTZXJ2ZXIgPSBhd2FpdCBzZXJ2ZXIoe1xuICAgICAgICByb3V0ZUNvbmZpZ3VyaW5nRnVuY3Rpb246IHJvdXRlQ29uZmlndXJpbmdGdW5jdGlvbihkKSxcbiAgICAgICAgcG9ydCxcbiAgICAgICAgaG9zdG5hbWU6IFRFU1RfSE9TVCxcbiAgICAgIH0pO1xuICAgICAgY3JlYXRlQXBwaXVtVGVzdFVSTCA9IGNyZWF0ZUFwcGl1bVVSTChhZGRyZXNzLCBwb3J0KTtcbiAgICAgIG5ld1Nlc3Npb25VUkwgPSBjcmVhdGVBcHBpdW1UZXN0VVJMKCcnLCAnc2Vzc2lvbicpO1xuICAgICAgY3JlYXRlU2Vzc2lvblVSTCA9IGNyZWF0ZUFwcGl1bVRlc3RVUkwoXywgJycpO1xuICAgIH0pO1xuXG4gICAgYWZ0ZXIoYXN5bmMgZnVuY3Rpb24gKCkge1xuICAgICAgYXdhaXQgYmFzZVNlcnZlci5jbG9zZSgpO1xuICAgIH0pO1xuXG4gICAgYXN5bmMgZnVuY3Rpb24gc3RhcnRTZXNzaW9uKGNhcHMpIHtcbiAgICAgIHJldHVybiAoXG4gICAgICAgIGF3YWl0IGF4aW9zKHtcbiAgICAgICAgICB1cmw6IG5ld1Nlc3Npb25VUkwsXG4gICAgICAgICAgbWV0aG9kOiBQT1NULFxuICAgICAgICAgIGRhdGE6IHtjYXBhYmlsaXRpZXM6IHthbHdheXNNYXRjaDogY2FwcywgZmlyc3RNYXRjaDogW3t9XX19LFxuICAgICAgICB9KVxuICAgICAgKS5kYXRhLnZhbHVlO1xuICAgIH1cblxuICAgIGFzeW5jIGZ1bmN0aW9uIGVuZFNlc3Npb24oaWQpIHtcbiAgICAgIHJldHVybiAoXG4gICAgICAgIGF3YWl0IGF4aW9zKHtcbiAgICAgICAgICB1cmw6IGNyZWF0ZVNlc3Npb25VUkwoaWQpLFxuICAgICAgICAgIG1ldGhvZDogREVMRVRFLFxuICAgICAgICAgIHZhbGlkYXRlU3RhdHVzOiBudWxsLFxuICAgICAgICB9KVxuICAgICAgKS5kYXRhLnZhbHVlO1xuICAgIH1cblxuICAgIGFzeW5jIGZ1bmN0aW9uIGdldFNlc3Npb24oaWQpIHtcbiAgICAgIHJldHVybiAoXG4gICAgICAgIGF3YWl0IGF4aW9zKHtcbiAgICAgICAgICB1cmw6IGNyZWF0ZVNlc3Npb25VUkwoaWQpLFxuICAgICAgICB9KVxuICAgICAgKS5kYXRhLnZhbHVlO1xuICAgIH1cblxuICAgIGRlc2NyaWJlKCdzZXNzaW9uIGhhbmRsaW5nJywgZnVuY3Rpb24gKCkge1xuICAgICAgaXQoJ3Nob3VsZCBoYW5kbGUgaWRlbXBvdGVuY3kgd2hpbGUgY3JlYXRpbmcgc2Vzc2lvbnMnLCBhc3luYyBmdW5jdGlvbiAoKSB7XG4gICAgICAgIGNvbnN0IHNlc3Npb25JZHMgPSBbXTtcbiAgICAgICAgbGV0IHRpbWVzID0gMDtcbiAgICAgICAgZG8ge1xuICAgICAgICAgIGNvbnN0IHtzZXNzaW9uSWR9ID0gKFxuICAgICAgICAgICAgYXdhaXQgYXhpb3Moe1xuICAgICAgICAgICAgICB1cmw6IG5ld1Nlc3Npb25VUkwsXG4gICAgICAgICAgICAgIGhlYWRlcnM6IHtcbiAgICAgICAgICAgICAgICAnWC1JZGVtcG90ZW5jeS1LZXknOiAnMTIzNDU2JyxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgbWV0aG9kOiBQT1NULFxuICAgICAgICAgICAgICBkYXRhOiB7XG4gICAgICAgICAgICAgICAgY2FwYWJpbGl0aWVzOiB7YWx3YXlzTWF0Y2g6IGRlZmF1bHRDYXBzLCBmaXJzdE1hdGNoOiBbe31dfSxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgc2ltcGxlOiBmYWxzZSxcbiAgICAgICAgICAgICAgcmVzb2x2ZVdpdGhGdWxsUmVzcG9uc2U6IHRydWUsXG4gICAgICAgICAgICB9KVxuICAgICAgICAgICkuZGF0YS52YWx1ZTtcblxuICAgICAgICAgIHNlc3Npb25JZHMucHVzaChzZXNzaW9uSWQpO1xuICAgICAgICAgIHRpbWVzKys7XG4gICAgICAgIH0gd2hpbGUgKHRpbWVzIDwgMik7XG4gICAgICAgIF8udW5pcShzZXNzaW9uSWRzKS5sZW5ndGguc2hvdWxkLmVxdWFsKDEpO1xuXG4gICAgICAgIGNvbnN0IHtzdGF0dXMsIGRhdGF9ID0gYXdhaXQgYXhpb3Moe1xuICAgICAgICAgIHVybDogY3JlYXRlU2Vzc2lvblVSTChzZXNzaW9uSWRzWzBdKSxcbiAgICAgICAgICBtZXRob2Q6IERFTEVURSxcbiAgICAgICAgfSk7XG4gICAgICAgIHN0YXR1cy5zaG91bGQuZXF1YWwoMjAwKTtcbiAgICAgICAgc2hvdWxkLmVxdWFsKGRhdGEudmFsdWUsIG51bGwpO1xuICAgICAgfSk7XG5cbiAgICAgIGl0KCdzaG91bGQgaGFuZGxlIGlkZW1wb3RlbmN5IHdoaWxlIGNyZWF0aW5nIHBhcmFsbGVsIHNlc3Npb25zJywgYXN5bmMgZnVuY3Rpb24gKCkge1xuICAgICAgICBjb25zdCByZXFzID0gW107XG4gICAgICAgIGxldCB0aW1lcyA9IDA7XG4gICAgICAgIGRvIHtcbiAgICAgICAgICByZXFzLnB1c2goXG4gICAgICAgICAgICBheGlvcyh7XG4gICAgICAgICAgICAgIHVybDogbmV3U2Vzc2lvblVSTCxcbiAgICAgICAgICAgICAgaGVhZGVyczoge1xuICAgICAgICAgICAgICAgICdYLUlkZW1wb3RlbmN5LUtleSc6ICcxMjM0NScsXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIG1ldGhvZDogUE9TVCxcbiAgICAgICAgICAgICAgZGF0YToge1xuICAgICAgICAgICAgICAgIGNhcGFiaWxpdGllczoge2Fsd2F5c01hdGNoOiBkZWZhdWx0Q2FwcywgZmlyc3RNYXRjaDogW3t9XX0sXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9KVxuICAgICAgICAgICk7XG4gICAgICAgICAgdGltZXMrKztcbiAgICAgICAgfSB3aGlsZSAodGltZXMgPCAyKTtcbiAgICAgICAgY29uc3Qgc2Vzc2lvbklkcyA9IChhd2FpdCBCLmFsbChyZXFzKSkubWFwKCh4KSA9PiB4LmRhdGEudmFsdWUuc2Vzc2lvbklkKTtcbiAgICAgICAgXy51bmlxKHNlc3Npb25JZHMpLmxlbmd0aC5zaG91bGQuZXF1YWwoMSk7XG5cbiAgICAgICAgY29uc3Qge3N0YXR1cywgZGF0YX0gPSBhd2FpdCBheGlvcyh7XG4gICAgICAgICAgdXJsOiBjcmVhdGVTZXNzaW9uVVJMKHNlc3Npb25JZHNbMF0pLFxuICAgICAgICAgIG1ldGhvZDogREVMRVRFLFxuICAgICAgICB9KTtcbiAgICAgICAgc3RhdHVzLnNob3VsZC5lcXVhbCgyMDApO1xuICAgICAgICBzaG91bGQuZXF1YWwoZGF0YS52YWx1ZSwgbnVsbCk7XG4gICAgICB9KTtcblxuICAgICAgaXQoJ3Nob3VsZCBjcmVhdGUgc2Vzc2lvbiBhbmQgcmV0cmlldmUgYSBzZXNzaW9uIGlkLCB0aGVuIGRlbGV0ZSBpdCcsIGFzeW5jIGZ1bmN0aW9uICgpIHtcbiAgICAgICAgbGV0IHtzdGF0dXMsIGRhdGF9ID0gYXdhaXQgYXhpb3Moe1xuICAgICAgICAgIHVybDogbmV3U2Vzc2lvblVSTCxcbiAgICAgICAgICBtZXRob2Q6IFBPU1QsXG4gICAgICAgICAgZGF0YToge2NhcGFiaWxpdGllczoge2Fsd2F5c01hdGNoOiBkZWZhdWx0Q2FwcywgZmlyc3RNYXRjaDogW3t9XX19LFxuICAgICAgICB9KTtcblxuICAgICAgICBzdGF0dXMuc2hvdWxkLmVxdWFsKDIwMCk7XG4gICAgICAgIHNob3VsZC5leGlzdChkYXRhLnZhbHVlLnNlc3Npb25JZCk7XG4gICAgICAgIGRhdGEudmFsdWUuY2FwYWJpbGl0aWVzLnBsYXRmb3JtTmFtZS5zaG91bGQuZXF1YWwoZGVmYXVsdENhcHMucGxhdGZvcm1OYW1lKTtcbiAgICAgICAgZGF0YS52YWx1ZS5jYXBhYmlsaXRpZXMuZGV2aWNlTmFtZS5zaG91bGQuZXF1YWwoZGVmYXVsdENhcHNbJ2FwcGl1bTpkZXZpY2VOYW1lJ10pO1xuXG4gICAgICAgICh7c3RhdHVzLCBkYXRhfSA9IGF3YWl0IGF4aW9zKHtcbiAgICAgICAgICB1cmw6IGNyZWF0ZVNlc3Npb25VUkwoZC5zZXNzaW9uSWQpLFxuICAgICAgICAgIG1ldGhvZDogREVMRVRFLFxuICAgICAgICB9KSk7XG5cbiAgICAgICAgc3RhdHVzLnNob3VsZC5lcXVhbCgyMDApO1xuICAgICAgICBzaG91bGQuZXF1YWwoZGF0YS52YWx1ZSwgbnVsbCk7XG4gICAgICAgIHNob3VsZC5lcXVhbChkLnNlc3Npb25JZCwgbnVsbCk7XG4gICAgICB9KTtcbiAgICB9KTtcblxuICAgIGl0LnNraXAoJ3Nob3VsZCB0aHJvdyBOWUkgZm9yIGNvbW1hbmRzIG5vdCBpbXBsZW1lbnRlZCcsIGFzeW5jIGZ1bmN0aW9uICgpIHt9KTtcblxuICAgIGRlc2NyaWJlKCdjb21tYW5kIHRpbWVvdXRzJywgZnVuY3Rpb24gKCkge1xuICAgICAgbGV0IG9yaWdpbmFsRmluZEVsZW1lbnQsIG9yaWdpbmFsRmluZEVsZW1lbnRzO1xuXG4gICAgICBhc3luYyBmdW5jdGlvbiBzdGFydFRpbWVvdXRTZXNzaW9uKHRpbWVvdXQpIHtcbiAgICAgICAgY29uc3QgY2FwcyA9IF8uY2xvbmVEZWVwKGRlZmF1bHRDYXBzKTtcbiAgICAgICAgY2Fwc1snYXBwaXVtOm5ld0NvbW1hbmRUaW1lb3V0J10gPSB0aW1lb3V0O1xuICAgICAgICByZXR1cm4gYXdhaXQgc3RhcnRTZXNzaW9uKGNhcHMpO1xuICAgICAgfVxuXG4gICAgICBiZWZvcmUoZnVuY3Rpb24gKCkge1xuICAgICAgICBvcmlnaW5hbEZpbmRFbGVtZW50ID0gZC5maW5kRWxlbWVudDtcbiAgICAgICAgZC5maW5kRWxlbWVudCA9IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICByZXR1cm4gJ2Zvbyc7XG4gICAgICAgIH0uYmluZChkKTtcblxuICAgICAgICBvcmlnaW5hbEZpbmRFbGVtZW50cyA9IGQuZmluZEVsZW1lbnRzO1xuICAgICAgICBkLmZpbmRFbGVtZW50cyA9IGFzeW5jIGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICBhd2FpdCBCLmRlbGF5KDIwMCk7XG4gICAgICAgICAgcmV0dXJuIFsnZm9vJ107XG4gICAgICAgIH0uYmluZChkKTtcbiAgICAgIH0pO1xuXG4gICAgICBhZnRlcihmdW5jdGlvbiAoKSB7XG4gICAgICAgIGQuZmluZEVsZW1lbnQgPSBvcmlnaW5hbEZpbmRFbGVtZW50O1xuICAgICAgICBkLmZpbmRFbGVtZW50cyA9IG9yaWdpbmFsRmluZEVsZW1lbnRzO1xuICAgICAgfSk7XG5cbiAgICAgIGl0KCdzaG91bGQgc2V0IGEgZGVmYXVsdCBjb21tYW5kVGltZW91dCcsIGFzeW5jIGZ1bmN0aW9uICgpIHtcbiAgICAgICAgbGV0IG5ld1Nlc3Npb24gPSBhd2FpdCBzdGFydFRpbWVvdXRTZXNzaW9uKCk7XG4gICAgICAgIGQubmV3Q29tbWFuZFRpbWVvdXRNcy5zaG91bGQuYmUuYWJvdmUoMCk7XG4gICAgICAgIGF3YWl0IGVuZFNlc3Npb24obmV3U2Vzc2lvbi5zZXNzaW9uSWQpO1xuICAgICAgfSk7XG5cbiAgICAgIGl0KCdzaG91bGQgdGltZW91dCBvbiBjb21tYW5kcyB1c2luZyBjb21tYW5kVGltZW91dCBjYXAnLCBhc3luYyBmdW5jdGlvbiAoKSB7XG4gICAgICAgIGxldCBuZXdTZXNzaW9uID0gYXdhaXQgc3RhcnRUaW1lb3V0U2Vzc2lvbigwLjI1KTtcbiAgICAgICAgLy8gWFhYOiByYWNlIGNvbmRpdGlvbjogd2UgbXVzdCBidWlsZCB0aGlzIFVSTCBiZWZvcmUgLi4uc29tZXRoaW5nIGhhcHBlbnMuLi5cbiAgICAgICAgLy8gd2hpY2ggY2F1c2VzIGBkLnNlc3Npb25JZGAgdG8gYmUgbWlzc2luZ1xuICAgICAgICBsZXQgc2Vzc2lvblVSTCA9IGNyZWF0ZVNlc3Npb25VUkwoZC5zZXNzaW9uSWQpO1xuICAgICAgICBhd2FpdCBheGlvcyh7XG4gICAgICAgICAgdXJsOiBjcmVhdGVBcHBpdW1UZXN0VVJMKGQuc2Vzc2lvbklkLCAnZWxlbWVudCcpLFxuICAgICAgICAgIG1ldGhvZDogUE9TVCxcbiAgICAgICAgICBkYXRhOiB7dXNpbmc6ICduYW1lJywgdmFsdWU6ICdmb28nfSxcbiAgICAgICAgfSk7XG4gICAgICAgIGF3YWl0IEIuZGVsYXkoNDAwKTtcbiAgICAgICAgY29uc3Qge2RhdGF9ID0gYXdhaXQgYXhpb3Moe1xuICAgICAgICAgIHVybDogc2Vzc2lvblVSTCxcbiAgICAgICAgICB2YWxpZGF0ZVN0YXR1czogbnVsbCxcbiAgICAgICAgfSk7XG4gICAgICAgIHNob3VsZC5lcXVhbChkYXRhLnZhbHVlLmVycm9yLCAnaW52YWxpZCBzZXNzaW9uIGlkJyk7XG4gICAgICAgIHNob3VsZC5lcXVhbChkLnNlc3Npb25JZCwgbnVsbCk7XG4gICAgICAgIGNvbnN0IHJlc3AgPSBhd2FpdCBlbmRTZXNzaW9uKG5ld1Nlc3Npb24uc2Vzc2lvbklkKTtcbiAgICAgICAgc2hvdWxkLmVxdWFsKHJlc3AuZXJyb3IsICdpbnZhbGlkIHNlc3Npb24gaWQnKTtcbiAgICAgIH0pO1xuXG4gICAgICBpdCgnc2hvdWxkIG5vdCB0aW1lb3V0IHdpdGggY29tbWFuZFRpbWVvdXQgb2YgZmFsc2UnLCBhc3luYyBmdW5jdGlvbiAoKSB7XG4gICAgICAgIGxldCBuZXdTZXNzaW9uID0gYXdhaXQgc3RhcnRUaW1lb3V0U2Vzc2lvbigwLjEpO1xuICAgICAgICBsZXQgc3RhcnQgPSBEYXRlLm5vdygpO1xuICAgICAgICBjb25zdCB7dmFsdWV9ID0gKFxuICAgICAgICAgIGF3YWl0IGF4aW9zKHtcbiAgICAgICAgICAgIHVybDogY3JlYXRlQXBwaXVtVGVzdFVSTChkLnNlc3Npb25JZCwgJ2VsZW1lbnRzJyksXG4gICAgICAgICAgICBtZXRob2Q6IFBPU1QsXG4gICAgICAgICAgICBkYXRhOiB7dXNpbmc6ICduYW1lJywgdmFsdWU6ICdmb28nfSxcbiAgICAgICAgICB9KVxuICAgICAgICApLmRhdGE7XG4gICAgICAgIChEYXRlLm5vdygpIC0gc3RhcnQpLnNob3VsZC5iZS5hYm92ZSgxNTApO1xuICAgICAgICB2YWx1ZS5zaG91bGQuZXFsKFsnZm9vJ10pO1xuICAgICAgICBhd2FpdCBlbmRTZXNzaW9uKG5ld1Nlc3Npb24uc2Vzc2lvbklkKTtcbiAgICAgIH0pO1xuXG4gICAgICBpdCgnc2hvdWxkIG5vdCB0aW1lb3V0IHdpdGggY29tbWFuZFRpbWVvdXQgb2YgMCcsIGFzeW5jIGZ1bmN0aW9uICgpIHtcbiAgICAgICAgZC5uZXdDb21tYW5kVGltZW91dE1zID0gMjtcbiAgICAgICAgbGV0IG5ld1Nlc3Npb24gPSBhd2FpdCBzdGFydFRpbWVvdXRTZXNzaW9uKDApO1xuXG4gICAgICAgIGF3YWl0IGF4aW9zKHtcbiAgICAgICAgICB1cmw6IGNyZWF0ZUFwcGl1bVRlc3RVUkwoZC5zZXNzaW9uSWQsICdlbGVtZW50JyksXG4gICAgICAgICAgbWV0aG9kOiBQT1NULFxuICAgICAgICAgIGRhdGE6IHt1c2luZzogJ25hbWUnLCB2YWx1ZTogJ2Zvbyd9LFxuICAgICAgICB9KTtcbiAgICAgICAgYXdhaXQgQi5kZWxheSg0MDApO1xuICAgICAgICBjb25zdCB7dmFsdWV9ID0gKFxuICAgICAgICAgIGF3YWl0IGF4aW9zKHtcbiAgICAgICAgICAgIHVybDogY3JlYXRlU2Vzc2lvblVSTChkLnNlc3Npb25JZCksXG4gICAgICAgICAgfSlcbiAgICAgICAgKS5kYXRhO1xuICAgICAgICB2YWx1ZS5wbGF0Zm9ybU5hbWUuc2hvdWxkLmVxdWFsKGRlZmF1bHRDYXBzLnBsYXRmb3JtTmFtZSk7XG4gICAgICAgIGNvbnN0IHJlc3AgPSBhd2FpdCBlbmRTZXNzaW9uKG5ld1Nlc3Npb24uc2Vzc2lvbklkKTtcbiAgICAgICAgc2hvdWxkLmVxdWFsKHJlc3AsIG51bGwpO1xuXG4gICAgICAgIGQubmV3Q29tbWFuZFRpbWVvdXRNcyA9IDYwICogMTAwMDtcbiAgICAgIH0pO1xuXG4gICAgICBpdCgnc2hvdWxkIG5vdCB0aW1lb3V0IGlmIGl0cyBqdXN0IHRoZSBjb21tYW5kIHRha2luZyBhd2hpbGUnLCBhc3luYyBmdW5jdGlvbiAoKSB7XG4gICAgICAgIGxldCBuZXdTZXNzaW9uID0gYXdhaXQgc3RhcnRUaW1lb3V0U2Vzc2lvbigwLjI1KTtcbiAgICAgICAgLy8gWFhYOiByYWNlIGNvbmRpdGlvbjogd2UgbXVzdCBidWlsZCB0aGlzIFVSTCBiZWZvcmUgLi4uc29tZXRoaW5nIGhhcHBlbnMuLi5cbiAgICAgICAgLy8gd2hpY2ggY2F1c2VzIGBkLnNlc3Npb25JZGAgdG8gYmUgbWlzc2luZ1xuICAgICAgICBsZXQgc2Vzc2lvblVSTCA9IGNyZWF0ZVNlc3Npb25VUkwoZC5zZXNzaW9uSWQpO1xuICAgICAgICBhd2FpdCBheGlvcyh7XG4gICAgICAgICAgdXJsOiBjcmVhdGVBcHBpdW1UZXN0VVJMKGQuc2Vzc2lvbklkLCAnZWxlbWVudCcpLFxuICAgICAgICAgIG1ldGhvZDogUE9TVCxcbiAgICAgICAgICBkYXRhOiB7dXNpbmc6ICduYW1lJywgdmFsdWU6ICdmb28nfSxcbiAgICAgICAgfSk7XG4gICAgICAgIGF3YWl0IEIuZGVsYXkoNDAwKTtcbiAgICAgICAgY29uc3Qge3ZhbHVlfSA9IChcbiAgICAgICAgICBhd2FpdCBheGlvcyh7XG4gICAgICAgICAgICB1cmw6IHNlc3Npb25VUkwsXG4gICAgICAgICAgICB2YWxpZGF0ZVN0YXR1czogbnVsbCxcbiAgICAgICAgICB9KVxuICAgICAgICApLmRhdGE7XG4gICAgICAgIHZhbHVlLmVycm9yLnNob3VsZC5lcXVhbCgnaW52YWxpZCBzZXNzaW9uIGlkJyk7XG4gICAgICAgIHNob3VsZC5lcXVhbChkLnNlc3Npb25JZCwgbnVsbCk7XG4gICAgICAgIGNvbnN0IHJlc3AgPSBhd2FpdCBlbmRTZXNzaW9uKG5ld1Nlc3Npb24uc2Vzc2lvbklkKTtcbiAgICAgICAgcmVzcC5lcnJvci5zaG91bGQuZXF1YWwoJ2ludmFsaWQgc2Vzc2lvbiBpZCcpO1xuICAgICAgfSk7XG5cbiAgICAgIGl0KCdzaG91bGQgbm90IGhhdmUgYSB0aW1lciBydW5uaW5nIGJlZm9yZSBvciBhZnRlciBhIHNlc3Npb24nLCBhc3luYyBmdW5jdGlvbiAoKSB7XG4gICAgICAgIHNob3VsZC5ub3QuZXhpc3QoZC5ub0NvbW1hbmRUaW1lcik7XG4gICAgICAgIGxldCBuZXdTZXNzaW9uID0gYXdhaXQgc3RhcnRUaW1lb3V0U2Vzc2lvbigwLjI1KTtcbiAgICAgICAgbmV3U2Vzc2lvbi5zZXNzaW9uSWQuc2hvdWxkLmVxdWFsKGQuc2Vzc2lvbklkKTtcbiAgICAgICAgc2hvdWxkLmV4aXN0KGQubm9Db21tYW5kVGltZXIpO1xuICAgICAgICBhd2FpdCBlbmRTZXNzaW9uKG5ld1Nlc3Npb24uc2Vzc2lvbklkKTtcbiAgICAgICAgc2hvdWxkLm5vdC5leGlzdChkLm5vQ29tbWFuZFRpbWVyKTtcbiAgICAgIH0pO1xuICAgIH0pO1xuXG4gICAgZGVzY3JpYmUoJ3NldHRpbmdzIGFwaScsIGZ1bmN0aW9uICgpIHtcbiAgICAgIGJlZm9yZShmdW5jdGlvbiAoKSB7XG4gICAgICAgIGQuc2V0dGluZ3MgPSBuZXcgRGV2aWNlU2V0dGluZ3Moe2lnbm9yZVVuaW1wb3J0YW50Vmlld3M6IGZhbHNlfSk7XG4gICAgICB9KTtcbiAgICAgIGl0KCdzaG91bGQgYmUgYWJsZSB0byBnZXQgc2V0dGluZ3Mgb2JqZWN0JywgZnVuY3Rpb24gKCkge1xuICAgICAgICBkLnNldHRpbmdzLmdldFNldHRpbmdzKCkuaWdub3JlVW5pbXBvcnRhbnRWaWV3cy5zaG91bGQuYmUuZmFsc2U7XG4gICAgICB9KTtcbiAgICAgIGl0KCdzaG91bGQgbm90IHJlamVjdCB3aGVuIGB1cGRhdGVTZXR0aW5nc2AgbWV0aG9kIGlzIG5vdCBwcm92aWRlZCcsIGFzeW5jIGZ1bmN0aW9uICgpIHtcbiAgICAgICAgYXdhaXQgZC5zZXR0aW5ncy51cGRhdGUoe2lnbm9yZVVuaW1wb3J0YW50Vmlld3M6IHRydWV9KS5zaG91bGQubm90LmJlLnJlamVjdGVkO1xuICAgICAgfSk7XG4gICAgICBpdCgnc2hvdWxkIHJlamVjdCBmb3IgaW52YWxpZCB1cGRhdGUgb2JqZWN0JywgYXN5bmMgZnVuY3Rpb24gKCkge1xuICAgICAgICBhd2FpdCBkLnNldHRpbmdzLnVwZGF0ZSgnaW52YWxpZCBqc29uJykuc2hvdWxkLmV2ZW50dWFsbHkuYmUucmVqZWN0ZWRXaXRoKCdKU09OJyk7XG4gICAgICB9KTtcbiAgICB9KTtcblxuICAgIGRlc2NyaWJlKCd1bmV4cGVjdGVkIGV4aXRzJywgZnVuY3Rpb24gKCkge1xuICAgICAgaXQoJ3Nob3VsZCByZWplY3QgYSBjdXJyZW50IGNvbW1hbmQgd2hlbiB0aGUgZHJpdmVyIGNyYXNoZXMnLCBhc3luYyBmdW5jdGlvbiAoKSB7XG4gICAgICAgIGQuX29sZEdldFN0YXR1cyA9IGQuZ2V0U3RhdHVzO1xuICAgICAgICB0cnkge1xuICAgICAgICAgIGQuZ2V0U3RhdHVzID0gYXN5bmMgZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgYXdhaXQgQi5kZWxheSg1MDAwKTtcbiAgICAgICAgICB9LmJpbmQoZCk7XG4gICAgICAgICAgY29uc3QgcmVxUHJvbWlzZSA9IGF4aW9zKHtcbiAgICAgICAgICAgIHVybDogY3JlYXRlQXBwaXVtVGVzdFVSTCgnJywgJ3N0YXR1cycpLFxuICAgICAgICAgICAgdmFsaWRhdGVTdGF0dXM6IG51bGwsXG4gICAgICAgICAgfSk7XG4gICAgICAgICAgLy8gbWFrZSBzdXJlIHRoYXQgdGhlIHJlcXVlc3QgZ2V0cyB0byB0aGUgc2VydmVyIGJlZm9yZSBvdXIgc2h1dGRvd25cbiAgICAgICAgICBhd2FpdCBCLmRlbGF5KDEwMCk7XG4gICAgICAgICAgY29uc3Qgc2h1dGRvd25FdmVudFByb21pc2UgPSBuZXcgQigocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICAgICAgICBzZXRUaW1lb3V0KFxuICAgICAgICAgICAgICAoKSA9PlxuICAgICAgICAgICAgICAgIHJlamVjdChcbiAgICAgICAgICAgICAgICAgIG5ldyBFcnJvcihcbiAgICAgICAgICAgICAgICAgICAgJ29uVW5leHBlY3RlZFNodXRkb3duIGV2ZW50IGlzIGV4cGVjdGVkIHRvIGJlIGZpcmVkIHdpdGhpbiA1IHNlY29uZHMgdGltZW91dCdcbiAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICA1MDAwXG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgZC5vblVuZXhwZWN0ZWRTaHV0ZG93bihyZXNvbHZlKTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgICBkLnN0YXJ0VW5leHBlY3RlZFNodXRkb3duKG5ldyBFcnJvcignQ3Jhc2h5dGltZXMnKSk7XG4gICAgICAgICAgY29uc3Qge3ZhbHVlfSA9IChhd2FpdCByZXFQcm9taXNlKS5kYXRhO1xuICAgICAgICAgIHZhbHVlLm1lc3NhZ2Uuc2hvdWxkLmNvbnRhaW4oJ0NyYXNoeXRpbWVzJyk7XG4gICAgICAgICAgYXdhaXQgc2h1dGRvd25FdmVudFByb21pc2U7XG4gICAgICAgIH0gZmluYWxseSB7XG4gICAgICAgICAgZC5nZXRTdGF0dXMgPSBkLl9vbGRHZXRTdGF0dXM7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH0pO1xuXG4gICAgZGVzY3JpYmUoJ2V2ZW50IHRpbWluZ3MnLCBmdW5jdGlvbiAoKSB7XG4gICAgICBpdCgnc2hvdWxkIG5vdCBhZGQgdGltaW5ncyBpZiBub3QgdXNpbmcgb3B0LWluIGNhcCcsIGFzeW5jIGZ1bmN0aW9uICgpIHtcbiAgICAgICAgY29uc3Qgc2Vzc2lvbiA9IGF3YWl0IHN0YXJ0U2Vzc2lvbihkZWZhdWx0Q2Fwcyk7XG4gICAgICAgIGNvbnN0IHJlcyA9IGF3YWl0IGdldFNlc3Npb24oc2Vzc2lvbi5zZXNzaW9uSWQpO1xuICAgICAgICBzaG91bGQubm90LmV4aXN0KHJlcy5ldmVudHMpO1xuICAgICAgICBhd2FpdCBlbmRTZXNzaW9uKHNlc3Npb24uc2Vzc2lvbklkKTtcbiAgICAgIH0pO1xuICAgICAgaXQoJ3Nob3VsZCBhZGQgc3RhcnQgc2Vzc2lvbiB0aW1pbmdzJywgYXN5bmMgZnVuY3Rpb24gKCkge1xuICAgICAgICBjb25zdCBjYXBzID0gT2JqZWN0LmFzc2lnbih7fSwgZGVmYXVsdENhcHMsIHtcbiAgICAgICAgICAnYXBwaXVtOmV2ZW50VGltaW5ncyc6IHRydWUsXG4gICAgICAgIH0pO1xuICAgICAgICBjb25zdCBzZXNzaW9uID0gYXdhaXQgc3RhcnRTZXNzaW9uKGNhcHMpO1xuICAgICAgICBjb25zdCByZXMgPSBhd2FpdCBnZXRTZXNzaW9uKHNlc3Npb24uc2Vzc2lvbklkKTtcbiAgICAgICAgc2hvdWxkLmV4aXN0KHJlcy5ldmVudHMpO1xuICAgICAgICBzaG91bGQuZXhpc3QocmVzLmV2ZW50cy5uZXdTZXNzaW9uUmVxdWVzdGVkKTtcbiAgICAgICAgc2hvdWxkLmV4aXN0KHJlcy5ldmVudHMubmV3U2Vzc2lvblN0YXJ0ZWQpO1xuICAgICAgICByZXMuZXZlbnRzLm5ld1Nlc3Npb25SZXF1ZXN0ZWRbMF0uc2hvdWxkLmJlLmEoJ251bWJlcicpO1xuICAgICAgICByZXMuZXZlbnRzLm5ld1Nlc3Npb25TdGFydGVkWzBdLnNob3VsZC5iZS5hKCdudW1iZXInKTtcbiAgICAgICAgYXdhaXQgZW5kU2Vzc2lvbihzZXNzaW9uLnNlc3Npb25JZCk7XG4gICAgICB9KTtcbiAgICB9KTtcblxuICAgIGlmIChEcml2ZXJDbGFzcyA9PT0gQmFzZURyaXZlcikge1xuICAgICAgLy8gb25seSBydW4gdGhpcyB0ZXN0IG9uIGJhc2Vkcml2ZXIsIG5vdCBvdGhlciBkcml2ZXJzIHdoaWNoIGFsc28gdXNlIHRoZXNlIHRlc3RzLCBzaW5jZSB3ZVxuICAgICAgLy8gZG9uJ3Qgd2FudCB0aGVtIHRvIHRyeSBhbmQgc3RhcnQgc2Vzc2lvbnMgd2l0aCB0aGVzZSByYW5kb20gY2FwYWJpbGl0aWVzIHRoYXQgYXJlXG4gICAgICAvLyBuZWNlc3NhcnkgdG8gdGVzdCB0aGUgYXBwaXVtIG9wdGlvbnMgbG9naWNcbiAgICAgIGRlc2NyaWJlKCdzcGVjaWFsIGFwcGl1bTpvcHRpb25zIGNhcGFiaWxpdHknLCBmdW5jdGlvbiAoKSB7XG4gICAgICAgIGl0KCdzaG91bGQgYmUgYWJsZSB0byBzdGFydCBhIHNlc3Npb24gd2l0aCBjYXBzIGhlbGQgaW4gYXBwaXVtOm9wdGlvbnMnLCBhc3luYyBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgY29uc3QgcmV0ID0gYXdhaXQgc3RhcnRTZXNzaW9uKHtcbiAgICAgICAgICAgIHBsYXRmb3JtTmFtZTogJ2lPUycsXG4gICAgICAgICAgICBbUFJFRklYRURfQVBQSVVNX09QVFNfQ0FQXToge1xuICAgICAgICAgICAgICBwbGF0Zm9ybVZlcnNpb246ICcxMS40JyxcbiAgICAgICAgICAgICAgJ2FwcGl1bTpkZXZpY2VOYW1lJzogJ2lQaG9uZSAxMScsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIH0pO1xuICAgICAgICAgIGQub3B0cy5wbGF0Zm9ybVZlcnNpb24uc2hvdWxkLmVxbCgnMTEuNCcpO1xuICAgICAgICAgIGQub3B0cy5kZXZpY2VOYW1lLnNob3VsZC5lcWwoJ2lQaG9uZSAxMScpO1xuICAgICAgICAgIGF3YWl0IGVuZFNlc3Npb24ocmV0LnNlc3Npb25JZCk7XG4gICAgICAgIH0pO1xuICAgICAgfSk7XG4gICAgfVxuICB9KTtcbn1cblxuZXhwb3J0IGRlZmF1bHQgYmFzZURyaXZlckUyRVRlc3RzO1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztBQUFBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBLE1BQU07RUFBQ0EsSUFBRDtFQUFPQztBQUFQLElBQWlCQyxnQkFBdkI7O0FBRUEsU0FBU0Msa0JBQVQsQ0FBNEJDLFdBQTVCLEVBQXlDQyxXQUFXLEdBQUcsRUFBdkQsRUFBMkQ7RUFBQTs7RUFDekQsSUFBSUMsT0FBTywyQkFBR0QsV0FBVyxD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
|