appium 2.0.0-beta.24 → 2.0.0-beta.27

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (124) hide show
  1. package/build/lib/appium-config.schema.json +278 -0
  2. package/build/lib/appium.js +45 -66
  3. package/build/lib/cli/args.js +19 -39
  4. package/build/lib/cli/driver-command.js +5 -9
  5. package/build/lib/cli/extension-command.js +73 -64
  6. package/build/lib/cli/extension.js +10 -23
  7. package/build/lib/cli/parser.js +9 -19
  8. package/build/lib/cli/plugin-command.js +5 -9
  9. package/build/lib/cli/utils.js +2 -4
  10. package/build/lib/config-file.js +5 -10
  11. package/build/lib/config.js +50 -20
  12. package/build/lib/constants.js +60 -0
  13. package/build/lib/extension/driver-config.js +190 -0
  14. package/build/lib/extension/extension-config.js +297 -0
  15. package/build/lib/extension/index.js +77 -0
  16. package/build/lib/extension/manifest.js +246 -0
  17. package/build/lib/extension/package-changed.js +68 -0
  18. package/build/lib/extension/plugin-config.js +87 -0
  19. package/build/lib/grid-register.js +2 -4
  20. package/build/lib/logger.js +2 -4
  21. package/build/lib/logsink.js +2 -4
  22. package/build/lib/main.js +42 -71
  23. package/build/lib/schema/appium-config-schema.js +2 -4
  24. package/build/lib/schema/arg-spec.js +11 -14
  25. package/build/lib/schema/cli-args.js +2 -4
  26. package/build/lib/schema/cli-transformers.js +2 -4
  27. package/build/lib/schema/index.js +2 -4
  28. package/build/lib/schema/keywords.js +2 -4
  29. package/build/lib/schema/schema.js +61 -37
  30. package/build/lib/utils.js +1 -32
  31. package/lib/appium.js +50 -68
  32. package/lib/cli/args.js +19 -23
  33. package/lib/cli/driver-command.js +10 -2
  34. package/lib/cli/extension-command.js +216 -135
  35. package/lib/cli/extension.js +7 -15
  36. package/lib/cli/parser.js +6 -14
  37. package/lib/cli/plugin-command.js +1 -2
  38. package/lib/config-file.js +12 -15
  39. package/lib/config.js +55 -24
  40. package/lib/constants.js +79 -0
  41. package/lib/extension/driver-config.js +230 -0
  42. package/lib/extension/extension-config.js +459 -0
  43. package/lib/extension/index.js +103 -0
  44. package/lib/extension/manifest.js +590 -0
  45. package/lib/extension/package-changed.js +64 -0
  46. package/lib/extension/plugin-config.js +111 -0
  47. package/lib/grid-register.js +4 -4
  48. package/lib/main.js +57 -93
  49. package/lib/schema/arg-spec.js +3 -3
  50. package/lib/schema/cli-args.js +1 -0
  51. package/lib/schema/keywords.js +1 -1
  52. package/lib/schema/schema.js +67 -29
  53. package/lib/utils.js +2 -32
  54. package/package.json +29 -21
  55. package/{postinstall.js → scripts/postinstall.js} +1 -1
  56. package/types/types.d.ts +70 -31
  57. package/bin/ios-webkit-debug-proxy-launcher.js +0 -71
  58. package/build/check-npm-pack-files.js +0 -23
  59. package/build/commands-yml/parse.js +0 -319
  60. package/build/commands-yml/validator.js +0 -130
  61. package/build/index.js +0 -19
  62. package/build/lib/cli/npm.js +0 -220
  63. package/build/lib/driver-config.js +0 -100
  64. package/build/lib/drivers.js +0 -100
  65. package/build/lib/ext-config-io.js +0 -165
  66. package/build/lib/extension-config.js +0 -320
  67. package/build/lib/plugin-config.js +0 -69
  68. package/build/lib/plugins.js +0 -18
  69. package/build/postinstall.js +0 -90
  70. package/build/test/cli/cli-e2e-specs.js +0 -221
  71. package/build/test/cli/cli-helpers.js +0 -86
  72. package/build/test/cli/cli-specs.js +0 -71
  73. package/build/test/cli/fixtures/test-driver/package.json +0 -27
  74. package/build/test/cli/schema-args-specs.js +0 -48
  75. package/build/test/cli/schema-e2e-specs.js +0 -47
  76. package/build/test/config-e2e-specs.js +0 -112
  77. package/build/test/config-file-e2e-specs.js +0 -209
  78. package/build/test/config-file-specs.js +0 -281
  79. package/build/test/config-specs.js +0 -246
  80. package/build/test/driver-e2e-specs.js +0 -435
  81. package/build/test/driver-specs.js +0 -386
  82. package/build/test/ext-config-io-specs.js +0 -181
  83. package/build/test/extension-config-specs.js +0 -365
  84. package/build/test/fixtures/allow-feat.txt +0 -5
  85. package/build/test/fixtures/caps.json +0 -3
  86. package/build/test/fixtures/config/allow-insecure.txt +0 -3
  87. package/build/test/fixtures/config/appium.config.bad-nodeconfig.json +0 -5
  88. package/build/test/fixtures/config/appium.config.bad.json +0 -32
  89. package/build/test/fixtures/config/appium.config.ext-good.json +0 -9
  90. package/build/test/fixtures/config/appium.config.ext-unknown-props.json +0 -10
  91. package/build/test/fixtures/config/appium.config.good.js +0 -40
  92. package/build/test/fixtures/config/appium.config.good.json +0 -33
  93. package/build/test/fixtures/config/appium.config.good.yaml +0 -30
  94. package/build/test/fixtures/config/appium.config.invalid.json +0 -31
  95. package/build/test/fixtures/config/appium.config.security-array.json +0 -5
  96. package/build/test/fixtures/config/appium.config.security-delimited.json +0 -5
  97. package/build/test/fixtures/config/appium.config.security-path.json +0 -5
  98. package/build/test/fixtures/config/driver-fake.config.json +0 -8
  99. package/build/test/fixtures/config/nodeconfig.json +0 -3
  100. package/build/test/fixtures/config/plugin-fake.config.json +0 -0
  101. package/build/test/fixtures/default-args.js +0 -35
  102. package/build/test/fixtures/deny-feat.txt +0 -5
  103. package/build/test/fixtures/driver.schema.js +0 -20
  104. package/build/test/fixtures/extensions.yaml +0 -27
  105. package/build/test/fixtures/flattened-schema.js +0 -532
  106. package/build/test/fixtures/plugin.schema.js +0 -20
  107. package/build/test/fixtures/schema-with-extensions.js +0 -28
  108. package/build/test/grid-register-specs.js +0 -74
  109. package/build/test/helpers.js +0 -75
  110. package/build/test/logger-specs.js +0 -76
  111. package/build/test/npm-specs.js +0 -20
  112. package/build/test/parser-specs.js +0 -319
  113. package/build/test/plugin-e2e-specs.js +0 -316
  114. package/build/test/schema/arg-spec-specs.js +0 -70
  115. package/build/test/schema/cli-args-specs.js +0 -408
  116. package/build/test/schema/schema-specs.js +0 -407
  117. package/build/test/utils-specs.js +0 -288
  118. package/lib/cli/npm.js +0 -251
  119. package/lib/driver-config.js +0 -101
  120. package/lib/drivers.js +0 -84
  121. package/lib/ext-config-io.js +0 -287
  122. package/lib/extension-config.js +0 -366
  123. package/lib/plugin-config.js +0 -63
  124. package/lib/plugins.js +0 -13
@@ -7,8 +7,6 @@ Object.defineProperty(exports, "__esModule", {
7
7
  });
8
8
  exports.SERVER_PROP_NAME = exports.ArgSpec = exports.APPIUM_CONFIG_SCHEMA_ID = void 0;
9
9
 
10
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
11
-
12
10
  require("source-map-support/register");
13
11
 
14
12
  var _lodash = _interopRequireDefault(require("lodash"));
@@ -21,20 +19,21 @@ const SCHEMA_ID_REGEXP = /^(?<extType>.+?)-(?<normalizedExtName>.+)\.json$/;
21
19
  const PROPERTIES = 'properties';
22
20
 
23
21
  class ArgSpec {
22
+ name;
23
+ extType;
24
+ extName;
25
+ ref;
26
+ arg;
27
+ dest;
28
+ rawDest;
29
+ defaultValue;
30
+
24
31
  constructor(name, {
25
32
  extType,
26
33
  extName,
27
34
  dest,
28
35
  defaultValue
29
36
  } = {}) {
30
- (0, _defineProperty2.default)(this, "name", void 0);
31
- (0, _defineProperty2.default)(this, "extType", void 0);
32
- (0, _defineProperty2.default)(this, "extName", void 0);
33
- (0, _defineProperty2.default)(this, "ref", void 0);
34
- (0, _defineProperty2.default)(this, "arg", void 0);
35
- (0, _defineProperty2.default)(this, "dest", void 0);
36
- (0, _defineProperty2.default)(this, "rawDest", void 0);
37
- (0, _defineProperty2.default)(this, "defaultValue", void 0);
38
37
  const arg = ArgSpec.toArg(name, extType, extName);
39
38
  const ref = ArgSpec.toSchemaRef(name, extType, extName);
40
39
 
@@ -116,7 +115,5 @@ class ArgSpec {
116
115
 
117
116
  }
118
117
 
119
- exports.ArgSpec = ArgSpec;require('source-map-support').install();
120
-
121
-
122
- //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImxpYi9zY2hlbWEvYXJnLXNwZWMuanMiXSwibmFtZXMiOlsiQVBQSVVNX0NPTkZJR19TQ0hFTUFfSUQiLCJTRVJWRVJfUFJPUF9OQU1FIiwiU0NIRU1BX0lEX1JFR0VYUCIsIlBST1BFUlRJRVMiLCJBcmdTcGVjIiwiY29uc3RydWN0b3IiLCJuYW1lIiwiZXh0VHlwZSIsImV4dE5hbWUiLCJkZXN0IiwiZGVmYXVsdFZhbHVlIiwiYXJnIiwidG9BcmciLCJyZWYiLCJ0b1NjaGVtYVJlZiIsInJhd0Rlc3QiLCJfIiwiY2FtZWxDYXNlIiwiZGVzdEtleXBhdGgiLCJqb2luIiwiYmFzZVJlZiIsInRvU2NoZW1hQmFzZVJlZiIsInRvTm9ybWFsaXplZEV4dE5hbWUiLCJwcm9wZXJOYW1lIiwia2ViYWJDYXNlIiwicmVwbGFjZSIsImV4dGVuc2lvbkluZm9Gcm9tUm9vdFNjaGVtYUlkIiwic2NoZW1hSWQiLCJtYXRjaGVzIiwibWF0Y2giLCJncm91cHMiLCJub3JtYWxpemVkRXh0TmFtZSIsImNyZWF0ZSIsIm9wdHMiLCJPYmplY3QiLCJmcmVlemUiLCJ0b1N0cmluZyIsInN0ciJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7OztBQUFBOztBQU1PLE1BQU1BLHVCQUF1QixHQUFHLGFBQWhDOztBQU9BLE1BQU1DLGdCQUFnQixHQUFHLFFBQXpCOztBQUtQLE1BQU1DLGdCQUFnQixHQUFHLGtEQUF6QjtBQUtBLE1BQU1DLFVBQVUsR0FBRyxZQUFuQjs7QUFRTyxNQUFNQyxPQUFOLENBQWM7QUFtRW5CQyxFQUFBQSxXQUFXLENBQUVDLElBQUYsRUFBUTtBQUFDQyxJQUFBQSxPQUFEO0FBQVVDLElBQUFBLE9BQVY7QUFBbUJDLElBQUFBLElBQW5CO0FBQXlCQyxJQUFBQTtBQUF6QixNQUF5QyxFQUFqRCxFQUFxRDtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFHOUQsVUFBTUMsR0FBRyxHQUFHUCxPQUFPLENBQUNRLEtBQVIsQ0FBY04sSUFB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QUFDRDs7QUFVWSxTQUFOQyxNQUFNLENBQUUxQixJQUFGLEVBQVEyQixJQUFSLEVBQWM7QUFDekIsV0FBT0MsTUFBTSxDQUFDQyxNQUFQLENBQWMsSUFBSS9CLE9BQUosQ0FBWUUsSUFBWixFQUFrQjJCLElBQWxCLENBQWQsQ0FBUDtBQUNEOztBQU9ERyxFQUFBQSxRQUFRLEdBQUk7QUFDVixRQUFJQyxHQUFHLEdBQUksYUFBWSxLQUFLL0IsSUFBSyxLQUFJLEtBQUtPLEdBQUksR0FBOUM7O0FBQ0EsUUFBSSxLQUFLTixPQUFMLElBQWdCLEtBQUtDLE9BQXpCLEVBQWtDO0FBQ2hDNkIsTUFBQUEsR0FBRyxJQUFLLFVBQVMsS0FBSzlCLE9BQVEsSUFBRyxLQUFLQyxPQUFRLEdBQTlDO0FBQ0Q7O0FBQ0QsV0FBTzZCLEdBQVA7QUFDRDs7QUFyTGtCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IF8gZnJvbSAnbG9kYXNoJztcblxuLyoqXG4gKiBUaGUgb3JpZ2luYWwgSUQgb2YgdGhlIEFwcGl1bSBjb25maWcgc2NoZW1hLlxuICogV2UgdXNlIHRoaXMgaW4gdGhlIENMSSB0byBjb252ZXJ0IGl0IHRvIGBhcmdwYXJzZWAgb3B0aW9ucy5cbiAqL1xuZXhwb3J0IGNvbnN0IEFQUElVTV9DT05GSUdfU0NIRU1BX0lEID0gJ2FwcGl1bS5qc29uJztcblxuLyoqXG4gKiBUaGUgc2NoZW1hIHByb3AgY29udGFpbmluZyBzZXJ2ZXItcmVsYXRlZCBvcHRpb25zLiBFdmVyeXRoaW5nIGluIGhlcmVcbiAqIGlzIFwibmF0aXZlXCIgdG8gQXBwaXVtLlxuICogVXNlZCBieSB7QGxpbmsgZmxhdHRlblNjaGVtYX0gZm9yIHRyYW5zZm9ybWluZyB0aGUgc2NoZW1hIGludG8gQ0xJIGFyZ3MuXG4gKi9cbmV4cG9ydCBjb25zdCBTRVJWRVJfUFJPUF9OQU1FID0gJ3NlcnZlcic7XG5cbi8qKlxuICogVXNlZCB0byBwYXJzZSBleHRlbnNpb24gaW5mbyBmcm9tIGEgc2NoZW1hIElELlxuICovXG5jb25zdCBTQ0hFTUFfSURfUkVHRVhQID0gL14oPzxleHRUeXBlPi4rPyktKD88bm9ybWFsaXplZEV4dE5hbWU+LispXFwuanNvbiQvO1xuXG4vKipcbiAqIEF2b2lkIHR5cG9zIGJ5IHVzaW5nIGNvbnN0YW50cyFcbiAqL1xuY29uc3QgUFJPUEVSVElFUyA9ICdwcm9wZXJ0aWVzJztcblxuLyoqXG4gKiBBbiBgQXJnU3BlY2AgaXMgYSBjbGFzcyByZXByZXNlbnRpbmcgbWV0YWRhdGEgYWJvdXQgYW4gYXJndW1lbnQgKG9yIGNvbmZpZ1xuICogb3B0aW9uKSB1c2VkIGZvciBjcm9zcy1yZWZlcmVuY2luZy5cbiAqXG4gKiBUaGlzIGNsYXNzIGhhcyBubyBpbnN0YW5jZSBtZXRob2RzLCBhbmQgaXMgYmFzaWNhbGx5IGp1c3QgYSByZWFkLW9ubHkgXCJzdHJ1Y3RcIi5cbiAqL1xuZXhwb3J0IGNsYXNzIEFyZ1NwZWMge1xuICAvKipcbiAgICogVGhlIGNhbm9uaWNhbCBuYW1lIG9mIHRoZSBhcmd1bWVudC4gQ29ycmVzcG9uZHMgdG8ga2V5IGluIHNjaGVtYSdzIGBwcm9wZXJ0aWVzYCBwcm9wLlxuICAgKiBAdHlwZSB7c3RyaW5nfVxuICAgKi9cbiAgbmFtZTtcblxuICAvKipcbiAgICogVGhlIGBFeHRlbnNpb25UeXBlYCBvZiB0aGUgYXJndW1lbnQuIFRoaXMgd2lsbCBiZSBzZXQgaWYgdGhlIGFyZyBjYW1lIGZyb20gYW4gZXh0ZW5zaW9uO1xuICAgKiBvdGhlcndpc2UgaXQgd2lsbCBiZSBgdW5kZWZpbmVkYC5cbiAgICogQHR5cGUge0V4dGVuc2lvblR5cGV8dW5kZWZpbmVkfVxuICAgKi9cbiAgZXh0VHlwZTtcblxuICAvKipcbiAgICogVGhlIG5hbWUgb2YgdGhlIGV4dGVuc2lvbiwgaWYgdGhpcyBhcmd1bWVudCBjYW1lIGZyb20gYW4gZXh0ZW5zaW9uLlxuICAgKlxuICAgKiBPdGhlcndpc2UgYHVuZGVmaW5lZGAuXG4gICAqIEB0eXBlIHtzdHJpbmd8dW5kZWZpbmVkfVxuICAgKi9cbiAgZXh0TmFtZTtcblxuICAvKipcbiAgICogVGhlIHNjaGVtYSBJRCAoYCRpZGApIGZvciB0aGUgYXJndW1lbnQuICBUaGlzIGlzIGF1dG9tYXRpY2FsbHkgZGV0ZXJtaW5lZCwgYW5kIGFueSB1c2VyLXByb3ZpZGVkIGAkaWRgcyB3aWxsIGJlIG92ZXJ3cml0dGVuLlxuICAgKlxuICAgKiBAdHlwZSB7c3RyaW5nfVxuICAgKi9cbiAgcmVmO1xuXG4gIC8qKlxuICAgKiBUaGUgQ0xJIGFyZ3VtZW50LCBzYW5zIGxlYWRpbmcgZGFzaGVzLlxuICAgKiBAdHlwZSB7c3RyaW5nfVxuICAgKi9cbiAgYXJnO1xuXG4gIC8qKlxuICAgKiBUaGUgZGVzaXJlZCBrZXlwYXRoIGZvciB0aGUgYXJndW1lbnQgYWZ0ZXIgYXJndW1lbnRzIGhhdmUgYmVlbiBwYXJzZWQuXG4gICAqXG4gICAqIFR5cGljYWxseSB0aGlzIGlzIGNhbWVsQ2FzZWQuICBJZiB0aGUgYXJnIGNhbWUgZnJvbSBhbiBleHRlbnNpb24sIGl0IHdpbGwgYmUgcHJlZml4ZWQgd2l0aFxuICAgKiBgPGV4dFR5cGU+LjxleHROYW1lPi5gXG4gICAqIEB0eXBlIHtzdHJpbmd9XG4gICAqL1xuICBkZXN0O1xuXG4gIC8qKlxuICAgKiBUaGUgc2FtZSBhcyB7QGxpbmsgQXJnU3BlYy5kZXN0fSBidXQgd2l0aG91dCB0aGUgbGVhZGluZyBgPGV4dFR5cGU+LjxleHROYW1lPi5gIHByZWZpeC5cbiAgICovXG4gIHJhd0Rlc3Q7XG5cbiAgLyoqXG4gICAqIFdoYXRldmVyIHRoZSBkZWZhdWx0IHZhbHVlIG9mIHRoaXMgYXJndW1lbnQgaXMsIGFzIHNwZWNpZmllZCBieSB0aGVcbiAgICogYGRlZmF1bHRgIHByb3BlcnR5IG9mIHRoZSBzY2hlbWEuXG4gICAqIEB0eXBlIHtEfVxuICAgKi9cbiAgZGVmYXVsdFZhbHVlO1xuXG4gIC8qKlxuICAgKiBCdWlsZHMgc29tZSBjb21wdXRlZCBmaWVsZHMgYW5kIGFzc2lnbnMgdGhlbSB0byB0aGUgaW5zdGFuY2UuXG4gICAqXG4gICAqIFVuZGVmaW5lZCBwcm9wZXJ0aWVzIGFyZSBub3QgYXNzaWduZWQuXG4gICAqXG4gICAqIFRoZSBfY29uc3RydWN0b3JfIGlzIHByaXZhdGUuIFVzZSB7QGxpbmsgQXJnU3BlYy5jcmVhdGV9IGluc3RlYWQuXG4gICAqIEBwcml2YXRlXG4gICAqIEB0ZW1wbGF0ZSBEXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBuYW1lXG4gICAqIEBwYXJhbSB7QXJnU3BlY09wdGlvbnM8RD59IFtvcHRzXVxuICAgKi9cbiAgY29uc3RydWN0b3IgKG5hbWUsIHtleHRUeXBlLCBleHROYW1lLCBkZXN0LCBkZWZhdWx0VmFsdWV9ID0ge30pIHtcbiAgICAvLyB3ZSBtdXN0IG5vcm1hbGl6ZSB0aGUgZXh0ZW5zaW9uIG5hbWUgdG8gZml0IGludG8gb3VyIGNvbnZlbnRpb24gZm9yIENMSVxuICAgIC8vIGFyZ3MuXG4gICAgY29uc3QgYXJnID0gQXJnU3BlYy50b0FyZyhuYW1lLCBleHRUeXBlLCBleHROYW1lKTtcblxuICAgIGNvbnN0IHJlZiA9IEFyZ1NwZWMudG9TY2hlbWFSZWYobmFtZSwgZXh0VHlwZSwgZXh0TmFtZSk7XG5cbiAgICAvLyBpZiBubyBleHBsaWNpdCBgZGVzdGAgcHJvdmlkZWQsIGp1c3QgY2FtZWxDYXNlIHRoZSBuYW1lIHRvIGF2b2lkIG5lZWRpbmdcbiAgICAvLyB0byB1c2UgYnJhY2tldCBzeW50YXggd2hlbiBhY2Nlc3NpbmcgcHJvcHMgb24gdGhlIHBhcnNlZCBhcmdzIG9iamVjdC5cbiAgICBjb25zdCByYXdEZXN0ID0gXy5jYW1lbENhc2UoZGVzdCA/PyBuYW1lKTtcblxuICAgIGNvbnN0IGRlc3RLZXlwYXRoID1cbiAgICAgIGV4dFR5cGUgJiYgZXh0TmFtZSA/IFtleHRUeXBlLCBleHROYW1lLCByYXdEZXN0XS5qb2luKCcuJykgOiByYXdEZXN0O1xuXG4gICAgdGhpcy5kZWZhdWx0VmFsdWUgPSBkZWZhdWx0VmFsdWU7XG4gICAgdGhpcy5uYW1lID0gbmFtZTtcbiAgICB0aGlzLmV4dFR5cGUgPSBleHRUeXBlO1xuICAgIHRoaXMuZXh0TmFtZSA9IGV4dE5hbWU7XG4gICAgdGhpcy5hcmcgPSBhcmc7XG4gICAgdGhpcy5kZXN0ID0gZGVzdEtleXBhdGg7XG4gICAgdGhpcy5yZWYgPSByZWY7XG4gICAgdGhpcy5yYXdEZXN0ID0gcmF3RGVzdDtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm4gdGhlIHNjaGVtYSBJRCAoYCRpZGApIGZvciB0aGUgKiphcmd1bWVudCoqIGdpdmVuIHRoZSBwYXJhbWV0ZXJzLlxuICAgKlxuICAgKiBJZiB5b3UgbmVlZCB0aGUgXCJyb290XCIgb3IgXCJiYXNlXCIgc2NoZW1hIElELCB1c2Uge0BsaW5rIEFyZ1NwZWMudG9TY2hlbWFCYXNlUmVmfSBpbnN0ZWFkLlxuICAgKiBAcGFyYW0ge3N0cmluZ30gbmFtZSAtIEFyZ3VtZW50IG5hbWVcbiAgICogQHBhcmFtIHtFeHRlbnNpb25UeXBlfSBbZXh0VHlwZV0gLSBFeHRlbnNpb24gdHlwZVxuICAgKiBAcGFyYW0ge3N0cmluZ30gW2V4dE5hbWVdIC0gRXh0ZW5zaW9uIG5hbWVcbiAgICogQHJldHVybnMge3N0cmluZ30gU2NoZW1hIElEXG4gICAqL1xuICBzdGF0aWMgdG9TY2hlbWFSZWYgKG5hbWUsIGV4dFR5cGUsIGV4dE5hbWUpIHtcbiAgICBjb25zdCBiYXNlUmVmID0gQXJnU3BlYy50b1NjaGVtYUJhc2VSZWYoZXh0VHlwZSwgZXh0TmFtZSk7XG4gICAgaWYgKGV4dFR5cGUgJiYgZXh0TmFtZSkge1xuICAgICAgcmV0dXJuIFtgJHtiYXNlUmVmfSNgLCBQUk9QRVJUSUVTLCBuYW1lXS5qb2luKCcvJyk7XG4gICAgfVxuICAgIHJldHVybiBbYCR7YmFzZVJlZn0jYCwgUFJPUEVSVElFUywgU0VSVkVSX1BST1BfTkFNRSwgUFJPUEVSVElFUywgbmFtZV0uam9pbignLycpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybiB0aGUgc2NoZW1hIElEIGZvciBhbiBleHRlbnNpb24gb3IgdGhlIGJhc2Ugc2NoZW1hIElELlxuICAgKiBAcGFyYW0ge0V4dGVuc2lvblR5cGV9IFtleHRUeXBlXSAtIEV4dGVuc2lvbiB0eXBlXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBbZXh0TmFtZV0gLSBFeHRlbnNpb24gbmFtZVxuICAgKi9cbiAgc3RhdGljIHRvU2NoZW1hQmFzZVJlZiAoZXh0VHlwZSwgZXh0TmFtZSkge1xuICAgIGlmIChleHRUeXBlICYmIGV4dE5hbWUpIHtcbiAgICAgIHJldHVybiBgJHtleHRUeXBlfS0ke0FyZ1NwZWMudG9Ob3JtYWxpemVkRXh0TmFtZShleHROYW1lKX0uanNvbmA7XG4gICAgfVxuICAgIHJldHVybiBBUFBJVU1fQ09ORklHX1NDSEVNQV9JRDtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm4gdGhlIHVuaXF1ZSBJRCBmb3IgdGhlIGFyZ3VtZW50IGdpdmVuIHRoZSBwYXJhbWV0ZXJzLlxuICAgKiBAcGFyYW0ge3N0cmluZ30gbmFtZSAtIEFyZ3VtZW50IG5hbWVcbiAgICogQHBhcmFtIHtFeHRlbnNpb25UeXBlfSBbZXh0VHlwZV0gLSBFeHRlbnNpb24gdHlwZVxuICAgKiBAcGFyYW0ge3N0cmluZ30gW2V4dE5hbWVdIC0gRXh0ZW5zaW9uIG5hbWVcbiAgICogQHJldHVybnMge3N0cmluZ30gVW5pcXVlIElEXG4gICAqL1xuICBzdGF0aWMgdG9BcmcgKG5hbWUsIGV4dFR5cGUsIGV4dE5hbWUpIHtcbiAgICBjb25zdCBwcm9wZXJOYW1lID0gXy5rZWJhYkNhc2UobmFtZS5yZXBsYWNlKC9eLS0/LywgJycpKTtcbiAgICBpZiAoZXh0VHlwZSAmJiBleHROYW1lKSB7XG4gICAgICByZXR1cm4gW2V4dFR5cGUsIF8ua2ViYWJDYXNlKGV4dE5hbWUpLCBwcm9wZXJOYW1lXS5qb2luKCctJyk7XG4gICAgfVxuICAgIHJldHVybiBwcm9wZXJOYW1lO1xuICB9XG5cbiAgLyoqXG4gICAqIE5vcm1hbGl6ZXMgYSByYXcgZXh0ZW5zaW9uIG5hbWUgKG5vdCBpbmNsdWRpbmcgdGhlIHR5cGUpLlxuICAgKiBAcGFyYW0ge3N0cmluZ30gZXh0TmFtZSAtIEV4dGVuc2lvbiBuYW1lXG4gICAqIEByZXR1cm5zIHtzdHJpbmd9IE5vcm1hbGl6ZWQgZXh0ZW5zaW9uIG5hbWVcbiAgICovXG4gIHN0YXRpYyB0b05vcm1hbGl6ZWRFeHROYW1lIChleHROYW1lKSB7XG4gICAgcmV0dXJuIF8ua2ViYWJDYXNlKGV4dE5hbWUpO1xuICB9XG5cbiAgLyoqXG4gICAqIFdoZW4gZ2l2ZW4gdGhlIHJvb3QgSUQgb2YgYSBzY2hlbWEgZm9yIGFuIGV4dGVuc2lvbiAoYDxleHRUeXBlPi08bm9ybWFsaXplZEV4dE5hbWU+Lmpzb25gKSBSZXR1cm5zIGFuIG9iamVjdCBjb250YWluaW5nIHRoZSBleHRlbnNpb24gdHlwZSBhbmQgdGhlIF9ub3JtYWxpemVkXyBleHRlbnNpb24gbmFtZS5cbiAgICogQHBhcmFtIHtzdHJpbmd9IHNjaGVtYUlkIC0gUm9vdCBzY2hlbWEgSURcbiAgICogQHJldHVybnMge3tleHRUeXBlOiBFeHRlbnNpb25UeXBlfHVuZGVmaW5lZCwgbm9ybWFsaXplZEV4dE5hbWU6IHN0cmluZ3x1bmRlZmluZWR9fVxuICAgKi9cbiAgc3RhdGljIGV4dGVuc2lvbkluZm9Gcm9tUm9vdFNjaGVtYUlkIChzY2hlbWFJZCkge1xuICAgIGNvbnN0IG1hdGNoZXMgPSBzY2hlbWFJZC5tYXRjaChTQ0hFTUFfSURfUkVHRVhQKTtcbiAgICBpZiAobWF0Y2hlcz8uZ3JvdXBzKSB7XG4gICAgICBjb25zdCB7ZXh0VHlwZSwgbm9ybWFsaXplZEV4dE5hbWV9ID0gbWF0Y2hlcy5ncm91cHM7XG4gICAgICByZXR1cm4ge2V4dFR5cGUsIG5vcm1hbGl6ZWRFeHROYW1lfTtcbiAgICB9XG4gICAgcmV0dXJuIHt9O1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgYW4gYEFyZ1NwZWNgXG4gICAqXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBuYW1lIC0gVGhlIGNhbm9uaWNhbCBuYW1lIG9mIHRoZSBhcmd1bWVudC4gQ29ycmVzcG9uZHMgdG8gYSBrZXkgaW4gYSBzY2hlbWEnc1xuICAgKiBgcHJvcGVydGllc2AgcHJvcGVydHkuXG4gICAqIEBwYXJhbSB7QXJnU3BlY09wdGlvbnN9IFtvcHRzXSAtIE9wdGlvbnNcbiAgICogQHJldHVybnMge1JlYWRvbmx5PEFyZ1NwZWM+fVxuICAgKi9cbiAgc3RhdGljIGNyZWF0ZSAobmFtZSwgb3B0cykge1xuICAgIHJldHVybiBPYmplY3QuZnJlZXplKG5ldyBBcmdTcGVjKG5hbWUsIG9wdHMpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTdHJpbmcgcmVwcmVzZW50YXRpb24sIHVzZWZ1bCBmb3IgZGVidWdnaW5nXG4gICAqIEByZXR1cm5zIHtzdHJpbmd9XG4gICAqL1xuICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuICB0b1N0cmluZyAoKSB7XG4gICAgbGV0IHN0ciA9IGBbQXJnU3BlY10gJHt0aGlzLm5hbWV9ICgke3RoaXMucmVmfSlgO1xuICAgIGlmICh0aGlzLmV4dFR5cGUgJiYgdGhpcy5leHROYW1lKSB7XG4gICAgICBzdHIgKz0gYCAoZXh0OiAke3RoaXMuZXh0VHlwZX0vJHt0aGlzLmV4dE5hbWV9KWA7XG4gICAgfVxuICAgIHJldHVybiBzdHI7XG4gIH1cbn1cblxuLyoqXG4gKiBPcHRpb25zIGZvciB7QGxpbmsgQXJnU3BlYy5jcmVhdGV9XG4gKiBAdGVtcGxhdGUgRFxuICogQHR5cGVkZWYge09iamVjdH0gQXJnU3BlY09wdGlvbnNcbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBbZXh0TmFtZV1cbiAqIEBwcm9wZXJ0eSB7RXh0ZW5zaW9uVHlwZX0gW2V4dFR5cGVdXG4gKiBAcHJvcGVydHkge3N0cmluZ30gW2Rlc3RdXG4gKiBAcHJvcGVydHkge0R9IFtkZWZhdWx0VmFsdWVdXG4gKi9cblxuLyoqXG4gKiBAdHlwZWRlZiB7aW1wb3J0KCcuLi9leHQtY29uZmlnLWlvJykuRXh0ZW5zaW9uVHlwZX0gRXh0ZW5zaW9uVHlwZVxuICovXG4iXSwiZmlsZSI6ImxpYi9zY2hlbWEvYXJnLXNwZWMuanMiLCJzb3VyY2VSb290IjoiLi4vLi4vLi4ifQ==
118
+ exports.ArgSpec = ArgSpec;
119
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2xpYi9zY2hlbWEvYXJnLXNwZWMuanMiXSwibmFtZXMiOlsiQVBQSVVNX0NPTkZJR19TQ0hFTUFfSUQiLCJTRVJWRVJfUFJPUF9OQU1FIiwiU0NIRU1BX0lEX1JFR0VYUCIsIlBST1BFUlRJRVMiLCJBcmdTcGVjIiwibmFtZSIsImV4dFR5cGUiLCJleHROYW1lIiwicmVmIiwiYXJnIiwiZGVzdCIsInJhd0Rlc3QiLCJkZWZhdWx0VmFsdWUiLCJjb25zdHJ1Y3RvciIsInRvQXJnIiwidG9TY2hlbWFSZWYiLCJfIiwiY2FtZWxDYXNlIiwiZGVzdEtleXBhdGgiLCJqb2luIiwiYmFzZVJlZiIsInRvU2NoZW1hQmFzZVJlZiIsInRvTm9ybWFsaXplZEV4dE5hbWUiLCJwcm9wZXJOYW1lIiwia2ViYWJDYXNlIiwicmVwbGFjZSIsImV4dGVuc2lvbkluZm9Gcm9tUm9vdFNjaGVtYUlkIiwic2NoZW1hSWQiLCJtYXRjaGVzIiwibWF0Y2giLCJncm91cHMiLCJub3JtYWxpemVkRXh0TmFtZSIsImNyZWF0ZSIsIm9wdHMiLCJPYmplY3QiLCJmcmVlemUiLCJ0b1N0cmluZyIsInN0ciJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFBQTs7QUFNTyxNQUFNQSx1QkFBdUIsR0FBRyxhQUFoQzs7QUFPQSxNQUFNQyxnQkFBZ0IsR0FBRyxRQUF6Qjs7QUFLUCxNQUFNQyxnQkFBZ0IsR0FBRyxrREFBekI7QUFLQSxNQUFNQyxVQUFVLEdBQUcsWUFBbkI7O0FBUU8sTUFBTUMsT0FBTixDQUFjO0FBS25CQyxFQUFBQSxJQUFJO0FBT0pDLEVBQUFBLE9BQU87QUFRUEMsRUFBQUEsT0FBTztBQU9QQyxFQUFBQSxHQUFHO0FBTUhDLEVBQUFBLEdBQUc7QUFTSEMsRUFBQUEsSUFBSTtBQUtKQyxFQUFBQSxPQUFPO0FBT1BDLEVBQUFBLFlBQVk7O0FBYVpDLEVBQUFBLFdBQVcsQ0FBRVIsSUFBRixFQUFRO0FBQUNDLElBQUFBLE9BQUQ7QUFBVUMsSUFBQUEsT0FBVjtB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QUFBO0FBQVYsVUFBK0JILE9BQU8sQ0FBQ0UsTUFBN0M7QUFDQSxhQUFPO0FBQUN4QixRQUFBQSxPQUFEO0FBQVV5QixRQUFBQTtBQUFWLE9BQVA7QUFDRDs7QUFDRCxXQUFPLEVBQVA7QUFDRDs7QUFVWSxTQUFOQyxNQUFNLENBQUUzQixJQUFGLEVBQVE0QixJQUFSLEVBQWM7QUFDekIsV0FBT0MsTUFBTSxDQUFDQyxNQUFQLENBQWMsSUFBSS9CLE9BQUosQ0FBWUMsSUFBWixFQUFrQjRCLElBQWxCLENBQWQsQ0FBUDtBQUNEOztBQU9ERyxFQUFBQSxRQUFRLEdBQUk7QUFDVixRQUFJQyxHQUFHLEdBQUksYUFBWSxLQUFLaEMsSUFBSyxLQUFJLEtBQUtHLEdBQUksR0FBOUM7O0FBQ0EsUUFBSSxLQUFLRixPQUFMLElBQWdCLEtBQUtDLE9BQXpCLEVBQWtDO0FBQ2hDOEIsTUFBQUEsR0FBRyxJQUFLLFVBQVMsS0FBSy9CLE9BQVEsSUFBRyxLQUFLQyxPQUFRLEdBQTlDO0FBQ0Q7O0FBQ0QsV0FBTzhCLEdBQVA7QUFDRDs7QUFyTGtCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IF8gZnJvbSAnbG9kYXNoJztcblxuLyoqXG4gKiBUaGUgb3JpZ2luYWwgSUQgb2YgdGhlIEFwcGl1bSBjb25maWcgc2NoZW1hLlxuICogV2UgdXNlIHRoaXMgaW4gdGhlIENMSSB0byBjb252ZXJ0IGl0IHRvIGBhcmdwYXJzZWAgb3B0aW9ucy5cbiAqL1xuZXhwb3J0IGNvbnN0IEFQUElVTV9DT05GSUdfU0NIRU1BX0lEID0gJ2FwcGl1bS5qc29uJztcblxuLyoqXG4gKiBUaGUgc2NoZW1hIHByb3AgY29udGFpbmluZyBzZXJ2ZXItcmVsYXRlZCBvcHRpb25zLiBFdmVyeXRoaW5nIGluIGhlcmVcbiAqIGlzIFwibmF0aXZlXCIgdG8gQXBwaXVtLlxuICogVXNlZCBieSB7QGxpbmsgZmxhdHRlblNjaGVtYX0gZm9yIHRyYW5zZm9ybWluZyB0aGUgc2NoZW1hIGludG8gQ0xJIGFyZ3MuXG4gKi9cbmV4cG9ydCBjb25zdCBTRVJWRVJfUFJPUF9OQU1FID0gJ3NlcnZlcic7XG5cbi8qKlxuICogVXNlZCB0byBwYXJzZSBleHRlbnNpb24gaW5mbyBmcm9tIGEgc2NoZW1hIElELlxuICovXG5jb25zdCBTQ0hFTUFfSURfUkVHRVhQID0gL14oPzxleHRUeXBlPi4rPyktKD88bm9ybWFsaXplZEV4dE5hbWU+LispXFwuanNvbiQvO1xuXG4vKipcbiAqIEF2b2lkIHR5cG9zIGJ5IHVzaW5nIGNvbnN0YW50cyFcbiAqL1xuY29uc3QgUFJPUEVSVElFUyA9ICdwcm9wZXJ0aWVzJztcblxuLyoqXG4gKiBBbiBgQXJnU3BlY2AgaXMgYSBjbGFzcyByZXByZXNlbnRpbmcgbWV0YWRhdGEgYWJvdXQgYW4gYXJndW1lbnQgKG9yIGNvbmZpZ1xuICogb3B0aW9uKSB1c2VkIGZvciBjcm9zcy1yZWZlcmVuY2luZy5cbiAqXG4gKiBUaGlzIGNsYXNzIGhhcyBubyBpbnN0YW5jZSBtZXRob2RzLCBhbmQgaXMgYmFzaWNhbGx5IGp1c3QgYSByZWFkLW9ubHkgXCJzdHJ1Y3RcIi5cbiAqL1xuZXhwb3J0IGNsYXNzIEFyZ1NwZWMge1xuICAvKipcbiAgICogVGhlIGNhbm9uaWNhbCBuYW1lIG9mIHRoZSBhcmd1bWVudC4gQ29ycmVzcG9uZHMgdG8ga2V5IGluIHNjaGVtYSdzIGBwcm9wZXJ0aWVzYCBwcm9wLlxuICAgKiBAdHlwZSB7c3RyaW5nfVxuICAgKi9cbiAgbmFtZTtcblxuICAvKipcbiAgICogVGhlIGBFeHRlbnNpb25UeXBlYCBvZiB0aGUgYXJndW1lbnQuIFRoaXMgd2lsbCBiZSBzZXQgaWYgdGhlIGFyZyBjYW1lIGZyb20gYW4gZXh0ZW5zaW9uO1xuICAgKiBvdGhlcndpc2UgaXQgd2lsbCBiZSBgdW5kZWZpbmVkYC5cbiAgICogQHR5cGUge0V4dGVuc2lvblR5cGV8dW5kZWZpbmVkfVxuICAgKi9cbiAgZXh0VHlwZTtcblxuICAvKipcbiAgICogVGhlIG5hbWUgb2YgdGhlIGV4dGVuc2lvbiwgaWYgdGhpcyBhcmd1bWVudCBjYW1lIGZyb20gYW4gZXh0ZW5zaW9uLlxuICAgKlxuICAgKiBPdGhlcndpc2UgYHVuZGVmaW5lZGAuXG4gICAqIEB0eXBlIHtzdHJpbmd8dW5kZWZpbmVkfVxuICAgKi9cbiAgZXh0TmFtZTtcblxuICAvKipcbiAgICogVGhlIHNjaGVtYSBJRCAoYCRpZGApIGZvciB0aGUgYXJndW1lbnQuICBUaGlzIGlzIGF1dG9tYXRpY2FsbHkgZGV0ZXJtaW5lZCwgYW5kIGFueSB1c2VyLXByb3ZpZGVkIGAkaWRgcyB3aWxsIGJlIG92ZXJ3cml0dGVuLlxuICAgKlxuICAgKiBAdHlwZSB7c3RyaW5nfVxuICAgKi9cbiAgcmVmO1xuXG4gIC8qKlxuICAgKiBUaGUgQ0xJIGFyZ3VtZW50LCBzYW5zIGxlYWRpbmcgZGFzaGVzLlxuICAgKiBAdHlwZSB7c3RyaW5nfVxuICAgKi9cbiAgYXJnO1xuXG4gIC8qKlxuICAgKiBUaGUgZGVzaXJlZCBrZXlwYXRoIGZvciB0aGUgYXJndW1lbnQgYWZ0ZXIgYXJndW1lbnRzIGhhdmUgYmVlbiBwYXJzZWQuXG4gICAqXG4gICAqIFR5cGljYWxseSB0aGlzIGlzIGNhbWVsQ2FzZWQuICBJZiB0aGUgYXJnIGNhbWUgZnJvbSBhbiBleHRlbnNpb24sIGl0IHdpbGwgYmUgcHJlZml4ZWQgd2l0aFxuICAgKiBgPGV4dFR5cGU+LjxleHROYW1lPi5gXG4gICAqIEB0eXBlIHtzdHJpbmd9XG4gICAqL1xuICBkZXN0O1xuXG4gIC8qKlxuICAgKiBUaGUgc2FtZSBhcyB7QGxpbmsgQXJnU3BlYy5kZXN0fSBidXQgd2l0aG91dCB0aGUgbGVhZGluZyBgPGV4dFR5cGU+LjxleHROYW1lPi5gIHByZWZpeC5cbiAgICovXG4gIHJhd0Rlc3Q7XG5cbiAgLyoqXG4gICAqIFdoYXRldmVyIHRoZSBkZWZhdWx0IHZhbHVlIG9mIHRoaXMgYXJndW1lbnQgaXMsIGFzIHNwZWNpZmllZCBieSB0aGVcbiAgICogYGRlZmF1bHRgIHByb3BlcnR5IG9mIHRoZSBzY2hlbWEuXG4gICAqIEB0eXBlIHtEfVxuICAgKi9cbiAgZGVmYXVsdFZhbHVlO1xuXG4gIC8qKlxuICAgKiBCdWlsZHMgc29tZSBjb21wdXRlZCBmaWVsZHMgYW5kIGFzc2lnbnMgdGhlbSB0byB0aGUgaW5zdGFuY2UuXG4gICAqXG4gICAqIFVuZGVmaW5lZCBwcm9wZXJ0aWVzIGFyZSBub3QgYXNzaWduZWQuXG4gICAqXG4gICAqIFRoZSBfY29uc3RydWN0b3JfIGlzIHByaXZhdGUuIFVzZSB7QGxpbmsgQXJnU3BlYy5jcmVhdGV9IGluc3RlYWQuXG4gICAqIEBwcml2YXRlXG4gICAqIEB0ZW1wbGF0ZSBEXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBuYW1lXG4gICAqIEBwYXJhbSB7QXJnU3BlY09wdGlvbnM8RD59IFtvcHRzXVxuICAgKi9cbiAgY29uc3RydWN0b3IgKG5hbWUsIHtleHRUeXBlLCBleHROYW1lLCBkZXN0LCBkZWZhdWx0VmFsdWV9ID0ge30pIHtcbiAgICAvLyB3ZSBtdXN0IG5vcm1hbGl6ZSB0aGUgZXh0ZW5zaW9uIG5hbWUgdG8gZml0IGludG8gb3VyIGNvbnZlbnRpb24gZm9yIENMSVxuICAgIC8vIGFyZ3MuXG4gICAgY29uc3QgYXJnID0gQXJnU3BlYy50b0FyZyhuYW1lLCBleHRUeXBlLCBleHROYW1lKTtcblxuICAgIGNvbnN0IHJlZiA9IEFyZ1NwZWMudG9TY2hlbWFSZWYobmFtZSwgZXh0VHlwZSwgZXh0TmFtZSk7XG5cbiAgICAvLyBpZiBubyBleHBsaWNpdCBgZGVzdGAgcHJvdmlkZWQsIGp1c3QgY2FtZWxDYXNlIHRoZSBuYW1lIHRvIGF2b2lkIG5lZWRpbmdcbiAgICAvLyB0byB1c2UgYnJhY2tldCBzeW50YXggd2hlbiBhY2Nlc3NpbmcgcHJvcHMgb24gdGhlIHBhcnNlZCBhcmdzIG9iamVjdC5cbiAgICBjb25zdCByYXdEZXN0ID0gXy5jYW1lbENhc2UoZGVzdCA/PyBuYW1lKTtcblxuICAgIGNvbnN0IGRlc3RLZXlwYXRoID1cbiAgICAgIGV4dFR5cGUgJiYgZXh0TmFtZSA/IFtleHRUeXBlLCBleHROYW1lLCByYXdEZXN0XS5qb2luKCcuJykgOiByYXdEZXN0O1xuXG4gICAgdGhpcy5kZWZhdWx0VmFsdWUgPSBkZWZhdWx0VmFsdWU7XG4gICAgdGhpcy5uYW1lID0gbmFtZTtcbiAgICB0aGlzLmV4dFR5cGUgPSBleHRUeXBlO1xuICAgIHRoaXMuZXh0TmFtZSA9IGV4dE5hbWU7XG4gICAgdGhpcy5hcmcgPSBhcmc7XG4gICAgdGhpcy5kZXN0ID0gZGVzdEtleXBhdGg7XG4gICAgdGhpcy5yZWYgPSByZWY7XG4gICAgdGhpcy5yYXdEZXN0ID0gcmF3RGVzdDtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm4gdGhlIHNjaGVtYSBJRCAoYCRpZGApIGZvciB0aGUgKiphcmd1bWVudCoqIGdpdmVuIHRoZSBwYXJhbWV0ZXJzLlxuICAgKlxuICAgKiBJZiB5b3UgbmVlZCB0aGUgXCJyb290XCIgb3IgXCJiYXNlXCIgc2NoZW1hIElELCB1c2Uge0BsaW5rIEFyZ1NwZWMudG9TY2hlbWFCYXNlUmVmfSBpbnN0ZWFkLlxuICAgKiBAcGFyYW0ge3N0cmluZ30gbmFtZSAtIEFyZ3VtZW50IG5hbWVcbiAgICogQHBhcmFtIHtFeHRlbnNpb25UeXBlfSBbZXh0VHlwZV0gLSBFeHRlbnNpb24gdHlwZVxuICAgKiBAcGFyYW0ge3N0cmluZ30gW2V4dE5hbWVdIC0gRXh0ZW5zaW9uIG5hbWVcbiAgICogQHJldHVybnMge3N0cmluZ30gU2NoZW1hIElEXG4gICAqL1xuICBzdGF0aWMgdG9TY2hlbWFSZWYgKG5hbWUsIGV4dFR5cGUsIGV4dE5hbWUpIHtcbiAgICBjb25zdCBiYXNlUmVmID0gQXJnU3BlYy50b1NjaGVtYUJhc2VSZWYoZXh0VHlwZSwgZXh0TmFtZSk7XG4gICAgaWYgKGV4dFR5cGUgJiYgZXh0TmFtZSkge1xuICAgICAgcmV0dXJuIFtgJHtiYXNlUmVmfSNgLCBQUk9QRVJUSUVTLCBuYW1lXS5qb2luKCcvJyk7XG4gICAgfVxuICAgIHJldHVybiBbYCR7YmFzZVJlZn0jYCwgUFJPUEVSVElFUywgU0VSVkVSX1BST1BfTkFNRSwgUFJPUEVSVElFUywgbmFtZV0uam9pbignLycpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybiB0aGUgc2NoZW1hIElEIGZvciBhbiBleHRlbnNpb24gb3IgdGhlIGJhc2Ugc2NoZW1hIElELlxuICAgKiBAcGFyYW0ge0V4dGVuc2lvblR5cGV9IFtleHRUeXBlXSAtIEV4dGVuc2lvbiB0eXBlXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBbZXh0TmFtZV0gLSBFeHRlbnNpb24gbmFtZVxuICAgKi9cbiAgc3RhdGljIHRvU2NoZW1hQmFzZVJlZiAoZXh0VHlwZSwgZXh0TmFtZSkge1xuICAgIGlmIChleHRUeXBlICYmIGV4dE5hbWUpIHtcbiAgICAgIHJldHVybiBgJHtleHRUeXBlfS0ke0FyZ1NwZWMudG9Ob3JtYWxpemVkRXh0TmFtZShleHROYW1lKX0uanNvbmA7XG4gICAgfVxuICAgIHJldHVybiBBUFBJVU1fQ09ORklHX1NDSEVNQV9JRDtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm4gdGhlIHVuaXF1ZSBJRCBmb3IgdGhlIGFyZ3VtZW50IGdpdmVuIHRoZSBwYXJhbWV0ZXJzLlxuICAgKiBAcGFyYW0ge3N0cmluZ30gbmFtZSAtIEFyZ3VtZW50IG5hbWVcbiAgICogQHBhcmFtIHtFeHRlbnNpb25UeXBlfSBbZXh0VHlwZV0gLSBFeHRlbnNpb24gdHlwZVxuICAgKiBAcGFyYW0ge3N0cmluZ30gW2V4dE5hbWVdIC0gRXh0ZW5zaW9uIG5hbWVcbiAgICogQHJldHVybnMge3N0cmluZ30gVW5pcXVlIElEXG4gICAqL1xuICBzdGF0aWMgdG9BcmcgKG5hbWUsIGV4dFR5cGUsIGV4dE5hbWUpIHtcbiAgICBjb25zdCBwcm9wZXJOYW1lID0gXy5rZWJhYkNhc2UobmFtZS5yZXBsYWNlKC9eLS0/LywgJycpKTtcbiAgICBpZiAoZXh0VHlwZSAmJiBleHROYW1lKSB7XG4gICAgICByZXR1cm4gW2V4dFR5cGUsIF8ua2ViYWJDYXNlKGV4dE5hbWUpLCBwcm9wZXJOYW1lXS5qb2luKCctJyk7XG4gICAgfVxuICAgIHJldHVybiBwcm9wZXJOYW1lO1xuICB9XG5cbiAgLyoqXG4gICAqIE5vcm1hbGl6ZXMgYSByYXcgZXh0ZW5zaW9uIG5hbWUgKG5vdCBpbmNsdWRpbmcgdGhlIHR5cGUpLlxuICAgKiBAcGFyYW0ge3N0cmluZ30gZXh0TmFtZSAtIEV4dGVuc2lvbiBuYW1lXG4gICAqIEByZXR1cm5zIHtzdHJpbmd9IE5vcm1hbGl6ZWQgZXh0ZW5zaW9uIG5hbWVcbiAgICovXG4gIHN0YXRpYyB0b05vcm1hbGl6ZWRFeHROYW1lIChleHROYW1lKSB7XG4gICAgcmV0dXJuIF8ua2ViYWJDYXNlKGV4dE5hbWUpO1xuICB9XG5cbiAgLyoqXG4gICAqIFdoZW4gZ2l2ZW4gdGhlIHJvb3QgSUQgb2YgYSBzY2hlbWEgZm9yIGFuIGV4dGVuc2lvbiAoYDxleHRUeXBlPi08bm9ybWFsaXplZEV4dE5hbWU+Lmpzb25gKSBSZXR1cm5zIGFuIG9iamVjdCBjb250YWluaW5nIHRoZSBleHRlbnNpb24gdHlwZSBhbmQgdGhlIF9ub3JtYWxpemVkXyBleHRlbnNpb24gbmFtZS5cbiAgICogQHBhcmFtIHtzdHJpbmd9IHNjaGVtYUlkIC0gUm9vdCBzY2hlbWEgSURcbiAgICogQHJldHVybnMgeyB7ZXh0VHlwZTogRXh0ZW5zaW9uVHlwZXx1bmRlZmluZWQsIG5vcm1hbGl6ZWRFeHROYW1lOiBzdHJpbmd8dW5kZWZpbmVkfSB9XG4gICAqL1xuICBzdGF0aWMgZXh0ZW5zaW9uSW5mb0Zyb21Sb290U2NoZW1hSWQgKHNjaGVtYUlkKSB7XG4gICAgY29uc3QgbWF0Y2hlcyA9IHNjaGVtYUlkLm1hdGNoKFNDSEVNQV9JRF9SRUdFWFApO1xuICAgIGlmIChtYXRjaGVzPy5ncm91cHMpIHtcbiAgICAgIGNvbnN0IHtleHRUeXBlLCBub3JtYWxpemVkRXh0TmFtZX0gPSBtYXRjaGVzLmdyb3VwcztcbiAgICAgIHJldHVybiB7ZXh0VHlwZSwgbm9ybWFsaXplZEV4dE5hbWV9O1xuICAgIH1cbiAgICByZXR1cm4ge307XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlcyBhbiBgQXJnU3BlY2BcbiAgICpcbiAgICogQHBhcmFtIHtzdHJpbmd9IG5hbWUgLSBUaGUgY2Fub25pY2FsIG5hbWUgb2YgdGhlIGFyZ3VtZW50LiBDb3JyZXNwb25kcyB0byBhIGtleSBpbiBhIHNjaGVtYSdzXG4gICAqIGBwcm9wZXJ0aWVzYCBwcm9wZXJ0eS5cbiAgICogQHBhcmFtIHtBcmdTcGVjT3B0aW9uc30gW29wdHNdIC0gT3B0aW9uc1xuICAgKiBAcmV0dXJucyB7UmVhZG9ubHk8QXJnU3BlYz59XG4gICAqL1xuICBzdGF0aWMgY3JlYXRlIChuYW1lLCBvcHRzKSB7XG4gICAgcmV0dXJuIE9iamVjdC5mcmVlemUobmV3IEFyZ1NwZWMobmFtZSwgb3B0cykpO1xuICB9XG5cbiAgLyoqXG4gICAqIFN0cmluZyByZXByZXNlbnRhdGlvbiwgdXNlZnVsIGZvciBkZWJ1Z2dpbmdcbiAgICogQHJldHVybnMge3N0cmluZ31cbiAgICovXG4gIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4gIHRvU3RyaW5nICgpIHtcbiAgICBsZXQgc3RyID0gYFtBcmdTcGVjXSAke3RoaXMubmFtZX0gKCR7dGhpcy5yZWZ9KWA7XG4gICAgaWYgKHRoaXMuZXh0VHlwZSAmJiB0aGlzLmV4dE5hbWUpIHtcbiAgICAgIHN0ciArPSBgIChleHQ6ICR7dGhpcy5leHRUeXBlfS8ke3RoaXMuZXh0TmFtZX0pYDtcbiAgICB9XG4gICAgcmV0dXJuIHN0cjtcbiAgfVxufVxuXG4vKipcbiAqIE9wdGlvbnMgZm9yIHtAbGluayBBcmdTcGVjLmNyZWF0ZX1cbiAqIEB0ZW1wbGF0ZSBEXG4gKiBAdHlwZWRlZiBBcmdTcGVjT3B0aW9uc1xuICogQHByb3BlcnR5IHtzdHJpbmd9IFtleHROYW1lXVxuICogQHByb3BlcnR5IHtFeHRlbnNpb25UeXBlfSBbZXh0VHlwZV1cbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBbZGVzdF1cbiAqIEBwcm9wZXJ0eSB7RH0gW2RlZmF1bHRWYWx1ZV1cbiAqL1xuXG4vKipcbiAqIEB0eXBlZGVmIHtpbXBvcnQoJy4uL21hbmlmZXN0JykuRXh0ZW5zaW9uVHlwZX0gRXh0ZW5zaW9uVHlwZVxuICovXG4iXX0=
@@ -176,7 +176,5 @@ function toParserArgs() {
176
176
  schema,
177
177
  argSpec
178
178
  }) => subSchemaToArgDef(schema, argSpec)));
179
- }require('source-map-support').install();
180
-
181
-
182
- //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImxpYi9zY2hlbWEvY2xpLWFyZ3MuanMiXSwibmFtZXMiOlsiVFlQRU5BTUVTIiwiT2JqZWN0IiwiZnJlZXplIiwiQVJSQVkiLCJPQkpFQ1QiLCJCT09MRUFOIiwiSU5URUdFUiIsIk5VTUJFUiIsIk5VTEwiLCJTVFJJTkciLCJTSE9SVF9BUkdfQ1VUT0ZGIiwiYWxpYXNUb0ZsYWciLCJhcmdTcGVjIiwiYWxpYXMiLCJleHRUeXBlIiwiZXh0TmFtZSIsIm5hbWUiLCJhcmciLCJpc1Nob3J0IiwibGVuZ3RoIiwiXyIsImtlYmFiQ2FzZSIsInNjcmVhbWluZ1NuYWtlQ2FzZSIsImZsb3ciLCJzbmFrZUNhc2UiLCJ0b1VwcGVyIiwiZ2V0U2NoZW1hVmFsaWRhdG9yIiwicmVmIiwic2NoZW1hSWQiLCJjb2VyY2UiLCJpZGVudGl0eSIsInZhbHVlIiwiY29lcmNlZCIsImVycm9ycyIsImlzRW1wdHkiLCJBcmd1bWVudFR5cGVFcnJvciIsIm1ha2VEZXNjcmlwdGlvbiIsInNjaGVtYSIsImFwcGl1bUNsaURlc2NyaXB0aW9uIiwiZGVzY3JpcHRpb24iLCJhcHBpdW1EZXByZWNhdGVkIiwiZGVzYyIsInN1YlNjaGVtYVRvQXJnRGVmIiwic3ViU2NoZW1hIiwidHlwZSIsImFwcGl1bUNsaUFsaWFzZXMiLCJhcHBpdW1DbGlUcmFuc2Zvcm1lciIsImVudW0iLCJlbnVtVmFsdWVzIiwiYWxpYXNlcyIsIm1hcCIsImFyZ09wdHMiLCJyZXF1aXJlZCIsImhlbHAiLCJhcmdUeXBlRnVuY3Rpb24iLCJhY3Rpb24iLCJjb25zdCIsInRyYW5zZm9ybWVycyIsImpzb24iLCJjc3YiLCJwYXJzZUZsb2F0IiwicGFyc2VJbnQiLCJUeXBlRXJyb3IiLCJtZXRhdmFyIiwiY2hvaWNlcyIsIlN0cmluZyIsInRvUGFyc2VyQXJncyIsImZsYXR0ZW5lZCIsImZpbHRlciIsImFwcGl1bUNsaUlnbm9yZWQiLCJNYXAiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0FBRUE7O0FBQ0E7O0FBQ0E7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QkMsTUFBaEIsQ0FBdUIsQ0FBQztBQUFDL0IsSUFBQUE7QUFBRCxHQUFELEtBQWMsQ0FBQ0EsTUFBTSxDQUFDZ0MsZ0JBQTdDLENBQWxCO0FBQ0EsU0FBTyxJQUFJQyxHQUFKLENBQ0xsRCxnQkFBRThCLEdBQUYsQ0FBTWlCLFNBQU4sRUFBaUIsQ0FBQztBQUFDOUIsSUFBQUEsTUFBRDtBQUFTekIsSUFBQUE7QUFBVCxHQUFELEtBQ2Y4QixpQkFBaUIsQ0FBQ0wsTUFBRCxFQUFTekIsT0FBVCxDQURuQixDQURLLENBQVA7QUFLRCIsInNvdXJjZXNDb250ZW50IjpbIi8vIEB0cy1jaGVja1xuXG5pbXBvcnQge0FyZ3VtZW50VHlwZUVycm9yfSBmcm9tICdhcmdwYXJzZSc7XG5pbXBvcnQgXyBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IHtmb3JtYXRFcnJvcnMgYXMgZm9ybWF0RXJyb3JzfSBmcm9tICcuLi9jb25maWctZmlsZSc7XG5pbXBvcnQge2ZsYXR0ZW5TY2hlbWEsIHZhbGlkYXRlfSBmcm9tICcuL3NjaGVtYSc7XG5pbXBvcnQge3RyYW5zZm9ybWVyc30gZnJvbSAnLi9jbGktdHJhbnNmb3JtZXJzJztcblxuLyoqXG4gKiBUaGlzIG1vZHVsZSBjb25jZXJucyBmdW5jdGlvbnMgd2hpY2ggY29udmVydCBzY2hlbWEgZGVmaW5pdGlvbnMgdG9cbiAqIGBhcmdwYXJzZWAtY29tcGF0aWJsZSBkYXRhIHN0cnVjdHVyZXMsIGZvciBkZXJpdmluZyBDTEkgYXJndW1lbnRzIGZyb20gYVxuICogc2NoZW1hLlxuICovXG5cbi8qKlxuICogTG9va3VwIG9mIHBvc3NpYmxlIHZhbHVlcyBmb3IgdGhlIGB0eXBlYCBmaWVsZCBpbiBhIEpTT04gc2NoZW1hLlxuICogQHR5cGUge1JlYWRvbmx5PFJlY29yZDxzdHJpbmcsIGltcG9ydCgnanNvbi1zY2hlbWEnKS5KU09OU2NoZW1hN1R5cGVOYW1lPj59XG4gKi9cbmNvbnN0IFRZUEVOQU1FUyA9IE9iamVjdC5mcmVlemUoe1xuICBBUlJBWTogJ2FycmF5JyxcbiAgT0JKRUNUOiAnb2JqZWN0JyxcbiAgQk9PTEVBTjogJ2Jvb2xlYW4nLFxuICBJTlRFR0VSOiAnaW50ZWdlcicsXG4gIE5VTUJFUjogJ251bWJlcicsXG4gIE5VTEw6ICdudWxsJyxcbiAgU1RSSU5HOiAnc3RyaW5nJyxcbn0pO1xuXG4vKipcbiAqIE9wdGlvbnMgd2l0aCBhbGlhcyBsZW5ndGhzIGxlc3MgdGhhbiB0aGlzIHdpbGwgYmUgY29uc2lkZXJlZCBcInNob3J0XCIgZmxhZ3MuXG4gKi9cbmNvbnN0IFNIT1JUX0FSR19DVVRPRkYgPSAzO1xuXG4vKipcbiAqIENvbnZlcnQgYW4gYWxpYXMgKGBmb29gKSB0byBhIGZsYWcgKGAtLWZvb2ApIG9yIGEgc2hvcnQgZmxhZyAoYC1mYCkuXG4gKiBAcGFyYW0ge0FyZ1NwZWN9IGFyZ1NwZWMgLSB0aGUgYXJndW1lbnQgc3BlY2lmaWNhdGlvblxuICogQHBhcmFtIHtzdHJpbmd9IFthbGlhc10gLSB0aGUgYWxpYXMgdG8gY29udmVydCB0byBhIGZsYWdcbiAqIEByZXR1cm5zIHtzdHJpbmd9IHRoZSBmbGFnXG4gKi9cbmZ1bmN0aW9uIGFsaWFzVG9GbGFnIChhcmdTcGVjLCBhbGlhcykge1xuICBjb25zdCB7ZXh0VHlwZSwgZXh0TmFtZSwgbmFtZX0gPSBhcmdTcGVjO1xuICBjb25zdCBhcmcgPSBhbGlhcyA/PyBuYW1lO1xuICBjb25zdCBpc1Nob3J0ID0gYXJnLmxlbmd0aCA8IFNIT1JUX0FSR19DVVRPRkY7XG4gIGlmIChleHRUeXBlICYmIGV4dE5hbWUpIHtcbiAgICByZXR1cm4gaXNTaG9ydFxuICAgICAgPyBgLS0ke2V4dFR5cGV9LSR7Xy5rZWJhYkNhc2UoZXh0TmFtZSl9LSR7YXJnfWBcbiAgICAgIDogYC0tJHtleHRUeXBlfS0ke18ua2ViYWJDYXNlKGV4dE5hbWUpfS0ke18ua2ViYWJDYXNlKGFyZyl9YDtcbiAgfVxuICByZXR1cm4gaXNTaG9ydCA/IGAtJHthcmd9YCA6IGAtLSR7Xy5rZWJhYkNhc2UoYXJnKX1gO1xufVxuXG4vKipcbiAqIENvbnZlcnRzIGEgc3RyaW5nIHRvIFNDUkVBTUlOR19TTkFLRV9DQVNFXG4gKi9cbmNvbnN0IHNjcmVhbWluZ1NuYWtlQ2FzZSA9IF8uZmxvdyhfLnNuYWtlQ2FzZSwgXy50b1VwcGVyKTtcblxuLyoqXG4gKiBHaXZlbiB1bmlxdWUgcHJvcGVydHkgbmFtZSBgbmFtZWAsIHJldHVybiBhIGZ1bmN0aW9uIHdoaWNoIHZhbGlkYXRlcyBhIHZhbHVlXG4gKiBhZ2FpbnN0IGEgcHJvcGVydHkgd2l0aGluIHRoZSBzY2hlbWEuXG4gKiBAdGVtcGxhdGUgQ29lcmNlZFxuICogQHBhcmFtIHtBcmdTcGVjfSBhcmdTcGVjIC0gQXJndW1lbnQgbmFtZVxuICogQHBhcmFtIHsodmFsdWU6IHN0cmluZykgPT4gQ29lcmNlZH0gW2NvZXJjZV0gLSBGdW5jdGlvbiB0byBjb2VyY2UgdG8gYSBkaWZmZXJlbnRcbiAqIHByaW1pdGl2ZVxuICogQHRvZG8gU2VlIGlmIHdlIGNhbiByZW1vdmUgYGNvZXJjZWAgYnkgYWxsb3dpbmcgQWp2IHRvIGNvZXJjZSBpbiBpdHNcbiAqIGNvbnN0cnVjdG9yIG9wdGlvbnNcbiAqIEByZXR1cm5zXG4gKi9cbmZ1bmN0aW9uIGdldFNjaGVtYVZhbGlkYXRvciAoe3JlZjogc2NoZW1hSWR9LCBjb2VyY2UgPSBfLmlkZW50aXR5KSB7XG4gIC8qKiBAcGFyYW0ge3N0cmluZ30gdmFsdWUgKi9cbiAgcmV0dXJuICh2YWx1ZSkgPT4ge1xuICAgIGNvbnN0IGNvZXJjZWQgPSBjb2VyY2UodmFsdWUpO1xuICAgIGNvbnN0IGVycm9ycyA9IHZhbGlkYXRlKGNvZXJjZWQsIHNjaGVtYUlkKTtcbiAgICBpZiAoXy5pc0VtcHR5KGVycm9ycykpIHtcbiAgICAgIHJldHVybiBjb2VyY2VkO1xuICAgIH1cbiAgICB0aHJvdyBuZXcgQXJndW1lbnRUeXBlRXJyb3IoXG4gICAgICAnXFxuXFxuJyArIGZvcm1hdEVycm9ycyhlcnJvcnMsIHZhbHVlLCB7c2NoZW1hSWR9KSxcbiAgICApO1xuICB9O1xufVxuXG4vKipcbiAqIERldGVybWluZSB0aGUgZGVzY3JpcHRpb24gZm9yIGRpc3BsYXkgb24gdGhlIENMSSwgZ2l2ZW4gdGhlIHNjaGVtYS5cbiAqIEBwYXJhbSB7QXBwaXVtSlNPTlNjaGVtYX0gc2NoZW1hXG4gKiBAcmV0dXJucyB7c3RyaW5nfVxuICovXG5mdW5jdGlvbiBtYWtlRGVzY3JpcHRpb24gKHNjaGVtYSkge1xuICBjb25zdCB7YXBwaXVtQ2xpRGVzY3JpcHRpb24sIGRlc2NyaXB0aW9uID0gJycsIGFwcGl1bURlcHJlY2F0ZWR9ID0gc2NoZW1hO1xuICBsZXQgZGVzYyA9IGFwcGl1bUNsaURlc2NyaXB0aW9uID8/IGRlc2NyaXB0aW9uO1xuICBpZiAoYXBwaXVtRGVwcmVjYXRlZCkge1xuICAgIGRlc2MgPSBgW0RFUFJFQ0FURURdICR7ZGVzY31gO1xuICB9XG4gIHJldHVybiBkZXNjO1xufVxuXG4vKipcbiAqIEdpdmVuIGFyZyBgbmFtZWAsIGEgSlNPTiBzY2hlbWEgYHN1YlNjaGVtYWAsIGFuZCBvcHRpb25zLCByZXR1cm4gYW4gYXJndW1lbnQgZGVmaW5pdGlvblxuICogYXMgdW5kZXJzdG9vZCBieSBgYXJncGFyc2VgLlxuICogQHBhcmFtIHtBcHBpdW1KU09OU2NoZW1hfSBzdWJTY2hlbWEgLSBKU09OIHNjaGVtYSBmb3IgdGhlIG9wdGlvblxuICogQHBhcmFtIHtBcmdTcGVjfSBhcmdTcGVjIC0gQXJndW1lbnQgc3BlYyB0dXBsZVxuICogQHJldHVybnMge1tzdHJpbmdbXSwgaW1wb3J0KCdhcmdwYXJzZScpLkFyZ3VtZW50T3B0aW9uc119IFR1cGxlIG9mIGZsYWcgYW5kIG9wdGlvbnNcbiAqL1xuZnVuY3Rpb24gc3ViU2NoZW1hVG9BcmdEZWYgKHN1YlNjaGVtYSwgYXJnU3BlYykge1xuICBsZXQge1xuICAgIHR5cGUsXG4gICAgYXBwaXVtQ2xpQWxpYXNlcyxcbiAgICBhcHBpdW1DbGlUcmFuc2Zvcm1lcixcbiAgICBlbnVtOiBlbnVtVmFsdWVzLFxuICB9ID0gc3ViU2NoZW1hO1xuXG4gIGNvbnN0IHtuYW1lLCBhcmd9ID0gYXJnU3BlYztcblxuICBjb25zdCBhbGlhc2VzID0gW1xuICAgIGFsaWFzVG9GbGFnKGFyZ1NwZWMpLFxuICAgIC4uLi8qKiBAdHlwZSB7c3RyaW5nW119ICovIChhcHBpdW1DbGlBbGlhc2VzID8/IFtdKS5tYXAoKGFsaWFzKSA9PlxuICAgICAgYWxpYXNUb0ZsYWcoYXJnU3BlYywgYWxpYXMpLFxuICAgICksXG4gIF07XG5cbiAgLyoqIEB0eXBlIHtpbXBvcnQoJ2FyZ3BhcnNlJykuQXJndW1lbnRPcHRpb25zfSAqL1xuICBsZXQgYXJnT3B0cyA9IHtcbiAgICByZXF1aXJlZDogZmFsc2UsXG4gICAgaGVscDogbWFrZURlc2NyaXB0aW9uKHN1YlNjaGVtYSlcbiAgfTtcblxuICAvKipcbiAgICogR2VuZXJhbGx5IHdlIHdpbGwgcHJvdmlkZSBhIGB0eXBlYCB0byBgYXJncGFyc2VgIGFzIGEgZnVuY3Rpb24gd2hpY2hcbiAgICogdmFsaWRhdGVzIHVzaW5nIGFqdiAod2hpY2ggaXMgbXVjaCBtb3JlIGZ1bGwtZmVhdHVyZWQgdGhhbiB3aGF0IGBhcmdwYXJzZWBcbiAgICogY2FuIG9mZmVyKS4gVGhlIGV4Y2VwdGlvbiBpcyBgYm9vbGVhbmAtdHlwZSBvcHRpb25zLCB3aGljaCBoYXZlIG5vXG4gICAqIGBhcmdUeXBlYC5cbiAgICpcbiAgICogTm90IHN1cmUgaWYgdGhpcyB0eXBlIGlzIGNvcnJlY3QsIGJ1dCBpdCdzIG5vdCBkb2luZyB3aGF0IEkgd2FudC4gIEkgd2FudFxuICAgKiB0byBzYXkgXCJ0aGlzIGlzIGEgZnVuY3Rpb24gd2hpY2ggcmV0dXJucyBzb21ldGhpbmcgb2YgdHlwZSBgVGAgd2hlcmUgYFRgIGlzXG4gICAqIG5ldmVyIGEgYFByb21pc2VgXCIuICBUaGlzIGZ1bmN0aW9uIG11c3QgYmUgc3luYy5cbiAgICogQHR5cGUgeygodmFsdWU6IHN0cmluZykgPT4gdW5rbm93bil8dW5kZWZpbmVkfVxuICAgKi9cbiAgbGV0IGFyZ1R5cGVGdW5jdGlvbjtcblxuICAvLyBoYW5kbGUgc3BlY2lhbCBjYXNlcyBmb3IgdmFyaW91cyB0eXBlc1xuICBzd2l0Y2ggKHR5cGUpIHtcbiAgICAvLyBib29sZWFucyBkbyBub3QgaGF2ZSBhIHR5cGUgcGVyIGBBcmd1bWVudE9wdGlvbnNgLCBqdXN0IGFuIFwiYWN0aW9uXCJcbiAgICBjYXNlIFRZUEVOQU1FUy5CT09MRUFOOiB7XG4gICAgICBhcmdPcHRzLmFjdGlvbiA9ICdzdG9yZV9jb25zdCc7XG4gICAgICBhcmdPcHRzLmNvbnN0ID0gdHJ1ZTtcbiAgICAgIGJyZWFrO1xuICAgIH1cblxuICAgIGNhc2UgVFlQRU5BTUVTLk9CSkVDVDoge1xuICAgICAgYXJnVHlwZUZ1bmN0aW9uID0gdHJhbnNmb3JtZXJzLmpzb247XG4gICAgICBicmVhaztcbiAgICB9XG5cbiAgICAvLyBhcnJheXMgYXJlIHRyZWF0ZWQgYXMgQ1NWcywgYmVjYXVzZSBgYXJncGFyc2VgIGRvZXNuJ3QgaGFuZGxlIGFycmF5IGRhdGEuXG4gICAgY2FzZSBUWVBFTkFNRVMuQVJSQVk6IHtcbiAgICAgIGFyZ1R5cGVGdW5jdGlvbiA9IHRyYW5zZm9ybWVycy5jc3Y7XG4gICAgICBicmVhaztcbiAgICB9XG5cbiAgICAvLyBcIm51bWJlclwiIHR5cGUgaXMgY29lcmNlZCB0byBmbG9hdC4gYGFyZ3BhcnNlYCBkb2VzIHRoaXMgZm9yIHVzIGlmIHdlIHVzZSBgZmxvYXRgIHR5cGUsIGJ1dFxuICAgIC8vIHdlIGRvbid0LlxuICAgIGNhc2UgVFlQRU5BTUVTLk5VTUJFUjoge1xuICAgICAgYXJnVHlwZUZ1bmN0aW9uID0gZ2V0U2NoZW1hVmFsaWRhdG9yKGFyZ1NwZWMsIHBhcnNlRmxvYXQpO1xuICAgICAgYnJlYWs7XG4gICAgfVxuXG4gICAgLy8gXCJpbnRlZ2VyXCIgaXMgY29lcmNlZCB0byBhbiAuLiBpbnRlZ2VyLiAgYWdhaW4sIGBhcmdwYXJzZWAgd291bGQgZG8gdGhpcyBmb3IgdXMgaWYgd2UgdXNlZCBgaW50YC5cbiAgICBjYXNlIFRZUEVOQU1FUy5JTlRFR0VSOiB7XG4gICAgICBhcmdUeXBlRnVuY3Rpb24gPSBnZXRTY2hlbWFWYWxpZGF0b3IoYXJnU3BlYywgXy5wYXJzZUludCk7XG4gICAgICBicmVhaztcbiAgICB9XG5cbiAgICAvLyBzdHJpbmdzIChsaWtlIG51bWJlciBhbmQgaW50ZWdlcikgYXJlIHN1YmplY3QgdG8gZnVydGhlciB2YWxpZGF0aW9uXG4gICAgLy8gKGUuZy4sIG11c3Qgc2F0aXNmeSBhIG1hc2sgb3IgcmVnZXggb3IgZXZlbiBzb21lIGN1c3RvbSB2YWxpZGF0aW9uXG4gICAgLy8gZnVuY3Rpb24pXG4gICAgY2FzZSBUWVBFTkFNRVMuU1RSSU5HOiB7XG4gICAgICBhcmdUeXBlRnVuY3Rpb24gPSBnZXRTY2hlbWFWYWxpZGF0b3IoYXJnU3BlYyk7XG4gICAgICBicmVhaztcbiAgICB9XG5cbiAgICAvLyBUT0RPOiB0aGVyZSBtYXkgYmUgc29tZSB3YXkgdG8gcmVzdHJpY3QgdGhpcyBhdCB0aGUgQWp2IGxldmVsIC0tXG4gICAgLy8gdGhhdCBtYXkgaW52b2x2ZSBwYXRjaGluZyB0aGUgbWV0YXNjaGVtYS5cbiAgICBjYXNlIFRZUEVOQU1FUy5OVUxMOlxuICAgIC8vIGZhbGxzIHRocm91Z2hcbiAgICBkZWZhdWx0OiB7XG4gICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKFxuICAgICAgICBgU2NoZW1hIHByb3BlcnR5IFwiJHthcmd9XCI6IFxcYCR7dHlwZX1cXGAgdHlwZSB1bmtub3duIG9yIGRpc2FsbG93ZWRgLFxuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICAvLyBtZXRhdmFyIGlzIHVzZWQgaW4gaGVscCB0ZXh0LiBgYm9vbGVhbmAgY2Fubm90IGhhdmUgYSBtZXRhdmFyLS1pdCBpcyBub3RcbiAgLy8gZGlzcGxheWVkLS1hbmQgYGFyZ3BhcnNlYCB0aHJvd3MgaWYgeW91IGdpdmUgaXQgb25lLlxuICBpZiAodHlwZSAhPT0gVFlQRU5BTUVTLkJPT0xFQU4pIHtcbiAgICBhcmdPcHRzLm1ldGF2YXIgPSBzY3JlYW1pbmdTbmFrZUNhc2UobmFtZSk7XG4gIH1cblxuICAvLyB0aGUgdmFsaWRpdHkgb2YgXCJhcHBpdW1DbGlUcmFuc2Zvcm1lclwiIHNob3VsZCBhbHJlYWR5IGhhdmUgYmVlbiBkZXRlcm1pbmVkXG4gIC8vIGJ5IGFqdiBkdXJpbmcgc2NoZW1hIHZhbGlkYXRpb24gaW4gYGZpbmFsaXplU2NoZW1hKClgLiB0aGUgYGFycmF5YCAmXG4gIC8vIGBvYmplY3RgIHR5cGVzIGhhdmUgYWxyZWFkeSBhZGRlZCBhIGZvcm1hdHRlciAoc2VlIGFib3ZlLCBzbyB3ZSBkb24ndCBkbyBpdFxuICAvLyB0d2ljZSkuXG4gIGlmIChcbiAgICB0eXBlICE9PSBUWVBFTkFNRVMuQVJSQVkgJiZcbiAgICB0eXBlICE9PSBUWVBFTkFNRVMuT0JKRUNUICYmXG4gICAgYXBwaXVtQ2xpVHJhbnNmb3JtZXJcbiAgKSB7XG4gICAgYXJnVHlwZUZ1bmN0aW9uID0gXy5mbG93KFxuICAgICAgYXJnVHlwZUZ1bmN0aW9uID8/IF8uaWRlbnRpdHksXG4gICAgICB0cmFuc2Zvcm1lcnNbYXBwaXVtQ2xpVHJhbnNmb3JtZXJdLFxuICAgICk7XG4gIH1cblxuICBpZiAoYXJnVHlwZUZ1bmN0aW9uKSB7XG4gICAgYXJnT3B0cy50eXBlID0gYXJnVHlwZUZ1bmN0aW9uO1xuICB9XG5cbiAgLy8gY29udmVydCBKU09OIHNjaGVtYSBgZW51bWAgdG8gYGNob2ljZXNgLiBgZW51bWAgY2FuIGNvbnRhaW4gYW55IEpTT04gdHlwZSwgYnV0IGBhcmdwYXJzZWBcbiAgLy8gaXMgbGltaXRlZCB0byBhIHNpbmdsZSB0eXBlIHBlciBhcmcgKEkgdGhpbmspLiAgc28gbGV0J3MgbWFrZSBldmVyeXRoaW5nIGEgc3RyaW5nLlxuICAvLyBhbmQgbWlnaHQgYXMgd2VsbCBfcmVxdWlyZV8gdGhlIGB0eXBlOiBzdHJpbmdgIHdoaWxlIHdlJ3JlIGF0IGl0LlxuICBpZiAoZW51bVZhbHVlcyAmJiAhXy5pc0VtcHR5KGVudW1WYWx1ZXMpKSB7XG4gICAgaWYgKHR5cGUgPT09IFRZUEVOQU1FUy5TVFJJTkcpIHtcbiAgICAgIGFyZ09wdHMuY2hvaWNlcyA9IGVudW1WYWx1ZXMubWFwKFN0cmluZyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoXG4gICAgICAgIGBQcm9ibGVtIHdpdGggc2NoZW1hIGZvciAke2FyZ307IFxcYGVudW1cXGAgaXMgb25seSBzdXBwb3J0ZWQgZm9yIFxcYHR5cGU6ICdzdHJpbmcnXFxgYCxcbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIFthbGlhc2VzLCBhcmdPcHRzXTtcbn1cblxuLyoqXG4gKiBDb252ZXJ0cyB0aGUgZmluYWxpemVkLCBmbGF0dGVuZWQgc2NoZW1hIHJlcHJlc2VudGF0aW9uIGludG9cbiAqIEFyZ3VtZW50RGVmaW5pdGlvbnMgZm9yIGhhbmRvZmYgdG8gYGFyZ3BhcnNlYC5cbiAqXG4gKiBAdGhyb3dzIElmIHNjaGVtYSBoYXMgbm90IGJlZW4gYWRkZWQgdG8gYWp2ICh2aWEgYGZpbmFsaXplU2NoZW1hKClgKVxuICogQHJldHVybnMge2ltcG9ydCgnLi4vY2xpL2FyZ3MnKS5Bcmd1bWVudERlZmluaXRpb25zfSBBIG1hcCBvZiBhcnJ5YXMgb2ZcbiAqIGFsaWFzZXMgdG8gYGFyZ3BhcnNlYCBhcmd1bWVudHM7IGVtcHR5IGlmIG5vIHNjaGVtYSBmb3VuZFxuICovXG5leHBvcnQgZnVuY3Rpb24gdG9QYXJzZXJBcmdzICgpIHtcbiAgY29uc3QgZmxhdHRlbmVkID0gZmxhdHRlblNjaGVtYSgpLmZpbHRlcigoe3NjaGVtYX0pID0+ICFzY2hlbWEuYXBwaXVtQ2xpSWdub3JlZCk7XG4gIHJldHVybiBuZXcgTWFwKFxuICAgIF8ubWFwKGZsYXR0ZW5lZCwgKHtzY2hlbWEsIGFyZ1NwZWN9KSA9PlxuICAgICAgc3ViU2NoZW1hVG9BcmdEZWYoc2NoZW1hLCBhcmdTcGVjKSxcbiAgICApLFxuICApO1xufVxuXG4vKipcbiAqIEB0ZW1wbGF0ZSBUXG4gKiBAdHlwZWRlZiB7aW1wb3J0KCdhanYvZGlzdC90eXBlcycpLkZvcm1hdFZhbGlkYXRvcjxUPn0gRm9ybWF0VmFsaWRhdG9yPFQ+XG4gKi9cblxuLyoqXG4gKiBBIEpTT04gNyBzY2hlbWEgd2l0aCBvdXIgY3VzdG9tIGtleXdvcmRzLlxuICogQHR5cGVkZWYge2ltcG9ydCgnLi9rZXl3b3JkcycpLkFwcGl1bUpTT05TY2hlbWFLZXl3b3JkcyAmIGltcG9ydCgnanNvbi1zY2hlbWEnKS5KU09OU2NoZW1hN30gQXBwaXVtSlNPTlNjaGVtYVxuICovXG5cbi8qKlxuICogQHR5cGVkZWYge2ltcG9ydCgnLi9hcmctc3BlYycpLkFyZ1NwZWN9IEFyZ1NwZWNcbiAqL1xuIl0sImZpbGUiOiJsaWIvc2NoZW1hL2NsaS1hcmdzLmpzIiwic291cmNlUm9vdCI6Ii4uLy4uLy4uIn0=
179
+ }
180
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2xpYi9zY2hlbWEvY2xpLWFyZ3MuanMiXSwibmFtZXMiOlsiVFlQRU5BTUVTIiwiT2JqZWN0IiwiZnJlZXplIiwiQVJSQVkiLCJPQkpFQ1QiLCJCT09MRUFOIiwiSU5URUdFUiIsIk5VTUJFUiIsIk5VTEwiLCJTVFJJTkciLCJTSE9SVF9BUkdfQ1VUT0ZGIiwiYWxpYXNUb0ZsYWciLCJhcmdTcGVjIiwiYWxpYXMiLCJleHRUeXBlIiwiZXh0TmFtZSIsIm5hbWUiLCJhcmciLCJpc1Nob3J0IiwibGVuZ3RoIiwiXyIsImtlYmFiQ2FzZSIsInNjcmVhbWluZ1NuYWtlQ2FzZSIsImZsb3ciLCJzbmFrZUNhc2UiLCJ0b1VwcGVyIiwiZ2V0U2NoZW1hVmFsaWRhdG9yIiwicmVmIiwic2NoZW1hSWQiLCJjb2VyY2UiLCJpZGVudGl0eSIsInZhbHVlIiwiY29lcmNlZCIsImVycm9ycyIsImlzRW1wdHkiLCJBcmd1bWVudFR5cGVFcnJvciIsIm1ha2VEZXNjcmlwdGlvbiIsInNjaGVtYSIsImFwcGl1bUNsaURlc2NyaXB0aW9uIiwiZGVzY3JpcHRpb24iLCJhcHBpdW1EZXByZWNhdGVkIiwiZGVzYyIsInN1YlNjaGVtYVRvQXJnRGVmIiwic3ViU2NoZW1hIiwidHlwZSIsImFwcGl1bUNsaUFsaWFzZXMiLCJhcHBpdW1DbGlUcmFuc2Zvcm1lciIsImVudW0iLCJlbnVtVmFsdWVzIiwiYWxpYXNlcyIsIm1hcCIsImFyZ09wdHMiLCJyZXF1aXJlZCIsImhlbHAiLCJhcmdUeXBlRnVuY3Rpb24iLCJhY3Rpb24iLCJjb25zdCIsInRyYW5zZm9ybWVycyIsImpzb24iLCJjc3YiLCJwYXJzZUZsb2F0IiwicGFyc2VJbnQiLCJUeXBlRXJyb3IiLCJtZXRhdmFyIiwiY2hvaWNlcyIsIlN0cmluZyIsInRvUGFyc2VyQXJncyIsImZsYXR0ZW5lZCIsImZpbHRlciIsImFwcGl1bUNsaUlnbm9yZWQiLCJNYXAiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0FBRUE7O0FB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QUFHLDZCQUFnQkMsTUFBaEIsQ0FBdUIsQ0FBQztBQUFDL0IsSUFBQUE7QUFBRCxHQUFELEtBQWMsQ0FBQ0EsTUFBTSxDQUFDZ0MsZ0JBQTdDLENBQWxCO0FBQ0EsU0FBTyxJQUFJQyxHQUFKLENBQ0xsRCxnQkFBRThCLEdBQUYsQ0FBTWlCLFNBQU4sRUFBaUIsQ0FBQztBQUFDOUIsSUFBQUEsTUFBRDtBQUFTekIsSUFBQUE7QUFBVCxHQUFELEtBQ2Y4QixpQkFBaUIsQ0FBQ0wsTUFBRCxFQUFTekIsT0FBVCxDQURuQixDQURLLENBQVA7QUFLRCIsInNvdXJjZXNDb250ZW50IjpbIi8vIEB0cy1jaGVja1xuXG5pbXBvcnQge0FyZ3VtZW50VHlwZUVycm9yfSBmcm9tICdhcmdwYXJzZSc7XG5pbXBvcnQgXyBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IHtmb3JtYXRFcnJvcnMgYXMgZm9ybWF0RXJyb3JzfSBmcm9tICcuLi9jb25maWctZmlsZSc7XG5pbXBvcnQge2ZsYXR0ZW5TY2hlbWEsIHZhbGlkYXRlfSBmcm9tICcuL3NjaGVtYSc7XG5pbXBvcnQge3RyYW5zZm9ybWVyc30gZnJvbSAnLi9jbGktdHJhbnNmb3JtZXJzJztcblxuLyoqXG4gKiBUaGlzIG1vZHVsZSBjb25jZXJucyBmdW5jdGlvbnMgd2hpY2ggY29udmVydCBzY2hlbWEgZGVmaW5pdGlvbnMgdG9cbiAqIGBhcmdwYXJzZWAtY29tcGF0aWJsZSBkYXRhIHN0cnVjdHVyZXMsIGZvciBkZXJpdmluZyBDTEkgYXJndW1lbnRzIGZyb20gYVxuICogc2NoZW1hLlxuICovXG5cbi8qKlxuICogTG9va3VwIG9mIHBvc3NpYmxlIHZhbHVlcyBmb3IgdGhlIGB0eXBlYCBmaWVsZCBpbiBhIEpTT04gc2NoZW1hLlxuICogQHR5cGUge1JlYWRvbmx5PFJlY29yZDxzdHJpbmcsIGltcG9ydCgnanNvbi1zY2hlbWEnKS5KU09OU2NoZW1hN1R5cGVOYW1lPj59XG4gKi9cbmNvbnN0IFRZUEVOQU1FUyA9IE9iamVjdC5mcmVlemUoe1xuICBBUlJBWTogJ2FycmF5JyxcbiAgT0JKRUNUOiAnb2JqZWN0JyxcbiAgQk9PTEVBTjogJ2Jvb2xlYW4nLFxuICBJTlRFR0VSOiAnaW50ZWdlcicsXG4gIE5VTUJFUjogJ251bWJlcicsXG4gIE5VTEw6ICdudWxsJyxcbiAgU1RSSU5HOiAnc3RyaW5nJyxcbn0pO1xuXG4vKipcbiAqIE9wdGlvbnMgd2l0aCBhbGlhcyBsZW5ndGhzIGxlc3MgdGhhbiB0aGlzIHdpbGwgYmUgY29uc2lkZXJlZCBcInNob3J0XCIgZmxhZ3MuXG4gKi9cbmNvbnN0IFNIT1JUX0FSR19DVVRPRkYgPSAzO1xuXG4vKipcbiAqIENvbnZlcnQgYW4gYWxpYXMgKGBmb29gKSB0byBhIGZsYWcgKGAtLWZvb2ApIG9yIGEgc2hvcnQgZmxhZyAoYC1mYCkuXG4gKiBAcGFyYW0ge0FyZ1NwZWN9IGFyZ1NwZWMgLSB0aGUgYXJndW1lbnQgc3BlY2lmaWNhdGlvblxuICogQHBhcmFtIHtzdHJpbmd9IFthbGlhc10gLSB0aGUgYWxpYXMgdG8gY29udmVydCB0byBhIGZsYWdcbiAqIEByZXR1cm5zIHtzdHJpbmd9IHRoZSBmbGFnXG4gKi9cbmZ1bmN0aW9uIGFsaWFzVG9GbGFnIChhcmdTcGVjLCBhbGlhcykge1xuICBjb25zdCB7ZXh0VHlwZSwgZXh0TmFtZSwgbmFtZX0gPSBhcmdTcGVjO1xuICBjb25zdCBhcmcgPSBhbGlhcyA/PyBuYW1lO1xuICBjb25zdCBpc1Nob3J0ID0gYXJnLmxlbmd0aCA8IFNIT1JUX0FSR19DVVRPRkY7XG4gIGlmIChleHRUeXBlICYmIGV4dE5hbWUpIHtcbiAgICByZXR1cm4gaXNTaG9ydFxuICAgICAgPyBgLS0ke2V4dFR5cGV9LSR7Xy5rZWJhYkNhc2UoZXh0TmFtZSl9LSR7YXJnfWBcbiAgICAgIDogYC0tJHtleHRUeXBlfS0ke18ua2ViYWJDYXNlKGV4dE5hbWUpfS0ke18ua2ViYWJDYXNlKGFyZyl9YDtcbiAgfVxuICByZXR1cm4gaXNTaG9ydCA/IGAtJHthcmd9YCA6IGAtLSR7Xy5rZWJhYkNhc2UoYXJnKX1gO1xufVxuXG4vKipcbiAqIENvbnZlcnRzIGEgc3RyaW5nIHRvIFNDUkVBTUlOR19TTkFLRV9DQVNFXG4gKi9cbmNvbnN0IHNjcmVhbWluZ1NuYWtlQ2FzZSA9IF8uZmxvdyhfLnNuYWtlQ2FzZSwgXy50b1VwcGVyKTtcblxuLyoqXG4gKiBHaXZlbiB1bmlxdWUgcHJvcGVydHkgbmFtZSBgbmFtZWAsIHJldHVybiBhIGZ1bmN0aW9uIHdoaWNoIHZhbGlkYXRlcyBhIHZhbHVlXG4gKiBhZ2FpbnN0IGEgcHJvcGVydHkgd2l0aGluIHRoZSBzY2hlbWEuXG4gKiBAdGVtcGxhdGUgQ29lcmNlZFxuICogQHBhcmFtIHtBcmdTcGVjfSBhcmdTcGVjIC0gQXJndW1lbnQgbmFtZVxuICogQHBhcmFtIHsodmFsdWU6IHN0cmluZykgPT4gQ29lcmNlZH0gW2NvZXJjZV0gLSBGdW5jdGlvbiB0byBjb2VyY2UgdG8gYSBkaWZmZXJlbnRcbiAqIHByaW1pdGl2ZVxuICogQHRvZG8gU2VlIGlmIHdlIGNhbiByZW1vdmUgYGNvZXJjZWAgYnkgYWxsb3dpbmcgQWp2IHRvIGNvZXJjZSBpbiBpdHNcbiAqIGNvbnN0cnVjdG9yIG9wdGlvbnNcbiAqIEByZXR1cm5zXG4gKi9cbmZ1bmN0aW9uIGdldFNjaGVtYVZhbGlkYXRvciAoe3JlZjogc2NoZW1hSWR9LCBjb2VyY2UgPSBfLmlkZW50aXR5KSB7XG4gIC8qKiBAcGFyYW0ge3N0cmluZ30gdmFsdWUgKi9cbiAgcmV0dXJuICh2YWx1ZSkgPT4ge1xuICAgIGNvbnN0IGNvZXJjZWQgPSBjb2VyY2UodmFsdWUpO1xuICAgIGNvbnN0IGVycm9ycyA9IHZhbGlkYXRlKGNvZXJjZWQsIHNjaGVtYUlkKTtcbiAgICBpZiAoXy5pc0VtcHR5KGVycm9ycykpIHtcbiAgICAgIHJldHVybiBjb2VyY2VkO1xuICAgIH1cbiAgICB0aHJvdyBuZXcgQXJndW1lbnRUeXBlRXJyb3IoXG4gICAgICAnXFxuXFxuJyArIGZvcm1hdEVycm9ycyhlcnJvcnMsIHZhbHVlLCB7c2NoZW1hSWR9KSxcbiAgICApO1xuICB9O1xufVxuXG4vKipcbiAqIERldGVybWluZSB0aGUgZGVzY3JpcHRpb24gZm9yIGRpc3BsYXkgb24gdGhlIENMSSwgZ2l2ZW4gdGhlIHNjaGVtYS5cbiAqIEBwYXJhbSB7QXBwaXVtSlNPTlNjaGVtYX0gc2NoZW1hXG4gKiBAcmV0dXJucyB7c3RyaW5nfVxuICovXG5mdW5jdGlvbiBtYWtlRGVzY3JpcHRpb24gKHNjaGVtYSkge1xuICBjb25zdCB7YXBwaXVtQ2xpRGVzY3JpcHRpb24sIGRlc2NyaXB0aW9uID0gJycsIGFwcGl1bURlcHJlY2F0ZWR9ID0gc2NoZW1hO1xuICBsZXQgZGVzYyA9IGFwcGl1bUNsaURlc2NyaXB0aW9uID8/IGRlc2NyaXB0aW9uO1xuICBpZiAoYXBwaXVtRGVwcmVjYXRlZCkge1xuICAgIGRlc2MgPSBgW0RFUFJFQ0FURURdICR7ZGVzY31gO1xuICB9XG4gIHJldHVybiBkZXNjO1xufVxuXG4vKipcbiAqIEdpdmVuIGFyZyBgbmFtZWAsIGEgSlNPTiBzY2hlbWEgYHN1YlNjaGVtYWAsIGFuZCBvcHRpb25zLCByZXR1cm4gYW4gYXJndW1lbnQgZGVmaW5pdGlvblxuICogYXMgdW5kZXJzdG9vZCBieSBgYXJncGFyc2VgLlxuICogQHBhcmFtIHtBcHBpdW1KU09OU2NoZW1hfSBzdWJTY2hlbWEgLSBKU09OIHNjaGVtYSBmb3IgdGhlIG9wdGlvblxuICogQHBhcmFtIHtBcmdTcGVjfSBhcmdTcGVjIC0gQXJndW1lbnQgc3BlYyB0dXBsZVxuICogQHJldHVybnMge1tzdHJpbmdbXSwgaW1wb3J0KCdhcmdwYXJzZScpLkFyZ3VtZW50T3B0aW9uc119IFR1cGxlIG9mIGZsYWcgYW5kIG9wdGlvbnNcbiAqL1xuZnVuY3Rpb24gc3ViU2NoZW1hVG9BcmdEZWYgKHN1YlNjaGVtYSwgYXJnU3BlYykge1xuICBsZXQge1xuICAgIHR5cGUsXG4gICAgYXBwaXVtQ2xpQWxpYXNlcyxcbiAgICBhcHBpdW1DbGlUcmFuc2Zvcm1lcixcbiAgICBlbnVtOiBlbnVtVmFsdWVzLFxuICB9ID0gc3ViU2NoZW1hO1xuXG4gIGNvbnN0IHtuYW1lLCBhcmd9ID0gYXJnU3BlYztcblxuICBjb25zdCBhbGlhc2VzID0gW1xuICAgIGFsaWFzVG9GbGFnKGFyZ1NwZWMpLFxuICAgIC4uLi8qKiBAdHlwZSB7c3RyaW5nW119ICovIChhcHBpdW1DbGlBbGlhc2VzID8/IFtdKS5tYXAoKGFsaWFzKSA9PlxuICAgICAgYWxpYXNUb0ZsYWcoYXJnU3BlYywgYWxpYXMpLFxuICAgICksXG4gIF07XG5cbiAgLyoqIEB0eXBlIHtpbXBvcnQoJ2FyZ3BhcnNlJykuQXJndW1lbnRPcHRpb25zfSAqL1xuICBsZXQgYXJnT3B0cyA9IHtcbiAgICByZXF1aXJlZDogZmFsc2UsXG4gICAgaGVscDogbWFrZURlc2NyaXB0aW9uKHN1YlNjaGVtYSlcbiAgfTtcblxuICAvKipcbiAgICogR2VuZXJhbGx5IHdlIHdpbGwgcHJvdmlkZSBhIGB0eXBlYCB0byBgYXJncGFyc2VgIGFzIGEgZnVuY3Rpb24gd2hpY2hcbiAgICogdmFsaWRhdGVzIHVzaW5nIGFqdiAod2hpY2ggaXMgbXVjaCBtb3JlIGZ1bGwtZmVhdHVyZWQgdGhhbiB3aGF0IGBhcmdwYXJzZWBcbiAgICogY2FuIG9mZmVyKS4gVGhlIGV4Y2VwdGlvbiBpcyBgYm9vbGVhbmAtdHlwZSBvcHRpb25zLCB3aGljaCBoYXZlIG5vXG4gICAqIGBhcmdUeXBlYC5cbiAgICpcbiAgICogTm90IHN1cmUgaWYgdGhpcyB0eXBlIGlzIGNvcnJlY3QsIGJ1dCBpdCdzIG5vdCBkb2luZyB3aGF0IEkgd2FudC4gIEkgd2FudFxuICAgKiB0byBzYXkgXCJ0aGlzIGlzIGEgZnVuY3Rpb24gd2hpY2ggcmV0dXJucyBzb21ldGhpbmcgb2YgdHlwZSBgVGAgd2hlcmUgYFRgIGlzXG4gICAqIG5ldmVyIGEgYFByb21pc2VgXCIuICBUaGlzIGZ1bmN0aW9uIG11c3QgYmUgc3luYy5cbiAgICogQHR5cGUgeygodmFsdWU6IHN0cmluZykgPT4gdW5rbm93bil8dW5kZWZpbmVkfVxuICAgKi9cbiAgbGV0IGFyZ1R5cGVGdW5jdGlvbjtcblxuICAvLyBoYW5kbGUgc3BlY2lhbCBjYXNlcyBmb3IgdmFyaW91cyB0eXBlc1xuICBzd2l0Y2ggKHR5cGUpIHtcbiAgICAvLyBib29sZWFucyBkbyBub3QgaGF2ZSBhIHR5cGUgcGVyIGBBcmd1bWVudE9wdGlvbnNgLCBqdXN0IGFuIFwiYWN0aW9uXCJcbiAgICAvLyBOT1RFOiBkdWUgdG8gbGltaXRhdGlvbnMgb2YgYGFyZ3BhcnNlYCwgd2UgY2Fubm90IHByb3ZpZGUgZmFuY3kgaGVscCB0ZXh0LCBhbmQgbXVzdCByZWx5IG9uIGl0cyBpbnRlcm5hbCBlcnJvciBtZXNzYWdpbmcuXG4gICAgY2FzZSBUWVBFTkFNRVMuQk9PTEVBTjoge1xuICAgICAgYXJnT3B0cy5hY3Rpb24gPSAnc3RvcmVfY29uc3QnO1xuICAgICAgYXJnT3B0cy5jb25zdCA9IHRydWU7XG4gICAgICBicmVhaztcbiAgICB9XG5cbiAgICBjYXNlIFRZUEVOQU1FUy5PQkpFQ1Q6IHtcbiAgICAgIGFyZ1R5cGVGdW5jdGlvbiA9IHRyYW5zZm9ybWVycy5qc29uO1xuICAgICAgYnJlYWs7XG4gICAgfVxuXG4gICAgLy8gYXJyYXlzIGFyZSB0cmVhdGVkIGFzIENTVnMsIGJlY2F1c2UgYGFyZ3BhcnNlYCBkb2Vzbid0IGhhbmRsZSBhcnJheSBkYXRhLlxuICAgIGNhc2UgVFlQRU5BTUVTLkFSUkFZOiB7XG4gICAgICBhcmdUeXBlRnVuY3Rpb24gPSB0cmFuc2Zvcm1lcnMuY3N2O1xuICAgICAgYnJlYWs7XG4gICAgfVxuXG4gICAgLy8gXCJudW1iZXJcIiB0eXBlIGlzIGNvZXJjZWQgdG8gZmxvYXQuIGBhcmdwYXJzZWAgZG9lcyB0aGlzIGZvciB1cyBpZiB3ZSB1c2UgYGZsb2F0YCB0eXBlLCBidXRcbiAgICAvLyB3ZSBkb24ndC5cbiAgICBjYXNlIFRZUEVOQU1FUy5OVU1CRVI6IHtcbiAgICAgIGFyZ1R5cGVGdW5jdGlvbiA9IGdldFNjaGVtYVZhbGlkYXRvcihhcmdTcGVjLCBwYXJzZUZsb2F0KTtcbiAgICAgIGJyZWFrO1xuICAgIH1cblxuICAgIC8vIFwiaW50ZWdlclwiIGlzIGNvZXJjZWQgdG8gYW4gLi4gaW50ZWdlci4gIGFnYWluLCBgYXJncGFyc2VgIHdvdWxkIGRvIHRoaXMgZm9yIHVzIGlmIHdlIHVzZWQgYGludGAuXG4gICAgY2FzZSBUWVBFTkFNRVMuSU5URUdFUjoge1xuICAgICAgYXJnVHlwZUZ1bmN0aW9uID0gZ2V0U2NoZW1hVmFsaWRhdG9yKGFyZ1NwZWMsIF8ucGFyc2VJbnQpO1xuICAgICAgYnJlYWs7XG4gICAgfVxuXG4gICAgLy8gc3RyaW5ncyAobGlrZSBudW1iZXIgYW5kIGludGVnZXIpIGFyZSBzdWJqZWN0IHRvIGZ1cnRoZXIgdmFsaWRhdGlvblxuICAgIC8vIChlLmcuLCBtdXN0IHNhdGlzZnkgYSBtYXNrIG9yIHJlZ2V4IG9yIGV2ZW4gc29tZSBjdXN0b20gdmFsaWRhdGlvblxuICAgIC8vIGZ1bmN0aW9uKVxuICAgIGNhc2UgVFlQRU5BTUVTLlNUUklORzoge1xuICAgICAgYXJnVHlwZUZ1bmN0aW9uID0gZ2V0U2NoZW1hVmFsaWRhdG9yKGFyZ1NwZWMpO1xuICAgICAgYnJlYWs7XG4gICAgfVxuXG4gICAgLy8gVE9ETzogdGhlcmUgbWF5IGJlIHNvbWUgd2F5IHRvIHJlc3RyaWN0IHRoaXMgYXQgdGhlIEFqdiBsZXZlbCAtLVxuICAgIC8vIHRoYXQgbWF5IGludm9sdmUgcGF0Y2hpbmcgdGhlIG1ldGFzY2hlbWEuXG4gICAgY2FzZSBUWVBFTkFNRVMuTlVMTDpcbiAgICAvLyBmYWxscyB0aHJvdWdoXG4gICAgZGVmYXVsdDoge1xuICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcihcbiAgICAgICAgYFNjaGVtYSBwcm9wZXJ0eSBcIiR7YXJnfVwiOiBcXGAke3R5cGV9XFxgIHR5cGUgdW5rbm93biBvciBkaXNhbGxvd2VkYCxcbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgLy8gbWV0YXZhciBpcyB1c2VkIGluIGhlbHAgdGV4dC4gYGJvb2xlYW5gIGNhbm5vdCBoYXZlIGEgbWV0YXZhci0taXQgaXMgbm90XG4gIC8vIGRpc3BsYXllZC0tYW5kIGBhcmdwYXJzZWAgdGhyb3dzIGlmIHlvdSBnaXZlIGl0IG9uZS5cbiAgaWYgKHR5cGUgIT09IFRZUEVOQU1FUy5CT09MRUFOKSB7XG4gICAgYXJnT3B0cy5tZXRhdmFyID0gc2NyZWFtaW5nU25ha2VDYXNlKG5hbWUpO1xuICB9XG5cbiAgLy8gdGhlIHZhbGlkaXR5IG9mIFwiYXBwaXVtQ2xpVHJhbnNmb3JtZXJcIiBzaG91bGQgYWxyZWFkeSBoYXZlIGJlZW4gZGV0ZXJtaW5lZFxuICAvLyBieSBhanYgZHVyaW5nIHNjaGVtYSB2YWxpZGF0aW9uIGluIGBmaW5hbGl6ZVNjaGVtYSgpYC4gdGhlIGBhcnJheWAgJlxuICAvLyBgb2JqZWN0YCB0eXBlcyBoYXZlIGFscmVhZHkgYWRkZWQgYSBmb3JtYXR0ZXIgKHNlZSBhYm92ZSwgc28gd2UgZG9uJ3QgZG8gaXRcbiAgLy8gdHdpY2UpLlxuICBpZiAoXG4gICAgdHlwZSAhPT0gVFlQRU5BTUVTLkFSUkFZICYmXG4gICAgdHlwZSAhPT0gVFlQRU5BTUVTLk9CSkVDVCAmJlxuICAgIGFwcGl1bUNsaVRyYW5zZm9ybWVyXG4gICkge1xuICAgIGFyZ1R5cGVGdW5jdGlvbiA9IF8uZmxvdyhcbiAgICAgIGFyZ1R5cGVGdW5jdGlvbiA/PyBfLmlkZW50aXR5LFxuICAgICAgdHJhbnNmb3JtZXJzW2FwcGl1bUNsaVRyYW5zZm9ybWVyXSxcbiAgICApO1xuICB9XG5cbiAgaWYgKGFyZ1R5cGVGdW5jdGlvbikge1xuICAgIGFyZ09wdHMudHlwZSA9IGFyZ1R5cGVGdW5jdGlvbjtcbiAgfVxuXG4gIC8vIGNvbnZlcnQgSlNPTiBzY2hlbWEgYGVudW1gIHRvIGBjaG9pY2VzYC4gYGVudW1gIGNhbiBjb250YWluIGFueSBKU09OIHR5cGUsIGJ1dCBgYXJncGFyc2VgXG4gIC8vIGlzIGxpbWl0ZWQgdG8gYSBzaW5nbGUgdHlwZSBwZXIgYXJnIChJIHRoaW5rKS4gIHNvIGxldCdzIG1ha2UgZXZlcnl0aGluZyBhIHN0cmluZy5cbiAgLy8gYW5kIG1pZ2h0IGFzIHdlbGwgX3JlcXVpcmVfIHRoZSBgdHlwZTogc3RyaW5nYCB3aGlsZSB3ZSdyZSBhdCBpdC5cbiAgaWYgKGVudW1WYWx1ZXMgJiYgIV8uaXNFbXB0eShlbnVtVmFsdWVzKSkge1xuICAgIGlmICh0eXBlID09PSBUWVBFTkFNRVMuU1RSSU5HKSB7XG4gICAgICBhcmdPcHRzLmNob2ljZXMgPSBlbnVtVmFsdWVzLm1hcChTdHJpbmcpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKFxuICAgICAgICBgUHJvYmxlbSB3aXRoIHNjaGVtYSBmb3IgJHthcmd9OyBcXGBlbnVtXFxgIGlzIG9ubHkgc3VwcG9ydGVkIGZvciBcXGB0eXBlOiAnc3RyaW5nJ1xcYGAsXG4gICAgICApO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBbYWxpYXNlcywgYXJnT3B0c107XG59XG5cbi8qKlxuICogQ29udmVydHMgdGhlIGZpbmFsaXplZCwgZmxhdHRlbmVkIHNjaGVtYSByZXByZXNlbnRhdGlvbiBpbnRvXG4gKiBBcmd1bWVudERlZmluaXRpb25zIGZvciBoYW5kb2ZmIHRvIGBhcmdwYXJzZWAuXG4gKlxuICogQHRocm93cyBJZiBzY2hlbWEgaGFzIG5vdCBiZWVuIGFkZGVkIHRvIGFqdiAodmlhIGBmaW5hbGl6ZVNjaGVtYSgpYClcbiAqIEByZXR1cm5zIHtpbXBvcnQoJy4uL2NsaS9hcmdzJykuQXJndW1lbnREZWZpbml0aW9uc30gQSBtYXAgb2YgYXJyeWFzIG9mXG4gKiBhbGlhc2VzIHRvIGBhcmdwYXJzZWAgYXJndW1lbnRzOyBlbXB0eSBpZiBubyBzY2hlbWEgZm91bmRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHRvUGFyc2VyQXJncyAoKSB7XG4gIGNvbnN0IGZsYXR0ZW5lZCA9IGZsYXR0ZW5TY2hlbWEoKS5maWx0ZXIoKHtzY2hlbWF9KSA9PiAhc2NoZW1hLmFwcGl1bUNsaUlnbm9yZWQpO1xuICByZXR1cm4gbmV3IE1hcChcbiAgICBfLm1hcChmbGF0dGVuZWQsICh7c2NoZW1hLCBhcmdTcGVjfSkgPT5cbiAgICAgIHN1YlNjaGVtYVRvQXJnRGVmKHNjaGVtYSwgYXJnU3BlYyksXG4gICAgKSxcbiAgKTtcbn1cblxuLyoqXG4gKiBAdGVtcGxhdGUgVFxuICogQHR5cGVkZWYge2ltcG9ydCgnYWp2L2Rpc3QvdHlwZXMnKS5Gb3JtYXRWYWxpZGF0b3I8VD59IEZvcm1hdFZhbGlkYXRvcjxUPlxuICovXG5cbi8qKlxuICogQSBKU09OIDcgc2NoZW1hIHdpdGggb3VyIGN1c3RvbSBrZXl3b3Jkcy5cbiAqIEB0eXBlZGVmIHtpbXBvcnQoJy4va2V5d29yZHMnKS5BcHBpdW1KU09OU2NoZW1hS2V5d29yZHMgJiBpbXBvcnQoJ2pzb24tc2NoZW1hJykuSlNPTlNjaGVtYTd9IEFwcGl1bUpTT05TY2hlbWFcbiAqL1xuXG4vKipcbiAqIEB0eXBlZGVmIHtpbXBvcnQoJy4vYXJnLXNwZWMnKS5BcmdTcGVjfSBBcmdTcGVjXG4gKi9cbiJdfQ==
@@ -70,7 +70,5 @@ const transformers = {
70
70
  }
71
71
  }
72
72
  };
73
- exports.transformers = transformers;require('source-map-support').install();
74
-
75
-
76
- //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImxpYi9zY2hlbWEvY2xpLXRyYW5zZm9ybWVycy5qcyJdLCJuYW1lcyI6WyJwYXJzZUNzdkxpbmUiLCJ2YWx1ZSIsInNwbGl0IiwibWFwIiwidiIsInRyaW0iLCJmaWx0ZXIiLCJCb29sZWFuIiwicGFyc2VDc3ZGaWxlIiwiZmxhdE1hcCIsInRyYW5zZm9ybWVycyIsImNzdiIsImJvZHkiLCJlcnIiLCJjb2RlIiwiQXJndW1lbnRUeXBlRXJyb3IiLCJtZXNzYWdlIiwianNvbiIsImpzb25PclBhdGgiLCJsb2FkZWRGcm9tRmlsZSIsInJlc3VsdCIsIkpTT04iLCJwYXJzZSIsIl8iLCJpc1BsYWluT2JqZWN0IiwiRXJyb3IiLCJ0cnVuY2F0ZSIsImxlbmd0aCIsImUiLCJtc2ciLCJUeXBlRXJyb3IiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0FBRUE7O0FBQ0E7O0FBQ0E7O0FBZ0JBLFNBQVNBLFlBQVQsQ0FBdUJDLEtBQXZCLEVBQThCO0FBQzVCLFNBQU9BLEtBQUssQ0FDVEMsS0FESSxDQUNFLEdBREYsRUFFSkMsR0FGSSxDQUVDQyxDQUFELElBQU9BLENBQUMsQ0FBQ0MsSUFBRixFQUZQLEVBR0pDLE1BSEksQ0FHR0MsT0FISCxDQUFQO0FBSUQ7O0FBT0QsU0FBU0MsWUFBVCxDQUF1QlAsS0FBdkIsRUFBOEI7QUFDNUIsU0FBT0EsS0FBSyxDQUNUQyxLQURJLENBQ0UsT0FERixFQUVKQyxHQUZJLENBRUNDLENBQUQsSUFBT0EsQ0FBQyxDQUFDQyxJQUFGLEVBRlAsRUFHSkMsTUFISSxDQUdHQyxPQUhILEVBSUpFLE9BSkksQ0FJSVQsWUFKSixDQUFQO0FBS0Q7O0FBaUJNLE1BQU1VLFlBQVksR0FBRztBQU8xQkMsRUFBQUEsR0FBRyxFQUFHVixLQUFELElBQVc7QUFDZCxRQUFJVyxJQUFKOztBQUdBLFFBQUk7QUFDRkEsTUFBQUEsSUFBSSxHQUFHLHNCQUFhWCxLQUFiLEVBQW9CLE1BQXBCLENBQVA7QUFDRCxLQUZELENBRUUsT0FBT1ksR0FBUCxFQUFZO0FBQ1osVUFBSUEsR0FBRyxDQUFDQyxJQUFKLEtBQWEsUUFBakIsRUFBMkI7QUFDekIsY0FBTSxJQUFJQywyQkFBSixDQUNILHVCQUFzQkgsSUFBSyxLQUFJQyxHQUFHLENBQUNHLE9BQVEsRUFEeEMsQ0FBTjtBQUdEO0FBQ0Y7O0FBRUQsUUFBSTtBQUNGLGFBQU9KLElBQUksR0FBR0osWUFBWSxDQUFDSSxJQUFELENBQWYsR0FBd0JaLFlBQVksQ0FBQ0MsS0FBRCxDQUEvQztBQUNELEtBRkQsQ0FFRSxPQUFPWSxHQUFQLEVBQVk7QUFDWixZQUFNLElBQUlFLDJCQUFKLENBQ0osdURBREksQ0FBTjtBQUdEO0FBQ0YsR0E1QnlCO0FBbUMxQkUsRUFBQUEsSUFBSSxFQUFHQyxVQUFELElBQWdCO0FBQ3BCLFFBQUlELElBQUksR0FBR0MsVUFBWDtBQUNBLFFBQUlDLGNBQWMsR0FBRyxLQUFyQjs7QUFDQSxRQUFJO0FBTUZGLE1BQUFBLElBQUksR0FBRyxzQkFBYUMsVUFBYixFQUF5QixNQUF6QixDQUFQO0FBQ0FDLE1BQUFBLGNBQWMsR0FBRyxJQUFqQjtBQUNELEtBUkQsQ0FRRSxPQUFPTixHQUFQLEVBQVk7QUFFWixVQUFJQSxHQUFHLENBQUNDLElBQUosS0FBYSxRQUFqQixFQUEyQjtBQUN6QixjQUFNRCxHQUFOO0FBQ0Q7QUFDRjs7QUFDRCxRQUFJO0FBQ0YsWUFBTU8sTUFBTSxHQUFHQyxJQUFJLENBQUNDLEtBQUwsQ0FBV0wsSUFBWCxDQUFmOztBQUNBLFVBQUksQ0FBQ00sZ0JBQUVDLGFBQUYsQ0FBZ0JKLE1BQWhCLENBQUwsRUFBOEI7QUFDNUIsY0FBTSxJQUFJSyxLQUFKLENBQ0gsSUFBR0YsZ0JBQUVHLFFBQUYsQ0FBV04sTUFBWCxFQUFtQjtBQUFDTyxVQUFBQSxNQUFNLEVBQUU7QUFBVCxTQUFuQixDQUFrQyxvQkFEbEMsQ0FBTjtBQUdEOztBQUNELGFBQU9QLE1BQVA7QUFDRCxLQVJELENBUUUsT0FBT1EsQ0FBUCxFQUFVO0FBQ1YsWUFBTUMsR0FBRyxHQUFHVixjQUFjLEdBQ3JCLDBCQUF5QkQsVUFBVyx3QkFEZixHQUVyQix5Q0FGTDtBQUdBLFlBQU0sSUFBSVksU0FBSixDQUFlLEdBQUVELEdBQUkscUJBQW9CRCxDQUFDLENBQUNaLE9BQVEsRUFBbkQsQ0FBTjtBQUNEO0FBQ0Y7QUFsRXlCLENBQXJCIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQHRzLWNoZWNrXG5cbmltcG9ydCB7IEFyZ3VtZW50VHlwZUVycm9yIH0gZnJvbSAnYXJncGFyc2UnO1xuaW1wb3J0IHsgcmVhZEZpbGVTeW5jIH0gZnJvbSAnZnMnO1xuaW1wb3J0IF8gZnJvbSAnbG9kYXNoJztcblxuLyoqXG4gKiBUaGlzIG1vZHVsZSBwcm92aWRlcyBjdXN0b20ga2V5d29yZHMgZm9yIEFwcGl1bSBzY2hlbWFzLCBhcyB3ZWxsIGFzXG4gKiBcInRyYW5zZm9ybWVyc1wiIChzZWUgYGFyZ1RyYW5zZm9ybWVyc2AgYmVsb3cpLlxuICpcbiAqIEN1c3RvbSBrZXl3b3JkcyBhcmUganVzdCBwcm9wZXJ0aWVzIHRoYXQgd2lsbCBhcHBlYXIgaW4gYSBzY2hlbWEgKGUuZy4sXG4gKiBgYXBwaXVtLWNvbmZpZy1zY2hlbWEuanNgKSBiZXlvbmQgd2hhdCB0aGUgSlNPTiBTY2hlbWEgc3BlYyBvZmZlcnMuICBUaGVzZVxuICogYXJlIHVzYWJsZSBieSBleHRlbnNpb25zLCBhcyB3ZWxsLlxuICovXG5cbi8qKlxuICogU3BsaXRzIGEgQ1NWIHN0cmluZyBpbnRvIGFuIGFycmF5XG4gKiBAcGFyYW0ge3N0cmluZ30gdmFsdWVcbiAqIEByZXR1cm5zIHtzdHJpbmdbXX1cbiAqL1xuZnVuY3Rpb24gcGFyc2VDc3ZMaW5lICh2YWx1ZSkge1xuICByZXR1cm4gdmFsdWVcbiAgICAuc3BsaXQoJywnKVxuICAgIC5tYXAoKHYpID0+IHYudHJpbSgpKVxuICAgIC5maWx0ZXIoQm9vbGVhbik7XG59XG5cbi8qKlxuICogU3BsaXQgYSBmaWxlIGJ5IG5ld2xpbmUgdGhlbiBjYWxscyB7QGxpbmsgcGFyc2VDc3ZMaW5lfSBvbiBlYWNoIGxpbmUuXG4gKiBAcGFyYW0ge3N0cmluZ30gdmFsdWVcbiAqIEByZXR1cm5zIHtzdHJpbmdbXX1cbiAqL1xuZnVuY3Rpb24gcGFyc2VDc3ZGaWxlICh2YWx1ZSkge1xuICByZXR1cm4gdmFsdWVcbiAgICAuc3BsaXQoL1xccj9cXG4vKVxuICAgIC5tYXAoKHYpID0+IHYudHJpbSgpKVxuICAgIC5maWx0ZXIoQm9vbGVhbilcbiAgICAuZmxhdE1hcChwYXJzZUNzdkxpbmUpO1xufVxuXG4vKipcbiAqIE5hbWVzcGFjZSBjb250YWluaW5nIF90cmFuc2Zvcm1lcnNfIGZvciBDTEkgYXJndW1lbnRzLiAgXCJWYWxpZGF0b3JzXCIgYW5kXG4gKiBcImZvcm1hdHRlcnNcIiBkbyBub3QgYWN0dWFsbHkgbW9kaWZ5IHRoZSB2YWx1ZSwgYnV0IHRoZXNlIGRvLlxuICpcbiAqIFVzZSBjYXNlIGlzIGZvciB3aGVuIHRoZSBjb25maWcgZmlsZSBjYW4gYWNjZXB0IGUuZy4sIGEgYHN0cmluZ1tdYCwgYnV0IHRoZVxuICogQ0xJIGNhbiBvbmx5IHRha2UgYSBgc3RyaW5nYCAoYXMgYGFyZ3BhcnNlYCBzZWVtcyB0byBiZSBsaW1pdGVkIGluIHRoYXRcbiAqIGZhc2hpb247IGl0IGFsc28gY2Fubm90IHVuZGVyc3RhbmQgYW4gYXJndW1lbnQgaGF2aW5nIG11bHRpcGxlIHR5cGVzKS5cbiAqXG4gKiBGb3IgZXhhbXBsZSwgdGhlIGBjc3ZgIHRyYW5zZm9ybSB0YWtlcyBhIGBzdHJpbmdgIGFuZCByZXR1cm5zIGEgYHN0cmluZ1tdYCBieVxuICogc3BsaXR0aW5nIGl0IGJ5IGNvbW1hLS1fb3JfIGlmIHRoYXQgYHN0cmluZ2AgaGFwcGVucyB0byBiZSBhXG4gKiBmaWxlcGF0aC0tcmVhZGluZyB0aGUgZmlsZSBhcyBhIGAuY3N2YC5cbiAqXG4gKiBUaGlzIGNvbnRhaW5zIHNvbWUgY29weS1wYXN0ZWQgY29kZSBmcm9tIGBsaWIvY2xpL3BhcnNlci1oZWxwZXJzLmpzYCwgd2hpY2ggd2FzXG4gKiBvYmxpdGVyYXRlZC5cbiAqL1xuZXhwb3J0IGNvbnN0IHRyYW5zZm9ybWVycyA9IHtcbiAgLyoqXG4gICAqIEdpdmVuIGEgQ1NWLXN0eWxlIHN0cmluZyBvciBwYXRobmFtZSwgcGFyc2UgaXQgaW50byBhbiBhcnJheS5cbiAgICogVGhlIGZpbGUgY2FuIGFsc28gYmUgc3BsaXQgb24gbmV3bGluZXMuXG4gICAqIEBwYXJhbSB7c3RyaW5nfSB2YWx1ZVxuICAgKiBAcmV0dXJucyB7c3RyaW5nW119XG4gICAqL1xuICBjc3Y6ICh2YWx1ZSkgPT4ge1xuICAgIGxldCBib2R5O1xuICAgIC8vIHNpbmNlIHRoaXMgdmFsdWUgY291bGQgYmUgYSBzaW5nbGUgc3RyaW5nIChubyBjb21tYXMpIF9vcl8gYSBwYXRobmFtZSwgd2Ugd2lsbCBuZWVkXG4gICAgLy8gdG8gYXR0ZW1wdCB0byBwYXJzZSBpdCBhcyBhIGZpbGUgX2ZpcnN0Xy5cbiAgICB0cnkge1xuICAgICAgYm9keSA9IHJlYWRGaWxlU3luYyh2YWx1ZSwgJ3V0ZjgnKTtcbiAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgIGlmIChlcnIuY29kZSAhPT0gJ0VOT0VOVCcpIHtcbiAgICAgICAgdGhyb3cgbmV3IEFyZ3VtZW50VHlwZUVycm9yKFxuICAgICAgICAgIGBDb3VsZCBub3QgcmVhZCBmaWxlICR7Ym9keX06ICR7ZXJyLm1lc3NhZ2V9YCxcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICB0cnkge1xuICAgICAgcmV0dXJuIGJvZHkgPyBwYXJzZUNzdkZpbGUoYm9keSkgOiBwYXJzZUNzdkxpbmUodmFsdWUpO1xuICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgdGhyb3cgbmV3IEFyZ3VtZW50VHlwZUVycm9yKFxuICAgICAgICAnTXVzdCBiZSBhIGNvbW1hLWRlbGltaXRlZCBzdHJpbmcsIGUuZy4sIFwiZm9vLGJhcixiYXpcIicsXG4gICAgICApO1xuICAgIH1cbiAgfSxcblxuICAvKipcbiAgICogUGFyc2UgYSBzdHJpbmcgd2hpY2ggY291bGQgYmUgYSBwYXRoIHRvIGEgSlNPTiBmaWxlIG9yIGEgSlNPTiBzdHJpbmcuXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBqc29uT3JQYXRoXG4gICAqIEByZXR1cm5zIHtvYmplY3R9XG4gICAqL1xuICBqc29uOiAoanNvbk9yUGF0aCkgPT4ge1xuICAgIGxldCBqc29uID0ganNvbk9yUGF0aDtcbiAgICBsZXQgbG9hZGVkRnJvbUZpbGUgPSBmYWxzZTtcbiAgICB0cnkge1xuICAgICAgLy8gdXNlIHN5bmNocm9ub3VzIGZpbGUgYWNjZXNzLCBhcyBgYXJncGFyc2VgIHByb3ZpZGVzIG5vIHdheSBvZiBlaXRoZXJcbiAgICAgIC8vIGF3YWl0aW5nIG9yIHVzaW5nIGNhbGxiYWNrcy4gVGhpcyBzdGVwIGhhcHBlbnMgaW4gc3RhcnR1cCwgaW4gd2hhdCBpc1xuICAgICAgLy8gZWZmZWN0aXZlbHkgY29tbWFuZC1saW5lIGNvZGUsIHNvIG5vdGhpbmcgaXMgYmxvY2tlZCBpbiB0ZXJtcyBvZlxuICAgICAgLy8gc2Vzc2lvbnMsIHNvIGhvbGRpbmcgdXAgdGhlIGV2ZW50IGxvb3AgZG9lcyBub3QgaW5jdXIgdGhlIHVzdWFsXG4gICAgICAvLyBkcmF3YmFja3MuXG4gICAgICBqc29uID0gcmVhZEZpbGVTeW5jKGpzb25PclBhdGgsICd1dGY4Jyk7XG4gICAgICBsb2FkZWRGcm9tRmlsZSA9IHRydWU7XG4gICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICAvLyB1bnJlYWRhYmxlIGZpbGVzIGRvbid0IGNvdW50Li4uIGJ1dCBvdGhlciBwcm9ibGVtcyBkby5cbiAgICAgIGlmIChlcnIuY29kZSAhPT0gJ0VOT0VOVCcpIHtcbiAgICAgICAgdGhyb3cgZXJyO1xuICAgICAgfVxuICAgIH1cbiAgICB0cnkge1xuICAgICAgY29uc3QgcmVzdWx0ID0gSlNPTi5wYXJzZShqc29uKTtcbiAgICAgIGlmICghXy5pc1BsYWluT2JqZWN0KHJlc3VsdCkpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAgIGAnJHtfLnRydW5jYXRlKHJlc3VsdCwge2xlbmd0aDogMTAwfSl9JyBpcyBub3QgYW4gb2JqZWN0YCxcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgY29uc3QgbXNnID0gbG9hZGVkRnJvbUZpbGVcbiAgICAgICAgPyBgVGhlIHByb3ZpZGVkIHZhbHVlIG9mICcke2pzb25PclBhdGh9JyBtdXN0IGJlIGEgdmFsaWQgSlNPTmBcbiAgICAgICAgOiBgVGhlIHByb3ZpZGVkIHZhbHVlIG11c3QgYmUgYSB2YWxpZCBKU09OYDtcbiAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoYCR7bXNnfS4gT3JpZ2luYWwgZXJyb3I6ICR7ZS5tZXNzYWdlfWApO1xuICAgIH1cbiAgfSxcbn07XG4iXSwiZmlsZSI6ImxpYi9zY2hlbWEvY2xpLXRyYW5zZm9ybWVycy5qcyIsInNvdXJjZVJvb3QiOiIuLi8uLi8uLiJ9
73
+ exports.transformers = transformers;
74
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2xpYi9zY2hlbWEvY2xpLXRyYW5zZm9ybWVycy5qcyJdLCJuYW1lcyI6WyJwYXJzZUNzdkxpbmUiLCJ2YWx1ZSIsInNwbGl0IiwibWFwIiwidiIsInRyaW0iLCJmaWx0ZXIiLCJCb29sZWFuIiwicGFyc2VDc3ZGaWxlIiwiZmxhdE1hcCIsInRyYW5zZm9ybWVycyIsImNzdiIsImJvZHkiLCJlcnIiLCJjb2RlIiwiQXJndW1lbnRUeXBlRXJyb3IiLCJtZXNzYWdlIiwianNvbiIsImpzb25PclBhdGgiLCJsb2FkZWRGcm9tRmlsZSIsInJlc3VsdCIsIkpTT04iLCJwYXJzZSIsIl8iLCJpc1BsYWluT2JqZWN0IiwiRXJyb3IiLCJ0cnVuY2F0ZSIsImxlbmd0aCIsImUiLCJtc2ciLCJUeXBlRXJyb3IiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0FBRUE7O0FBQ0E7O0FBQ0E7O0FBZ0JBLFNBQVNBLFlBQVQsQ0FBdUJDLEtBQXZCLEVBQThCO0FBQzVCLFNBQU9BLEtBQUssQ0FDVEMsS0FESSxDQUNFLEdBREYsRUFFSkMsR0FGSSxDQUVDQyxDQUFELElBQU9BLENBQUMsQ0FBQ0MsSUFBRixFQUZQLEVBR0pDLE1BSEksQ0FHR0MsT0FISCxDQUFQO0FBSUQ7O0FBT0QsU0FBU0MsWUFBVCxDQUF1QlAsS0FBdkIsRUFBOEI7QUFDNUIsU0FBT0EsS0FBSyxDQUNUQyxLQURJLENBQ0UsT0FERixFQUVKQyxHQUZJLENBRUNDLENBQUQsSUFBT0EsQ0FBQyxDQUFDQyxJQUFGLEVBRlAsRUFHSkMsTUFISSxDQUdHQyxPQUhILEVBSUpFLE9BSkksQ0FJSVQsWUFKSixDQUFQO0FBS0Q7O0FBaUJNLE1BQU1VLFlBQVksR0FBRztBQU8xQkMsRUFBQUEsR0FBRyxFQUFHVixLQUFELElBQVc7QUFDZCxRQUFJVyxJQUFKOztBQUdBLFFBQUk7QUFDRkEsTUFBQUEsSUFBSSxHQUFHLHNCQUFhWCxLQUFiLEVBQW9CLE1BQXBCLENBQVA7QUFDRCxLQUZELENBRUUsT0FBT1ksR0FBUCxFQUFZO0FBQ1osVUFBSUEsR0FBRyxDQUFDQyxJQUFKLEtBQWEsUUFBakIsRUFBMkI7QUFDekIsY0FBTSxJQUFJQywyQkFBSixDQUNILHVCQUFzQkgsSUFBSyxLQUFJQyxHQUFHLENBQUNHLE9BQVEsRUFEeEMsQ0FBTjtBQUdEO0FBQ0Y7O0FBRUQsUUFBSTtBQUNGLGFBQU9KLElBQUksR0FBR0osWUFBWSxDQUFDSSxJQUFELENBQWYsR0FBd0JaLFlBQVksQ0FBQ0MsS0FBRCxDQUEvQztBQUNELEtBRkQsQ0FFRSxPQUFPWSxHQUFQLEVBQVk7QUFDWixZQUFNLElBQUlFLDJCQUFKLENBQ0osdURBREksQ0FBTjtBQUdEO0FBQ0YsR0E1QnlCO0FBbUMxQkUsRUFBQUEsSUFBSSxFQUFHQyxVQUFELElBQWdCO0FBQ3BCLFFBQUlELElBQUksR0FBR0MsVUFBWDtBQUNBLFFBQUlDLGNBQWMsR0FBRyxLQUFyQjs7QUFDQSxRQUFJO0FBTUZGLE1BQUFBLElBQUksR0FBRyxzQkFBYUMsVUFBYixFQUF5QixNQUF6QixDQUFQO0FBQ0FDLE1BQUFBLGNBQWMsR0FBRyxJQUFqQjtBQUNELEtBUkQsQ0FRRSxPQUFPTixHQUFQLEVBQVk7QUFFWixVQUFJQSxHQUFHLENBQUNDLElBQUosS0FBYSxRQUFqQixFQUEyQjtBQUN6QixjQUFNRCxHQUFOO0FBQ0Q7QUFDRjs7QUFDRCxRQUFJO0FBQ0YsWUFBTU8sTUFBTSxHQUFHQyxJQUFJLENBQUNDLEtBQUwsQ0FBV0wsSUFBWCxDQUFmOztBQUNBLFVBQUksQ0FBQ00sZ0JBQUVDLGFBQUYsQ0FBZ0JKLE1BQWhCLENBQUwsRUFBOEI7QUFDNUIsY0FBTSxJQUFJSyxLQUFKLENBQ0gsSUFBR0YsZ0JBQUVHLFFBQUYsQ0FBV04sTUFBWCxFQUFtQjtBQUFDTyxVQUFBQSxNQUFNLEVBQUU7QUFBVCxTQUFuQixDQUFrQyxvQkFEbEMsQ0FBTjtBQUdEOztBQUNELGFBQU9QLE1BQVA7QUFDRCxLQVJELENBUUUsT0FBT1EsQ0FBUCxFQUFVO0FBQ1YsWUFBTUMsR0FBRyxHQUFHVixjQUFjLEdBQ3JCLDBCQUF5QkQsVUFBVyx3QkFEZixHQUVyQix5Q0FGTDtBQUdBLFlBQU0sSUFBSVksU0FBSixDQUFlLEdBQUVELEdBQUkscUJBQW9CRCxDQUFDLENBQUNaLE9BQVEsRUFBbkQsQ0FBTjtBQUNEO0FBQ0Y7QUFsRXlCLENBQXJCIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQHRzLWNoZWNrXG5cbmltcG9ydCB7IEFyZ3VtZW50VHlwZUVycm9yIH0gZnJvbSAnYXJncGFyc2UnO1xuaW1wb3J0IHsgcmVhZEZpbGVTeW5jIH0gZnJvbSAnZnMnO1xuaW1wb3J0IF8gZnJvbSAnbG9kYXNoJztcblxuLyoqXG4gKiBUaGlzIG1vZHVsZSBwcm92aWRlcyBjdXN0b20ga2V5d29yZHMgZm9yIEFwcGl1bSBzY2hlbWFzLCBhcyB3ZWxsIGFzXG4gKiBcInRyYW5zZm9ybWVyc1wiIChzZWUgYGFyZ1RyYW5zZm9ybWVyc2AgYmVsb3cpLlxuICpcbiAqIEN1c3RvbSBrZXl3b3JkcyBhcmUganVzdCBwcm9wZXJ0aWVzIHRoYXQgd2lsbCBhcHBlYXIgaW4gYSBzY2hlbWEgKGUuZy4sXG4gKiBgYXBwaXVtLWNvbmZpZy1zY2hlbWEuanNgKSBiZXlvbmQgd2hhdCB0aGUgSlNPTiBTY2hlbWEgc3BlYyBvZmZlcnMuICBUaGVzZVxuICogYXJlIHVzYWJsZSBieSBleHRlbnNpb25zLCBhcyB3ZWxsLlxuICovXG5cbi8qKlxuICogU3BsaXRzIGEgQ1NWIHN0cmluZyBpbnRvIGFuIGFycmF5XG4gKiBAcGFyYW0ge3N0cmluZ30gdmFsdWVcbiAqIEByZXR1cm5zIHtzdHJpbmdbXX1cbiAqL1xuZnVuY3Rpb24gcGFyc2VDc3ZMaW5lICh2YWx1ZSkge1xuICByZXR1cm4gdmFsdWVcbiAgICAuc3BsaXQoJywnKVxuICAgIC5tYXAoKHYpID0+IHYudHJpbSgpKVxuICAgIC5maWx0ZXIoQm9vbGVhbik7XG59XG5cbi8qKlxuICogU3BsaXQgYSBmaWxlIGJ5IG5ld2xpbmUgdGhlbiBjYWxscyB7QGxpbmsgcGFyc2VDc3ZMaW5lfSBvbiBlYWNoIGxpbmUuXG4gKiBAcGFyYW0ge3N0cmluZ30gdmFsdWVcbiAqIEByZXR1cm5zIHtzdHJpbmdbXX1cbiAqL1xuZnVuY3Rpb24gcGFyc2VDc3ZGaWxlICh2YWx1ZSkge1xuICByZXR1cm4gdmFsdWVcbiAgICAuc3BsaXQoL1xccj9cXG4vKVxuICAgIC5tYXAoKHYpID0+IHYudHJpbSgpKVxuICAgIC5maWx0ZXIoQm9vbGVhbilcbiAgICAuZmxhdE1hcChwYXJzZUNzdkxpbmUpO1xufVxuXG4vKipcbiAqIE5hbWVzcGFjZSBjb250YWluaW5nIF90cmFuc2Zvcm1lcnNfIGZvciBDTEkgYXJndW1lbnRzLiAgXCJWYWxpZGF0b3JzXCIgYW5kXG4gKiBcImZvcm1hdHRlcnNcIiBkbyBub3QgYWN0dWFsbHkgbW9kaWZ5IHRoZSB2YWx1ZSwgYnV0IHRoZXNlIGRvLlxuICpcbiAqIFVzZSBjYXNlIGlzIGZvciB3aGVuIHRoZSBjb25maWcgZmlsZSBjYW4gYWNjZXB0IGUuZy4sIGEgYHN0cmluZ1tdYCwgYnV0IHRoZVxuICogQ0xJIGNhbiBvbmx5IHRha2UgYSBgc3RyaW5nYCAoYXMgYGFyZ3BhcnNlYCBzZWVtcyB0byBiZSBsaW1pdGVkIGluIHRoYXRcbiAqIGZhc2hpb247IGl0IGFsc28gY2Fubm90IHVuZGVyc3RhbmQgYW4gYXJndW1lbnQgaGF2aW5nIG11bHRpcGxlIHR5cGVzKS5cbiAqXG4gKiBGb3IgZXhhbXBsZSwgdGhlIGBjc3ZgIHRyYW5zZm9ybSB0YWtlcyBhIGBzdHJpbmdgIGFuZCByZXR1cm5zIGEgYHN0cmluZ1tdYCBieVxuICogc3BsaXR0aW5nIGl0IGJ5IGNvbW1hLS1fb3JfIGlmIHRoYXQgYHN0cmluZ2AgaGFwcGVucyB0byBiZSBhXG4gKiBmaWxlcGF0aC0tcmVhZGluZyB0aGUgZmlsZSBhcyBhIGAuY3N2YC5cbiAqXG4gKiBUaGlzIGNvbnRhaW5zIHNvbWUgY29weS1wYXN0ZWQgY29kZSBmcm9tIGBsaWIvY2xpL3BhcnNlci1oZWxwZXJzLmpzYCwgd2hpY2ggd2FzXG4gKiBvYmxpdGVyYXRlZC5cbiAqL1xuZXhwb3J0IGNvbnN0IHRyYW5zZm9ybWVycyA9IHtcbiAgLyoqXG4gICAqIEdpdmVuIGEgQ1NWLXN0eWxlIHN0cmluZyBvciBwYXRobmFtZSwgcGFyc2UgaXQgaW50byBhbiBhcnJheS5cbiAgICogVGhlIGZpbGUgY2FuIGFsc28gYmUgc3BsaXQgb24gbmV3bGluZXMuXG4gICAqIEBwYXJhbSB7c3RyaW5nfSB2YWx1ZVxuICAgKiBAcmV0dXJucyB7c3RyaW5nW119XG4gICAqL1xuICBjc3Y6ICh2YWx1ZSkgPT4ge1xuICAgIGxldCBib2R5O1xuICAgIC8vIHNpbmNlIHRoaXMgdmFsdWUgY291bGQgYmUgYSBzaW5nbGUgc3RyaW5nIChubyBjb21tYXMpIF9vcl8gYSBwYXRobmFtZSwgd2Ugd2lsbCBuZWVkXG4gICAgLy8gdG8gYXR0ZW1wdCB0byBwYXJzZSBpdCBhcyBhIGZpbGUgX2ZpcnN0Xy5cbiAgICB0cnkge1xuICAgICAgYm9keSA9IHJlYWRGaWxlU3luYyh2YWx1ZSwgJ3V0ZjgnKTtcbiAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgIGlmIChlcnIuY29kZSAhPT0gJ0VOT0VOVCcpIHtcbiAgICAgICAgdGhyb3cgbmV3IEFyZ3VtZW50VHlwZUVycm9yKFxuICAgICAgICAgIGBDb3VsZCBub3QgcmVhZCBmaWxlICR7Ym9keX06ICR7ZXJyLm1lc3NhZ2V9YCxcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICB0cnkge1xuICAgICAgcmV0dXJuIGJvZHkgPyBwYXJzZUNzdkZpbGUoYm9keSkgOiBwYXJzZUNzdkxpbmUodmFsdWUpO1xuICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgdGhyb3cgbmV3IEFyZ3VtZW50VHlwZUVycm9yKFxuICAgICAgICAnTXVzdCBiZSBhIGNvbW1hLWRlbGltaXRlZCBzdHJpbmcsIGUuZy4sIFwiZm9vLGJhcixiYXpcIicsXG4gICAgICApO1xuICAgIH1cbiAgfSxcblxuICAvKipcbiAgICogUGFyc2UgYSBzdHJpbmcgd2hpY2ggY291bGQgYmUgYSBwYXRoIHRvIGEgSlNPTiBmaWxlIG9yIGEgSlNPTiBzdHJpbmcuXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBqc29uT3JQYXRoXG4gICAqIEByZXR1cm5zIHtvYmplY3R9XG4gICAqL1xuICBqc29uOiAoanNvbk9yUGF0aCkgPT4ge1xuICAgIGxldCBqc29uID0ganNvbk9yUGF0aDtcbiAgICBsZXQgbG9hZGVkRnJvbUZpbGUgPSBmYWxzZTtcbiAgICB0cnkge1xuICAgICAgLy8gdXNlIHN5bmNocm9ub3VzIGZpbGUgYWNjZXNzLCBhcyBgYXJncGFyc2VgIHByb3ZpZGVzIG5vIHdheSBvZiBlaXRoZXJcbiAgICAgIC8vIGF3YWl0aW5nIG9yIHVzaW5nIGNhbGxiYWNrcy4gVGhpcyBzdGVwIGhhcHBlbnMgaW4gc3RhcnR1cCwgaW4gd2hhdCBpc1xuICAgICAgLy8gZWZmZWN0aXZlbHkgY29tbWFuZC1saW5lIGNvZGUsIHNvIG5vdGhpbmcgaXMgYmxvY2tlZCBpbiB0ZXJtcyBvZlxuICAgICAgLy8gc2Vzc2lvbnMsIHNvIGhvbGRpbmcgdXAgdGhlIGV2ZW50IGxvb3AgZG9lcyBub3QgaW5jdXIgdGhlIHVzdWFsXG4gICAgICAvLyBkcmF3YmFja3MuXG4gICAgICBqc29uID0gcmVhZEZpbGVTeW5jKGpzb25PclBhdGgsICd1dGY4Jyk7XG4gICAgICBsb2FkZWRGcm9tRmlsZSA9IHRydWU7XG4gICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICAvLyB1bnJlYWRhYmxlIGZpbGVzIGRvbid0IGNvdW50Li4uIGJ1dCBvdGhlciBwcm9ibGVtcyBkby5cbiAgICAgIGlmIChlcnIuY29kZSAhPT0gJ0VOT0VOVCcpIHtcbiAgICAgICAgdGhyb3cgZXJyO1xuICAgICAgfVxuICAgIH1cbiAgICB0cnkge1xuICAgICAgY29uc3QgcmVzdWx0ID0gSlNPTi5wYXJzZShqc29uKTtcbiAgICAgIGlmICghXy5pc1BsYWluT2JqZWN0KHJlc3VsdCkpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAgIGAnJHtfLnRydW5jYXRlKHJlc3VsdCwge2xlbmd0aDogMTAwfSl9JyBpcyBub3QgYW4gb2JqZWN0YCxcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgY29uc3QgbXNnID0gbG9hZGVkRnJvbUZpbGVcbiAgICAgICAgPyBgVGhlIHByb3ZpZGVkIHZhbHVlIG9mICcke2pzb25PclBhdGh9JyBtdXN0IGJlIGEgdmFsaWQgSlNPTmBcbiAgICAgICAgOiBgVGhlIHByb3ZpZGVkIHZhbHVlIG11c3QgYmUgYSB2YWxpZCBKU09OYDtcbiAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoYCR7bXNnfS4gT3JpZ2luYWwgZXJyb3I6ICR7ZS5tZXNzYWdlfWApO1xuICAgIH1cbiAgfSxcbn07XG4iXX0=
@@ -30,7 +30,5 @@ Object.keys(_cliArgs).forEach(function (key) {
30
30
  return _cliArgs[key];
31
31
  }
32
32
  });
33
- });require('source-map-support').install();
34
-
35
-
36
- //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImxpYi9zY2hlbWEvaW5kZXguanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFBQTs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTs7QUFDQTs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vc2NoZW1hJztcbmV4cG9ydCAqIGZyb20gJy4vY2xpLWFyZ3MnO1xuIl0sImZpbGUiOiJsaWIvc2NoZW1hL2luZGV4LmpzIiwic291cmNlUm9vdCI6Ii4uLy4uLy4uIn0=
33
+ });
34
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2xpYi9zY2hlbWEvaW5kZXguanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFBQTs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTs7QUFDQTs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vc2NoZW1hJztcbmV4cG9ydCAqIGZyb20gJy4vY2xpLWFyZ3MnO1xuIl19
@@ -66,7 +66,5 @@ const keywords = {
66
66
  }
67
67
  }
68
68
  };
69
- exports.keywords = keywords;require('source-map-support').install();
70
-
71
-
72
- //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImxpYi9zY2hlbWEva2V5d29yZHMuanMiXSwibmFtZXMiOlsia2V5d29yZHMiLCJhcHBpdW1DbGlBbGlhc2VzIiwia2V5d29yZCIsIm1ldGFTY2hlbWEiLCJ0eXBlIiwiaXRlbXMiLCJtaW5MZW5ndGgiLCJtaW5JdGVtcyIsInVuaXF1ZUl0ZW1zIiwiZGVzY3JpcHRpb24iLCJhcHBpdW1DbGlEZXN0IiwiYXBwaXVtQ2xpRGVzY3JpcHRpb24iLCJzY2hlbWFUeXBlIiwiYXBwaXVtQ2xpVHJhbnNmb3JtZXIiLCJlbnVtIiwiT2JqZWN0Iiwia2V5cyIsInRyYW5zZm9ybWVycyIsImFwcGl1bUNsaUlnbm9yZWQiLCJhcHBpdW1EZXByZWNhdGVkIiwiJGNvbW1lbnQiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUVBOztBQU1PLE1BQU1BLFFBQVEsR0FBRztBQVl0QkMsRUFBQUEsZ0JBQWdCLEVBQUU7QUFDaEJDLElBQUFBLE9BQU8sRUFBRSxrQkFETztBQUVoQkMsSUFBQUEsVUFBVSxFQUFFO0FBQ1ZDLE1BQUFBLElBQUksRUFBRSxPQURJO0FBRVZDLE1BQUFBLEtBQUssRUFBRTtBQUNMRCxRQUFBQSxJQUFJLEVBQUUsUUFERDtBQUVMRSxRQUFBQSxTQUFTLEVBQUU7QUFGTixPQUZHO0FBTVZDLE1BQUFBLFFBQVEsRUFBRSxDQU5BO0FBT1ZDLE1BQUFBLFdBQVcsRUFBRSxJQVBIO0FBUVZDLE1BQUFBLFdBQVcsRUFBRTtBQVJIO0FBRkksR0FaSTtBQW1DdEJDLEVBQUFBLGFBQWEsRUFBRTtBQUNiUixJQUFBQSxPQUFPLEVBQUUsZUFESTtBQUViQyxJQUFBQSxVQUFVLEVBQUU7QUFDVkMsTUFBQUEsSUFBSSxFQUFFLFFBREk7QUFFVkUsTUFBQUEsU0FBUyxFQUFFLENBRkQ7QUFHVkcsTUFBQUEsV0FBVyxFQUFFO0FBSEg7QUFGQyxHQW5DTztBQW9EdEJFLEVBQUFBLG9CQUFvQixFQUFFO0FBQ3BCVCxJQUFBQSxPQUFPLEVBQUUsc0JBRFc7QUFFcEJVLElBQUFBLFVBQVUsRUFBRSxRQUZRO0FBR3BCVCxJQUFBQSxVQUFVLEVBQUU7QUFDVkMsTUFBQUEsSUFBSSxFQUFFLFFBREk7QUFFVkUsTUFBQUEsU0FBUyxFQUFFLENBRkQ7QUFHVkcsTUFBQUEsV0FBVyxFQUFFO0FBSEg7QUFIUSxHQXBEQTtBQW1FdEJJLEVBQUFBLG9CQUFvQixFQUFFO0FBQ3BCWCxJQUFBQSxPQUFPLEVBQUUsc0JBRFc7QUFFcEJDLElBQUFBLFVBQVUsRUFBRTtBQUNWQyxNQUFBQSxJQUFJLEVBQUUsUUFESTtBQUVWVSxNQUFBQSxJQUFJLEVBQUVDLE1BQU0sQ0FBQ0MsSUFBUCxDQUFZQyw2QkFBWixDQUZJO0FBR1ZSLE1BQUFBLFdBQVcsRUFBRTtBQUhIO0FBRlEsR0FuRUE7QUFnRnRCUyxFQUFBQSxnQkFBZ0IsRUFBRTtBQUNoQmhCLElBQUFBLE9BQU8sRUFBRSxrQkFETztBQUVoQkMsSUFBQUEsVUFBVSxFQUFFO0FBQ1ZDLE1BQUFBLElBQUksRUFBRSxTQURJO0FBRVZLLE1BQUFBLFdBQVcsRUFBRSxrSEFGSDtBQUdWSyxNQUFBQSxJQUFJLEVBQUUsQ0FBQyxJQUFEO0FBSEk7QUFGSSxHQWhGSTtBQTZGdEJLLEVBQUFBLGdCQUFnQixFQUFFO0FBQ2hCakIsSUFBQUEsT0FBTyxFQUFFLGtCQURPO0FBRWhCQyxJQUFBQSxVQUFVLEVBQUU7QUFDVkMsTUFBQUEsSUFBSSxFQUFFLFNBREk7QUFFVkssTUFBQUEsV0FBVyxFQUFFLHdFQUZIO0FBR1ZLLE1BQUFBLElBQUksRUFBRSxDQUFDLElBQUQsQ0FISTtBQUlWTSxNQUFBQSxRQUFRLEVBQUU7QUFKQTtBQUZJO0FBN0ZJLENBQWpCIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQHRzLWNoZWNrXG5cbmltcG9ydCB7IHRyYW5zZm9ybWVycyB9IGZyb20gJy4vY2xpLXRyYW5zZm9ybWVycyc7XG5cbi8qKlxuICogQ29sbGVjdGlvbiBvZiBrZXl3b3JkIGRlZmluaXRpb25zIHRvIGFkZCB0byB0aGUgc2luZ2xldG9uIGBBanZgIGluc3RhbmNlLlxuICogQHR5cGUge1JlY29yZDxzdHJpbmcsS2V5d29yZERlZmluaXRpb24+fVxuICovXG5leHBvcnQgY29uc3Qga2V5d29yZHMgPSB7XG4gIC8qKlxuICAgKiBLZXl3b3JkIHRvIHByb3ZpZGUgYSBsaXN0IG9mIGNvbW1hbmQgYWxpYXMgbmFtZXMgZm9yIHRoZSBDTEkuXG4gICAqXG4gICAqIElmIGRlZmluZWQsIHRoZXJlIG11c3QgYmUgYXQgbGVhc3Qgb25lIGl0ZW0gaW4gdGhlIGFycmF5IGFuZCBpdCBtdXN0IGJlIG5vbi1lbXB0eS5cbiAgICogQWxsIGl0ZW1zIGluIHRoZSBhcnJheSBtdXN0IGJlIHVuaXF1ZS5cbiAgICpcbiAgICogQHRvZG8gQXZvaWQgYWxpYXMgY29sbGlzaW9ucyFcbiAgICogQHR5cGUge0tleXdvcmREZWZpbml0aW9ufVxuICAgKiBAZXhhbXBsZVxuICAgKiB7YXBwaXVtQ2xpQWxpYXNlczogWydCJywgJ2JvYmJ5JywgJ3JvYmVydCddfVxuICAgKi9cbiAgYXBwaXVtQ2xpQWxpYXNlczoge1xuICAgIGtleXdvcmQ6ICdhcHBpdW1DbGlBbGlhc2VzJyxcbiAgICBtZXRhU2NoZW1hOiB7XG4gICAgICB0eXBlOiAnYXJyYXknLFxuICAgICAgaXRlbXM6IHtcbiAgICAgICAgdHlwZTogJ3N0cmluZycsXG4gICAgICAgIG1pbkxlbmd0aDogMSxcbiAgICAgIH0sXG4gICAgICBtaW5JdGVtczogMSxcbiAgICAgIHVuaXF1ZUl0ZW1zOiB0cnVlLFxuICAgICAgZGVzY3JpcHRpb246ICdMaXN0IG9mIGFsaWFzZXMgZm9yIHRoZSBhcmd1bWVudC4gQWxpYXNlcyBzaG9ydGVyIHRoYW4gdGhyZWUgKDMpIGNoYXJhY3RlcnMgd2lsbCBiZSBwcmVmaXhlZCB3aXRoIGEgc2luZ2xlIGRhc2g7IG90aGVyd2lzZSB0d28gKDIpLidcbiAgICB9LFxuICB9LFxuICAvKipcbiAgICogS2V5d29yZCB0byBwcm92aWRlIHRoZSBuYW1lIG9mIHRoZSBwcm9wZXJ0eSBpbiB0aGUgZGVzdGluYXRpb24gKHBhcnNlZFxuICAgKiBhcmdzKSBvYmplY3QuIEJ5IGRlZmF1bHQsIHRoaXMgdmFsdWUgd2lsbCBiZSB3aGF0ZXZlciB0aGUgcHJvcGVydHkgbmFtZSBpcyxcbiAgICogYnV0IGNhbWVsLWNhc2VkLiBJZiBhIGZsYWcgbmVlZHMgc29tZXRoaW5nIF9vdGhlcl8gdGhhbiBqdXN0IGNhbWVsLWNhc2luZyxcbiAgICogdXNlIHRoaXMuXG4gICAqIEB0eXBlIHtLZXl3b3JkRGVmaW5pdGlvbn1cbiAgICogQGV4YW1wbGVcbiAgICogLy8gZm9yIHByb3AgJ25vLWNvbG9yJ1xuICAgKiB7YXBwaXVtQ2xpRGVzdDogJ05PQ09MT1InfSAvLyB2YWx1ZSB3aWxsIGJlIHN0b3JlZCBhcyBwcm9wZXJ0eSBgTk9DT0xPUmAgaW5zdGVhZCBvZiBgbm9Db2xvcmBcbiAgICovXG4gIGFwcGl1bUNsaURlc3Q6IHtcbiAgICBrZXl3b3JkOiAnYXBwaXVtQ2xpRGVzdCcsXG4gICAgbWV0YVNjaGVtYToge1xuICAgICAgdHlwZTogJ3N0cmluZycsXG4gICAgICBtaW5MZW5ndGg6IDEsXG4gICAgICBkZXNjcmlwdGlvbjogJ05hbWUgb2YgdGhlIGFzc29jaWF0ZWQgcHJvcGVydHkgaW4gdGhlIHBhcnNlZCBDTEkgYXJndW1lbnRzIG9iamVjdCdcbiAgICB9LFxuICB9LFxuXG4gIC8qKlxuICAgKiBDTEktc3BlY2lmaWMgZGVzY3JpcHRpb24gb2YgdGhlIHByb3BlcnR5LiAgU29tZXRpbWVzIHRoZSBhbGxvd2VkIHR5cGUgY2FuXG4gICAqIGJlIGRpZmZlcmVudCBlbm91Z2ggb24gdGhlIENMSSB0aGF0IHByb3ZpZGluZyBhIGRlc2NyaXB0aW9uIHdyaXR0ZW4gZm9yIGFcbiAgICogY29uZmlnIGZpbGUgY29udGV4dCB3b3VsZG4ndCBtYWtlIHNlbnNlLlxuICAgKiBAdHlwZSB7S2V5d29yZERlZmluaXRpb259XG4gICAqIEBleGFtcGxlXG4gICAqIHthcHBpdW1DbGlEZXNjcmlwdGlvbjogJ1RoaXMgaXMgYSBjb21tYS1kZWxpbWl0ZWQgc3RyaW5nLCBidXQgaW4gdGhlIGNvbmZpZyBmaWxlIGl0IGlzIGFuIGFycmF5J31cbiAgICovXG4gIGFwcGl1bUNsaURlc2NyaXB0aW9uOiB7XG4gICAga2V5d29yZDogJ2FwcGl1bUNsaURlc2NyaXB0aW9uJyxcbiAgICBzY2hlbWFUeXBlOiAnc3RyaW5nJyxcbiAgICBtZXRhU2NoZW1hOiB7XG4gICAgICB0eXBlOiAnc3RyaW5nJyxcbiAgICAgIG1pbkxlbmd0aDogMSxcbiAgICAgIGRlc2NyaXB0aW9uOiAnRGVzY3JpcHRpb24gdG8gcHJvdmlkZSBpbiB0aGUgLS1oZWxwIHRleHQgb2YgdGhlIENMSS4gT3ZlcnJpZGVzIGBkZXNjcmlwdGlvbmAnXG4gICAgfSxcbiAgfSxcblxuICAvKipcbiAgICogVHJhbnNmb3JtZXJzIGZvciBDTEkgYXJncy4gVGhlc2UgdXN1YWxseSB0YWtlIHN0cmluZ3MgdGhlbiBkbyBzb21ldGhpbmcgd2l0aCB0aGVtLCBsaWtlXG4gICAqIHJlYWQgYSBmaWxlIG9yIHBhcnNlIGZ1cnRoZXIuXG4gICAqIEB0eXBlIHtLZXl3b3JkRGVmaW5pdGlvbn1cbiAgICovXG4gIGFwcGl1bUNsaVRyYW5zZm9ybWVyOiB7XG4gICAga2V5d29yZDogJ2FwcGl1bUNsaVRyYW5zZm9ybWVyJyxcbiAgICBtZXRhU2NoZW1hOiB7XG4gICAgICB0eXBlOiAnc3RyaW5nJyxcbiAgICAgIGVudW06IE9iamVjdC5rZXlzKHRyYW5zZm9ybWVycyksXG4gICAgICBkZXNjcmlwdGlvbjogJ1RoZSBuYW1lIG9mIGEgY3VzdG9tIHRyYW5zZm9ybWVyIHRvIHJ1biBhZ2FpbnN0IHRoZSB2YWx1ZSBhcyBwcm92aWRlZCB2aWEgdGhlIENMSS4nXG4gICAgfSxcbiAgfSxcblxuICAvKipcbiAgICogRmxhZyB0byB0ZWxsIEFwcGl1bSB0byBfbm90XyBwcm92aWRlIHRoaXMgcHJvcGVydHkgYXMgYSBDTEkgYXJndW1lbnQuXG4gICAqIEB0eXBlIHtLZXl3b3JkRGVmaW5pdGlvbn1cbiAgICovXG4gIGFwcGl1bUNsaUlnbm9yZWQ6IHtcbiAgICBrZXl3b3JkOiAnYXBwaXVtQ2xpSWdub3JlZCcsXG4gICAgbWV0YVNjaGVtYToge1xuICAgICAgdHlwZTogJ2Jvb2xlYW4nLFxuICAgICAgZGVzY3JpcHRpb246ICdJZiBgdHJ1ZWAsIEFwcGl1bSB3aWxsIG5vdCBwcm92aWRlIHRoaXMgcHJvcGVydHkgYXMgYSBDTEkgYXJndW1lbnQuIFRoaXMgaXMgTk9UIHRoZSBzYW1lIGFzIGEgXCJoaWRkZW5cIiBhcmd1bWVudC4nLFxuICAgICAgZW51bTogW3RydWVdXG4gICAgfVxuICB9LFxuXG4gIC8qKlxuICAgKiBNYXJrIHRoaXMgcHJvcGVydHkgYXMgZGVwcmVjYXRlZC5cbiAgICogQHR5cGUge0tleXdvcmREZWZpbml0aW9ufVxuICAgKi9cbiAgYXBwaXVtRGVwcmVjYXRlZDoge1xuICAgIGtleXdvcmQ6ICdhcHBpdW1EZXByZWNhdGVkJyxcbiAgICBtZXRhU2NoZW1hOiB7XG4gICAgICB0eXBlOiAnYm9vbGVhbicsXG4gICAgICBkZXNjcmlwdGlvbjogJ0lmIGB0cnVlYCwgdGhpcyBwcm9wZXJ0eSB3aWxsIGJlIGRpc3BsYXllZCBhcyBcImRlcHJlY2F0ZWRcIiB0byB0aGUgdXNlcicsXG4gICAgICBlbnVtOiBbdHJ1ZV0sXG4gICAgICAkY29tbWVudDogJ0pTT04gc2NoZW1hIGRyYWZ0LTIwMTktMDkga2V5d29yZCBgZGVwcmVjYXRlZGAgc2VydmVzIHRoZSBzYW1lIHB1cnBvc2UuIFRoaXMga2V5d29yZCBzaG91bGQgaXRzZWxmIGJlIGRlcHJlY2F0ZWQgaWYgd2UgbW92ZSB0byBkcmFmdC0yMDE5LTA5ISdcbiAgICB9XG4gIH1cbn07XG5cbi8qKlxuICogVGhlc2UgYXJlIHRoZSB2YWxpZCB2YWx1ZXMgZm9yIHRoZSBgYXBwaXVtQ2xpVHJhbnNmb3JtZXJgIGtleXdvcmQuXG4gKiBVbmZvcnR1bmF0ZWx5LCBUUyBjYW5ub3QgaW5mZXIgdGhpcyBpbiBhIEpTIGNvbnRleHQuICBJbiBUUywgd2UnZCB1c2VcbiAqIGBhcyBjb25zdGAgd2hlbiBkZWZpbmluZyBgYXJnVHJhbnNmb3JtZXJzYCwgdGhlbiBnZXQgYGtleW9mIHR5cGVvZiBhcmdUcmFuc2Zvcm1lcnNgLiBhbGFzLlxuICogQHR5cGVkZWYgeydjc3YnfCdqc29uJ30gQXBwaXVtQ2xpVHJhbnNmb3JtZXJOYW1lXG4gKi9cblxuLyoqXG4gKiBUaGVzZSBhcmUgdGhlIGN1c3RvbSBrZXl3b3JkcyB0aGF0IEFwcGl1bSByZWNvZ25pemVzLlxuICpcbiAqIEB0eXBlZGVmIHtPYmplY3R9IEFwcGl1bUpTT05TY2hlbWFLZXl3b3Jkc1xuICogQHByb3BlcnR5IHtzdHJpbmd9IFthcHBpdW1DbGlEZXN0XVxuICogQHByb3BlcnR5IHtzdHJpbmd9IFthcHBpdW1DbGlEZXNjcmlwdGlvbl1cbiAqIEBwcm9wZXJ0eSB7c3RyaW5nW119IFthcHBpdW1DbGlBbGlhc2VzXVxuICogQHByb3BlcnR5IHtib29sZWFufSBbYXBwaXVtQ2xpSWdub3JlZF1cbiAqIEBwcm9wZXJ0eSB7QXBwaXVtQ2xpVHJhbnNmb3JtZXJOYW1lfSBbYXBwaXVtQ2xpVHJhbnNmb3JtZXJdXG4gKiBAcHJvcGVydHkge2Jvb2xlYW59IFthcHBpdW1EZXByZWNhdGVkXVxuICovXG5cblxuLyoqXG4gKiBAdHlwZWRlZiB7aW1wb3J0KCdhanYnKS5LZXl3b3JkRGVmaW5pdGlvbn0gS2V5d29yZERlZmluaXRpb25cbiAqL1xuIl0sImZpbGUiOiJsaWIvc2NoZW1hL2tleXdvcmRzLmpzIiwic291cmNlUm9vdCI6Ii4uLy4uLy4uIn0=
69
+ exports.keywords = keywords;
70
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2xpYi9zY2hlbWEva2V5d29yZHMuanMiXSwibmFtZXMiOlsia2V5d29yZHMiLCJhcHBpdW1DbGlBbGlhc2VzIiwia2V5d29yZCIsIm1ldGFTY2hlbWEiLCJ0eXBlIiwiaXRlbXMiLCJtaW5MZW5ndGgiLCJtaW5JdGVtcyIsInVuaXF1ZUl0ZW1zIiwiZGVzY3JpcHRpb24iLCJhcHBpdW1DbGlEZXN0IiwiYXBwaXVtQ2xpRGVzY3JpcHRpb24iLCJzY2hlbWFUeXBlIiwiYXBwaXVtQ2xpVHJhbnNmb3JtZXIiLCJlbnVtIiwiT2JqZWN0Iiwia2V5cyIsInRyYW5zZm9ybWVycyIsImFwcGl1bUNsaUlnbm9yZWQiLCJhcHBpdW1EZXByZWNhdGVkIiwiJGNvbW1lbnQiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUVBOztBQU1PLE1BQU1BLFFBQVEsR0FBRztBQVl0QkMsRUFBQUEsZ0JBQWdCLEVBQUU7QUFDaEJDLElBQUFBLE9BQU8sRUFBRSxrQkFETztBQUVoQkMsSUFBQUEsVUFBVSxFQUFFO0FBQ1ZDLE1BQUFBLElBQUksRUFBRSxPQURJO0FBRVZDLE1BQUFBLEtBQUssRUFBRTtBQUNMRCxRQUFBQSxJQUFJLEVBQUUsUUFERDtBQUVMRSxRQUFBQSxTQUFTLEVBQUU7QUFGTixPQUZHO0FBTVZDLE1BQUFBLFFBQVEsRUFBRSxDQU5BO0FBT1ZDLE1BQUFBLFdBQVcsRUFBRSxJQVBIO0FBUVZDLE1BQUFBLFdBQVcsRUFBRTtBQVJIO0FBRkksR0FaSTtBQW1DdEJDLEVBQUFBLGFBQWEsRUFBRTtBQUNiUixJQUFBQSxPQUFPLEVBQUUsZUFESTtBQUViQyxJQUFBQSxVQUFVLEVBQUU7QUFDVkMsTUFBQUEsSUFBSSxFQUFFLFFBREk7QUFFVkUsTUFBQUEsU0FBUyxFQUFFLENBRkQ7QUFHVkcsTUFBQUEsV0FBVyxFQUFFO0FBSEg7QUFGQyxHQW5DTztBQW9EdEJFLEVBQUFBLG9CQUFvQixFQUFFO0FBQ3BCVCxJQUFBQSxPQUFPLEVBQUUsc0JBRFc7QUFFcEJVLElBQUFBLFVBQVUsRUFBRSxRQUZRO0FBR3BCVCxJQUFBQSxVQUFVLEVBQUU7QUFDVkMsTUFBQUEsSUFBSSxFQUFFLFFBREk7QUFFVkUsTUFBQUEsU0FBUyxFQUFFLENBRkQ7QUFHVkcsTUFBQUEsV0FBVyxFQUFFO0FBSEg7QUFIUSxHQXBEQTtBQW1FdEJJLEVBQUFBLG9CQUFvQixFQUFFO0FBQ3BCWCxJQUFBQSxPQUFPLEVBQUUsc0JBRFc7QUFFcEJDLElBQUFBLFVBQVUsRUFBRTtBQUNWQyxNQUFBQSxJQUFJLEVBQUUsUUFESTtBQUVWVSxNQUFBQSxJQUFJLEVBQUVDLE1BQU0sQ0FBQ0MsSUFBUCxDQUFZQyw2QkFBWixDQUZJO0FBR1ZSLE1BQUFBLFdBQVcsRUFBRTtBQUhIO0FBRlEsR0FuRUE7QUFnRnRCUyxFQUFBQSxnQkFBZ0IsRUFBRTtBQUNoQmhCLElBQUFBLE9BQU8sRUFBRSxrQkFETztBQUVoQkMsSUFBQUEsVUFBVSxFQUFFO0FBQ1ZDLE1BQUFBLElBQUksRUFBRSxTQURJO0FBRVZLLE1BQUFBLFdBQVcsRUFBRSxrSEFGSDtBQUdWSyxNQUFBQSxJQUFJLEVBQUUsQ0FBQyxJQUFEO0FBSEk7QUFGSSxHQWhGSTtBQTZGdEJLLEVBQUFBLGdCQUFnQixFQUFFO0FBQ2hCakIsSUFBQUEsT0FBTyxFQUFFLGtCQURPO0FBRWhCQyxJQUFBQSxVQUFVLEVBQUU7QUFDVkMsTUFBQUEsSUFBSSxFQUFFLFNBREk7QUFFVkssTUFBQUEsV0FBVyxFQUFFLHdFQUZIO0FBR1ZLLE1BQUFBLElBQUksRUFBRSxDQUFDLElBQUQsQ0FISTtBQUlWTSxNQUFBQSxRQUFRLEVBQUU7QUFKQTtBQUZJO0FBN0ZJLENBQWpCIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQHRzLWNoZWNrXG5cbmltcG9ydCB7IHRyYW5zZm9ybWVycyB9IGZyb20gJy4vY2xpLXRyYW5zZm9ybWVycyc7XG5cbi8qKlxuICogQ29sbGVjdGlvbiBvZiBrZXl3b3JkIGRlZmluaXRpb25zIHRvIGFkZCB0byB0aGUgc2luZ2xldG9uIGBBanZgIGluc3RhbmNlLlxuICogQHR5cGUge1JlY29yZDxzdHJpbmcsS2V5d29yZERlZmluaXRpb24+fVxuICovXG5leHBvcnQgY29uc3Qga2V5d29yZHMgPSB7XG4gIC8qKlxuICAgKiBLZXl3b3JkIHRvIHByb3ZpZGUgYSBsaXN0IG9mIGNvbW1hbmQgYWxpYXMgbmFtZXMgZm9yIHRoZSBDTEkuXG4gICAqXG4gICAqIElmIGRlZmluZWQsIHRoZXJlIG11c3QgYmUgYXQgbGVhc3Qgb25lIGl0ZW0gaW4gdGhlIGFycmF5IGFuZCBpdCBtdXN0IGJlIG5vbi1lbXB0eS5cbiAgICogQWxsIGl0ZW1zIGluIHRoZSBhcnJheSBtdXN0IGJlIHVuaXF1ZS5cbiAgICpcbiAgICogQHRvZG8gQXZvaWQgYWxpYXMgY29sbGlzaW9ucyFcbiAgICogQHR5cGUge0tleXdvcmREZWZpbml0aW9ufVxuICAgKiBAZXhhbXBsZVxuICAgKiB7YXBwaXVtQ2xpQWxpYXNlczogWydCJywgJ2JvYmJ5JywgJ3JvYmVydCddfVxuICAgKi9cbiAgYXBwaXVtQ2xpQWxpYXNlczoge1xuICAgIGtleXdvcmQ6ICdhcHBpdW1DbGlBbGlhc2VzJyxcbiAgICBtZXRhU2NoZW1hOiB7XG4gICAgICB0eXBlOiAnYXJyYXknLFxuICAgICAgaXRlbXM6IHtcbiAgICAgICAgdHlwZTogJ3N0cmluZycsXG4gICAgICAgIG1pbkxlbmd0aDogMSxcbiAgICAgIH0sXG4gICAgICBtaW5JdGVtczogMSxcbiAgICAgIHVuaXF1ZUl0ZW1zOiB0cnVlLFxuICAgICAgZGVzY3JpcHRpb246ICdMaXN0IG9mIGFsaWFzZXMgZm9yIHRoZSBhcmd1bWVudC4gQWxpYXNlcyBzaG9ydGVyIHRoYW4gdGhyZWUgKDMpIGNoYXJhY3RlcnMgd2lsbCBiZSBwcmVmaXhlZCB3aXRoIGEgc2luZ2xlIGRhc2g7IG90aGVyd2lzZSB0d28gKDIpLidcbiAgICB9LFxuICB9LFxuICAvKipcbiAgICogS2V5d29yZCB0byBwcm92aWRlIHRoZSBuYW1lIG9mIHRoZSBwcm9wZXJ0eSBpbiB0aGUgZGVzdGluYXRpb24gKHBhcnNlZFxuICAgKiBhcmdzKSBvYmplY3QuIEJ5IGRlZmF1bHQsIHRoaXMgdmFsdWUgd2lsbCBiZSB3aGF0ZXZlciB0aGUgcHJvcGVydHkgbmFtZSBpcyxcbiAgICogYnV0IGNhbWVsLWNhc2VkLiBJZiBhIGZsYWcgbmVlZHMgc29tZXRoaW5nIF9vdGhlcl8gdGhhbiBqdXN0IGNhbWVsLWNhc2luZyxcbiAgICogdXNlIHRoaXMuXG4gICAqIEB0eXBlIHtLZXl3b3JkRGVmaW5pdGlvbn1cbiAgICogQGV4YW1wbGVcbiAgICogLy8gZm9yIHByb3AgJ25vLWNvbG9yJ1xuICAgKiB7YXBwaXVtQ2xpRGVzdDogJ05PQ09MT1InfSAvLyB2YWx1ZSB3aWxsIGJlIHN0b3JlZCBhcyBwcm9wZXJ0eSBgTk9DT0xPUmAgaW5zdGVhZCBvZiBgbm9Db2xvcmBcbiAgICovXG4gIGFwcGl1bUNsaURlc3Q6IHtcbiAgICBrZXl3b3JkOiAnYXBwaXVtQ2xpRGVzdCcsXG4gICAgbWV0YVNjaGVtYToge1xuICAgICAgdHlwZTogJ3N0cmluZycsXG4gICAgICBtaW5MZW5ndGg6IDEsXG4gICAgICBkZXNjcmlwdGlvbjogJ05hbWUgb2YgdGhlIGFzc29jaWF0ZWQgcHJvcGVydHkgaW4gdGhlIHBhcnNlZCBDTEkgYXJndW1lbnRzIG9iamVjdCdcbiAgICB9LFxuICB9LFxuXG4gIC8qKlxuICAgKiBDTEktc3BlY2lmaWMgZGVzY3JpcHRpb24gb2YgdGhlIHByb3BlcnR5LiAgU29tZXRpbWVzIHRoZSBhbGxvd2VkIHR5cGUgY2FuXG4gICAqIGJlIGRpZmZlcmVudCBlbm91Z2ggb24gdGhlIENMSSB0aGF0IHByb3ZpZGluZyBhIGRlc2NyaXB0aW9uIHdyaXR0ZW4gZm9yIGFcbiAgICogY29uZmlnIGZpbGUgY29udGV4dCB3b3VsZG4ndCBtYWtlIHNlbnNlLlxuICAgKiBAdHlwZSB7S2V5d29yZERlZmluaXRpb259XG4gICAqIEBleGFtcGxlXG4gICAqIHthcHBpdW1DbGlEZXNjcmlwdGlvbjogJ1RoaXMgaXMgYSBjb21tYS1kZWxpbWl0ZWQgc3RyaW5nLCBidXQgaW4gdGhlIGNvbmZpZyBmaWxlIGl0IGlzIGFuIGFycmF5J31cbiAgICovXG4gIGFwcGl1bUNsaURlc2NyaXB0aW9uOiB7XG4gICAga2V5d29yZDogJ2FwcGl1bUNsaURlc2NyaXB0aW9uJyxcbiAgICBzY2hlbWFUeXBlOiAnc3RyaW5nJyxcbiAgICBtZXRhU2NoZW1hOiB7XG4gICAgICB0eXBlOiAnc3RyaW5nJyxcbiAgICAgIG1pbkxlbmd0aDogMSxcbiAgICAgIGRlc2NyaXB0aW9uOiAnRGVzY3JpcHRpb24gdG8gcHJvdmlkZSBpbiB0aGUgLS1oZWxwIHRleHQgb2YgdGhlIENMSS4gT3ZlcnJpZGVzIGBkZXNjcmlwdGlvbmAnXG4gICAgfSxcbiAgfSxcblxuICAvKipcbiAgICogVHJhbnNmb3JtZXJzIGZvciBDTEkgYXJncy4gVGhlc2UgdXN1YWxseSB0YWtlIHN0cmluZ3MgdGhlbiBkbyBzb21ldGhpbmcgd2l0aCB0aGVtLCBsaWtlXG4gICAqIHJlYWQgYSBmaWxlIG9yIHBhcnNlIGZ1cnRoZXIuXG4gICAqIEB0eXBlIHtLZXl3b3JkRGVmaW5pdGlvbn1cbiAgICovXG4gIGFwcGl1bUNsaVRyYW5zZm9ybWVyOiB7XG4gICAga2V5d29yZDogJ2FwcGl1bUNsaVRyYW5zZm9ybWVyJyxcbiAgICBtZXRhU2NoZW1hOiB7XG4gICAgICB0eXBlOiAnc3RyaW5nJyxcbiAgICAgIGVudW06IE9iamVjdC5rZXlzKHRyYW5zZm9ybWVycyksXG4gICAgICBkZXNjcmlwdGlvbjogJ1RoZSBuYW1lIG9mIGEgY3VzdG9tIHRyYW5zZm9ybWVyIHRvIHJ1biBhZ2FpbnN0IHRoZSB2YWx1ZSBhcyBwcm92aWRlZCB2aWEgdGhlIENMSS4nXG4gICAgfSxcbiAgfSxcblxuICAvKipcbiAgICogRmxhZyB0byB0ZWxsIEFwcGl1bSB0byBfbm90XyBwcm92aWRlIHRoaXMgcHJvcGVydHkgYXMgYSBDTEkgYXJndW1lbnQuXG4gICAqIEB0eXBlIHtLZXl3b3JkRGVmaW5pdGlvbn1cbiAgICovXG4gIGFwcGl1bUNsaUlnbm9yZWQ6IHtcbiAgICBrZXl3b3JkOiAnYXBwaXVtQ2xpSWdub3JlZCcsXG4gICAgbWV0YVNjaGVtYToge1xuICAgICAgdHlwZTogJ2Jvb2xlYW4nLFxuICAgICAgZGVzY3JpcHRpb246ICdJZiBgdHJ1ZWAsIEFwcGl1bSB3aWxsIG5vdCBwcm92aWRlIHRoaXMgcHJvcGVydHkgYXMgYSBDTEkgYXJndW1lbnQuIFRoaXMgaXMgTk9UIHRoZSBzYW1lIGFzIGEgXCJoaWRkZW5cIiBhcmd1bWVudC4nLFxuICAgICAgZW51bTogW3RydWVdXG4gICAgfVxuICB9LFxuXG4gIC8qKlxuICAgKiBNYXJrIHRoaXMgcHJvcGVydHkgYXMgZGVwcmVjYXRlZC5cbiAgICogQHR5cGUge0tleXdvcmREZWZpbml0aW9ufVxuICAgKi9cbiAgYXBwaXVtRGVwcmVjYXRlZDoge1xuICAgIGtleXdvcmQ6ICdhcHBpdW1EZXByZWNhdGVkJyxcbiAgICBtZXRhU2NoZW1hOiB7XG4gICAgICB0eXBlOiAnYm9vbGVhbicsXG4gICAgICBkZXNjcmlwdGlvbjogJ0lmIGB0cnVlYCwgdGhpcyBwcm9wZXJ0eSB3aWxsIGJlIGRpc3BsYXllZCBhcyBcImRlcHJlY2F0ZWRcIiB0byB0aGUgdXNlcicsXG4gICAgICBlbnVtOiBbdHJ1ZV0sXG4gICAgICAkY29tbWVudDogJ0pTT04gc2NoZW1hIGRyYWZ0LTIwMTktMDkga2V5d29yZCBgZGVwcmVjYXRlZGAgc2VydmVzIHRoZSBzYW1lIHB1cnBvc2UuIFRoaXMga2V5d29yZCBzaG91bGQgaXRzZWxmIGJlIGRlcHJlY2F0ZWQgaWYgd2UgbW92ZSB0byBkcmFmdC0yMDE5LTA5ISdcbiAgICB9XG4gIH1cbn07XG5cbi8qKlxuICogVGhlc2UgYXJlIHRoZSB2YWxpZCB2YWx1ZXMgZm9yIHRoZSBgYXBwaXVtQ2xpVHJhbnNmb3JtZXJgIGtleXdvcmQuXG4gKiBVbmZvcnR1bmF0ZWx5LCBUUyBjYW5ub3QgaW5mZXIgdGhpcyBpbiBhIEpTIGNvbnRleHQuICBJbiBUUywgd2UnZCB1c2VcbiAqIGBhcyBjb25zdGAgd2hlbiBkZWZpbmluZyBgYXJnVHJhbnNmb3JtZXJzYCwgdGhlbiBnZXQgYGtleW9mIHR5cGVvZiBhcmdUcmFuc2Zvcm1lcnNgLiBhbGFzLlxuICogQHR5cGVkZWYgeydjc3YnfCdqc29uJ30gQXBwaXVtQ2xpVHJhbnNmb3JtZXJOYW1lXG4gKi9cblxuLyoqXG4gKiBUaGVzZSBhcmUgdGhlIGN1c3RvbSBrZXl3b3JkcyB0aGF0IEFwcGl1bSByZWNvZ25pemVzLlxuICpcbiAqIEB0eXBlZGVmIEFwcGl1bUpTT05TY2hlbWFLZXl3b3Jkc1xuICogQHByb3BlcnR5IHtzdHJpbmd9IFthcHBpdW1DbGlEZXN0XVxuICogQHByb3BlcnR5IHtzdHJpbmd9IFthcHBpdW1DbGlEZXNjcmlwdGlvbl1cbiAqIEBwcm9wZXJ0eSB7c3RyaW5nW119IFthcHBpdW1DbGlBbGlhc2VzXVxuICogQHByb3BlcnR5IHtib29sZWFufSBbYXBwaXVtQ2xpSWdub3JlZF1cbiAqIEBwcm9wZXJ0eSB7QXBwaXVtQ2xpVHJhbnNmb3JtZXJOYW1lfSBbYXBwaXVtQ2xpVHJhbnNmb3JtZXJdXG4gKiBAcHJvcGVydHkge2Jvb2xlYW59IFthcHBpdW1EZXByZWNhdGVkXVxuICovXG5cblxuLyoqXG4gKiBAdHlwZWRlZiB7aW1wb3J0KCdhanYnKS5LZXl3b3JkRGVmaW5pdGlvbn0gS2V5d29yZERlZmluaXRpb25cbiAqL1xuIl19