projen 0.92.9 → 0.92.11

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 (254) hide show
  1. package/.jsii +13854 -408
  2. package/lib/awscdk/auto-discover.js +5 -5
  3. package/lib/awscdk/awscdk-app-java.js +1 -1
  4. package/lib/awscdk/awscdk-app-py.js +1 -1
  5. package/lib/awscdk/awscdk-app-ts.js +3 -3
  6. package/lib/awscdk/awscdk-construct.js +2 -2
  7. package/lib/awscdk/awscdk-deps-java.js +1 -1
  8. package/lib/awscdk/awscdk-deps-js.js +1 -1
  9. package/lib/awscdk/awscdk-deps-py.js +1 -1
  10. package/lib/awscdk/awscdk-deps.js +1 -1
  11. package/lib/awscdk/cdk-config.js +1 -1
  12. package/lib/awscdk/cdk-tasks.js +1 -1
  13. package/lib/awscdk/integration-test.js +1 -1
  14. package/lib/awscdk/lambda-extension.js +1 -1
  15. package/lib/awscdk/lambda-function.js +2 -2
  16. package/lib/build/build-workflow.js +1 -1
  17. package/lib/cdk/auto-discover-base.js +4 -4
  18. package/lib/cdk/construct-lib.js +1 -1
  19. package/lib/cdk/integration-test-base.js +1 -1
  20. package/lib/cdk/jsii-docgen.js +1 -1
  21. package/lib/cdk/jsii-project.js +1 -1
  22. package/lib/cdk8s/auto-discover.js +2 -2
  23. package/lib/cdk8s/cdk8s-app-py.js +1 -1
  24. package/lib/cdk8s/cdk8s-app-ts.js +1 -1
  25. package/lib/cdk8s/cdk8s-construct.js +1 -1
  26. package/lib/cdk8s/cdk8s-deps-py.js +1 -1
  27. package/lib/cdk8s/cdk8s-deps.js +1 -1
  28. package/lib/cdk8s/integration-test.js +1 -1
  29. package/lib/cdktf/cdktf-construct.js +1 -1
  30. package/lib/circleci/circleci.js +3 -2
  31. package/lib/circleci/model.d.ts +2 -0
  32. package/lib/circleci/model.js +1 -1
  33. package/lib/cleanup.js +4 -3
  34. package/lib/component.js +1 -1
  35. package/lib/dependencies.js +1 -1
  36. package/lib/dev-env.js +1 -1
  37. package/lib/docker-compose/docker-compose-service.js +1 -1
  38. package/lib/docker-compose/docker-compose.js +1 -1
  39. package/lib/file.js +1 -1
  40. package/lib/gitattributes.js +1 -1
  41. package/lib/github/actions-provider.js +1 -1
  42. package/lib/github/auto-approve.js +1 -1
  43. package/lib/github/auto-merge.js +1 -1
  44. package/lib/github/auto-queue.js +1 -1
  45. package/lib/github/dependabot.js +1 -1
  46. package/lib/github/github-credentials.js +1 -1
  47. package/lib/github/github-project.js +1 -1
  48. package/lib/github/github.js +1 -1
  49. package/lib/github/merge-queue.js +1 -1
  50. package/lib/github/mergify.js +1 -1
  51. package/lib/github/pr-template.js +1 -1
  52. package/lib/github/pull-request-backport.js +1 -1
  53. package/lib/github/pull-request-lint.js +1 -1
  54. package/lib/github/stale.js +1 -1
  55. package/lib/github/task-workflow-job.js +1 -1
  56. package/lib/github/task-workflow.js +1 -1
  57. package/lib/github/workflow-actions.js +1 -1
  58. package/lib/github/workflow-jobs.js +1 -1
  59. package/lib/github/workflow-steps.js +1 -1
  60. package/lib/github/workflows.js +1 -1
  61. package/lib/gitlab/configuration.js +1 -1
  62. package/lib/gitlab/gitlab-configuration.js +1 -1
  63. package/lib/gitlab/nested-configuration.js +1 -1
  64. package/lib/gitpod.js +1 -1
  65. package/lib/ignore-file.js +1 -1
  66. package/lib/ini.js +1 -1
  67. package/lib/java/java-project.js +1 -1
  68. package/lib/java/junit.js +1 -1
  69. package/lib/java/maven-compile.js +1 -1
  70. package/lib/java/maven-packaging.js +1 -1
  71. package/lib/java/maven-sample.js +1 -1
  72. package/lib/java/pom.js +2 -2
  73. package/lib/java/projenrc.js +1 -1
  74. package/lib/javascript/biome/biome-config.d.ts +2522 -0
  75. package/lib/javascript/biome/biome-config.js +10 -0
  76. package/lib/javascript/biome/biome.d.ts +67 -0
  77. package/lib/javascript/biome/biome.js +128 -0
  78. package/lib/javascript/bundler.js +1 -1
  79. package/lib/javascript/eslint.js +1 -1
  80. package/lib/javascript/index.d.ts +2 -0
  81. package/lib/javascript/index.js +4 -1
  82. package/lib/javascript/jest.js +4 -4
  83. package/lib/javascript/license-checker.js +1 -1
  84. package/lib/javascript/node-package.js +1 -1
  85. package/lib/javascript/node-project.d.ts +13 -0
  86. package/lib/javascript/node-project.js +9 -2
  87. package/lib/javascript/npm-config.js +1 -1
  88. package/lib/javascript/prettier.js +1 -1
  89. package/lib/javascript/projenrc.d.ts +1 -1
  90. package/lib/javascript/projenrc.js +5 -2
  91. package/lib/javascript/typescript-config.js +2 -2
  92. package/lib/javascript/upgrade-dependencies.js +2 -2
  93. package/lib/javascript/yarnrc.js +1 -1
  94. package/lib/json-patch.js +1 -1
  95. package/lib/json.js +1 -1
  96. package/lib/license.js +1 -1
  97. package/lib/logger.js +1 -1
  98. package/lib/makefile.js +1 -1
  99. package/lib/object-file.js +3 -3
  100. package/lib/project-build.js +1 -1
  101. package/lib/project-tree.js +1 -1
  102. package/lib/project.js +5 -4
  103. package/lib/projects.js +1 -1
  104. package/lib/projenrc-json.js +2 -2
  105. package/lib/projenrc.js +1 -1
  106. package/lib/python/pip.js +1 -1
  107. package/lib/python/poetry.js +2 -2
  108. package/lib/python/projenrc.js +1 -1
  109. package/lib/python/pytest-sample.js +1 -1
  110. package/lib/python/pytest.js +1 -1
  111. package/lib/python/python-project.js +1 -1
  112. package/lib/python/python-sample.js +1 -1
  113. package/lib/python/requirements-file.js +1 -1
  114. package/lib/python/setuppy.js +1 -1
  115. package/lib/python/setuptools.js +1 -1
  116. package/lib/python/venv.js +1 -1
  117. package/lib/readme.js +1 -1
  118. package/lib/release/publisher.d.ts +3 -1
  119. package/lib/release/publisher.js +5 -2
  120. package/lib/release/release-trigger.js +1 -1
  121. package/lib/release/release.js +1 -1
  122. package/lib/renovatebot.js +1 -1
  123. package/lib/sample-file.js +6 -5
  124. package/lib/semver.js +1 -1
  125. package/lib/source-code.js +1 -1
  126. package/lib/task-runtime.js +1 -1
  127. package/lib/task.js +1 -1
  128. package/lib/tasks.js +1 -1
  129. package/lib/testing.js +1 -1
  130. package/lib/textfile.js +1 -1
  131. package/lib/toml.js +1 -1
  132. package/lib/typescript/projenrc-ts.js +1 -1
  133. package/lib/typescript/projenrc.js +4 -2
  134. package/lib/typescript/typescript-typedoc.js +1 -1
  135. package/lib/typescript/typescript.js +13 -7
  136. package/lib/util/synth.js +5 -4
  137. package/lib/util.d.ts +20 -2
  138. package/lib/util.js +20 -8
  139. package/lib/version.js +2 -2
  140. package/lib/vscode/devcontainer.js +1 -1
  141. package/lib/vscode/extensions.js +1 -1
  142. package/lib/vscode/launch-config.js +1 -1
  143. package/lib/vscode/settings.js +1 -1
  144. package/lib/vscode/vscode.js +1 -1
  145. package/lib/web/next.js +3 -3
  146. package/lib/web/postcss.js +1 -1
  147. package/lib/web/react.js +4 -4
  148. package/lib/web/tailwind.js +1 -1
  149. package/lib/xmlfile.js +1 -1
  150. package/lib/yaml.js +1 -1
  151. package/node_modules/pump/index.js +1 -1
  152. package/node_modules/pump/package.json +1 -1
  153. package/package.json +6 -3
  154. package/node_modules/balanced-match/.github/FUNDING.yml +0 -2
  155. package/node_modules/balanced-match/LICENSE.md +0 -21
  156. package/node_modules/balanced-match/README.md +0 -97
  157. package/node_modules/balanced-match/index.js +0 -62
  158. package/node_modules/balanced-match/package.json +0 -48
  159. package/node_modules/brace-expansion/.github/FUNDING.yml +0 -2
  160. package/node_modules/brace-expansion/LICENSE +0 -21
  161. package/node_modules/brace-expansion/README.md +0 -135
  162. package/node_modules/brace-expansion/index.js +0 -203
  163. package/node_modules/brace-expansion/package.json +0 -46
  164. package/node_modules/fs.realpath/LICENSE +0 -43
  165. package/node_modules/fs.realpath/README.md +0 -33
  166. package/node_modules/fs.realpath/index.js +0 -66
  167. package/node_modules/fs.realpath/old.js +0 -303
  168. package/node_modules/fs.realpath/package.json +0 -26
  169. package/node_modules/glob/LICENSE +0 -15
  170. package/node_modules/glob/README.md +0 -399
  171. package/node_modules/glob/common.js +0 -244
  172. package/node_modules/glob/glob.js +0 -790
  173. package/node_modules/glob/node_modules/minimatch/LICENSE +0 -15
  174. package/node_modules/glob/node_modules/minimatch/README.md +0 -259
  175. package/node_modules/glob/node_modules/minimatch/lib/path.js +0 -4
  176. package/node_modules/glob/node_modules/minimatch/minimatch.js +0 -944
  177. package/node_modules/glob/node_modules/minimatch/package.json +0 -35
  178. package/node_modules/glob/package.json +0 -55
  179. package/node_modules/glob/sync.js +0 -486
  180. package/node_modules/inflight/LICENSE +0 -15
  181. package/node_modules/inflight/README.md +0 -37
  182. package/node_modules/inflight/inflight.js +0 -54
  183. package/node_modules/inflight/package.json +0 -29
  184. package/node_modules/inherits/LICENSE +0 -16
  185. package/node_modules/inherits/README.md +0 -42
  186. package/node_modules/inherits/inherits.js +0 -9
  187. package/node_modules/inherits/inherits_browser.js +0 -27
  188. package/node_modules/inherits/package.json +0 -29
  189. /package/node_modules/{fast-glob/node_modules/glob-parent → glob-parent}/LICENSE +0 -0
  190. /package/node_modules/{fast-glob/node_modules/glob-parent → glob-parent}/README.md +0 -0
  191. /package/node_modules/{fast-glob/node_modules/glob-parent → glob-parent}/index.js +0 -0
  192. /package/node_modules/{fast-glob/node_modules/glob-parent → glob-parent}/package.json +0 -0
  193. /package/node_modules/{argparse → xmlbuilder2/node_modules/argparse}/LICENSE +0 -0
  194. /package/node_modules/{argparse → xmlbuilder2/node_modules/argparse}/README.md +0 -0
  195. /package/node_modules/{argparse → xmlbuilder2/node_modules/argparse}/index.js +0 -0
  196. /package/node_modules/{argparse → xmlbuilder2/node_modules/argparse}/lib/action/append/constant.js +0 -0
  197. /package/node_modules/{argparse → xmlbuilder2/node_modules/argparse}/lib/action/append.js +0 -0
  198. /package/node_modules/{argparse → xmlbuilder2/node_modules/argparse}/lib/action/count.js +0 -0
  199. /package/node_modules/{argparse → xmlbuilder2/node_modules/argparse}/lib/action/help.js +0 -0
  200. /package/node_modules/{argparse → xmlbuilder2/node_modules/argparse}/lib/action/store/constant.js +0 -0
  201. /package/node_modules/{argparse → xmlbuilder2/node_modules/argparse}/lib/action/store/false.js +0 -0
  202. /package/node_modules/{argparse → xmlbuilder2/node_modules/argparse}/lib/action/store/true.js +0 -0
  203. /package/node_modules/{argparse → xmlbuilder2/node_modules/argparse}/lib/action/store.js +0 -0
  204. /package/node_modules/{argparse → xmlbuilder2/node_modules/argparse}/lib/action/subparsers.js +0 -0
  205. /package/node_modules/{argparse → xmlbuilder2/node_modules/argparse}/lib/action/version.js +0 -0
  206. /package/node_modules/{argparse → xmlbuilder2/node_modules/argparse}/lib/action.js +0 -0
  207. /package/node_modules/{argparse → xmlbuilder2/node_modules/argparse}/lib/action_container.js +0 -0
  208. /package/node_modules/{argparse → xmlbuilder2/node_modules/argparse}/lib/argparse.js +0 -0
  209. /package/node_modules/{argparse → xmlbuilder2/node_modules/argparse}/lib/argument/error.js +0 -0
  210. /package/node_modules/{argparse → xmlbuilder2/node_modules/argparse}/lib/argument/exclusive.js +0 -0
  211. /package/node_modules/{argparse → xmlbuilder2/node_modules/argparse}/lib/argument/group.js +0 -0
  212. /package/node_modules/{argparse → xmlbuilder2/node_modules/argparse}/lib/argument_parser.js +0 -0
  213. /package/node_modules/{argparse → xmlbuilder2/node_modules/argparse}/lib/const.js +0 -0
  214. /package/node_modules/{argparse → xmlbuilder2/node_modules/argparse}/lib/help/added_formatters.js +0 -0
  215. /package/node_modules/{argparse → xmlbuilder2/node_modules/argparse}/lib/help/formatter.js +0 -0
  216. /package/node_modules/{argparse → xmlbuilder2/node_modules/argparse}/lib/namespace.js +0 -0
  217. /package/node_modules/{argparse → xmlbuilder2/node_modules/argparse}/lib/utils.js +0 -0
  218. /package/node_modules/{argparse → xmlbuilder2/node_modules/argparse}/package.json +0 -0
  219. /package/node_modules/{js-yaml → xmlbuilder2/node_modules/js-yaml}/LICENSE +0 -0
  220. /package/node_modules/{js-yaml → xmlbuilder2/node_modules/js-yaml}/README.md +0 -0
  221. /package/node_modules/{js-yaml → xmlbuilder2/node_modules/js-yaml}/bin/js-yaml.js +0 -0
  222. /package/node_modules/{js-yaml → xmlbuilder2/node_modules/js-yaml}/dist/js-yaml.js +0 -0
  223. /package/node_modules/{js-yaml → xmlbuilder2/node_modules/js-yaml}/dist/js-yaml.min.js +0 -0
  224. /package/node_modules/{js-yaml → xmlbuilder2/node_modules/js-yaml}/index.js +0 -0
  225. /package/node_modules/{js-yaml → xmlbuilder2/node_modules/js-yaml}/lib/js-yaml/common.js +0 -0
  226. /package/node_modules/{js-yaml → xmlbuilder2/node_modules/js-yaml}/lib/js-yaml/dumper.js +0 -0
  227. /package/node_modules/{js-yaml → xmlbuilder2/node_modules/js-yaml}/lib/js-yaml/exception.js +0 -0
  228. /package/node_modules/{js-yaml → xmlbuilder2/node_modules/js-yaml}/lib/js-yaml/loader.js +0 -0
  229. /package/node_modules/{js-yaml → xmlbuilder2/node_modules/js-yaml}/lib/js-yaml/mark.js +0 -0
  230. /package/node_modules/{js-yaml → xmlbuilder2/node_modules/js-yaml}/lib/js-yaml/schema/core.js +0 -0
  231. /package/node_modules/{js-yaml → xmlbuilder2/node_modules/js-yaml}/lib/js-yaml/schema/default_full.js +0 -0
  232. /package/node_modules/{js-yaml → xmlbuilder2/node_modules/js-yaml}/lib/js-yaml/schema/default_safe.js +0 -0
  233. /package/node_modules/{js-yaml → xmlbuilder2/node_modules/js-yaml}/lib/js-yaml/schema/failsafe.js +0 -0
  234. /package/node_modules/{js-yaml → xmlbuilder2/node_modules/js-yaml}/lib/js-yaml/schema/json.js +0 -0
  235. /package/node_modules/{js-yaml → xmlbuilder2/node_modules/js-yaml}/lib/js-yaml/schema.js +0 -0
  236. /package/node_modules/{js-yaml → xmlbuilder2/node_modules/js-yaml}/lib/js-yaml/type/binary.js +0 -0
  237. /package/node_modules/{js-yaml → xmlbuilder2/node_modules/js-yaml}/lib/js-yaml/type/bool.js +0 -0
  238. /package/node_modules/{js-yaml → xmlbuilder2/node_modules/js-yaml}/lib/js-yaml/type/float.js +0 -0
  239. /package/node_modules/{js-yaml → xmlbuilder2/node_modules/js-yaml}/lib/js-yaml/type/int.js +0 -0
  240. /package/node_modules/{js-yaml → xmlbuilder2/node_modules/js-yaml}/lib/js-yaml/type/js/function.js +0 -0
  241. /package/node_modules/{js-yaml → xmlbuilder2/node_modules/js-yaml}/lib/js-yaml/type/js/regexp.js +0 -0
  242. /package/node_modules/{js-yaml → xmlbuilder2/node_modules/js-yaml}/lib/js-yaml/type/js/undefined.js +0 -0
  243. /package/node_modules/{js-yaml → xmlbuilder2/node_modules/js-yaml}/lib/js-yaml/type/map.js +0 -0
  244. /package/node_modules/{js-yaml → xmlbuilder2/node_modules/js-yaml}/lib/js-yaml/type/merge.js +0 -0
  245. /package/node_modules/{js-yaml → xmlbuilder2/node_modules/js-yaml}/lib/js-yaml/type/null.js +0 -0
  246. /package/node_modules/{js-yaml → xmlbuilder2/node_modules/js-yaml}/lib/js-yaml/type/omap.js +0 -0
  247. /package/node_modules/{js-yaml → xmlbuilder2/node_modules/js-yaml}/lib/js-yaml/type/pairs.js +0 -0
  248. /package/node_modules/{js-yaml → xmlbuilder2/node_modules/js-yaml}/lib/js-yaml/type/seq.js +0 -0
  249. /package/node_modules/{js-yaml → xmlbuilder2/node_modules/js-yaml}/lib/js-yaml/type/set.js +0 -0
  250. /package/node_modules/{js-yaml → xmlbuilder2/node_modules/js-yaml}/lib/js-yaml/type/str.js +0 -0
  251. /package/node_modules/{js-yaml → xmlbuilder2/node_modules/js-yaml}/lib/js-yaml/type/timestamp.js +0 -0
  252. /package/node_modules/{js-yaml → xmlbuilder2/node_modules/js-yaml}/lib/js-yaml/type.js +0 -0
  253. /package/node_modules/{js-yaml → xmlbuilder2/node_modules/js-yaml}/lib/js-yaml.js +0 -0
  254. /package/node_modules/{js-yaml → xmlbuilder2/node_modules/js-yaml}/package.json +0 -0
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ // Types for Biome version: 1.9.4
3
+ /* eslint-disable */
4
+ /**
5
+ * This file was automatically generated by json-schema-to-typescript.
6
+ * DO NOT MODIFY IT BY HAND. Instead, modify the source JSONSchema file,
7
+ * and run json-schema-to-typescript to regenerate this file.
8
+ */
9
+ Object.defineProperty(exports, "__esModule", { value: true });
10
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmlvbWUtY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2phdmFzY3JpcHQvYmlvbWUvYmlvbWUtY29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxpQ0FBaUM7QUFDakMsb0JBQW9CO0FBQ3BCOzs7O0dBSUciLCJzb3VyY2VzQ29udGVudCI6WyIvLyBUeXBlcyBmb3IgQmlvbWUgdmVyc2lvbjogMS45LjRcbi8qIGVzbGludC1kaXNhYmxlICovXG4vKipcbiAqIFRoaXMgZmlsZSB3YXMgYXV0b21hdGljYWxseSBnZW5lcmF0ZWQgYnkganNvbi1zY2hlbWEtdG8tdHlwZXNjcmlwdC5cbiAqIERPIE5PVCBNT0RJRlkgSVQgQlkgSEFORC4gSW5zdGVhZCwgbW9kaWZ5IHRoZSBzb3VyY2UgSlNPTlNjaGVtYSBmaWxlLFxuICogYW5kIHJ1biBqc29uLXNjaGVtYS10by10eXBlc2NyaXB0IHRvIHJlZ2VuZXJhdGUgdGhpcyBmaWxlLlxuICovXG5cbmV4cG9ydCB0eXBlIElSdWxlQXNzaXN0Q29uZmlndXJhdGlvbiA9IFwib25cIiB8IFwib2ZmXCI7XG5leHBvcnQgdHlwZSBJU3RyaW5nU2V0ID0gc3RyaW5nW107XG5leHBvcnQgdHlwZSBJSW5kZW50U3R5bGUgPSBcInRhYlwiIHwgXCJzcGFjZVwiO1xuZXhwb3J0IHR5cGUgSUluZGVudFdpZHRoID0gbnVtYmVyO1xuZXhwb3J0IHR5cGUgSUxpbmVFbmRpbmcgPSBcImxmXCIgfCBcImNybGZcIiB8IFwiY3JcIjtcbi8qKlxuICogVmFsaWRhdGVkIHZhbHVlIGZvciB0aGUgYGxpbmVfd2lkdGhgIGZvcm1hdHRlciBvcHRpb25zXG4gKlxuICogVGhlIGFsbG93ZWQgcmFuZ2Ugb2YgdmFsdWVzIGlzIDEuLj0zMjBcbiAqL1xuZXhwb3J0IHR5cGUgSUxpbmVXaWR0aCA9IG51bWJlcjtcbmV4cG9ydCB0eXBlIElRdW90ZVN0eWxlID0gXCJkb3VibGVcIiB8IFwic2luZ2xlXCI7XG5leHBvcnQgdHlwZSBJQXR0cmlidXRlUG9zaXRpb24gPSBcImF1dG9cIiB8IFwibXVsdGlsaW5lXCI7XG5leHBvcnQgdHlwZSBJQnJhY2tldFNwYWNpbmcgPSBib29sZWFuO1xuZXhwb3J0IHR5cGUgSUFycm93UGFyZW50aGVzZXMgPSBcImFsd2F5c1wiIHwgXCJhc05lZWRlZFwiO1xuZXhwb3J0IHR5cGUgSVF1b3RlUHJvcGVydGllcyA9IFwiYXNOZWVkZWRcIiB8IFwicHJlc2VydmVcIjtcbmV4cG9ydCB0eXBlIElTZW1pY29sb25zID0gXCJhbHdheXNcIiB8IFwiYXNOZWVkZWRcIjtcbi8qKlxuICogUHJpbnQgdHJhaWxpbmcgY29tbWFzIHdoZXJldmVyIHBvc3NpYmxlIGluIG11bHRpLWxpbmUgY29tbWEtc2VwYXJhdGVkIHN5bnRhY3RpYyBzdHJ1Y3R1cmVzLlxuICovXG5leHBvcnQgdHlwZSBJVHJhaWxpbmdDb21tYXMgPSBcImFsbFwiIHwgXCJlczVcIiB8IFwibm9uZVwiO1xuLyoqXG4gKiBJbmRpY2F0ZXMgdGhlIHR5cGUgb2YgcnVudGltZSBvciB0cmFuc2Zvcm1hdGlvbiB1c2VkIGZvciBpbnRlcnByZXRpbmcgSlNYLlxuICovXG5leHBvcnQgdHlwZSBJSnN4UnVudGltZSA9IFwidHJhbnNwYXJlbnRcIiB8IFwicmVhY3RDbGFzc2ljXCI7XG5leHBvcnQgdHlwZSBJVHJhaWxpbmdDb21tYXMyID0gXCJub25lXCIgfCBcImFsbFwiO1xuZXhwb3J0IHR5cGUgSVJ1bGVGaXhDb25maWd1cmF0aW9uID0gSVJ1bGVQbGFpbkNvbmZpZ3VyYXRpb24gfCBJUnVsZVdpdGhGaXhOb09wdGlvbnM7XG5leHBvcnQgdHlwZSBJUnVsZVBsYWluQ29uZmlndXJhdGlvbiA9IFwid2FyblwiIHwgXCJlcnJvclwiIHwgXCJpbmZvXCIgfCBcIm9mZlwiO1xuLyoqXG4gKiBVc2VkIHRvIGlkZW50aWZ5IHRoZSBraW5kIG9mIGNvZGUgYWN0aW9uIGVtaXR0ZWQgYnkgYSBydWxlXG4gKi9cbmV4cG9ydCB0eXBlIElGaXhLaW5kID0gXCJub25lXCIgfCBcInNhZmVcIiB8IFwidW5zYWZlXCI7XG5leHBvcnQgdHlwZSBJQWxsb3dEb21haW5Db25maWd1cmF0aW9uID0gSVJ1bGVQbGFpbkNvbmZpZ3VyYXRpb24gfCBJUnVsZVdpdGhBbGxvd0RvbWFpbk9wdGlvbnM7XG5leHBvcnQgdHlwZSBJTm9MYWJlbFdpdGhvdXRDb250cm9sQ29uZmlndXJhdGlvbiA9IElSdWxlUGxhaW5Db25maWd1cmF0aW9uIHwgSVJ1bGVXaXRoTm9MYWJlbFdpdGhvdXRDb250cm9sT3B0aW9ucztcbmV4cG9ydCB0eXBlIElSdWxlQ29uZmlndXJhdGlvbiA9IElSdWxlUGxhaW5Db25maWd1cmF0aW9uIHwgSVJ1bGVXaXRoTm9PcHRpb25zO1xuZXhwb3J0IHR5cGUgSVZhbGlkQXJpYVJvbGVDb25maWd1cmF0aW9uID0gSVJ1bGVQbGFpbkNvbmZpZ3VyYXRpb24gfCBJUnVsZVdpdGhWYWxpZEFyaWFSb2xlT3B0aW9ucztcbmV4cG9ydCB0eXBlIElDb21wbGV4aXR5Q29uZmlndXJhdGlvbiA9IElSdWxlUGxhaW5Db25maWd1cmF0aW9uIHwgSVJ1bGVXaXRoQ29tcGxleGl0eU9wdGlvbnM7XG5leHBvcnQgdHlwZSBJVXNlRXhoYXVzdGl2ZURlcGVuZGVuY2llc0NvbmZpZ3VyYXRpb24gPVxuICB8IElSdWxlUGxhaW5Db25maWd1cmF0aW9uXG4gIHwgSVJ1bGVXaXRoVXNlRXhoYXVzdGl2ZURlcGVuZGVuY2llc09wdGlvbnM7XG5leHBvcnQgdHlwZSBJU3RhYmxlSG9va1Jlc3VsdCA9IGJvb2xlYW4gfCBudW1iZXJbXTtcbmV4cG9ydCB0eXBlIElEZXByZWNhdGVkSG9va3NDb25maWd1cmF0aW9uID0gSVJ1bGVQbGFpbkNvbmZpZ3VyYXRpb24gfCBJUnVsZVdpdGhEZXByZWNhdGVkSG9va3NPcHRpb25zO1xuZXhwb3J0IHR5cGUgSVVzZUltcG9ydEV4dGVuc2lvbnNDb25maWd1cmF0aW9uID0gSVJ1bGVQbGFpbkNvbmZpZ3VyYXRpb24gfCBJUnVsZVdpdGhVc2VJbXBvcnRFeHRlbnNpb25zT3B0aW9ucztcbmV4cG9ydCB0eXBlIElSZXN0cmljdGVkSW1wb3J0c0NvbmZpZ3VyYXRpb24gPSBJUnVsZVBsYWluQ29uZmlndXJhdGlvbiB8IElSdWxlV2l0aFJlc3RyaWN0ZWRJbXBvcnRzT3B0aW9ucztcbmV4cG9ydCB0eXBlIElOb1Jlc3RyaWN0ZWRUeXBlc0NvbmZpZ3VyYXRpb24gPSBJUnVsZVBsYWluQ29uZmlndXJhdGlvbiB8IElSdWxlV2l0aE5vUmVzdHJpY3RlZFR5cGVzT3B0aW9ucztcbmV4cG9ydCB0eXBlIElDdXN0b21SZXN0cmljdGVkVHlwZSA9IHN0cmluZyB8IElDdXN0b21SZXN0cmljdGVkVHlwZU9wdGlvbnM7XG5leHBvcnQgdHlwZSBJTm9TZWNyZXRzQ29uZmlndXJhdGlvbiA9IElSdWxlUGxhaW5Db25maWd1cmF0aW9uIHwgSVJ1bGVXaXRoTm9TZWNyZXRzT3B0aW9ucztcbmV4cG9ydCB0eXBlIElVc2VDb21wb25lbnRFeHBvcnRPbmx5TW9kdWxlc0NvbmZpZ3VyYXRpb24gPVxuICB8IElSdWxlUGxhaW5Db25maWd1cmF0aW9uXG4gIHwgSVJ1bGVXaXRoVXNlQ29tcG9uZW50RXhwb3J0T25seU1vZHVsZXNPcHRpb25zO1xuZXhwb3J0IHR5cGUgSUNvbnNpc3RlbnRNZW1iZXJBY2Nlc3NpYmlsaXR5Q29uZmlndXJhdGlvbiA9XG4gIHwgSVJ1bGVQbGFpbkNvbmZpZ3VyYXRpb25cbiAgfCBJUnVsZVdpdGhDb25zaXN0ZW50TWVtYmVyQWNjZXNzaWJpbGl0eU9wdGlvbnM7XG5leHBvcnQgdHlwZSBJQWNjZXNzaWJpbGl0eSA9IFwibm9QdWJsaWNcIiB8IFwiZXhwbGljaXRcIiB8IFwibm9uZVwiO1xuZXhwb3J0IHR5cGUgSVV0aWxpdHlDbGFzc1NvcnRpbmdDb25maWd1cmF0aW9uID0gSVJ1bGVQbGFpbkNvbmZpZ3VyYXRpb24gfCBJUnVsZVdpdGhVdGlsaXR5Q2xhc3NTb3J0aW5nT3B0aW9ucztcbmV4cG9ydCB0eXBlIElVc2VWYWxpZEF1dG9jb21wbGV0ZUNvbmZpZ3VyYXRpb24gPSBJUnVsZVBsYWluQ29uZmlndXJhdGlvbiB8IElSdWxlV2l0aFVzZVZhbGlkQXV0b2NvbXBsZXRlT3B0aW9ucztcbmV4cG9ydCB0eXBlIElSZXN0cmljdGVkR2xvYmFsc0NvbmZpZ3VyYXRpb24gPSBJUnVsZVBsYWluQ29uZmlndXJhdGlvbiB8IElSdWxlV2l0aFJlc3RyaWN0ZWRHbG9iYWxzT3B0aW9ucztcbmV4cG9ydCB0eXBlIElDb25zaXN0ZW50QXJyYXlUeXBlQ29uZmlndXJhdGlvbiA9IElSdWxlUGxhaW5Db25maWd1cmF0aW9uIHwgSVJ1bGVXaXRoQ29uc2lzdGVudEFycmF5VHlwZU9wdGlvbnM7XG5leHBvcnQgdHlwZSBJQ29uc2lzdGVudEFycmF5VHlwZSA9IFwic2hvcnRoYW5kXCIgfCBcImdlbmVyaWNcIjtcbmV4cG9ydCB0eXBlIElGaWxlbmFtaW5nQ29udmVudGlvbkNvbmZpZ3VyYXRpb24gPSBJUnVsZVBsYWluQ29uZmlndXJhdGlvbiB8IElSdWxlV2l0aEZpbGVuYW1pbmdDb252ZW50aW9uT3B0aW9ucztcbi8qKlxuICogU3VwcG9ydGVkIGNhc2VzIGZvciBmaWxlIG5hbWVzLlxuICovXG5leHBvcnQgdHlwZSBJRmlsZW5hbWVDYXNlID0gXCJjYW1lbENhc2VcIiB8IFwiZXhwb3J0XCIgfCBcImtlYmFiLWNhc2VcIiB8IFwiUGFzY2FsQ2FzZVwiIHwgXCJzbmFrZV9jYXNlXCI7XG5leHBvcnQgdHlwZSBJRmlsZW5hbWVDYXNlcyA9IElGaWxlbmFtZUNhc2VbXTtcbmV4cG9ydCB0eXBlIElOYW1pbmdDb252ZW50aW9uQ29uZmlndXJhdGlvbiA9IElSdWxlUGxhaW5Db25maWd1cmF0aW9uIHwgSVJ1bGVXaXRoTmFtaW5nQ29udmVudGlvbk9wdGlvbnM7XG4vKipcbiAqIFN1cHBvcnRlZCBjYXNlcy5cbiAqL1xuZXhwb3J0IHR5cGUgSUZvcm1hdCA9IFwiY2FtZWxDYXNlXCIgfCBcIkNPTlNUQU5UX0NBU0VcIiB8IFwiUGFzY2FsQ2FzZVwiIHwgXCJzbmFrZV9jYXNlXCI7XG5leHBvcnQgdHlwZSBJRm9ybWF0cyA9IElGb3JtYXRbXTtcbmV4cG9ydCB0eXBlIElSZWdleCA9IHN0cmluZztcbmV4cG9ydCB0eXBlIElLaW5kID1cbiAgfCAoXG4gICAgICB8IFwiY2xhc3NcIlxuICAgICAgfCBcImVudW1cIlxuICAgICAgfCBcImludGVyZmFjZVwiXG4gICAgICB8IFwiZW51bU1lbWJlclwiXG4gICAgICB8IFwiaW1wb3J0TmFtZXNwYWNlXCJcbiAgICAgIHwgXCJleHBvcnROYW1lc3BhY2VcIlxuICAgICAgfCBcInZhcmlhYmxlXCJcbiAgICAgIHwgXCJjb25zdFwiXG4gICAgICB8IFwibGV0XCJcbiAgICAgIHwgXCJ1c2luZ1wiXG4gICAgICB8IFwidmFyXCJcbiAgICAgIHwgXCJjYXRjaFBhcmFtZXRlclwiXG4gICAgICB8IFwiaW5kZXhQYXJhbWV0ZXJcIlxuICAgICAgfCBcImV4cG9ydEFsaWFzXCJcbiAgICAgIHwgXCJpbXBvcnRBbGlhc1wiXG4gICAgICB8IFwiY2xhc3NHZXR0ZXJcIlxuICAgICAgfCBcImNsYXNzU2V0dGVyXCJcbiAgICAgIHwgXCJjbGFzc01ldGhvZFwiXG4gICAgICB8IFwib2JqZWN0TGl0ZXJhbFByb3BlcnR5XCJcbiAgICAgIHwgXCJvYmplY3RMaXRlcmFsR2V0dGVyXCJcbiAgICAgIHwgXCJvYmplY3RMaXRlcmFsU2V0dGVyXCJcbiAgICAgIHwgXCJvYmplY3RMaXRlcmFsTWV0aG9kXCJcbiAgICAgIHwgXCJ0eXBlQWxpYXNcIlxuICAgIClcbiAgfCBcImFueVwiXG4gIHwgXCJ0eXBlTGlrZVwiXG4gIHwgXCJmdW5jdGlvblwiXG4gIHwgXCJuYW1lc3BhY2VMaWtlXCJcbiAgfCBcIm5hbWVzcGFjZVwiXG4gIHwgXCJmdW5jdGlvblBhcmFtZXRlclwiXG4gIHwgXCJ0eXBlUGFyYW1ldGVyXCJcbiAgfCBcImNsYXNzTWVtYmVyXCJcbiAgfCBcImNsYXNzUHJvcGVydHlcIlxuICB8IFwib2JqZWN0TGl0ZXJhbE1lbWJlclwiXG4gIHwgXCJ0eXBlTWVtYmVyXCJcbiAgfCBcInR5cGVHZXR0ZXJcIlxuICB8IFwidHlwZVByb3BlcnR5XCJcbiAgfCBcInR5cGVTZXR0ZXJcIlxuICB8IFwidHlwZU1ldGhvZFwiO1xuZXhwb3J0IHR5cGUgSVJlc3RyaWN0ZWRNb2RpZmllciA9IFwiYWJzdHJhY3RcIiB8IFwicHJpdmF0ZVwiIHwgXCJwcm90ZWN0ZWRcIiB8IFwicmVhZG9ubHlcIiB8IFwic3RhdGljXCI7XG5leHBvcnQgdHlwZSBJTW9kaWZpZXJzID0gSVJlc3RyaWN0ZWRNb2RpZmllcltdO1xuZXhwb3J0IHR5cGUgSVNjb3BlID0gXCJhbnlcIiB8IFwiZ2xvYmFsXCI7XG5leHBvcnQgdHlwZSBJTm9Db25zb2xlQ29uZmlndXJhdGlvbiA9IElSdWxlUGxhaW5Db25maWd1cmF0aW9uIHwgSVJ1bGVXaXRoTm9Db25zb2xlT3B0aW9ucztcbmV4cG9ydCB0eXBlIElOb0RvdWJsZUVxdWFsc0NvbmZpZ3VyYXRpb24gPSBJUnVsZVBsYWluQ29uZmlndXJhdGlvbiB8IElSdWxlV2l0aE5vRG91YmxlRXF1YWxzT3B0aW9ucztcbmV4cG9ydCB0eXBlIElPdmVycmlkZXMgPSBJT3ZlcnJpZGVQYXR0ZXJuW107XG5leHBvcnQgdHlwZSBJVmNzQ2xpZW50S2luZCA9IFwiZ2l0XCI7XG5cbi8qKlxuICogVGhlIGNvbmZpZ3VyYXRpb24gdGhhdCBpcyBjb250YWluZWQgaW5zaWRlIHRoZSBmaWxlIGBiaW9tZS5qc29uYFxuICovXG5leHBvcnQgaW50ZXJmYWNlIElDb25maWd1cmF0aW9uIHtcbiAgLyoqXG4gICAqIEEgZmllbGQgZm9yIHRoZSBbSlNPTiBzY2hlbWFdKGh0dHBzOi8vanNvbi1zY2hlbWEub3JnLykgc3BlY2lmaWNhdGlvblxuICAgKi9cbiAgLy8kc2NoZW1hPzogc3RyaW5nO1xuICAvKipcbiAgICogU3BlY2lmaWMgY29uZmlndXJhdGlvbiBmb3IgYXNzaXN0c1xuICAgKi9cbiAgYXNzaXN0cz86IElBc3Npc3RzQ29uZmlndXJhdGlvbjtcbiAgLyoqXG4gICAqIFNwZWNpZmljIGNvbmZpZ3VyYXRpb24gZm9yIHRoZSBDc3MgbGFuZ3VhZ2VcbiAgICovXG4gIGNzcz86IElDc3NDb25maWd1cmF0aW9uO1xuICAvKipcbiAgICogQSBsaXN0IG9mIHBhdGhzIHRvIG90aGVyIEpTT04gZmlsZXMsIHVzZWQgdG8gZXh0ZW5kcyB0aGUgY3VycmVudCBjb25maWd1cmF0aW9uLlxuICAgKi9cbiAgZXh0ZW5kcz86IElTdHJpbmdTZXQ7XG4gIC8qKlxuICAgKiBUaGUgY29uZmlndXJhdGlvbiBvZiB0aGUgZmlsZXN5c3RlbVxuICAgKi9cbiAgZmlsZXM/OiBJRmlsZXNDb25maWd1cmF0aW9uO1xuICAvKipcbiAgICogVGhlIGNvbmZpZ3VyYXRpb24gb2YgdGhlIGZvcm1hdHRlclxuICAgKi9cbiAgZm9ybWF0dGVyPzogSUZvcm1hdHRlckNvbmZpZ3VyYXRpb247XG4gIC8qKlxuICAgKiBTcGVjaWZpYyBjb25maWd1cmF0aW9uIGZvciB0aGUgR3JhcGhRTCBsYW5ndWFnZVxuICAgKi9cbiAgZ3JhcGhxbD86IElHcmFwaHFsQ29uZmlndXJhdGlvbjtcbiAgLyoqXG4gICAqIFNwZWNpZmljIGNvbmZpZ3VyYXRpb24gZm9yIHRoZSBKYXZhU2NyaXB0IGxhbmd1YWdlXG4gICAqL1xuICBqYXZhc2NyaXB0PzogSUphdmFzY3JpcHRDb25maWd1cmF0aW9uO1xuICAvKipcbiAgICogU3BlY2lmaWMgY29uZmlndXJhdGlvbiBmb3IgdGhlIEpzb24gbGFuZ3VhZ2VcbiAgICovXG4gIGpzb24/OiBJSnNvbkNvbmZpZ3VyYXRpb247XG4gIC8qKlxuICAgKiBUaGUgY29uZmlndXJhdGlvbiBmb3IgdGhlIGxpbnRlclxuICAgKi9cbiAgbGludGVyPzogSUxpbnRlckNvbmZpZ3VyYXRpb247XG4gIC8qKlxuICAgKiBUaGUgY29uZmlndXJhdGlvbiBvZiB0aGUgaW1wb3J0IHNvcnRpbmdcbiAgICovXG4gIG9yZ2FuaXplSW1wb3J0cz86IElPcmdhbml6ZUltcG9ydHM7XG4gIC8qKlxuICAgKiBBIGxpc3Qgb2YgZ3JhbnVsYXIgcGF0dGVybnMgdGhhdCBzaG91bGQgYmUgYXBwbGllZCBvbmx5IHRvIGEgc3ViIHNldCBvZiBmaWxlc1xuICAgKi9cbiAgb3ZlcnJpZGVzPzogSU92ZXJyaWRlcztcbiAgLyoqXG4gICAqIFRoZSBjb25maWd1cmF0aW9uIG9mIHRoZSBWQ1MgaW50ZWdyYXRpb25cbiAgICovXG4gIHZjcz86IElWY3NDb25maWd1cmF0aW9uO1xufVxuZXhwb3J0IGludGVyZmFjZSBJQXNzaXN0c0NvbmZpZ3VyYXRpb24ge1xuICAvKipcbiAgICogV2hldGhlciBCaW9tZSBzaG91bGQgZmFpbCBpbiBDTEkgaWYgdGhlIGFzc2lzdHMgd2VyZSBub3QgYXBwbGllZCB0byB0aGUgY29kZS5cbiAgICovXG4gIGFjdGlvbnM/OiBJQWN0aW9ucztcbiAgLyoqXG4gICAqIFdoZXRoZXIgQmlvbWUgc2hvdWxkIGVuYWJsZSBhc3Npc3RzIHZpYSBMU1AuXG4gICAqL1xuICBlbmFibGVkPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIEEgbGlzdCBvZiBVbml4IHNoZWxsIHN0eWxlIHBhdHRlcm5zLiBUaGUgZm9ybWF0dGVyIHdpbGwgaWdub3JlIGZpbGVzL2ZvbGRlcnMgdGhhdCB3aWxsIG1hdGNoIHRoZXNlIHBhdHRlcm5zLlxuICAgKi9cbiAgaWdub3JlPzogSVN0cmluZ1NldDtcbiAgLyoqXG4gICAqIEEgbGlzdCBvZiBVbml4IHNoZWxsIHN0eWxlIHBhdHRlcm5zLiBUaGUgZm9ybWF0dGVyIHdpbGwgaW5jbHVkZSBmaWxlcy9mb2xkZXJzIHRoYXQgd2lsbCBtYXRjaCB0aGVzZSBwYXR0ZXJucy5cbiAgICovXG4gIGluY2x1ZGU/OiBJU3RyaW5nU2V0O1xufVxuZXhwb3J0IGludGVyZmFjZSBJQWN0aW9ucyB7XG4gIHNvdXJjZT86IElTb3VyY2U7XG59XG4vKipcbiAqIEEgbGlzdCBvZiBydWxlcyB0aGF0IGJlbG9uZyB0byB0aGlzIGdyb3VwXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSVNvdXJjZSB7XG4gIC8qKlxuICAgKiBFbmZvcmNlIHByb3BzIHNvcnRpbmcgaW4gSlNYIGVsZW1lbnRzLlxuICAgKi9cbiAgc29ydEpzeFByb3BzPzogSVJ1bGVBc3Npc3RDb25maWd1cmF0aW9uO1xuICAvKipcbiAgICogU29ydHMgdGhlIGtleXMgb2YgYSBKU09OIG9iamVjdCBpbiBuYXR1cmFsIG9yZGVyXG4gICAqL1xuICB1c2VTb3J0ZWRLZXlzPzogSVJ1bGVBc3Npc3RDb25maWd1cmF0aW9uO1xufVxuLyoqXG4gKiBPcHRpb25zIGFwcGxpZWQgdG8gQ1NTIGZpbGVzXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSUNzc0NvbmZpZ3VyYXRpb24ge1xuICAvKipcbiAgICogQ1NTIGFzc2lzdHMgb3B0aW9uc1xuICAgKi9cbiAgYXNzaXN0cz86IElDc3NBc3Npc3RzO1xuICAvKipcbiAgICogQ1NTIGZvcm1hdHRlciBvcHRpb25zXG4gICAqL1xuICBmb3JtYXR0ZXI/OiBJQ3NzRm9ybWF0dGVyO1xuICAvKipcbiAgICogQ1NTIGxpbnRlciBvcHRpb25zXG4gICAqL1xuICBsaW50ZXI/OiBJQ3NzTGludGVyO1xuICAvKipcbiAgICogQ1NTIHBhcnNpbmcgb3B0aW9uc1xuICAgKi9cbiAgcGFyc2VyPzogSUNzc1BhcnNlcjtcbn1cbi8qKlxuICogT3B0aW9ucyB0aGF0IGNoYW5nZXMgaG93IHRoZSBDU1MgYXNzaXN0cyBiZWhhdmVzXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSUNzc0Fzc2lzdHMge1xuICAvKipcbiAgICogQ29udHJvbCB0aGUgYXNzaXN0cyBmb3IgQ1NTIGZpbGVzLlxuICAgKi9cbiAgZW5hYmxlZD86IGJvb2xlYW47XG59XG4vKipcbiAqIE9wdGlvbnMgdGhhdCBjaGFuZ2VzIGhvdyB0aGUgQ1NTIGZvcm1hdHRlciBiZWhhdmVzXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSUNzc0Zvcm1hdHRlciB7XG4gIC8qKlxuICAgKiBDb250cm9sIHRoZSBmb3JtYXR0ZXIgZm9yIENTUyAoYW5kIGl0cyBzdXBlciBsYW5ndWFnZXMpIGZpbGVzLlxuICAgKi9cbiAgZW5hYmxlZD86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBUaGUgaW5kZW50IHN0eWxlIGFwcGxpZWQgdG8gQ1NTIChhbmQgaXRzIHN1cGVyIGxhbmd1YWdlcykgZmlsZXMuXG4gICAqL1xuICBpbmRlbnRTdHlsZT86IElJbmRlbnRTdHlsZTtcbiAgLyoqXG4gICAqIFRoZSBzaXplIG9mIHRoZSBpbmRlbnRhdGlvbiBhcHBsaWVkIHRvIENTUyAoYW5kIGl0cyBzdXBlciBsYW5ndWFnZXMpIGZpbGVzLiBEZWZhdWx0IHRvIDIuXG4gICAqL1xuICBpbmRlbnRXaWR0aD86IElJbmRlbnRXaWR0aDtcbiAgLyoqXG4gICAqIFRoZSB0eXBlIG9mIGxpbmUgZW5kaW5nIGFwcGxpZWQgdG8gQ1NTIChhbmQgaXRzIHN1cGVyIGxhbmd1YWdlcykgZmlsZXMuXG4gICAqL1xuICBsaW5lRW5kaW5nPzogSUxpbmVFbmRpbmc7XG4gIC8qKlxuICAgKiBXaGF0J3MgdGhlIG1heCB3aWR0aCBvZiBhIGxpbmUgYXBwbGllZCB0byBDU1MgKGFuZCBpdHMgc3VwZXIgbGFuZ3VhZ2VzKSBmaWxlcy4gRGVmYXVsdHMgdG8gODAuXG4gICAqL1xuICBsaW5lV2lkdGg/OiBJTGluZVdpZHRoO1xuICAvKipcbiAgICogVGhlIHR5cGUgb2YgcXVvdGVzIHVzZWQgaW4gQ1NTIGNvZGUuIERlZmF1bHRzIHRvIGRvdWJsZS5cbiAgICovXG4gIHF1b3RlU3R5bGU/OiBJUXVvdGVTdHlsZTtcbn1cbi8qKlxuICogT3B0aW9ucyB0aGF0IGNoYW5nZXMgaG93IHRoZSBDU1MgbGludGVyIGJlaGF2ZXNcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJQ3NzTGludGVyIHtcbiAgLyoqXG4gICAqIENvbnRyb2wgdGhlIGxpbnRlciBmb3IgQ1NTIGZpbGVzLlxuICAgKi9cbiAgZW5hYmxlZD86IGJvb2xlYW47XG59XG4vKipcbiAqIE9wdGlvbnMgdGhhdCBjaGFuZ2VzIGhvdyB0aGUgQ1NTIHBhcnNlciBiZWhhdmVzXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSUNzc1BhcnNlciB7XG4gIC8qKlxuICAgKiBBbGxvdyBjb21tZW50cyB0byBhcHBlYXIgb24gaW5jb3JyZWN0IGxpbmVzIGluIGAuY3NzYCBmaWxlc1xuICAgKi9cbiAgYWxsb3dXcm9uZ0xpbmVDb21tZW50cz86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBFbmFibGVzIHBhcnNpbmcgb2YgQ1NTIE1vZHVsZXMgc3BlY2lmaWMgZmVhdHVyZXMuXG4gICAqL1xuICBjc3NNb2R1bGVzPzogYm9vbGVhbjtcbn1cbi8qKlxuICogVGhlIGNvbmZpZ3VyYXRpb24gb2YgdGhlIGZpbGVzeXN0ZW1cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJRmlsZXNDb25maWd1cmF0aW9uIHtcbiAgLyoqXG4gICAqIEEgbGlzdCBvZiBVbml4IHNoZWxsIHN0eWxlIHBhdHRlcm5zLiBCaW9tZSB3aWxsIGlnbm9yZSBmaWxlcy9mb2xkZXJzIHRoYXQgd2lsbCBtYXRjaCB0aGVzZSBwYXR0ZXJucy5cbiAgICovXG4gIGlnbm9yZT86IElTdHJpbmdTZXQ7XG4gIC8qKlxuICAgKiBUZWxscyBCaW9tZSB0byBub3QgZW1pdCBkaWFnbm9zdGljcyB3aGVuIGhhbmRsaW5nIGZpbGVzIHRoYXQgZG9lc24ndCBrbm93XG4gICAqL1xuICBpZ25vcmVVbmtub3duPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIEEgbGlzdCBvZiBVbml4IHNoZWxsIHN0eWxlIHBhdHRlcm5zLiBCaW9tZSB3aWxsIGhhbmRsZSBvbmx5IHRob3NlIGZpbGVzL2ZvbGRlcnMgdGhhdCB3aWxsIG1hdGNoIHRoZXNlIHBhdHRlcm5zLlxuICAgKi9cbiAgaW5jbHVkZT86IElTdHJpbmdTZXQ7XG4gIC8qKlxuICAgKiBUaGUgbWF4aW11bSBhbGxvd2VkIHNpemUgZm9yIHNvdXJjZSBjb2RlIGZpbGVzIGluIGJ5dGVzLiBGaWxlcyBhYm92ZSB0aGlzIGxpbWl0IHdpbGwgYmUgaWdub3JlZCBmb3IgcGVyZm9ybWFuY2UgcmVhc29ucy4gRGVmYXVsdHMgdG8gMSBNaUJcbiAgICovXG4gIG1heFNpemU/OiBudW1iZXI7XG59XG4vKipcbiAqIEdlbmVyaWMgb3B0aW9ucyBhcHBsaWVkIHRvIGFsbCBmaWxlc1xuICovXG5leHBvcnQgaW50ZXJmYWNlIElGb3JtYXR0ZXJDb25maWd1cmF0aW9uIHtcbiAgLyoqXG4gICAqIFRoZSBhdHRyaWJ1dGUgcG9zaXRpb24gc3R5bGUgaW4gSFRNTGlzaCBsYW5ndWFnZXMuIEJ5IGRlZmF1bHQgYXV0by5cbiAgICovXG4gIGF0dHJpYnV0ZVBvc2l0aW9uPzogSUF0dHJpYnV0ZVBvc2l0aW9uO1xuICAvKipcbiAgICogV2hldGhlciB0byBpbnNlcnQgc3BhY2VzIGFyb3VuZCBicmFja2V0cyBpbiBvYmplY3QgbGl0ZXJhbHMuIERlZmF1bHRzIHRvIHRydWUuXG4gICAqL1xuICBicmFja2V0U3BhY2luZz86IElCcmFja2V0U3BhY2luZztcbiAgZW5hYmxlZD86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBTdG9yZXMgd2hldGhlciBmb3JtYXR0aW5nIHNob3VsZCBiZSBhbGxvd2VkIHRvIHByb2NlZWQgaWYgYSBnaXZlbiBmaWxlIGhhcyBzeW50YXggZXJyb3JzXG4gICAqL1xuICBmb3JtYXRXaXRoRXJyb3JzPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIEEgbGlzdCBvZiBVbml4IHNoZWxsIHN0eWxlIHBhdHRlcm5zLiBUaGUgZm9ybWF0dGVyIHdpbGwgaWdub3JlIGZpbGVzL2ZvbGRlcnMgdGhhdCB3aWxsIG1hdGNoIHRoZXNlIHBhdHRlcm5zLlxuICAgKi9cbiAgaWdub3JlPzogSVN0cmluZ1NldDtcbiAgLyoqXG4gICAqIEEgbGlzdCBvZiBVbml4IHNoZWxsIHN0eWxlIHBhdHRlcm5zLiBUaGUgZm9ybWF0dGVyIHdpbGwgaW5jbHVkZSBmaWxlcy9mb2xkZXJzIHRoYXQgd2lsbCBtYXRjaCB0aGVzZSBwYXR0ZXJucy5cbiAgICovXG4gIGluY2x1ZGU/OiBJU3RyaW5nU2V0O1xuICAvKipcbiAgICogVGhlIHNpemUgb2YgdGhlIGluZGVudGF0aW9uLCAyIGJ5IGRlZmF1bHQgKGRlcHJlY2F0ZWQsIHVzZSBgaW5kZW50LXdpZHRoYClcbiAgICovXG4gIGluZGVudFNpemU/OiBJSW5kZW50V2lkdGg7XG4gIC8qKlxuICAgKiBUaGUgaW5kZW50IHN0eWxlLlxuICAgKi9cbiAgaW5kZW50U3R5bGU/OiBJSW5kZW50U3R5bGU7XG4gIC8qKlxuICAgKiBUaGUgc2l6ZSBvZiB0aGUgaW5kZW50YXRpb24sIDIgYnkgZGVmYXVsdFxuICAgKi9cbiAgaW5kZW50V2lkdGg/OiBJSW5kZW50V2lkdGg7XG4gIC8qKlxuICAgKiBUaGUgdHlwZSBvZiBsaW5lIGVuZGluZy5cbiAgICovXG4gIGxpbmVFbmRpbmc/OiBJTGluZUVuZGluZztcbiAgLyoqXG4gICAqIFdoYXQncyB0aGUgbWF4IHdpZHRoIG9mIGEgbGluZS4gRGVmYXVsdHMgdG8gODAuXG4gICAqL1xuICBsaW5lV2lkdGg/OiBJTGluZVdpZHRoO1xuICAvKipcbiAgICogVXNlIGFueSBgLmVkaXRvcmNvbmZpZ2AgZmlsZXMgdG8gY29uZmlndXJlIHRoZSBmb3JtYXR0ZXIuIENvbmZpZ3VyYXRpb24gaW4gYGJpb21lLmpzb25gIHdpbGwgb3ZlcnJpZGUgYC5lZGl0b3Jjb25maWdgIGNvbmZpZ3VyYXRpb24uIERlZmF1bHQ6IGZhbHNlLlxuICAgKi9cbiAgdXNlRWRpdG9yY29uZmlnPzogYm9vbGVhbjtcbn1cbi8qKlxuICogT3B0aW9ucyBhcHBsaWVkIHRvIEdyYXBoUUwgZmlsZXNcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJR3JhcGhxbENvbmZpZ3VyYXRpb24ge1xuICAvKipcbiAgICogR3JhcGhRTCBmb3JtYXR0ZXIgb3B0aW9uc1xuICAgKi9cbiAgZm9ybWF0dGVyPzogSUdyYXBocWxGb3JtYXR0ZXI7XG4gIGxpbnRlcj86IElHcmFwaHFsTGludGVyO1xufVxuLyoqXG4gKiBPcHRpb25zIHRoYXQgY2hhbmdlcyBob3cgdGhlIEdyYXBoUUwgZm9ybWF0dGVyIGJlaGF2ZXNcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJR3JhcGhxbEZvcm1hdHRlciB7XG4gIC8qKlxuICAgKiBXaGV0aGVyIHRvIGluc2VydCBzcGFjZXMgYXJvdW5kIGJyYWNrZXRzIGluIG9iamVjdCBsaXRlcmFscy4gRGVmYXVsdHMgdG8gdHJ1ZS5cbiAgICovXG4gIGJyYWNrZXRTcGFjaW5nPzogSUJyYWNrZXRTcGFjaW5nO1xuICAvKipcbiAgICogQ29udHJvbCB0aGUgZm9ybWF0dGVyIGZvciBHcmFwaFFMIGZpbGVzLlxuICAgKi9cbiAgZW5hYmxlZD86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBUaGUgaW5kZW50IHN0eWxlIGFwcGxpZWQgdG8gR3JhcGhRTCBmaWxlcy5cbiAgICovXG4gIGluZGVudFN0eWxlPzogSUluZGVudFN0eWxlO1xuICAvKipcbiAgICogVGhlIHNpemUgb2YgdGhlIGluZGVudGF0aW9uIGFwcGxpZWQgdG8gR3JhcGhRTCBmaWxlcy4gRGVmYXVsdCB0byAyLlxuICAgKi9cbiAgaW5kZW50V2lkdGg/OiBJSW5kZW50V2lkdGg7XG4gIC8qKlxuICAgKiBUaGUgdHlwZSBvZiBsaW5lIGVuZGluZyBhcHBsaWVkIHRvIEdyYXBoUUwgZmlsZXMuXG4gICAqL1xuICBsaW5lRW5kaW5nPzogSUxpbmVFbmRpbmc7XG4gIC8qKlxuICAgKiBXaGF0J3MgdGhlIG1heCB3aWR0aCBvZiBhIGxpbmUgYXBwbGllZCB0byBHcmFwaFFMIGZpbGVzLiBEZWZhdWx0cyB0byA4MC5cbiAgICovXG4gIGxpbmVXaWR0aD86IElMaW5lV2lkdGg7XG4gIC8qKlxuICAgKiBUaGUgdHlwZSBvZiBxdW90ZXMgdXNlZCBpbiBHcmFwaFFMIGNvZGUuIERlZmF1bHRzIHRvIGRvdWJsZS5cbiAgICovXG4gIHF1b3RlU3R5bGU/OiBJUXVvdGVTdHlsZTtcbn1cbi8qKlxuICogT3B0aW9ucyB0aGF0IGNoYW5nZXMgaG93IHRoZSBHcmFwaFFMIGxpbnRlciBiZWhhdmVzXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSUdyYXBocWxMaW50ZXIge1xuICAvKipcbiAgICogQ29udHJvbCB0aGUgZm9ybWF0dGVyIGZvciBHcmFwaFFMIGZpbGVzLlxuICAgKi9cbiAgZW5hYmxlZD86IGJvb2xlYW47XG59XG4vKipcbiAqIEEgc2V0IG9mIG9wdGlvbnMgYXBwbGllZCB0byB0aGUgSmF2YVNjcmlwdCBmaWxlc1xuICovXG5leHBvcnQgaW50ZXJmYWNlIElKYXZhc2NyaXB0Q29uZmlndXJhdGlvbiB7XG4gIC8qKlxuICAgKiBBc3Npc3RzIG9wdGlvbnNcbiAgICovXG4gIGFzc2lzdHM/OiBJSmF2YXNjcmlwdEFzc2lzdHM7XG4gIC8qKlxuICAgKiBGb3JtYXR0aW5nIG9wdGlvbnNcbiAgICovXG4gIGZvcm1hdHRlcj86IElKYXZhc2NyaXB0Rm9ybWF0dGVyO1xuICAvKipcbiAgICogQSBsaXN0IG9mIGdsb2JhbCBiaW5kaW5ncyB0aGF0IHNob3VsZCBiZSBpZ25vcmVkIGJ5IHRoZSBhbmFseXplcnNcbiAgICpcbiAgICogSWYgZGVmaW5lZCBoZXJlLCB0aGV5IHNob3VsZCBub3QgZW1pdCBkaWFnbm9zdGljcy5cbiAgICovXG4gIGdsb2JhbHM/OiBJU3RyaW5nU2V0O1xuICAvKipcbiAgICogSW5kaWNhdGVzIHRoZSB0eXBlIG9mIHJ1bnRpbWUgb3IgdHJhbnNmb3JtYXRpb24gdXNlZCBmb3IgaW50ZXJwcmV0aW5nIEpTWC5cbiAgICovXG4gIGpzeFJ1bnRpbWU/OiBJSnN4UnVudGltZTtcbiAgLyoqXG4gICAqIExpbnRlciBvcHRpb25zXG4gICAqL1xuICBsaW50ZXI/OiBJSmF2YXNjcmlwdExpbnRlcjtcbiAgb3JnYW5pemVJbXBvcnRzPzogSUphdmFzY3JpcHRPcmdhbml6ZUltcG9ydHM7XG4gIC8qKlxuICAgKiBQYXJzaW5nIG9wdGlvbnNcbiAgICovXG4gIHBhcnNlcj86IElKYXZhc2NyaXB0UGFyc2VyO1xufVxuLyoqXG4gKiBMaW50ZXIgb3B0aW9ucyBzcGVjaWZpYyB0byB0aGUgSmF2YVNjcmlwdCBsaW50ZXJcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJSmF2YXNjcmlwdEFzc2lzdHMge1xuICAvKipcbiAgICogQ29udHJvbCB0aGUgbGludGVyIGZvciBKYXZhU2NyaXB0IChhbmQgaXRzIHN1cGVyIGxhbmd1YWdlcykgZmlsZXMuXG4gICAqL1xuICBlbmFibGVkPzogYm9vbGVhbjtcbn1cbi8qKlxuICogRm9ybWF0dGluZyBvcHRpb25zIHNwZWNpZmljIHRvIHRoZSBKYXZhU2NyaXB0IGZpbGVzXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSUphdmFzY3JpcHRGb3JtYXR0ZXIge1xuICAvKipcbiAgICogV2hldGhlciB0byBhZGQgbm9uLW5lY2Vzc2FyeSBwYXJlbnRoZXNlcyB0byBhcnJvdyBmdW5jdGlvbnMuIERlZmF1bHRzIHRvIFwiYWx3YXlzXCIuXG4gICAqL1xuICBhcnJvd1BhcmVudGhlc2VzPzogSUFycm93UGFyZW50aGVzZXM7XG4gIC8qKlxuICAgKiBUaGUgYXR0cmlidXRlIHBvc2l0aW9uIHN0eWxlIGluIGpzeCBlbGVtZW50cy4gRGVmYXVsdHMgdG8gYXV0by5cbiAgICovXG4gIGF0dHJpYnV0ZVBvc2l0aW9uPzogSUF0dHJpYnV0ZVBvc2l0aW9uO1xuICAvKipcbiAgICogV2hldGhlciB0byBodWcgdGhlIGNsb3NpbmcgYnJhY2tldCBvZiBtdWx0aWxpbmUgSFRNTC9KU1ggdGFncyB0byB0aGUgZW5kIG9mIHRoZSBsYXN0IGxpbmUsIHJhdGhlciB0aGFuIGJlaW5nIGFsb25lIG9uIHRoZSBmb2xsb3dpbmcgbGluZS4gRGVmYXVsdHMgdG8gZmFsc2UuXG4gICAqL1xuICBicmFja2V0U2FtZUxpbmU/OiBib29sZWFuO1xuICAvKipcbiAgICogV2hldGhlciB0byBpbnNlcnQgc3BhY2VzIGFyb3VuZCBicmFja2V0cyBpbiBvYmplY3QgbGl0ZXJhbHMuIERlZmF1bHRzIHRvIHRydWUuXG4gICAqL1xuICBicmFja2V0U3BhY2luZz86IElCcmFja2V0U3BhY2luZztcbiAgLyoqXG4gICAqIENvbnRyb2wgdGhlIGZvcm1hdHRlciBmb3IgSmF2YVNjcmlwdCAoYW5kIGl0cyBzdXBlciBsYW5ndWFnZXMpIGZpbGVzLlxuICAgKi9cbiAgZW5hYmxlZD86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBUaGUgc2l6ZSBvZiB0aGUgaW5kZW50YXRpb24gYXBwbGllZCB0byBKYXZhU2NyaXB0IChhbmQgaXRzIHN1cGVyIGxhbmd1YWdlcykgZmlsZXMuIERlZmF1bHQgdG8gMi5cbiAgICovXG4gIGluZGVudFNpemU/OiBJSW5kZW50V2lkdGg7XG4gIC8qKlxuICAgKiBUaGUgaW5kZW50IHN0eWxlIGFwcGxpZWQgdG8gSmF2YVNjcmlwdCAoYW5kIGl0cyBzdXBlciBsYW5ndWFnZXMpIGZpbGVzLlxuICAgKi9cbiAgaW5kZW50U3R5bGU/OiBJSW5kZW50U3R5bGU7XG4gIC8qKlxuICAgKiBUaGUgc2l6ZSBvZiB0aGUgaW5kZW50YXRpb24gYXBwbGllZCB0byBKYXZhU2NyaXB0IChhbmQgaXRzIHN1cGVyIGxhbmd1YWdlcykgZmlsZXMuIERlZmF1bHQgdG8gMi5cbiAgICovXG4gIGluZGVudFdpZHRoPzogSUluZGVudFdpZHRoO1xuICAvKipcbiAgICogVGhlIHR5cGUgb2YgcXVvdGVzIHVzZWQgaW4gSlNYLiBEZWZhdWx0cyB0byBkb3VibGUuXG4gICAqL1xuICBqc3hRdW90ZVN0eWxlPzogSVF1b3RlU3R5bGU7XG4gIC8qKlxuICAgKiBUaGUgdHlwZSBvZiBsaW5lIGVuZGluZyBhcHBsaWVkIHRvIEphdmFTY3JpcHQgKGFuZCBpdHMgc3VwZXIgbGFuZ3VhZ2VzKSBmaWxlcy5cbiAgICovXG4gIGxpbmVFbmRpbmc/OiBJTGluZUVuZGluZztcbiAgLyoqXG4gICAqIFdoYXQncyB0aGUgbWF4IHdpZHRoIG9mIGEgbGluZSBhcHBsaWVkIHRvIEphdmFTY3JpcHQgKGFuZCBpdHMgc3VwZXIgbGFuZ3VhZ2VzKSBmaWxlcy4gRGVmYXVsdHMgdG8gODAuXG4gICAqL1xuICBsaW5lV2lkdGg/OiBJTGluZVdpZHRoO1xuICAvKipcbiAgICogV2hlbiBwcm9wZXJ0aWVzIGluIG9iamVjdHMgYXJlIHF1b3RlZC4gRGVmYXVsdHMgdG8gYXNOZWVkZWQuXG4gICAqL1xuICBxdW90ZVByb3BlcnRpZXM/OiBJUXVvdGVQcm9wZXJ0aWVzO1xuICAvKipcbiAgICogVGhlIHR5cGUgb2YgcXVvdGVzIHVzZWQgaW4gSmF2YVNjcmlwdCBjb2RlLiBEZWZhdWx0cyB0byBkb3VibGUuXG4gICAqL1xuICBxdW90ZVN0eWxlPzogSVF1b3RlU3R5bGU7XG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoZSBmb3JtYXR0ZXIgcHJpbnRzIHNlbWljb2xvbnMgZm9yIGFsbCBzdGF0ZW1lbnRzIG9yIG9ubHkgaW4gZm9yIHN0YXRlbWVudHMgd2hlcmUgaXQgaXMgbmVjZXNzYXJ5IGJlY2F1c2Ugb2YgQVNJLlxuICAgKi9cbiAgc2VtaWNvbG9ucz86IElTZW1pY29sb25zO1xuICAvKipcbiAgICogUHJpbnQgdHJhaWxpbmcgY29tbWFzIHdoZXJldmVyIHBvc3NpYmxlIGluIG11bHRpLWxpbmUgY29tbWEtc2VwYXJhdGVkIHN5bnRhY3RpYyBzdHJ1Y3R1cmVzLiBEZWZhdWx0cyB0byBcImFsbFwiLlxuICAgKi9cbiAgdHJhaWxpbmdDb21tYT86IElUcmFpbGluZ0NvbW1hcztcbiAgLyoqXG4gICAqIFByaW50IHRyYWlsaW5nIGNvbW1hcyB3aGVyZXZlciBwb3NzaWJsZSBpbiBtdWx0aS1saW5lIGNvbW1hLXNlcGFyYXRlZCBzeW50YWN0aWMgc3RydWN0dXJlcy4gRGVmYXVsdHMgdG8gXCJhbGxcIi5cbiAgICovXG4gIHRyYWlsaW5nQ29tbWFzPzogSVRyYWlsaW5nQ29tbWFzO1xufVxuLyoqXG4gKiBMaW50ZXIgb3B0aW9ucyBzcGVjaWZpYyB0byB0aGUgSmF2YVNjcmlwdCBsaW50ZXJcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJSmF2YXNjcmlwdExpbnRlciB7XG4gIC8qKlxuICAgKiBDb250cm9sIHRoZSBsaW50ZXIgZm9yIEphdmFTY3JpcHQgKGFuZCBpdHMgc3VwZXIgbGFuZ3VhZ2VzKSBmaWxlcy5cbiAgICovXG4gIGVuYWJsZWQ/OiBib29sZWFuO1xufVxuZXhwb3J0IGludGVyZmFjZSBJSmF2YXNjcmlwdE9yZ2FuaXplSW1wb3J0cyB7fVxuLyoqXG4gKiBPcHRpb25zIHRoYXQgY2hhbmdlcyBob3cgdGhlIEphdmFTY3JpcHQgcGFyc2VyIGJlaGF2ZXNcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJSmF2YXNjcmlwdFBhcnNlciB7XG4gIC8qKlxuICAgKiBJdCBlbmFibGVzIHRoZSBleHBlcmltZW50YWwgYW5kIHVuc2FmZSBwYXJzaW5nIG9mIHBhcmFtZXRlciBkZWNvcmF0b3JzXG4gICAqXG4gICAqIFRoZXNlIGRlY29yYXRvcnMgYmVsb25nIHRvIGFuIG9sZCBwcm9wb3NhbCwgYW5kIHRoZXkgYXJlIHN1YmplY3QgdG8gY2hhbmdlLlxuICAgKi9cbiAgdW5zYWZlUGFyYW1ldGVyRGVjb3JhdG9yc0VuYWJsZWQ/OiBib29sZWFuO1xufVxuLyoqXG4gKiBPcHRpb25zIGFwcGxpZWQgdG8gSlNPTiBmaWxlc1xuICovXG5leHBvcnQgaW50ZXJmYWNlIElKc29uQ29uZmlndXJhdGlvbiB7XG4gIC8qKlxuICAgKiBBc3Npc3RzIG9wdGlvbnNcbiAgICovXG4gIGFzc2lzdHM/OiBJSnNvbkFzc2lzdHM7XG4gIC8qKlxuICAgKiBGb3JtYXR0aW5nIG9wdGlvbnNcbiAgICovXG4gIGZvcm1hdHRlcj86IElKc29uRm9ybWF0dGVyO1xuICAvKipcbiAgICogTGludGluZyBvcHRpb25zXG4gICAqL1xuICBsaW50ZXI/OiBJSnNvbkxpbnRlcjtcbiAgLyoqXG4gICAqIFBhcnNpbmcgb3B0aW9uc1xuICAgKi9cbiAgcGFyc2VyPzogSUpzb25QYXJzZXI7XG59XG4vKipcbiAqIExpbnRlciBvcHRpb25zIHNwZWNpZmljIHRvIHRoZSBKU09OIGxpbnRlclxuICovXG5leHBvcnQgaW50ZXJmYWNlIElKc29uQXNzaXN0cyB7XG4gIC8qKlxuICAgKiBDb250cm9sIHRoZSBsaW50ZXIgZm9yIEpTT04gKGFuZCBpdHMgc3VwZXIgbGFuZ3VhZ2VzKSBmaWxlcy5cbiAgICovXG4gIGVuYWJsZWQ/OiBib29sZWFuO1xufVxuZXhwb3J0IGludGVyZmFjZSBJSnNvbkZvcm1hdHRlciB7XG4gIC8qKlxuICAgKiBDb250cm9sIHRoZSBmb3JtYXR0ZXIgZm9yIEpTT04gKGFuZCBpdHMgc3VwZXIgbGFuZ3VhZ2VzKSBmaWxlcy5cbiAgICovXG4gIGVuYWJsZWQ/OiBib29sZWFuO1xuICAvKipcbiAgICogVGhlIHNpemUgb2YgdGhlIGluZGVudGF0aW9uIGFwcGxpZWQgdG8gSlNPTiAoYW5kIGl0cyBzdXBlciBsYW5ndWFnZXMpIGZpbGVzLiBEZWZhdWx0IHRvIDIuXG4gICAqL1xuICBpbmRlbnRTaXplPzogSUluZGVudFdpZHRoO1xuICAvKipcbiAgICogVGhlIGluZGVudCBzdHlsZSBhcHBsaWVkIHRvIEpTT04gKGFuZCBpdHMgc3VwZXIgbGFuZ3VhZ2VzKSBmaWxlcy5cbiAgICovXG4gIGluZGVudFN0eWxlPzogSUluZGVudFN0eWxlO1xuICAvKipcbiAgICogVGhlIHNpemUgb2YgdGhlIGluZGVudGF0aW9uIGFwcGxpZWQgdG8gSlNPTiAoYW5kIGl0cyBzdXBlciBsYW5ndWFnZXMpIGZpbGVzLiBEZWZhdWx0IHRvIDIuXG4gICAqL1xuICBpbmRlbnRXaWR0aD86IElJbmRlbnRXaWR0aDtcbiAgLyoqXG4gICAqIFRoZSB0eXBlIG9mIGxpbmUgZW5kaW5nIGFwcGxpZWQgdG8gSlNPTiAoYW5kIGl0cyBzdXBlciBsYW5ndWFnZXMpIGZpbGVzLlxuICAgKi9cbiAgbGluZUVuZGluZz86IElMaW5lRW5kaW5nO1xuICAvKipcbiAgICogV2hhdCdzIHRoZSBtYXggd2lkdGggb2YgYSBsaW5lIGFwcGxpZWQgdG8gSlNPTiAoYW5kIGl0cyBzdXBlciBsYW5ndWFnZXMpIGZpbGVzLiBEZWZhdWx0cyB0byA4MC5cbiAgICovXG4gIGxpbmVXaWR0aD86IElMaW5lV2lkdGg7XG4gIC8qKlxuICAgKiBQcmludCB0cmFpbGluZyBjb21tYXMgd2hlcmV2ZXIgcG9zc2libGUgaW4gbXVsdGktbGluZSBjb21tYS1zZXBhcmF0ZWQgc3ludGFjdGljIHN0cnVjdHVyZXMuIERlZmF1bHRzIHRvIFwibm9uZVwiLlxuICAgKi9cbiAgdHJhaWxpbmdDb21tYXM/OiBJVHJhaWxpbmdDb21tYXMyO1xufVxuLyoqXG4gKiBMaW50ZXIgb3B0aW9ucyBzcGVjaWZpYyB0byB0aGUgSlNPTiBsaW50ZXJcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJSnNvbkxpbnRlciB7XG4gIC8qKlxuICAgKiBDb250cm9sIHRoZSBsaW50ZXIgZm9yIEpTT04gKGFuZCBpdHMgc3VwZXIgbGFuZ3VhZ2VzKSBmaWxlcy5cbiAgICovXG4gIGVuYWJsZWQ/OiBib29sZWFuO1xufVxuLyoqXG4gKiBPcHRpb25zIHRoYXQgY2hhbmdlcyBob3cgdGhlIEpTT04gcGFyc2VyIGJlaGF2ZXNcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJSnNvblBhcnNlciB7XG4gIC8qKlxuICAgKiBBbGxvdyBwYXJzaW5nIGNvbW1lbnRzIGluIGAuanNvbmAgZmlsZXNcbiAgICovXG4gIGFsbG93Q29tbWVudHM/OiBib29sZWFuO1xuICAvKipcbiAgICogQWxsb3cgcGFyc2luZyB0cmFpbGluZyBjb21tYXMgaW4gYC5qc29uYCBmaWxlc1xuICAgKi9cbiAgYWxsb3dUcmFpbGluZ0NvbW1hcz86IGJvb2xlYW47XG59XG5leHBvcnQgaW50ZXJmYWNlIElMaW50ZXJDb25maWd1cmF0aW9uIHtcbiAgLyoqXG4gICAqIGlmIGBmYWxzZWAsIGl0IGRpc2FibGVzIHRoZSBmZWF0dXJlIGFuZCB0aGUgbGludGVyIHdvbid0IGJlIGV4ZWN1dGVkLiBgdHJ1ZWAgYnkgZGVmYXVsdFxuICAgKi9cbiAgZW5hYmxlZD86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBBIGxpc3Qgb2YgVW5peCBzaGVsbCBzdHlsZSBwYXR0ZXJucy4gVGhlIGZvcm1hdHRlciB3aWxsIGlnbm9yZSBmaWxlcy9mb2xkZXJzIHRoYXQgd2lsbCBtYXRjaCB0aGVzZSBwYXR0ZXJucy5cbiAgICovXG4gIGlnbm9yZT86IElTdHJpbmdTZXQ7XG4gIC8qKlxuICAgKiBBIGxpc3Qgb2YgVW5peCBzaGVsbCBzdHlsZSBwYXR0ZXJucy4gVGhlIGZvcm1hdHRlciB3aWxsIGluY2x1ZGUgZmlsZXMvZm9sZGVycyB0aGF0IHdpbGwgbWF0Y2ggdGhlc2UgcGF0dGVybnMuXG4gICAqL1xuICBpbmNsdWRlPzogSVN0cmluZ1NldDtcbiAgLyoqXG4gICAqIExpc3Qgb2YgcnVsZXNcbiAgICovXG4gIHJ1bGVzPzogSVJ1bGVzO1xufVxuZXhwb3J0IGludGVyZmFjZSBJUnVsZXMge1xuICBhMTF5PzogSUExMXk7XG4gIC8qKlxuICAgKiBJdCBlbmFibGVzIEFMTCBydWxlcy4gVGhlIHJ1bGVzIHRoYXQgYmVsb25nIHRvIGBudXJzZXJ5YCB3b24ndCBiZSBlbmFibGVkLlxuICAgKi9cbiAgYWxsPzogYm9vbGVhbjtcbiAgY29tcGxleGl0eT86IElDb21wbGV4aXR5O1xuICBjb3JyZWN0bmVzcz86IElDb3JyZWN0bmVzcztcbiAgbnVyc2VyeT86IElOdXJzZXJ5O1xuICBwZXJmb3JtYW5jZT86IElQZXJmb3JtYW5jZTtcbiAgLyoqXG4gICAqIEl0IGVuYWJsZXMgdGhlIGxpbnQgcnVsZXMgcmVjb21tZW5kZWQgYnkgQmlvbWUuIGB0cnVlYCBieSBkZWZhdWx0LlxuICAgKi9cbiAgcmVjb21tZW5kZWQ/OiBib29sZWFuO1xuICBzZWN1cml0eT86IElTZWN1cml0eTtcbiAgc3R5bGU/OiBJU3R5bGU7XG4gIHN1c3BpY2lvdXM/OiBJU3VzcGljaW91cztcbn1cbi8qKlxuICogQSBsaXN0IG9mIHJ1bGVzIHRoYXQgYmVsb25nIHRvIHRoaXMgZ3JvdXBcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJQTExeSB7XG4gIC8qKlxuICAgKiBJdCBlbmFibGVzIEFMTCBydWxlcyBmb3IgdGhpcyBncm91cC5cbiAgICovXG4gIGFsbD86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBFbmZvcmNlIHRoYXQgdGhlIGFjY2Vzc0tleSBhdHRyaWJ1dGUgaXMgbm90IHVzZWQgb24gYW55IEhUTUwgZWxlbWVudC5cbiAgICovXG4gIG5vQWNjZXNzS2V5PzogSVJ1bGVGaXhDb25maWd1cmF0aW9uO1xuICAvKipcbiAgICogRW5mb3JjZSB0aGF0IGFyaWEtaGlkZGVuPVwidHJ1ZVwiIGlzIG5vdCBzZXQgb24gZm9jdXNhYmxlIGVsZW1lbnRzLlxuICAgKi9cbiAgbm9BcmlhSGlkZGVuT25Gb2N1c2FibGU/OiBJUnVsZUZpeENvbmZpZ3VyYXRpb247XG4gIC8qKlxuICAgKiBFbmZvcmNlIHRoYXQgZWxlbWVudHMgdGhhdCBkbyBub3Qgc3VwcG9ydCBBUklBIHJvbGVzLCBzdGF0ZXMsIGFuZCBwcm9wZXJ0aWVzIGRvIG5vdCBoYXZlIHRob3NlIGF0dHJpYnV0ZXMuXG4gICAqL1xuICBub0FyaWFVbnN1cHBvcnRlZEVsZW1lbnRzPzogSVJ1bGVGaXhDb25maWd1cmF0aW9uO1xuICAvKipcbiAgICogRW5mb3JjZSB0aGF0IGF1dG9Gb2N1cyBwcm9wIGlzIG5vdCB1c2VkIG9uIGVsZW1lbnRzLlxuICAgKi9cbiAgbm9BdXRvZm9jdXM/OiBJUnVsZUZpeENvbmZpZ3VyYXRpb247XG4gIC8qKlxuICAgKiBEaXNhbGxvdyB0YXJnZXQ9XCJfYmxhbmtcIiBhdHRyaWJ1dGUgd2l0aG91dCByZWw9XCJub3JlZmVycmVyXCJcbiAgICovXG4gIG5vQmxhbmtUYXJnZXQ/OiBJQWxsb3dEb21haW5Db25maWd1cmF0aW9uO1xuICAvKipcbiAgICogRW5mb3JjZXMgdGhhdCBubyBkaXN0cmFjdGluZyBlbGVtZW50cyBhcmUgdXNlZC5cbiAgICovXG4gIG5vRGlzdHJhY3RpbmdFbGVtZW50cz86IElSdWxlRml4Q29uZmlndXJhdGlvbjtcbiAgLyoqXG4gICAqIFRoZSBzY29wZSBwcm9wIHNob3VsZCBiZSB1c2VkIG9ubHkgb24gXFw8dGg+IGVsZW1lbnRzLlxuICAgKi9cbiAgbm9IZWFkZXJTY29wZT86IElSdWxlRml4Q29uZmlndXJhdGlvbjtcbiAgLyoqXG4gICAqIEVuZm9yY2UgdGhhdCBub24taW50ZXJhY3RpdmUgQVJJQSByb2xlcyBhcmUgbm90IGFzc2lnbmVkIHRvIGludGVyYWN0aXZlIEhUTUwgZWxlbWVudHMuXG4gICAqL1xuICBub0ludGVyYWN0aXZlRWxlbWVudFRvTm9uaW50ZXJhY3RpdmVSb2xlPzogSVJ1bGVGaXhDb25maWd1cmF0aW9uO1xuICAvKipcbiAgICogRW5mb3JjZSB0aGF0IGEgbGFiZWwgZWxlbWVudCBvciBjb21wb25lbnQgaGFzIGEgdGV4dCBsYWJlbCBhbmQgYW4gYXNzb2NpYXRlZCBpbnB1dC5cbiAgICovXG4gIG5vTGFiZWxXaXRob3V0Q29udHJvbD86IElOb0xhYmVsV2l0aG91dENvbnRyb2xDb25maWd1cmF0aW9uO1xuICAvKipcbiAgICogRW5mb3JjZSB0aGF0IGludGVyYWN0aXZlIEFSSUEgcm9sZXMgYXJlIG5vdCBhc3NpZ25lZCB0byBub24taW50ZXJhY3RpdmUgSFRNTCBlbGVtZW50cy5cbiAgICovXG4gIG5vTm9uaW50ZXJhY3RpdmVFbGVtZW50VG9JbnRlcmFjdGl2ZVJvbGU/OiBJUnVsZUZpeENvbmZpZ3VyYXRpb247XG4gIC8qKlxuICAgKiBFbmZvcmNlIHRoYXQgdGFiSW5kZXggaXMgbm90IGFzc2lnbmVkIHRvIG5vbi1pbnRlcmFjdGl2ZSBIVE1MIGVsZW1lbnRzLlxuICAgKi9cbiAgbm9Ob25pbnRlcmFjdGl2ZVRhYmluZGV4PzogSVJ1bGVGaXhDb25maWd1cmF0aW9uO1xuICAvKipcbiAgICogUHJldmVudCB0aGUgdXNhZ2Ugb2YgcG9zaXRpdmUgaW50ZWdlcnMgb24gdGFiSW5kZXggcHJvcGVydHlcbiAgICovXG4gIG5vUG9zaXRpdmVUYWJpbmRleD86IElSdWxlRml4Q29uZmlndXJhdGlvbjtcbiAgLyoqXG4gICAqIEVuZm9yY2UgaW1nIGFsdCBwcm9wIGRvZXMgbm90IGNvbnRhaW4gdGhlIHdvcmQgXCJpbWFnZVwiLCBcInBpY3R1cmVcIiwgb3IgXCJwaG90b1wiLlxuICAgKi9cbiAgbm9SZWR1bmRhbnRBbHQ/OiBJUnVsZUNvbmZpZ3VyYXRpb247XG4gIC8qKlxuICAgKiBFbmZvcmNlIGV4cGxpY2l0IHJvbGUgcHJvcGVydHkgaXMgbm90IHRoZSBzYW1lIGFzIGltcGxpY2l0L2RlZmF1bHQgcm9sZSBwcm9wZXJ0eSBvbiBhbiBlbGVtZW50LlxuICAgKi9cbiAgbm9SZWR1bmRhbnRSb2xlcz86IElSdWxlRml4Q29uZmlndXJhdGlvbjtcbiAgLyoqXG4gICAqIEVuZm9yY2VzIHRoZSB1c2FnZSBvZiB0aGUgdGl0bGUgZWxlbWVudCBmb3IgdGhlIHN2ZyBlbGVtZW50LlxuICAgKi9cbiAgbm9TdmdXaXRob3V0VGl0bGU/OiBJUnVsZUNvbmZpZ3VyYXRpb247XG4gIC8qKlxuICAgKiBJdCBlbmFibGVzIHRoZSByZWNvbW1lbmRlZCBydWxlcyBmb3IgdGhpcyBncm91cFxuICAgKi9cbiAgcmVjb21tZW5kZWQ/OiBib29sZWFuO1xuICAvKipcbiAgICogRW5mb3JjZSB0aGF0IGFsbCBlbGVtZW50cyB0aGF0IHJlcXVpcmUgYWx0ZXJuYXRpdmUgdGV4dCBoYXZlIG1lYW5pbmdmdWwgaW5mb3JtYXRpb24gdG8gcmVsYXkgYmFjayB0byB0aGUgZW5kIHVzZXIuXG4gICAqL1xuICB1c2VBbHRUZXh0PzogSVJ1bGVDb25maWd1cmF0aW9uO1xuICAvKipcbiAgICogRW5mb3JjZSB0aGF0IGFuY2hvcnMgaGF2ZSBjb250ZW50IGFuZCB0aGF0IHRoZSBjb250ZW50IGlzIGFjY2Vzc2libGUgdG8gc2NyZWVuIHJlYWRlcnMuXG4gICAqL1xuICB1c2VBbmNob3JDb250ZW50PzogSVJ1bGVGaXhDb25maWd1cmF0aW9uO1xuICAvKipcbiAgICogRW5mb3JjZSB0aGF0IHRhYkluZGV4IGlzIGFzc2lnbmVkIHRvIG5vbi1pbnRlcmFjdGl2ZSBIVE1MIGVsZW1lbnRzIHdpdGggYXJpYS1hY3RpdmVkZXNjZW5kYW50LlxuICAgKi9cbiAgdXNlQXJpYUFjdGl2ZWRlc2NlbmRhbnRXaXRoVGFiaW5kZXg/OiBJUnVsZUZpeENvbmZpZ3VyYXRpb247XG4gIC8qKlxuICAgKiBFbmZvcmNlIHRoYXQgZWxlbWVudHMgd2l0aCBBUklBIHJvbGVzIG11c3QgaGF2ZSBhbGwgcmVxdWlyZWQgQVJJQSBhdHRyaWJ1dGVzIGZvciB0aGF0IHJvbGUuXG4gICAqL1xuICB1c2VBcmlhUHJvcHNGb3JSb2xlPzogSVJ1bGVDb25maWd1cmF0aW9uO1xuICAvKipcbiAgICogRW5mb3JjZXMgdGhlIHVzYWdlIG9mIHRoZSBhdHRyaWJ1dGUgdHlwZSBmb3IgdGhlIGVsZW1lbnQgYnV0dG9uXG4gICAqL1xuICB1c2VCdXR0b25UeXBlPzogSVJ1bGVDb25maWd1cmF0aW9uO1xuICAvKipcbiAgICogRWxlbWVudHMgd2l0aCBhbiBpbnRlcmFjdGl2ZSByb2xlIGFuZCBpbnRlcmFjdGlvbiBoYW5kbGVycyBtdXN0IGJlIGZvY3VzYWJsZS5cbiAgICovXG4gIHVzZUZvY3VzYWJsZUludGVyYWN0aXZlPzogSVJ1bGVDb25maWd1cmF0aW9uO1xuICAvKipcbiAgICogRGlzYWxsb3cgYSBtaXNzaW5nIGdlbmVyaWMgZmFtaWx5IGtleXdvcmQgd2l0aGluIGZvbnQgZmFtaWxpZXMuXG4gICAqL1xuICB1c2VHZW5lcmljRm9udE5hbWVzPzogSVJ1bGVDb25maWd1cmF0aW9uO1xuICAvKipcbiAgICogRW5mb3JjZSB0aGF0IGhlYWRpbmcgZWxlbWVudHMgKGgxLCBoMiwgZXRjLikgaGF2ZSBjb250ZW50IGFuZCB0aGF0IHRoZSBjb250ZW50IGlzIGFjY2Vzc2libGUgdG8gc2NyZWVuIHJlYWRlcnMuIEFjY2Vzc2libGUgbWVhbnMgdGhhdCBpdCBpcyBub3QgaGlkZGVuIHVzaW5nIHRoZSBhcmlhLWhpZGRlbiBwcm9wLlxuICAgKi9cbiAgdXNlSGVhZGluZ0NvbnRlbnQ/OiBJUnVsZUNvbmZpZ3VyYXRpb247XG4gIC8qKlxuICAgKiBFbmZvcmNlIHRoYXQgaHRtbCBlbGVtZW50IGhhcyBsYW5nIGF0dHJpYnV0ZS5cbiAgICovXG4gIHVzZUh0bWxMYW5nPzogSVJ1bGVDb25maWd1cmF0aW9uO1xuICAvKipcbiAgICogRW5mb3JjZXMgdGhlIHVzYWdlIG9mIHRoZSBhdHRyaWJ1dGUgdGl0bGUgZm9yIHRoZSBlbGVtZW50IGlmcmFtZS5cbiAgICovXG4gIHVzZUlmcmFtZVRpdGxlPzogSVJ1bGVDb25maWd1cmF0aW9uO1xuICAvKipcbiAgICogRW5mb3JjZSBvbkNsaWNrIGlzIGFjY29tcGFuaWVkIGJ5IGF0IGxlYXN0IG9uZSBvZiB0aGUgZm9sbG93aW5nOiBvbktleVVwLCBvbktleURvd24sIG9uS2V5UHJlc3MuXG4gICAqL1xuICB1c2VLZXlXaXRoQ2xpY2tFdmVudHM/OiBJUnVsZUNvbmZpZ3VyYXRpb247XG4gIC8qKlxuICAgKiBFbmZvcmNlIG9uTW91c2VPdmVyIC8gb25Nb3VzZU91dCBhcmUgYWNjb21wYW5pZWQgYnkgb25Gb2N1cyAvIG9uQmx1ci5cbiAgICovXG4gIHVzZUtleVdpdGhNb3VzZUV2ZW50cz86IElSdWxlQ29uZmlndXJhdGlvbjtcbiAgLyoqXG4gICAqIEVuZm9yY2VzIHRoYXQgYXVkaW8gYW5kIHZpZGVvIGVsZW1lbnRzIG11c3QgaGF2ZSBhIHRyYWNrIGZvciBjYXB0aW9ucy5cbiAgICovXG4gIHVzZU1lZGlhQ2FwdGlvbj86IElSdWxlQ29uZmlndXJhdGlvbjtcbiAgLyoqXG4gICAqIEl0IGRldGVjdHMgdGhlIHVzZSBvZiByb2xlIGF0dHJpYnV0ZXMgaW4gSlNYIGVsZW1lbnRzIGFuZCBzdWdnZXN0cyB1c2luZyBzZW1hbnRpYyBlbGVtZW50cyBpbnN0ZWFkLlxuICAgKi9cbiAgdXNlU2VtYW50aWNFbGVtZW50cz86IElSdWxlQ29uZmlndXJhdGlvbjtcbiAgLyoqXG4gICAqIEVuZm9yY2UgdGhhdCBhbGwgYW5jaG9ycyBhcmUgdmFsaWQsIGFuZCB0aGV5IGFyZSBuYXZpZ2FibGUgZWxlbWVudHMuXG4gICAqL1xuICB1c2VWYWxpZEFuY2hvcj86IElSdWxlQ29uZmlndXJhdGlvbjtcbiAgLyoqXG4gICAqIEVuc3VyZXMgdGhhdCBBUklBIHByb3BlcnRpZXMgYXJpYS0qIGFyZSBhbGwgdmFsaWQuXG4gICAqL1xuICB1c2VWYWxpZEFyaWFQcm9wcz86IElSdWxlRml4Q29uZmlndXJhdGlvbjtcbiAgLyoqXG4gICAqIEVsZW1lbnRzIHdpdGggQVJJQSByb2xlcyBtdXN0IHVzZSBhIHZhbGlkLCBub24tYWJzdHJhY3QgQVJJQSByb2xlLlxuICAgKi9cbiAgdXNlVmFsaWRBcmlhUm9sZT86IElWYWxpZEFyaWFSb2xlQ29uZmlndXJhdGlvbjtcbiAgLyoqXG4gICAqIEVuZm9yY2UgdGhhdCBBUklBIHN0YXRlIGFuZCBwcm9wZXJ0eSB2YWx1ZXMgYXJlIHZhbGlkLlxuICAgKi9cbiAgdXNlVmFsaWRBcmlhVmFsdWVzPzogSVJ1bGVDb25maWd1cmF0aW9uO1xuICAvKipcbiAgICogRW5zdXJlIHRoYXQgdGhlIGF0dHJpYnV0ZSBwYXNzZWQgdG8gdGhlIGxhbmcgYXR0cmlidXRlIGlzIGEgY29ycmVjdCBJU08gbGFuZ3VhZ2UgYW5kL29yIGNvdW50cnkuXG4gICAqL1xuICB1c2VWYWxpZExhbmc/OiBJUnVsZUNvbmZpZ3VyYXRpb247XG59XG5leHBvcnQgaW50ZXJmYWNlIElSdWxlV2l0aEZpeE5vT3B0aW9ucyB7XG4gIC8qKlxuICAgKiBUaGUga2luZCBvZiB0aGUgY29kZSBhY3Rpb25zIGVtaXR0ZWQgYnkgdGhlIHJ1bGVcbiAgICovXG4gIGZpeD86IElGaXhLaW5kO1xuICAvKipcbiAgICogVGhlIHNldmVyaXR5IG9mIHRoZSBlbWl0dGVkIGRpYWdub3N0aWNzIGJ5IHRoZSBydWxlXG4gICAqL1xuICBsZXZlbDogSVJ1bGVQbGFpbkNvbmZpZ3VyYXRpb247XG59XG5leHBvcnQgaW50ZXJmYWNlIElSdWxlV2l0aEFsbG93RG9tYWluT3B0aW9ucyB7XG4gIC8qKlxuICAgKiBUaGUga2luZCBvZiB0aGUgY29kZSBhY3Rpb25zIGVtaXR0ZWQgYnkgdGhlIHJ1bGVcbiAgICovXG4gIGZpeD86IElGaXhLaW5kO1xuICAvKipcbiAgICogVGhlIHNldmVyaXR5IG9mIHRoZSBlbWl0dGVkIGRpYWdub3N0aWNzIGJ5IHRoZSBydWxlXG4gICAqL1xuICBsZXZlbDogSVJ1bGVQbGFpbkNvbmZpZ3VyYXRpb247XG4gIC8qKlxuICAgKiBSdWxlJ3Mgb3B0aW9uc1xuICAgKi9cbiAgb3B0aW9ucz86IElBbGxvd0RvbWFpbk9wdGlvbnM7XG59XG5leHBvcnQgaW50ZXJmYWNlIElBbGxvd0RvbWFpbk9wdGlvbnMge1xuICAvKipcbiAgICogTGlzdCBvZiBkb21haW5zIHRvIGFsbG93IGB0YXJnZXQ9XCJfYmxhbmtcImAgd2l0aG91dCBgcmVsPVwibm9yZWZlcnJlclwiYFxuICAgKi9cbiAgYWxsb3dEb21haW5zPzogc3RyaW5nW107XG59XG5leHBvcnQgaW50ZXJmYWNlIElSdWxlV2l0aE5vTGFiZWxXaXRob3V0Q29udHJvbE9wdGlvbnMge1xuICAvKipcbiAgICogVGhlIHNldmVyaXR5IG9mIHRoZSBlbWl0dGVkIGRpYWdub3N0aWNzIGJ5IHRoZSBydWxlXG4gICAqL1xuICBsZXZlbDogSVJ1bGVQbGFpbkNvbmZpZ3VyYXRpb247XG4gIC8qKlxuICAgKiBSdWxlJ3Mgb3B0aW9uc1xuICAgKi9cbiAgb3B0aW9ucz86IElOb0xhYmVsV2l0aG91dENvbnRyb2xPcHRpb25zO1xufVxuZXhwb3J0IGludGVyZmFjZSBJTm9MYWJlbFdpdGhvdXRDb250cm9sT3B0aW9ucyB7XG4gIC8qKlxuICAgKiBBcnJheSBvZiBjb21wb25lbnQgbmFtZXMgdGhhdCBzaG91bGQgYmUgY29uc2lkZXJlZCB0aGUgc2FtZSBhcyBhbiBgaW5wdXRgIGVsZW1lbnQuXG4gICAqL1xuICBpbnB1dENvbXBvbmVudHM/OiBzdHJpbmdbXTtcbiAgLyoqXG4gICAqIEFycmF5IG9mIGF0dHJpYnV0ZXMgdGhhdCBzaG91bGQgYmUgdHJlYXRlZCBhcyB0aGUgYGxhYmVsYCBhY2Nlc3NpYmxlIHRleHQgY29udGVudC5cbiAgICovXG4gIGxhYmVsQXR0cmlidXRlcz86IHN0cmluZ1tdO1xuICAvKipcbiAgICogQXJyYXkgb2YgY29tcG9uZW50IG5hbWVzIHRoYXQgc2hvdWxkIGJlIGNvbnNpZGVyZWQgdGhlIHNhbWUgYXMgYSBgbGFiZWxgIGVsZW1lbnQuXG4gICAqL1xuICBsYWJlbENvbXBvbmVudHM/OiBzdHJpbmdbXTtcbn1cbmV4cG9ydCBpbnRlcmZhY2UgSVJ1bGVXaXRoTm9PcHRpb25zIHtcbiAgLyoqXG4gICAqIFRoZSBzZXZlcml0eSBvZiB0aGUgZW1pdHRlZCBkaWFnbm9zdGljcyBieSB0aGUgcnVsZVxuICAgKi9cbiAgbGV2ZWw6IElSdWxlUGxhaW5Db25maWd1cmF0aW9uO1xufVxuZXhwb3J0IGludGVyZmFjZSBJUnVsZVdpdGhWYWxpZEFyaWFSb2xlT3B0aW9ucyB7XG4gIC8qKlxuICAgKiBUaGUga2luZCBvZiB0aGUgY29kZSBhY3Rpb25zIGVtaXR0ZWQgYnkgdGhlIHJ1bGVcbiAgICovXG4gIGZpeD86IElGaXhLaW5kO1xuICAvKipcbiAgICogVGhlIHNldmVyaXR5IG9mIHRoZSBlbWl0dGVkIGRpYWdub3N0aWNzIGJ5IHRoZSBydWxlXG4gICAqL1xuICBsZXZlbDogSVJ1bGVQbGFpbkNvbmZpZ3VyYXRpb247XG4gIC8qKlxuICAgKiBSdWxlJ3Mgb3B0aW9uc1xuICAgKi9cbiAgb3B0aW9ucz86IElWYWxpZEFyaWFSb2xlT3B0aW9ucztcbn1cbmV4cG9ydCBpbnRlcmZhY2UgSVZhbGlkQXJpYVJvbGVPcHRpb25zIHtcbiAgYWxsb3dJbnZhbGlkUm9sZXM/OiBzdHJpbmdbXTtcbiAgaWdub3JlTm9uRG9tPzogYm9vbGVhbjtcbn1cbi8qKlxuICogQSBsaXN0IG9mIHJ1bGVzIHRoYXQgYmVsb25nIHRvIHRoaXMgZ3JvdXBcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJQ29tcGxleGl0eSB7XG4gIC8qKlxuICAgKiBJdCBlbmFibGVzIEFMTCBydWxlcyBmb3IgdGhpcyBncm91cC5cbiAgICovXG4gIGFsbD86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBEaXNhbGxvdyBwcmltaXRpdmUgdHlwZSBhbGlhc2VzIGFuZCBtaXNsZWFkaW5nIHR5cGVzLlxuICAgKi9cbiAgbm9CYW5uZWRUeXBlcz86IElSdWxlRml4Q29uZmlndXJhdGlvbjtcbiAgLyoqXG4gICAqIERpc2FsbG93IGVtcHR5IHR5cGUgcGFyYW1ldGVycyBpbiB0eXBlIGFsaWFzZXMgYW5kIGludGVyZmFjZXMuXG4gICAqL1xuICBub0VtcHR5VHlwZVBhcmFtZXRlcnM/OiBJUnVsZUNvbmZpZ3VyYXRpb247XG4gIC8qKlxuICAgKiBEaXNhbGxvdyBmdW5jdGlvbnMgdGhhdCBleGNlZWQgYSBnaXZlbiBDb2duaXRpdmUgQ29tcGxleGl0eSBzY29yZS5cbiAgICovXG4gIG5vRXhjZXNzaXZlQ29nbml0aXZlQ29tcGxleGl0eT86IElDb21wbGV4aXR5Q29uZmlndXJhdGlvbjtcbiAgLyoqXG4gICAqIFRoaXMgcnVsZSBlbmZvcmNlcyBhIG1heGltdW0gZGVwdGggdG8gbmVzdGVkIGRlc2NyaWJlKCkgaW4gdGVzdCBmaWxlcy5cbiAgICovXG4gIG5vRXhjZXNzaXZlTmVzdGVkVGVzdFN1aXRlcz86IElSdWxlQ29uZmlndXJhdGlvbjtcbiAgLyoqXG4gICAqIERpc2FsbG93IHVubmVjZXNzYXJ5IGJvb2xlYW4gY2FzdHNcbiAgICovXG4gIG5vRXh0cmFCb29sZWFuQ2FzdD86IElSdWxlRml4Q29uZmlndXJhdGlvbjtcbiAgLyoqXG4gICAqIFByZWZlciBmb3IuLi5vZiBzdGF0ZW1lbnQgaW5zdGVhZCBvZiBBcnJheS5mb3JFYWNoLlxuICAgKi9cbiAgbm9Gb3JFYWNoPzogSVJ1bGVDb25maWd1cmF0aW9uO1xuICAvKipcbiAgICogRGlzYWxsb3cgdW5jbGVhciB1c2FnZSBvZiBjb25zZWN1dGl2ZSBzcGFjZSBjaGFyYWN0ZXJzIGluIHJlZ3VsYXIgZXhwcmVzc2lvbiBsaXRlcmFsc1xuICAgKi9cbiAgbm9NdWx0aXBsZVNwYWNlc0luUmVndWxhckV4cHJlc3Npb25MaXRlcmFscz86IElSdWxlRml4Q29uZmlndXJhdGlvbjtcbiAgLyoqXG4gICAqIFRoaXMgcnVsZSByZXBvcnRzIHdoZW4gYSBjbGFzcyBoYXMgbm8gbm9uLXN0YXRpYyBtZW1iZXJzLCBzdWNoIGFzIGZvciBhIGNsYXNzIHVzZWQgZXhjbHVzaXZlbHkgYXMgYSBzdGF0aWMgbmFtZXNwYWNlLlxuICAgKi9cbiAgbm9TdGF0aWNPbmx5Q2xhc3M/OiBJUnVsZUNvbmZpZ3VyYXRpb247XG4gIC8qKlxuICAgKiBEaXNhbGxvdyB0aGlzIGFuZCBzdXBlciBpbiBzdGF0aWMgY29udGV4dHMuXG4gICAqL1xuICBub1RoaXNJblN0YXRpYz86IElSdWxlRml4Q29uZmlndXJhdGlvbjtcbiAgLyoqXG4gICAqIERpc2FsbG93IHVubmVjZXNzYXJ5IGNhdGNoIGNsYXVzZXMuXG4gICAqL1xuICBub1VzZWxlc3NDYXRjaD86IElSdWxlRml4Q29uZmlndXJhdGlvbjtcbiAgLyoqXG4gICAqIERpc2FsbG93IHVubmVjZXNzYXJ5IGNvbnN0cnVjdG9ycy5cbiAgICovXG4gIG5vVXNlbGVzc0NvbnN0cnVjdG9yPzogSVJ1bGVGaXhDb25maWd1cmF0aW9uO1xuICAvKipcbiAgICogRGlzYWxsb3cgZW1wdHkgZXhwb3J0cyB0aGF0IGRvbid0IGNoYW5nZSBhbnl0aGluZyBpbiBhIG1vZHVsZSBmaWxlLlxuICAgKi9cbiAgbm9Vc2VsZXNzRW1wdHlFeHBvcnQ/OiBJUnVsZUZpeENvbmZpZ3VyYXRpb247XG4gIC8qKlxuICAgKiBEaXNhbGxvdyB1bm5lY2Vzc2FyeSBmcmFnbWVudHNcbiAgICovXG4gIG5vVXNlbGVzc0ZyYWdtZW50cz86IElSdWxlRml4Q29uZmlndXJhdGlvbjtcbiAgLyoqXG4gICAqIERpc2FsbG93IHVubmVjZXNzYXJ5IGxhYmVscy5cbiAgICovXG4gIG5vVXNlbGVzc0xhYmVsPzogSVJ1bGVGaXhDb25maWd1cmF0aW9uO1xuICAvKipcbiAgICogRGlzYWxsb3cgdW5uZWNlc3NhcnkgbmVzdGVkIGJsb2NrIHN0YXRlbWVudHMuXG4gICAqL1xuICBub1VzZWxlc3NMb25lQmxvY2tTdGF0ZW1lbnRzPzogSVJ1bGVGaXhDb25maWd1cmF0aW9uO1xuICAvKipcbiAgICogRGlzYWxsb3cgcmVuYW1pbmcgaW1wb3J0LCBleHBvcnQsIGFuZCBkZXN0cnVjdHVyZWQgYXNzaWdubWVudHMgdG8gdGhlIHNhbWUgbmFtZS5cbiAgICovXG4gIG5vVXNlbGVzc1JlbmFtZT86IElSdWxlRml4Q29uZmlndXJhdGlvbjtcbiAgLyoqXG4gICAqIERpc2FsbG93IHVubmVjZXNzYXJ5IGNvbmNhdGVuYXRpb24gb2Ygc3RyaW5nIG9yIHRlbXBsYXRlIGxpdGVyYWxzLlxuICAgKi9cbiAgbm9Vc2VsZXNzU3RyaW5nQ29uY2F0PzogSVJ1bGVGaXhDb25maWd1cmF0aW9uO1xuICAvKipcbiAgICogRGlzYWxsb3cgdXNlbGVzcyBjYXNlIGluIHN3aXRjaCBzdGF0ZW1lbnRzLlxuICAgKi9cbiAgbm9Vc2VsZXNzU3dpdGNoQ2FzZT86IElSdWxlRml4Q29uZmlndXJhdGlvbjtcbiAgLyoqXG4gICAqIERpc2FsbG93IHRlcm5hcnkgb3BlcmF0b3JzIHdoZW4gc2ltcGxlciBhbHRlcm5hdGl2ZXMgZXhpc3QuXG4gICAqL1xuICBub1VzZWxlc3NUZXJuYXJ5PzogSVJ1bGVGaXhDb25maWd1cmF0aW9uO1xuICAvKipcbiAgICogRGlzYWxsb3cgdXNlbGVzcyB0aGlzIGFsaWFzaW5nLlxuICAgKi9cbiAgbm9Vc2VsZXNzVGhpc0FsaWFzPzogSVJ1bGVGaXhDb25maWd1cmF0aW9uO1xuICAvKipcbiAgICogRGlzYWxsb3cgdXNpbmcgYW55IG9yIHVua25vd24gYXMgdHlwZSBjb25zdHJhaW50LlxuICAgKi9cbiAgbm9Vc2VsZXNzVHlwZUNvbnN0cmFpbnQ/OiBJUnVsZUZpeENvbmZpZ3VyYXRpb247XG4gIC8qKlxuICAgKiBEaXNhbGxvdyBpbml0aWFsaXppbmcgdmFyaWFibGVzIHRvIHVuZGVmaW5lZC5cbiAgICovXG4gIG5vVXNlbGVzc1VuZGVmaW5lZEluaXRpYWxpemF0aW9uPzogSVJ1bGVGaXhDb25maWd1cmF0aW9uO1xuICAvKipcbiAgICogRGlzYWxsb3cgdGhlIHVzZSBvZiB2b2lkIG9wZXJhdG9ycywgd2hpY2ggaXMgbm90IGEgZmFtaWxpYXIgb3BlcmF0b3IuXG4gICAqL1xuICBub1ZvaWQ/OiBJUnVsZUNvbmZpZ3VyYXRpb247XG4gIC8qKlxuICAgKiBEaXNhbGxvdyB3aXRoIHN0YXRlbWVudHMgaW4gbm9uLXN0cmljdCBjb250ZXh0cy5cbiAgICovXG4gIG5vV2l0aD86IElSdWxlQ29uZmlndXJhdGlvbjtcbiAgLyoqXG4gICAqIEl0IGVuYWJsZXMgdGhlIHJlY29tbWVuZGVkIHJ1bGVzIGZvciB0aGlzIGdyb3VwXG4gICAqL1xuICByZWNvbW1lbmRlZD86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBVc2UgYXJyb3cgZnVuY3Rpb25zIG92ZXIgZnVuY3Rpb24gZXhwcmVzc2lvbnMuXG4gICAqL1xuICB1c2VBcnJvd0Z1bmN0aW9uPzogSVJ1bGVGaXhDb25maWd1cmF0aW9uO1xuICAvKipcbiAgICogVXNlIERhdGUubm93KCkgdG8gZ2V0IHRoZSBudW1iZXIgb2YgbWlsbGlzZWNvbmRzIHNpbmNlIHRoZSBVbml4IEVwb2NoLlxuICAgKi9cbiAgdXNlRGF0ZU5vdz86IElSdWxlRml4Q29uZmlndXJhdGlvbjtcbiAgLyoqXG4gICAqIFByb21vdGVzIHRoZSB1c2Ugb2YgLmZsYXRNYXAoKSB3aGVuIG1hcCgpLmZsYXQoKSBhcmUgdXNlZCB0b2dldGhlci5cbiAgICovXG4gIHVzZUZsYXRNYXA/OiBJUnVsZUZpeENvbmZpZ3VyYXRpb247XG4gIC8qKlxuICAgKiBFbmZvcmNlIHRoZSB1c2FnZSBvZiBhIGxpdGVyYWwgYWNjZXNzIHRvIHByb3BlcnRpZXMgb3ZlciBjb21wdXRlZCBwcm9wZXJ0eSBhY2Nlc3MuXG4gICAqL1xuICB1c2VMaXRlcmFsS2V5cz86IElSdWxlRml4Q29uZmlndXJhdGlvbjtcbiAgLyoqXG4gICAqIEVuZm9yY2UgdXNpbmcgY29uY2lzZSBvcHRpb25hbCBjaGFpbiBpbnN0ZWFkIG9mIGNoYWluZWQgbG9naWNhbCBleHByZXNzaW9ucy5cbiAgICovXG4gIHVzZU9wdGlvbmFsQ2hhaW4/OiBJUnVsZUZpeENvbmZpZ3VyYXRpb247XG4gIC8qKlxuICAgKiBFbmZvcmNlIHRoZSB1c2Ugb2YgdGhlIHJlZ3VsYXIgZXhwcmVzc2lvbiBsaXRlcmFscyBpbnN0ZWFkIG9mIHRoZSBSZWdFeHAgY29uc3RydWN0b3IgaWYgcG9zc2libGUuXG4gICAqL1xuICB1c2VSZWdleExpdGVyYWxzPzogSVJ1bGVGaXhDb25maWd1cmF0aW9uO1xuICAvKipcbiAgICogRGlzYWxsb3cgbnVtYmVyIGxpdGVyYWwgb2JqZWN0IG1lbWJlciBuYW1lcyB3aGljaCBhcmUgbm90IGJhc2UxMCBvciB1c2VzIHVuZGVyc2NvcmUgYXMgc2VwYXJhdG9yXG4gICAqL1xuICB1c2VTaW1wbGVOdW1iZXJLZXlzPzogSVJ1bGVGaXhDb25maWd1cmF0aW9uO1xuICAvKipcbiAgICogRGlzY2FyZCByZWR1bmRhbnQgdGVybXMgZnJvbSBsb2dpY2FsIGV4cHJlc3Npb25zLlxuICAgKi9cbiAgdXNlU2ltcGxpZmllZExvZ2ljRXhwcmVzc2lvbj86IElSdWxlRml4Q29uZmlndXJhdGlvbjtcbn1cbmV4cG9ydCBpbnRlcmZhY2UgSVJ1bGVXaXRoQ29tcGxleGl0eU9wdGlvbnMge1xuICAvKipcbiAgICogVGhlIHNldmVyaXR5IG9mIHRoZSBlbWl0dGVkIGRpYWdub3N0aWNzIGJ5IHRoZSBydWxlXG4gICAqL1xuICBsZXZlbDogSVJ1bGVQbGFpbkNvbmZpZ3VyYXRpb247XG4gIC8qKlxuICAgKiBSdWxlJ3Mgb3B0aW9uc1xuICAgKi9cbiAgb3B0aW9ucz86IElDb21wbGV4aXR5T3B0aW9ucztcbn1cbi8qKlxuICogT3B0aW9ucyBmb3IgdGhlIHJ1bGUgYG5vRXhjZXNzaXZlQ29nbml0aXZlQ29tcGxleGl0eWAuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSUNvbXBsZXhpdHlPcHRpb25zIHtcbiAgLyoqXG4gICAqIFRoZSBtYXhpbXVtIGNvbXBsZXhpdHkgc2NvcmUgdGhhdCB3ZSBhbGxvdy4gQW55dGhpbmcgaGlnaGVyIGlzIGNvbnNpZGVyZWQgZXhjZXNzaXZlLlxuICAgKi9cbiAgbWF4QWxsb3dlZENvbXBsZXhpdHk/OiBudW1iZXI7XG59XG4vKipcbiAqIEEgbGlzdCBvZiBydWxlcyB0aGF0IGJlbG9uZyB0byB0aGlzIGdyb3VwXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSUNvcnJlY3RuZXNzIHtcbiAgLyoqXG4gICAqIEl0IGVuYWJsZXMgQUxMIHJ1bGVzIGZvciB0aGlzIGdyb3VwLlxuICAgKi9cbiAgYWxsPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIFByZXZlbnQgcGFzc2luZyBvZiBjaGlsZHJlbiBhcyBwcm9wcy5cbiAgICovXG4gIG5vQ2hpbGRyZW5Qcm9wPzogSVJ1bGVDb25maWd1cmF0aW9uO1xuICAvKipcbiAgICogUHJldmVudHMgZnJvbSBoYXZpbmcgY29uc3QgdmFyaWFibGVzIGJlaW5nIHJlLWFzc2lnbmVkLlxuICAgKi9cbiAgbm9Db25zdEFzc2lnbj86IElSdWxlRml4Q29uZmlndXJhdGlvbjtcbiAgLyoqXG4gICAqIERpc2FsbG93IGNvbnN0YW50IGV4cHJlc3Npb25zIGluIGNvbmRpdGlvbnNcbiAgICovXG4gIG5vQ29uc3RhbnRDb25kaXRpb24/OiBJUnVsZUNvbmZpZ3VyYXRpb247XG4gIC8qKlxuICAgKiBEaXNhbGxvdyB0aGUgdXNlIG9mIE1hdGgubWluIGFuZCBNYXRoLm1heCB0byBjbGFtcCBhIHZhbHVlIHdoZXJlIHRoZSByZXN1bHQgaXRzZWxmIGlzIGNvbnN0YW50LlxuICAgKi9cbiAgbm9Db25zdGFudE1hdGhNaW5NYXhDbGFtcD86IElSdWxlRml4Q29uZmlndXJhdGlvbjtcbiAgLyoqXG4gICAqIERpc2FsbG93IHJldHVybmluZyBhIHZhbHVlIGZyb20gYSBjb25zdHJ1Y3Rvci5cbiAgICovXG4gIG5vQ29uc3RydWN0b3JSZXR1cm4/OiBJUnVsZUNvbmZpZ3VyYXRpb247XG4gIC8qKlxuICAgKiBEaXNhbGxvdyBlbXB0eSBjaGFyYWN0ZXIgY2xhc3NlcyBpbiByZWd1bGFyIGV4cHJlc3Npb24gbGl0ZXJhbHMuXG4gICAqL1xuICBub0VtcHR5Q2hhcmFjdGVyQ2xhc3NJblJlZ2V4PzogSVJ1bGVDb25maWd1cmF0aW9uO1xuICAvKipcbiAgICogRGlzYWxsb3dzIGVtcHR5IGRlc3RydWN0dXJpbmcgcGF0dGVybnMuXG4gICAqL1xuICBub0VtcHR5UGF0dGVybj86IElSdWxlQ29uZmlndXJhdGlvbjtcbiAgLyoqXG4gICAqIERpc2FsbG93IHRvIHVzZSB1bm5lY2Vzc2FyeSBjYWxsYmFjayBvbiBmbGF0TWFwLlxuICAgKi9cbiAgbm9GbGF0TWFwSWRlbnRpdHk/OiBJUnVsZUZpeENvbmZpZ3VyYXRpb247XG4gIC8qKlxuICAgKiBEaXNhbGxvdyBjYWxsaW5nIGdsb2JhbCBvYmplY3QgcHJvcGVydGllcyBhcyBmdW5jdGlvbnNcbiAgICovXG4gIG5vR2xvYmFsT2JqZWN0Q2FsbHM/OiBJUnVsZUNvbmZpZ3VyYXRpb247XG4gIC8qKlxuICAgKiBEaXNhbGxvdyBmdW5jdGlvbiBhbmQgdmFyIGRlY2xhcmF0aW9ucyB0aGF0IGFyZSBhY2Nlc3NpYmxlIG91dHNpZGUgdGhlaXIgYmxvY2suXG4gICAqL1xuICBub0lubmVyRGVjbGFyYXRpb25zPzogSVJ1bGVDb25maWd1cmF0aW9uO1xuICAvKipcbiAgICogRW5zdXJlIHRoYXQgYnVpbHRpbnMgYXJlIGNvcnJlY3RseSBpbnN0YW50aWF0ZWQuXG4gICAqL1xuICBub0ludmFsaWRCdWlsdGluSW5zdGFudGlhdGlvbj86IElSdWxlRml4Q29uZmlndXJhdGlvbjtcbiAgLyoqXG4gICAqIFByZXZlbnRzIHRoZSBpbmNvcnJlY3QgdXNlIG9mIHN1cGVyKCkgaW5zaWRlIGNsYXNzZXMuIEl0IGFsc28gY2hlY2tzIHdoZXRoZXIgYSBjYWxsIHN1cGVyKCkgaXMgbWlzc2luZyBmcm9tIGNsYXNzZXMgdGhhdCBleHRlbmRzIG90aGVyIGNvbnN0cnVjdG9ycy5cbiAgICovXG4gIG5vSW52YWxpZENvbnN0cnVjdG9yU3VwZXI/OiBJUnVsZUNvbmZpZ3VyYXRpb247XG4gIC8qKlxuICAgKiBEaXNhbGxvdyBub24tc3RhbmRhcmQgZGlyZWN0aW9uIHZhbHVlcyBmb3IgbGluZWFyIGdyYWRpZW50IGZ1bmN0aW9ucy5cbiAgICovXG4gIG5vSW52YWxpZERpcmVjdGlvbkluTGluZWFyR3JhZGllbnQ/OiBJUnVsZUNvbmZpZ3VyYXRpb247XG4gIC8qKlxuICAgKiBEaXNhbGxvd3MgaW52YWxpZCBuYW1lZCBncmlkIGFyZWFzIGluIENTUyBHcmlkIExheW91dHMuXG4gICAqL1xuICBub0ludmFsaWRHcmlkQXJlYXM/OiBJUnVsZUNvbmZpZ3VyYXRpb247XG4gIC8qKlxuICAgKiBEaXNhbGxvdyBuZXcgb3BlcmF0b3JzIHdpdGggZ2xvYmFsIG5vbi1jb25zdHJ1Y3RvciBmdW5jdGlvbnMuXG4gICAqL1xuICBub0ludmFsaWROZXdCdWlsdGluPzogSVJ1bGVGaXhDb25maWd1cmF0aW9uO1xuICAvKipcbiAgICogRGlzYWxsb3cgdGhlIHVzZSBvZiBAaW1wb3J0IGF0LXJ1bGVzIGluIGludmFsaWQgcG9zaXRpb25zLlxuICAgKi9cbiAgbm9JbnZhbGlkUG9zaXRpb25BdEltcG9ydFJ1bGU/OiBJUnVsZUNvbmZpZ3VyYXRpb247XG4gIC8qKlxuICAgKiBEaXNhbGxvdyB0aGUgdXNlIG9mIHZhcmlhYmxlcyBhbmQgZnVuY3Rpb24gcGFyYW1ldGVycyBiZWZvcmUgdGhlaXIgZGVjbGFyYXRpb25cbiAgICovXG4gIG5vSW52YWxpZFVzZUJlZm9yZURlY2xhcmF0aW9uPzogSVJ1bGVDb25maWd1cmF0aW9uO1xuICAvKipcbiAgICogRGlzYWxsb3cgbmV3IG9wZXJhdG9ycyB3aXRoIHRoZSBTeW1ib2wgb2JqZWN0LlxuICAgKi9cbiAgbm9OZXdTeW1ib2w/OiBJUnVsZUZpeENvbmZpZ3VyYXRpb247XG4gIC8qKlxuICAgKiBGb3JiaWQgdGhlIHVzZSBvZiBOb2RlLmpzIGJ1aWx0aW4gbW9kdWxlcy5cbiAgICovXG4gIG5vTm9kZWpzTW9kdWxlcz86IElSdWxlQ29uZmlndXJhdGlvbjtcbiAgLyoqXG4gICAqIERpc2FsbG93IFxcOCBhbmQgXFw5IGVzY2FwZSBzZXF1ZW5jZXMgaW4gc3RyaW5nIGxpdGVyYWxzLlxuICAgKi9cbiAgbm9Ob25vY3RhbERlY2ltYWxFc2NhcGU/OiBJUnVsZUZpeENvbmZpZ3VyYXRpb247XG4gIC8qKlxuICAgKiBEaXNhbGxvdyBsaXRlcmFsIG51bWJlcnMgdGhhdCBsb3NlIHByZWNpc2lvblxuICAgKi9cbiAgbm9QcmVjaXNpb25Mb3NzPzogSVJ1bGVDb25maWd1cmF0aW9uO1xuICAvKipcbiAgICogUHJldmVudCB0aGUgdXNhZ2Ugb2YgdGhlIHJldHVybiB2YWx1ZSBvZiBSZWFjdC5yZW5kZXIuXG4gICAqL1xuICBub1JlbmRlclJldHVyblZhbHVlPzogSVJ1bGVDb25maWd1cmF0aW9uO1xuICAvKipcbiAgICogRGlzYWxsb3cgYXNzaWdubWVudHMgd2hlcmUgYm90aCBzaWRlcyBhcmUgZXhhY3RseSB0aGUgc2FtZS5cbiAgICovXG4gIG5vU2VsZkFzc2lnbj86IElSdWxlQ29uZmlndXJhdGlvbjtcbiAgLyoqXG4gICAqIERpc2FsbG93IHJldHVybmluZyBhIHZhbHVlIGZyb20gYSBzZXR0ZXJcbiAgICovXG4gIG5vU2V0dGVyUmV0dXJuPzogSVJ1bGVDb25maWd1cmF0aW9uO1xuICAvKipcbiAgICogRGlzYWxsb3cgY29tcGFyaXNvbiBvZiBleHByZXNzaW9ucyBtb2RpZnlpbmcgdGhlIHN0cmluZyBjYXNlIHdpdGggbm9uLWNvbXBsaWFudCB2YWx1ZS5cbiAgICovXG4gIG5vU3RyaW5nQ2FzZU1pc21hdGNoPzogSVJ1bGVGaXhDb25maWd1cmF0aW9uO1xuICAvKipcbiAgICogRGlzYWxsb3cgbGV4aWNhbCBkZWNsYXJhdGlvbnMgaW4gc3dpdGNoIGNsYXVzZXMuXG4gICAqL1xuICBub1N3aXRjaERlY2xhcmF0aW9ucz86IElSdWxlRml4Q29uZmlndXJhdGlvbjtcbiAgLyoqXG4gICAqIERpc2FsbG93IHRoZSB1c2Ugb2YgZGVwZW5kZW5jaWVzIHRoYXQgYXJlbid0IHNwZWNpZmllZCBpbiB0aGUgcGFja2FnZS5qc29uLlxuICAgKi9cbiAgbm9VbmRlY2xhcmVkRGVwZW5kZW5jaWVzPzogSVJ1bGVDb25maWd1cmF0aW9uO1xuICAvKipcbiAgICogUHJldmVudHMgdGhlIHVzYWdlIG9mIHZhcmlhYmxlcyB0aGF0IGhhdmVuJ3QgYmVlbiBkZWNsYXJlZCBpbnNpZGUgdGhlIGRvY3VtZW50LlxuICAgKi9cbiAgbm9VbmRlY2xhcmVkVmFyaWFibGVzPzogSVJ1bGVDb25maWd1cmF0aW9uO1xuICAvKipcbiAgICogRGlzYWxsb3cgdW5rbm93biBDU1MgdmFsdWUgZnVuY3Rpb25zLlxuICAgKi9cbiAgbm9Vbmtub3duRnVuY3Rpb24/OiBJUnVsZUNvbmZpZ3VyYXRpb247XG4gIC8qKlxuICAgKiBEaXNhbGxvdyB1bmtub3duIG1lZGlhIGZlYXR1cmUgbmFtZXMuXG4gICAqL1xuICBub1Vua25vd25NZWRpYUZlYXR1cmVOYW1lPzogSVJ1bGVDb25maWd1cmF0aW9uO1xuICAvKipcbiAgICogRGlzYWxsb3cgdW5rbm93biBwcm9wZXJ0aWVzLlxuICAgKi9cbiAgbm9Vbmtub3duUHJvcGVydHk/OiBJUnVsZUNvbmZpZ3VyYXRpb247XG4gIC8qKlxuICAgKiBEaXNhbGxvdyB1bmtub3duIENTUyB1bml0cy5cbiAgICovXG4gIG5vVW5rbm93blVuaXQ/OiBJUnVsZUNvbmZpZ3VyYXRpb247XG4gIC8qKlxuICAgKiBEaXNhbGxvdyB1bm1hdGNoYWJsZSBBbitCIHNlbGVjdG9ycy5cbiAgICovXG4gIG5vVW5tYXRjaGFibGVBbmJTZWxlY3Rvcj86IElSdWxlQ29uZmlndXJhdGlvbjtcbiAgLyoqXG4gICAqIEF2b2lkIHVzaW5nIHVubmVjZXNzYXJ5IGNvbnRpbnVlLlxuICAgKi9cbiAgbm9Vbm5lY2Vzc2FyeUNvbnRpbnVlPzogSVJ1bGVGaXhDb25maWd1cmF0aW9uO1xuICAvKipcbiAgICogRGlzYWxsb3cgdW5yZWFjaGFibGUgY29kZVxuICAgKi9cbiAgbm9VbnJlYWNoYWJsZT86IElSdWxlQ29uZmlndXJhdGlvbjtcbiAgLyoqXG4gICAqIEVuc3VyZXMgdGhlIHN1cGVyKCkgY29uc3RydWN0b3IgaXMgY2FsbGVkIGV4YWN0bHkgb25jZSBvbiBldmVyeSBjb2RlICBwYXRoIGluIGEgY2xhc3MgY29uc3RydWN0b3IgYmVmb3JlIHRoaXMgaXMgYWNjZXNzZWQgaWYgdGhlIGNsYXNzIGhhcyBhIHN1cGVyY2xhc3NcbiAgICovXG4gIG5vVW5yZWFjaGFibGVTdXBlcj86IElSdWxlQ29uZmlndXJhdGlvbjtcbiAgLyoqXG4gICAqIERpc2FsbG93IGNvbnRyb2wgZmxvdyBzdGF0ZW1lbnRzIGluIGZpbmFsbHkgYmxvY2tzLlxuICAgKi9cbiAgbm9VbnNhZmVGaW5hbGx5PzogSVJ1bGVDb25maWd1cmF0aW9uO1xuICAvKipcbiAgICogRGlzYWxsb3cgdGhlIHVzZSBvZiBvcHRpb25hbCBjaGFpbmluZyBpbiBjb250ZXh0cyB3aGVyZSB0aGUgdW5kZWZpbmVkIHZhbHVlIGlzIG5vdCBhbGxvd2VkLlxuICAgKi9cbiAgbm9VbnNhZmVPcHRpb25hbENoYWluaW5nPzogSVJ1bGVDb25maWd1cmF0aW9uO1xuICAvKipcbiAgICogRGlzYWxsb3cgdW51c2VkIGZ1bmN0aW9uIHBhcmFtZXRlcnMuXG4gICAqL1xuICBub1VudXNlZEZ1bmN0aW9uUGFyYW1ldGVycz86IElSdWxlRml4Q29uZmlndXJhdGlvbjtcbiAgLyoqXG4gICAqIERpc2FsbG93IHVudXNlZCBpbXBvcnRzLlxuICAgKi9cbiAgbm9VbnVzZWRJbXBvcnRzPzogSVJ1bGVGaXhDb25maWd1cmF0aW9uO1xuICAvKipcbiAgICogRGlzYWxsb3cgdW51c2VkIGxhYmVscy5cbiAgICovXG4gIG5vVW51c2VkTGFiZWxzPzogSVJ1bGVGaXhDb25maWd1cmF0aW9uO1xuICAvKipcbiAgICogRGlzYWxsb3cgdW51c2VkIHByaXZhdGUgY2xhc3MgbWVtYmVyc1xuICAgKi9cbiAgbm9VbnVzZWRQcml2YXRlQ2xhc3NNZW1iZXJzPzogSVJ1bGVGaXhDb25maWd1cmF0aW9uO1xuICAvKipcbiAgICogRGlzYWxsb3cgdW51c2VkIHZhcmlhYmxlcy5cbiAgICovXG4gIG5vVW51c2VkVmFyaWFibGVzPzogSVJ1bGVGaXhDb25maWd1cmF0aW9uO1xuICAvKipcbiAgICogVGhpcyBydWxlcyBwcmV2ZW50cyB2b2lkIGVsZW1lbnRzIChBS0Egc2VsZi1jbG9zaW5nIGVsZW1lbnRzKSBmcm9tIGhhdmluZyBjaGlsZHJlbi5cbiAgICovXG4gIG5vVm9pZEVsZW1lbnRzV2l0aENoaWxkcmVuPzogSVJ1bGVGaXhDb25maWd1cmF0aW9uO1xuICAvKipcbiAgICogRGlzYWxsb3cgcmV0dXJuaW5nIGEgdmFsdWUgZnJvbSBhIGZ1bmN0aW9uIHdpdGggdGhlIHJldHVybiB0eXBlICd2b2lkJ1xuICAgKi9cbiAgbm9Wb2lkVHlwZVJldHVybj86IElSdWxlQ29uZmlndXJhdGlvbjtcbiAgLyoqXG4gICAqIEl0IGVuYWJsZXMgdGhlIHJlY29tbWVuZGVkIHJ1bGVzIGZvciB0aGlzIGdyb3VwXG4gICAqL1xuICByZWNvbW1lbmRlZD86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBEaXNhbGxvdyBBcnJheSBjb25zdHJ1Y3RvcnMuXG4gICAqL1xuICB1c2VBcnJheUxpdGVyYWxzPzogSVJ1bGVGaXhDb25maWd1cmF0aW9uO1xuICAvKipcbiAgICogRW5mb3JjZSBhbGwgZGVwZW5kZW5jaWVzIGFyZSBjb3JyZWN0bHkgc3BlY2lmaWVkIGluIGEgUmVhY3QgaG9vay5cbiAgICovXG4gIHVzZUV4aGF1c3RpdmVEZXBlbmRlbmNpZXM/OiBJVXNlRXhoYXVzdGl2ZURlcGVuZGVuY2llc0NvbmZpZ3VyYXRpb247XG4gIC8qKlxuICAgKiBFbmZvcmNlIHRoYXQgYWxsIFJlYWN0IGhvb2tzIGFyZSBiZWluZyBjYWxsZWQgZnJvbSB0aGUgVG9wIExldmVsIGNvbXBvbmVudCBmdW5jdGlvbnMuXG4gICAqL1xuICB1c2VIb29rQXRUb3BMZXZlbD86IElEZXByZWNhdGVkSG9va3NDb25maWd1cmF0aW9uO1xuICAvKipcbiAgICogRW5mb3JjZSBmaWxlIGV4dGVuc2lvbnMgZm9yIHJlbGF0aXZlIGltcG9ydHMuXG4gICAqL1xuICB1c2VJbXBvcnRFeHRlbnNpb25zPzogSVVzZUltcG9ydEV4dGVuc2lvbnNDb25maWd1cmF0aW9uO1xuICAvKipcbiAgICogUmVxdWlyZSBjYWxscyB0byBpc05hTigpIHdoZW4gY2hlY2tpbmcgZm9yIE5hTi5cbiAgICovXG4gIHVzZUlzTmFuPzogSVJ1bGVGaXhDb25maWd1cmF0aW9uO1xuICAvKipcbiAgICogRGlzYWxsb3cgbWlzc2luZyBrZXkgcHJvcHMgaW4gaXRlcmF0b3JzL2NvbGxlY3Rpb24gbGl0ZXJhbHMuXG4gICAqL1xuICB1c2VKc3hLZXlJbkl0ZXJhYmxlPzogSVJ1bGVDb25maWd1cmF0aW9uO1xuICAvKipcbiAgICogRW5mb3JjZSBcImZvclwiIGxvb3AgdXBkYXRlIGNsYXVzZSBtb3ZpbmcgdGhlIGNvdW50ZXIgaW4gdGhlIHJpZ2h0IGRpcmVjdGlvbi5cbiAgICovXG4gIHVzZVZhbGlkRm9yRGlyZWN0aW9uPzogSVJ1bGVDb25maWd1cmF0aW9uO1xuICAvKipcbiAgICogUmVxdWlyZSBnZW5lcmF0b3IgZnVuY3Rpb25zIHRvIGNvbnRhaW4geWllbGQuXG4gICAqL1xuICB1c2VZaWVsZD86IElSdWxlQ29uZmlndXJhdGlvbjtcbn1cbmV4cG9ydCBpbnRlcmZhY2UgSVJ1bGVXaXRoVXNlRXhoYXVzdGl2ZURlcGVuZGVuY2llc09wdGlvbnMge1xuICAvKipcbiAgICogVGhlIHNldmVyaXR5IG9mIHRoZSBlbWl0dGVkIGRpYWdub3N0aWNzIGJ5IHRoZSBydWxlXG4gICAqL1xuICBsZXZlbDogSVJ1bGVQbGFpbkNvbmZpZ3VyYXRpb247XG4gIC8qKlxuICAgKiBSdWxlJ3Mgb3B0aW9uc1xuICAgKi9cbiAgb3B0aW9ucz86IElVc2VFeGhhdXN0aXZlRGVwZW5kZW5jaWVzT3B0aW9ucztcbn1cbi8qKlxuICogT3B0aW9ucyBmb3IgdGhlIHJ1bGUgYHVzZUV4aGF1c3RpdmVEZXBlbmRlbmNpZXNgXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSVVzZUV4aGF1c3RpdmVEZXBlbmRlbmNpZXNPcHRpb25zIHtcbiAgLyoqXG4gICAqIExpc3Qgb2YgaG9va3Mgb2Ygd2hpY2ggdGhlIGRlcGVuZGVuY2llcyBzaG91bGQgYmUgdmFsaWRhdGVkLlxuICAgKi9cbiAgaG9va3M/OiBJSG9va1tdO1xuICAvKipcbiAgICogV2hldGhlciB0byByZXBvcnQgYW4gZXJyb3Igd2hlbiBhIGhvb2sgaGFzIG5vIGRlcGVuZGVuY2llcyBhcnJheS5cbiAgICovXG4gIHJlcG9ydE1pc3NpbmdEZXBlbmRlbmNpZXNBcnJheT86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBXaGV0aGVyIHRvIHJlcG9ydCBhbiBlcnJvciB3aGVuIGEgZGVwZW5kZW5jeSBpcyBsaXN0ZWQgaW4gdGhlIGRlcGVuZGVuY2llcyBhcnJheSBidXQgaXNuJ3QgdXNlZC4gRGVmYXVsdHMgdG8gdHJ1ZS5cbiAgICovXG4gIHJlcG9ydFVubmVjZXNzYXJ5RGVwZW5kZW5jaWVzPzogYm9vbGVhbjtcbn1cbmV4cG9ydCBpbnRlcmZhY2UgSUhvb2sge1xuICAvKipcbiAgICogVGhlIFwicG9zaXRpb25cIiBvZiB0aGUgY2xvc3VyZSBmdW5jdGlvbiwgc3RhcnRpbmcgZnJvbSB6ZXJvLlxuICAgKlxuICAgKiBGb3IgZXhhbXBsZSwgZm9yIFJlYWN0J3MgYHVzZUVmZmVjdCgpYCBob29rLCB0aGUgY2xvc3VyZSBpbmRleCBpcyAwLlxuICAgKi9cbiAgY2xvc3VyZUluZGV4PzogbnVtYmVyO1xuICAvKipcbiAgICogVGhlIFwicG9zaXRpb25cIiBvZiB0aGUgYXJyYXkgb2YgZGVwZW5kZW5jaWVzLCBzdGFydGluZyBmcm9tIHplcm8uXG4gICAqXG4gICAqIEZvciBleGFtcGxlLCBmb3IgUmVhY3QncyBgdXNlRWZmZWN0KClgIGhvb2ssIHRoZSBkZXBlbmRlbmNpZXMgaW5kZXggaXMgMS5cbiAgICovXG4gIGRlcGVuZGVuY2llc0luZGV4PzogbnVtYmVyO1xuICAvKipcbiAgICogVGhlIG5hbWUgb2YgdGhlIGhvb2suXG4gICAqL1xuICBuYW1lPzogc3RyaW5nO1xuICAvKipcbiAgICogV2hldGhlciB0aGUgcmVzdWx0IG9mIHRoZSBob29rIGlzIHN0YWJsZS5cbiAgICpcbiAgICogU2V0IHRvIGB0cnVlYCB0byBtYXJrIHRoZSBpZGVudGl0eSBvZiB0aGUgaG9vaydzIHJldHVybiB2YWx1ZSBhcyBzdGFibGUsIG9yIHVzZSBhIG51bWJlci9hbiBhcnJheSBvZiBudW1iZXJzIHRvIG1hcmsgdGhlIFwicG9zaXRpb25zXCIgaW4gdGhlIHJldHVybiBhcnJheSBhcyBzdGFibGUuXG4gICAqXG4gICAqIEZvciBleGFtcGxlLCBmb3IgUmVhY3QncyBgdXNlUmVmKClgIGhvb2sgdGhlIHZhbHVlIHdvdWxkIGJlIGB0cnVlYCwgd2hpbGUgZm9yIGB1c2VTdGF0ZSgpYCBpdCB3b3VsZCBiZSBgWzFdYC5cbiAgICovXG4gIHN0YWJsZVJlc3VsdD86IElTdGFibGVIb29rUmVzdWx0O1xufVxuZXhwb3J0IGludGVyZmFjZSBJUnVsZVdpdGhEZXByZWNhdGVkSG9va3NPcHRpb25zIHtcbiAgLyoqXG4gICAqIFRoZSBzZXZlcml0eSBvZiB0aGUgZW1pdHRlZCBkaWFnbm9zdGljcyBieSB0aGUgcnVsZVxuICAgKi9cbiAgbGV2ZWw6IElSdWxlUGxhaW5Db25maWd1cmF0aW9uO1xuICAvKipcbiAgICogUnVsZSdzIG9wdGlvbnNcbiAgICovXG4gIG9wdGlvbnM/OiBJRGVwcmVjYXRlZEhvb2tzT3B0aW9ucztcbn1cbi8qKlxuICogT3B0aW9ucyBmb3IgdGhlIGB1c2VIb29rQXRUb3BMZXZlbGAgcnVsZSBoYXZlIGJlZW4gZGVwcmVjYXRlZCwgc2luY2Ugd2Ugbm93IHVzZSB0aGUgUmVhY3QgaG9vayBuYW1pbmcgY29udmVudGlvbiB0byBkZXRlcm1pbmUgd2hldGhlciBhIGZ1bmN0aW9uIGlzIGEgaG9vay5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJRGVwcmVjYXRlZEhvb2tzT3B0aW9ucyB7fVxuZXhwb3J0IGludGVyZmFjZSBJUnVsZVdpdGhVc2VJbXBvcnRFeHRlbnNpb25zT3B0aW9ucyB7XG4gIC8qKlxuICAgKiBUaGUga2luZCBvZiB0aGUgY29kZSBhY3Rpb25zIGVtaXR0ZWQgYnkgdGhlIHJ1bGVcbiAgICovXG4gIGZpeD86IElGaXhLaW5kO1xuICAvKipcbiAgICogVGhlIHNldmVyaXR5IG9mIHRoZSBlbWl0dGVkIGRpYWdub3N0aWNzIGJ5IHRoZSBydWxlXG4gICAqL1xuICBsZXZlbDogSVJ1bGVQbGFpbkNvbmZpZ3VyYXRpb247XG4gIC8qKlxuICAgKiBSdWxlJ3Mgb3B0aW9uc1xuICAgKi9cbiAgb3B0aW9ucz86IElVc2VJbXBvcnRFeHRlbnNpb25zT3B0aW9ucztcbn1cbmV4cG9ydCBpbnRlcmZhY2UgSVVzZUltcG9ydEV4dGVuc2lvbnNPcHRpb25zIHtcbiAgLyoqXG4gICAqIEEgbWFwIG9mIGN1c3RvbSBpbXBvcnQgZXh0ZW5zaW9uIG1hcHBpbmdzLCB3aGVyZSB0aGUga2V5IGlzIHRoZSBpbnNwZWN0ZWQgZmlsZSBleHRlbnNpb24sIGFuZCB0aGUgdmFsdWUgaXMgYSBwYWlyIG9mIGBtb2R1bGVgIGV4dGVuc2lvbiBhbmQgYGNvbXBvbmVudGAgaW1wb3J0IGV4dGVuc2lvblxuICAgKi9cbiAgc3VnZ2VzdGVkRXh0ZW5zaW9ucz86IHtcbiAgICBbazogc3RyaW5nXTogSVN1Z2dlc3RlZEV4dGVuc2lvbk1hcHBpbmc7XG4gIH07XG59XG5leHBvcnQgaW50ZXJmYWNlIElTdWdnZXN0ZWRFeHRlbnNpb25NYXBwaW5nIHtcbiAgLyoqXG4gICAqIEV4dGVuc2lvbiB0aGF0IHNob3VsZCBiZSB1c2VkIGZvciBjb21wb25lbnQgZmlsZSBpbXBvcnRzXG4gICAqL1xuICBjb21wb25lbnQ/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBFeHRlbnNpb24gdGhhdCBzaG91bGQgYmUgdXNlZCBmb3IgbW9kdWxlIGltcG9ydHNcbiAgICovXG4gIG1vZHVsZT86IHN0cmluZztcbn1cbi8qKlxuICogQSBsaXN0IG9mIHJ1bGVzIHRoYXQgYmVsb25nIHRvIHRoaXMgZ3JvdXBcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJTnVyc2VyeSB7XG4gIC8qKlxuICAgKiBJdCBlbmFibGVzIEFMTCBydWxlcyBmb3IgdGhpcyBncm91cC5cbiAgICovXG4gIGFsbD86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBEaXNhbGxvdyB1c2Ugb2YgQ29tbW9uSnMgbW9kdWxlIHN5c3RlbSBpbiBmYXZvciBvZiBFU00gc3R5bGUgaW1wb3J0cy5cbiAgICovXG4gIG5vQ29tbW9uSnM/OiBJUnVsZUNvbmZpZ3VyYXRpb247XG4gIC8qKlxuICAgKiBEaXNhbGxvdyBhIGxvd2VyIHNwZWNpZmljaXR5IHNlbGVjdG9yIGZyb20gY29taW5nIGFmdGVyIGEgaGlnaGVyIHNwZWNpZmljaXR5IHNlbGVjdG9yLlxuICAgKi9cbiAgbm9EZXNjZW5kaW5nU3BlY2lmaWNpdHk/OiBJUnVsZUNvbmZpZ3VyYXRpb247XG4gIC8qKlxuICAgKiBEaXNhbGxvdyBkaXJlY3QgYXNzaWdubWVudHMgdG8gZG9jdW1lbnQuY29va2llLlxuICAgKi9cbiAgbm9Eb2N1bWVudENvb2tpZT86IElSdWxlQ29uZmlndXJhdGlvbjtcbiAgLyoqXG4gICAqIFByZXZlbnRzIGltcG9ydGluZyBuZXh0L2RvY3VtZW50IG91dHNpZGUgb2YgcGFnZXMvX2RvY3VtZW50LmpzeCBpbiBOZXh0LmpzIHByb2plY3RzLlxuICAgKi9cbiAgbm9Eb2N1bWVudEltcG9ydEluUGFnZT86IElSdWxlQ29uZmlndXJhdGlvbjtcbiAgLyoqXG4gICAqIERpc2FsbG93IGR1cGxpY2F0ZSBjdXN0b20gcHJvcGVydGllcyB3aXRoaW4gZGVjbGFyYXRpb24gYmxvY2tzLlxuICAgKi9cbiAgbm9EdXBsaWNhdGVDdXN0b21Qcm9wZXJ0aWVzPzogSVJ1bGVDb25maWd1cmF0aW9uO1xuICAvKipcbiAgICogRGlzYWxsb3cgZHVwbGljYXRlIGNvbmRpdGlvbnMgaW4gaWYtZWxzZS1pZiBjaGFpbnNcbiAgICovXG4gIG5vRHVwbGljYXRlRWxzZUlmPzogSVJ1bGVDb25maWd1cmF0aW9uO1xuICAvKipcbiAgICogRGlzYWxsb3cgZHVwbGljYXRlIHByb3BlcnRpZXMgd2l0aGluIGRlY2xhcmF0aW9uIGJsb2Nrcy5cbiAgICovXG4gIG5vRHVwbGljYXRlUHJvcGVydGllcz86IElSdWxlQ29uZmlndXJhdGlvbjtcbiAgLyoqXG4gICAqIE5vIGR1cGxpY2F0ZWQgZmllbGRzIGluIEdyYXBoUUwgb3BlcmF0aW9ucy5cbiAgICovXG4gIG5vRHVwbGljYXRlZEZpZWxkcz86IElSdWxlQ29uZmlndXJhdGlvbjtcbiAgLyoqXG4gICAqIERpc2FsbG93IGFjY2Vzc2luZyBuYW1lc3BhY2UgaW1wb3J0cyBkeW5hbWljYWxseS5cbiAgICovXG4gIG5vRHluYW1pY05hbWVzcGFjZUltcG9ydEFjY2Vzcz86IElSdWxlQ29uZmlndXJhdGlvbjtcbiAgLyoqXG4gICAqIERpc2FsbG93IFR5cGVTY3JpcHQgZW51bS5cbiAgICovXG4gIG5vRW51bT86IElSdWxlQ29uZmlndXJhdGlvbjtcbiAgLyoqXG4gICAqIERpc2FsbG93IGV4cG9ydGluZyBhbiBpbXBvcnRlZCB2YXJpYWJsZS5cbiAgICovXG4gIG5vRXhwb3J0ZWRJbXBvcnRzPzogSVJ1bGVDb25maWd1cmF0aW9uO1xuICAvKipcbiAgICogUHJldmVudCB1c2FnZSBvZiBcXDxoZWFkPiBlbGVtZW50IGluIGEgTmV4dC5qcyBwcm9qZWN0LlxuICAgKi9cbiAgbm9IZWFkRWxlbWVudD86IElSdWxlQ29uZmlndXJhdGlvbjtcbiAgLyoqXG4gICAqIFByZXZlbnQgdXNpbmcgdGhlIG5leHQvaGVhZCBtb2R1bGUgaW4gcGFnZXMvX2RvY3VtZW50LmpzIG9uIE5leHQuanMgcHJvamVjdHMuXG4gICAqL1xuICBub0hlYWRJbXBvcnRJbkRvY3VtZW50PzogSVJ1bGVDb25maWd1cmF0aW9uO1xuICAvKipcbiAgICogUHJldmVudCB1c2FnZSBvZiBcXDxpbWc+IGVsZW1lbnQgaW4gYSBOZXh0LmpzIHByb2plY3QuXG4gICAqL1xuICBub0ltZ0VsZW1lbnQ/OiBJUnVsZUNvbmZpZ3VyYXRpb247XG4gIC8qKlxuICAgKiBEaXNhbGxvd3MgdGhlIHVzZSBvZiBpcnJlZ3VsYXIgd2hpdGVzcGFjZSBjaGFyYWN0ZXJzLlxuICAgKi9cbiAgbm9JcnJlZ3VsYXJXaGl0ZXNwYWNlPzogSVJ1bGVDb25maWd1cmF0aW9uO1xuICAvKipcbiAgICogRGlzYWxsb3cgbWlzc2luZyB2YXIgZnVuY3Rpb24gZm9yIGNzcyB2YXJpYWJsZXMuXG4gICAqL1xuICBub01pc3NpbmdWYXJGdW5jdGlvbj86IElSdWxlQ29uZmlndXJhdGlvbjtcbiAgLyoqXG4gICAqIERpc2FsbG93IG5lc3RlZCB0ZXJuYXJ5IGV4cHJlc3Npb25zLlxuICAgKi9cbiAgbm9OZXN0ZWRUZXJuYXJ5PzogSVJ1bGVDb25maWd1cmF0aW9uO1xuICAvKipcbiAgICogRGlzYWxsb3cgb2N0YWwgZXNjYXBlIHNlcXVlbmNlcyBpbiBzdHJpbmcgbGl0ZXJhbHNcbiAgICovXG4gIG5vT2N0YWxFc2NhcGU/OiBJUnVsZUNvbmZpZ3VyYXRpb247XG4gIC8qKlxuICAgKiBEaXNhbGxvdyB0aGUgdXNlIG9mIHByb2Nlc3MuZW52LlxuICAgKi9cbiAgbm9Qcm9jZXNzRW52PzogSVJ1bGVDb25maWd1cmF0aW9uO1xuICAvKipcbiAgICogRGlzYWxsb3cgc3BlY2lmaWVkIG1vZHVsZXMgd2hlbiBsb2FkZWQgYnkgaW1wb3J0IG9yIHJlcXVpcmUuXG4gICAqL1xuICBub1Jlc3RyaWN0ZWRJbXBvcnRzPzogSVJlc3RyaWN0ZWRJbXBvcnRzQ29uZmlndXJhdGlvbjtcbiAgLyoqXG4gICAqIERpc2FsbG93IHVzZXIgZGVmaW5lZCB0eXBlcy5cbiAgICovXG4gIG5vUmVzdHJpY3RlZFR5cGVzPzogSU5vUmVzdHJpY3RlZFR5cGVzQ29uZmlndXJhdGlvbjtcbiAgLyoqXG4gICAqIERpc2FsbG93IHVzYWdlIG9mIHNlbnNpdGl2ZSBkYXRhIHN1Y2ggYXMgQVBJIGtleXMgYW5kIHRva2Vucy5cbiAgICovXG4gIG5vU2VjcmV0cz86IElOb1NlY3JldHNDb25maWd1cmF0aW9uO1xuICAvKipcbiAgICogRW5mb3JjZSB0aGF0IHN0YXRpYywgdmlzaWJsZSBlbGVtZW50cyAoc3VjaCBhcyBcXDxkaXY+KSB0aGF0IGhhdmUgY2xpY2sgaGFuZGxlcnMgdXNlIHRoZSB2YWxpZCByb2xlIGF0dHJpYnV0ZS5cbiAgICovXG4gIG5vU3RhdGljRWxlbWVudEludGVyYWN0aW9ucz86IElSdWxlQ29uZmlndXJhdGlvbjtcbiAgLyoqXG4gICAqIEVuZm9yY2UgdGhlIHVzZSBvZiBTdHJpbmcuc2xpY2UoKSBvdmVyIFN0cmluZy5zdWJzdHIoKSBhbmQgU3RyaW5nLnN1YnN0cmluZygpLlxuICAgKi9cbiAgbm9TdWJzdHI/OiBJUnVsZUZpeENvbmZpZ3VyYXRpb247XG4gIC8qKlxuICAgKiBEaXNhbGxvdyB0ZW1wbGF0ZSBsaXRlcmFsIHBsYWNlaG9sZGVyIHN5bnRheCBpbiByZWd1bGFyIHN0cmluZ3MuXG4gICAqL1xuICBub1RlbXBsYXRlQ3VybHlJblN0cmluZz86IElSdWxlQ29uZmlndXJhdGlvbjtcbiAgLyoqXG4gICAqIERpc2FsbG93IHVua25vd24gcHNldWRvLWNsYXNzIHNlbGVjdG9ycy5cbiAgICovXG4gIG5vVW5rbm93blBzZXVkb0NsYXNzPzogSVJ1bGVDb25maWd1cmF0aW9uO1xuICAvKipcbiAgICogRGlzYWxsb3cgdW5rbm93biBwc2V1ZG8tZWxlbWVudCBzZWxlY3RvcnMuXG4gICAqL1xuICBub1Vua25vd25Qc2V1ZG9FbGVtZW50PzogSVJ1bGVDb25maWd1cmF0aW9uO1xuICAvKipcbiAgICogRGlzYWxsb3cgdW5rbm93biB0eXBlIHNlbGVjdG9ycy5cbiAgICovXG4gIG5vVW5rbm93blR5cGVTZWxlY3Rvcj86IElSdWxlQ29uZmlndXJhdGlvbjtcbiAgLyoqXG4gICAqIERpc2FsbG93IHVubmVjZXNzYXJ5IGVzY2FwZSBzZXF1ZW5jZSBpbiByZWd1bGFyIGV4cHJlc3Npb24gbGl0ZXJhbHMuXG4gICAqL1xuICBub1VzZWxlc3NFc2NhcGVJblJlZ2V4PzogSVJ1bGVGaXhDb25maWd1cmF0aW9uO1xuICAvKipcbiAgICogRGlzYWxsb3cgdW5uZWNlc3NhcnkgU3RyaW5nLnJhdyBmdW5jdGlvbiBpbiB0ZW1wbGF0ZSBzdHJpbmcgbGl0ZXJhbHMgd2l0aG91dCBhbnkgZXNjYXBlIHNlcXVlbmNlLlxuICAgKi9cbiAgbm9Vc2VsZXNzU3RyaW5nUmF3PzogSVJ1bGVDb25maWd1cmF0aW9uO1xuICAvKipcbiAgICogRGlzYWxsb3cgdXNlIG9mIEB2YWx1ZSBydWxlIGluIGNzcyBtb2R1bGVzLlxuICAgKi9cbiAgbm9WYWx1ZUF0UnVsZT86IElSdWxlQ29uZmlndXJhdGlvbjtcbiAgLyoqXG4gICAqIEl0IGVuYWJsZXMgdGhlIHJlY29tbWVuZGVkIHJ1bGVzIGZvciB0aGlzIGdyb3VwXG4gICAqL1xuICByZWNvbW1lbmRlZD86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBEaXNhbGxvdyB0aGUgdXNlIG9mIG92ZXJsb2FkIHNpZ25hdHVyZXMgdGhhdCBhcmUgbm90IG5leHQgdG8gZWFjaCBvdGhlci5cbiAgICovXG4gIHVzZUFkamFjZW50T3ZlcmxvYWRTaWduYXR1cmVzPzogSVJ1bGVDb25maWd1cmF0aW9uO1xuICAvKipcbiAgICogRW5mb3JjZSB0aGF0IEFSSUEgcHJvcGVydGllcyBhcmUgdmFsaWQgZm9yIHRoZSByb2xlcyB0aGF0IGFyZSBzdXBwb3J0ZWQgYnkgdGhlIGVsZW1lbnQuXG4gICAqL1xuICB1c2VBcmlhUHJvcHNTdXBwb3J0ZWRCeVJvbGU/OiBJUnVsZUNvbmZpZ3VyYXRpb247XG4gIC8qKlxuICAgKiBVc2UgYXQoKSBpbnN0ZWFkIG9mIGludGVnZXIgaW5kZXggYWNjZXNzLlxuICAgKi9cbiAgdXNlQXRJbmRleD86IElSdWxlRml4Q29uZmlndXJhdGlvbjtcbiAgLyoqXG4gICAqIEVuZm9yY2UgdXNpbmcgc2luZ2xlIGlmIGluc3RlYWQgb2YgbmVzdGVkIGlmIGNsYXVzZXMuXG4gICAqL1xuICB1c2VDb2xsYXBzZWRJZj86IElSdWxlRml4Q29uZmlndXJhdGlvbjtcbiAgLyoqXG4gICAqIEVuZm9yY2UgZGVjbGFyaW5nIGNvbXBvbmVudHMgb25seSB3aXRoaW4gbW9kdWxlcyB0aGF0IGV4cG9ydCBSZWFjdCBDb21wb25lbnRzIGV4Y2x1c2l2ZWx5LlxuICAgKi9cbiAgdXNlQ29tcG9uZW50RXhwb3J0T25seU1vZHVsZXM/OiBJVXNlQ29tcG9uZW50RXhwb3J0T25seU1vZHVsZXNDb25maWd1cmF0aW9uO1xuICAvKipcbiAgICogVGhpcyBydWxlIGVuZm9yY2VzIGNvbnNpc3RlbnQgdXNlIG9mIGN1cmx5IGJyYWNlcyBpbnNpZGUgSlNYIGF0dHJpYnV0ZXMgYW5kIEpTWCBjaGlsZHJlbi5cbiAgICovXG4gIHVzZUNvbnNpc3RlbnRDdXJseUJyYWNlcz86IElSdWxlRml4Q29uZmlndXJhdGlvbjtcbiAgLyoqXG4gICAqIFJlcXVpcmUgY29uc2lzdGVudCBhY2Nlc3NpYmlsaXR5IG1vZGlmaWVycyBvbiBjbGFzcyBwcm9wZXJ0aWVzIGFuZCBtZXRob2RzLlxuICAgKi9cbiAgdXNlQ29uc2lzdGVudE1lbWJlckFjY2Vzc2liaWxpdHk/OiBJQ29uc2lzdGVudE1lbWJlckFjY2Vzc2liaWxpdHlDb25maWd1cmF0aW9uO1xuICAvKipcbiAgICogUmVxdWlyZSBzcGVjaWZ5aW5nIHRoZSByZWFzb24gYXJndW1lbnQgd2hlbiB1c2luZyBAZGVwcmVjYXRlZCBkaXJlY3RpdmVcbiAgICovXG4gIHVzZURlcHJlY2F0ZWRSZWFzb24/OiBJUnVsZUNvbmZpZ3VyYXRpb247XG4gIC8qKlxuICAgKiBSZXF1aXJlIGV4cGxpY2l0IHJldHVybiB0eXBlcyBvbiBmdW5jdGlvbnMgYW5kIGNsYXNzIG1ldGhvZHMuXG4gICAqL1xuICB1c2VFeHBsaWNpdFR5cGU/OiBJUnVsZUNvbmZpZ3VyYXRpb247XG4gIC8qKlxuICAgKiBFbmZvcmNlcyB0aGUgdXNlIG9mIGEgcmVjb21tZW5kZWQgZGlzcGxheSBzdHJhdGVneSB3aXRoIEdvb2dsZSBGb250cy5cbiAgICovXG4gIHVzZUdvb2dsZUZvbnREaXNwbGF5PzogSVJ1bGVDb25maWd1cmF0aW9uO1xuICAvKipcbiAgICogUmVxdWlyZSBmb3ItaW4gbG9vcHMgdG8gaW5jbHVkZSBhbiBpZiBzdGF0ZW1lbnQuXG4gICAqL1xuICB1c2VHdWFyZEZvckluPzogSVJ1bGVDb25maWd1cmF0aW9uO1xuICAvKipcbiAgICogRGlzYWxsb3dzIHBhY2thZ2UgcHJpdmF0ZSBpbXBvcnRzLlxuICAgKi9cbiAgdXNlSW1wb3J0UmVzdHJpY3Rpb25zPzogSVJ1bGVDb25maWd1cmF0aW9uO1xuICAvKipcbiAgICogRW5mb3JjZSB0aGUgc29ydGluZyBvZiBDU1MgdXRpbGl0eSBjbGFzc2VzLlxuICAgKi9cbiAgdXNlU29ydGVkQ2xhc3Nlcz86IElVdGlsaXR5Q2xhc3NTb3J0aW5nQ29uZmlndXJhdGlvbjtcbiAgLyoqXG4gICAqIEVuZm9yY2UgdGhlIHVzZSBvZiB0aGUgZGlyZWN0aXZlIFwidXNlIHN0cmljdFwiIGluIHNjcmlwdCBmaWxlcy5cbiAgICovXG4gIHVzZVN0cmljdE1vZGU/OiBJUnVsZUZpeENvbmZpZ3VyYXRpb247XG4gIC8qKlxuICAgKiBFbmZvcmNlIHRoZSB1c2Ugb2YgU3RyaW5nLnRyaW1TdGFydCgpIGFuZCBTdHJpbmcudHJpbUVuZCgpIG92ZXIgU3RyaW5nLnRyaW1MZWZ0KCkgYW5kIFN0cmluZy50cmltUmlnaHQoKS5cbiAgICovXG4gIHVzZVRyaW1TdGFydEVuZD86IElSdWxlRml4Q29uZmlndXJhdGlvbjtcbiAgLyoqXG4gICAqIFVzZSB2YWxpZCB2YWx1ZXMgZm9yIHRoZSBhdXRvY29tcGxldGUgYXR0cmlidXRlIG9uIGlucHV0IGVsZW1lbnRzLlxuICAgKi9cbiAgdXNlVmFsaWRBdXRvY29tcGxldGU/OiBJVXNlVmFsaWRBdXRvY29tcGxldGVDb25maWd1cmF0aW9uO1xufVxuZXhwb3J0IGludGVyZmFjZSBJUnVsZVdpdGhSZXN0cmljdGVkSW1wb3J0c09wdGlvbnMge1xuICAvKipcbiAgICogVGhlIHNldmVyaXR5IG9mIHRoZSBlbWl0dGVkIGRpYWdub3N0aWNzIGJ5IHRoZSBydWxlXG4gICAqL1xuICBsZXZlbDogSVJ1bGVQbGFpbkNvbmZpZ3VyYXRpb247XG4gIC8qKlxuICAgKiBSdWxlJ3Mgb3B0aW9uc1xuICAgKi9cbiAgb3B0aW9ucz86IElSZXN0cmljdGVkSW1wb3J0c09wdGlvbnM7XG59XG4vKipcbiAqIE9wdGlvbnMgZm9yIHRoZSBydWxlIGBub1Jlc3RyaWN0ZWRJbXBvcnRzYC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJUmVzdHJpY3RlZEltcG9ydHNPcHRpb25zIHtcbiAgLyoqXG4gICAqIEEgbGlzdCBvZiBuYW1lcyB0aGF0IHNob3VsZCB0cmlnZ2VyIHRoZSBydWxlXG4gICAqL1xuICBwYXRocz86IHtcbiAgICBbazogc3RyaW5nXTogc3RyaW5nO1xuICB9O1xufVxuZXhwb3J0IGludGVyZmFjZSBJUnVsZVdpdGhOb1Jlc3RyaWN0ZWRUeXBlc09wdGlvbnMge1xuICAvKipcbiAgICogVGhlIGtpbmQgb2YgdGhlIGNvZGUgYWN0aW9ucyBlbWl0dGVkIGJ5IHRoZSBydWxlXG4gICAqL1xuICBmaXg/OiBJRml4S2luZDtcbiAgLyoqXG4gICAqIFRoZSBzZXZlcml0eSBvZiB0aGUgZW1pdHRlZCBkaWFnbm9zdGljcyBieSB0aGUgcnVsZVxuICAgKi9cbiAgbGV2ZWw6IElSdWxlUGxhaW5Db25maWd1cmF0aW9uO1xuICAvKipcbiAgICogUnVsZSdzIG9wdGlvbnNcbiAgICovXG4gIG9wdGlvbnM/OiBJTm9SZXN0cmljdGVkVHlwZXNPcHRpb25zO1xufVxuZXhwb3J0IGludGVyZmFjZSBJTm9SZXN0cmljdGVkVHlwZXNPcHRpb25zIHtcbiAgdHlwZXM/OiB7XG4gICAgW2s6IHN0cmluZ106IElDdXN0b21SZXN0cmljdGVkVHlwZTtcbiAgfTtcbn1cbmV4cG9ydCBpbnRlcmZhY2UgSUN1c3RvbVJlc3RyaWN0ZWRUeXBlT3B0aW9ucyB7XG4gIG1lc3NhZ2U/OiBzdHJpbmc7XG4gIHVzZT86IHN0cmluZztcbn1cbmV4cG9ydCBpbnRlcmZhY2UgSVJ1bGVXaXRoTm9TZWNyZXRzT3B0aW9ucyB7XG4gIC8qKlxuICAgKiBUaGUgc2V2ZXJpdHkgb2YgdGhlIGVtaXR0ZWQgZGlhZ25vc3RpY3MgYnkgdGhlIHJ1bGVcbiAgICovXG4gIGxldmVsOiBJUnVsZVBsYWluQ29uZmlndXJhdGlvbjtcbiAgLyoqXG4gICAqIFJ1bGUncyBvcHRpb25zXG4gICAqL1xuICBvcHRpb25zPzogSU5vU2VjcmV0c09wdGlvbnM7XG59XG5leHBvcnQgaW50ZXJmYWNlIElOb1NlY3JldHNPcHRpb25zIHtcbiAgLyoqXG4gICAqIFNldCBlbnRyb3B5IHRocmVzaG9sZCAoZGVmYXVsdCBpcyA0MSkuXG4gICAqL1xuICBlbnRyb3B5VGhyZXNob2xkPzogbnVtYmVyO1xufVxuZXhwb3J0IGludGVyZmFjZSBJUnVsZVdpdGhVc2VDb21wb25lbnRFeHBvcnRPbmx5TW9kdWxlc09wdGlvbnMge1xuICAvKipcbiAgICogVGhlIHNldmVyaXR5IG9mIHRoZSBlbWl0dGVkIGRpYWdub3N0aWNzIGJ5IHRoZSBydWxlXG4gICAqL1xuICBsZXZlbDogSVJ1bGVQbGFpbkNvbmZpZ3VyYXRpb247XG4gIC8qKlxuICAgKiBSdWxlJ3Mgb3B0aW9uc1xuICAgKi9cbiAgb3B0aW9ucz86IElVc2VDb21wb25lbnRFeHBvcnRPbmx5TW9kdWxlc09wdGlvbnM7XG59XG5leHBvcnQgaW50ZXJmYWNlIElVc2VDb21wb25lbnRFeHBvcnRPbmx5TW9kdWxlc09wdGlvbnMge1xuICAvKipcbiAgICogQWxsb3dzIHRoZSBleHBvcnQgb2YgY29uc3RhbnRzLiBUaGlzIG9wdGlvbiBpcyBmb3IgZW52aXJvbm1lbnRzIHRoYXQgc3VwcG9ydCBpdCwgc3VjaCBhcyBbVml0ZV0oaHR0cHM6Ly92aXRlanMuZGV2LylcbiAgICovXG4gIGFsbG93Q29uc3RhbnRFeHBvcnQ/OiBib29sZWFuO1xuICAvKipcbiAgICogQSBsaXN0IG9mIG5hbWVzIHRoYXQgY2FuIGJlIGFkZGl0aW9uYWxseSBleHBvcnRlZCBmcm9tIHRoZSBtb2R1bGUgVGhpcyBvcHRpb24gaXMgZm9yIGV4cG9ydHMgdGhhdCBkbyBub3QgaGluZGVyIFtSZWFjdCBGYXN0IFJlZnJlc2hdKGh0dHBzOi8vZ2l0aHViLmNvbS9mYWNlYm9vay9yZWFjdC90cmVlL21haW4vcGFja2FnZXMvcmVhY3QtcmVmcmVzaCksIHN1Y2ggYXMgW2BtZXRhYCBpbiBSZW1peF0oaHR0cHM6Ly9yZW1peC5ydW4vZG9jcy9lbi9tYWluL3JvdXRlL21ldGEpXG4gICAqL1xuICBhbGxvd0V4cG9ydE5hbWVzPzogc3RyaW5nW107XG59XG5leHBvcnQgaW50ZXJmYWNlIElSdWxlV2l0aENvbnNpc3RlbnRNZW1iZXJBY2Nlc3NpYmlsaXR5T3B0aW9ucyB7XG4gIC8qKlxuICAgKiBUaGUgc2V2ZXJpdHkgb2YgdGhlIGVtaXR0ZWQgZGlhZ25vc3RpY3MgYnkgdGhlIHJ1bGVcbiAgICovXG4gIGxldmVsOiBJUnVsZVBsYWluQ29uZmlndXJhdGlvbjtcbiAgLyoqXG4gICAqIFJ1bGUncyBvcHRpb25zXG4gICAqL1xuICBvcHRpb25zPzogSUNvbnNpc3RlbnRNZW1iZXJBY2Nlc3NpYmlsaXR5T3B0aW9ucztcbn1cbmV4cG9ydCBpbnRlcmZhY2UgSUNvbnNpc3RlbnRNZW1iZXJBY2Nlc3NpYmlsaXR5T3B0aW9ucyB7XG4gIGFjY2Vzc2liaWxpdHk/OiBJQWNjZXNzaWJpbGl0eSAmIHN0cmluZztcbn1cbmV4cG9ydCBpbnRlcmZhY2UgSVJ1bGVXaXRoVXRpbGl0eUNsYXNzU29ydGluZ09wdGlvbnMge1xuICAvKipcbiAgICogVGhlIGtpbmQgb2YgdGhlIGNvZGUgYWN0aW9ucyBlbWl0dGVkIGJ5IHRoZSBydWxlXG4gICAqL1xuICBmaXg/OiBJRml4S2luZDtcbiAgLyoqXG4gICAqIFRoZSBzZXZlcml0eSBvZiB0aGUgZW1pdHRlZCBkaWFnbm9zdGljcyBieSB0aGUgcnVsZVxuICAgKi9cbiAgbGV2ZWw6IElSdWxlUGxhaW5Db25maWd1cmF0aW9uO1xuICAvKipcbiAgICogUnVsZSdzIG9wdGlvbnNcbiAgICovXG4gIG9wdGlvbnM/OiBJVXRpbGl0eUNsYXNzU29ydGluZ09wdGlvbnM7XG59XG5leHBvcnQgaW50ZXJmYWNlIElVdGlsaXR5Q2xhc3NTb3J0aW5nT3B0aW9ucyB7XG4gIC8qKlxuICAgKiBBZGRpdGlvbmFsIGF0dHJpYnV0ZXMgdGhhdCB3aWxsIGJlIHNvcnRlZC5cbiAgICovXG4gIGF0dHJpYnV0ZXM/OiBzdHJpbmdbXTtcbiAgLyoqXG4gICAqIE5hbWVzIG9mIHRoZSBmdW5jdGlvbnMgb3IgdGFnZ2VkIHRlbXBsYXRlcyB0aGF0IHdpbGwgYmUgc29ydGVkLlxuICAgKi9cbiAgZnVuY3Rpb25zPzogc3RyaW5nW107XG59XG5leHBvcnQgaW50ZXJmYWNlIElSdWxlV2l0aFVzZVZhbGlkQXV0b2NvbXBsZXRlT3B0aW9ucyB7XG4gIC8qKlxuICAgKiBUaGUgc2V2ZXJpdHkgb2YgdGhlIGVtaXR0ZWQgZGlhZ25vc3RpY3MgYnkgdGhlIHJ1bGVcbiAgICovXG4gIGxldmVsOiBJUnVsZVBsYWluQ29uZmlndXJhdGlvbjtcbiAgLyoqXG4gICAqIFJ1bGUncyBvcHRpb25zXG4gICAqL1xuICBvcHRpb25zPzogSVVzZVZhbGlkQXV0b2NvbXBsZXRlT3B0aW9ucztcbn1cbmV4cG9ydCBpbnRlcmZhY2UgSVVzZVZhbGlkQXV0b2NvbXBsZXRlT3B0aW9ucyB7XG4gIC8qKlxuICAgKiBgaW5wdXRgIGxpa2UgY3VzdG9tIGNvbXBvbmVudHMgdGhhdCBzaG91bGQgYmUgY2hlY2tlZC5cbiAgICovXG4gIGlucHV0Q29tcG9uZW50cz86IHN0cmluZ1tdO1xufVxuLyoqXG4gKiBBIGxpc3Qgb2YgcnVsZXMgdGhhdCBiZWxvbmcgdG8gdGhpcyBncm91cFxuICovXG5leHBvcnQgaW50ZXJmYWNlIElQZXJmb3JtYW5jZSB7XG4gIC8qKlxuICAgKiBJdCBlbmFibGVzIEFMTCBydWxlcyBmb3IgdGhpcyBncm91cC5cbiAgICovXG4gIGFsbD86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBEaXNhbGxvdyB0aGUgdXNlIG9mIHNwcmVhZCAoLi4uKSBzeW50YXggb24gYWNjdW11bGF0b3JzLlxuICAgKi9cbiAgbm9BY2N1bXVsYXRpbmdTcHJlYWQ/OiBJUnVsZUNvbmZpZ3VyYXRpb247XG4gIC8qKlxuICAgKiBEaXNhbGxvdyB0aGUgdXNlIG9mIGJhcnJlbCBmaWxlLlxuICAgKi9cbiAgbm9CYXJyZWxGaWxlPzogSVJ1bGVDb25maWd1cmF0aW9uO1xuICAvKipcbiAgICogRGlzYWxsb3cgdGhlIHVzZSBvZiB0aGUgZGVsZXRlIG9wZXJhdG9yLlxuICAgKi9cbiAgbm9EZWxldGU/OiBJUnVsZUZpeENvbmZpZ3VyYXRpb247XG4gIC8qKlxuICAgKiBBdm9pZCByZS1leHBvcnQgYWxsLlxuICAgKi9cbiAgbm9SZUV4cG9ydEFsbD86IElSdWxlQ29uZmlndXJhdGlvbjtcbiAgLyoqXG4gICAqIEl0IGVuYWJsZXMgdGhlIHJlY29tbWVuZGVkIHJ1bGVzIGZvciB0aGlzIGdyb3VwXG4gICAqL1xuICByZWNvbW1lbmRlZD86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBSZXF1aXJlIHJlZ2V4IGxpdGVyYWxzIHRvIGJlIGRlY2xhcmVkIGF0IHRoZSB0b3AgbGV2ZWwuXG4gICAqL1xuICB1c2VUb3BMZXZlbFJlZ2V4PzogSVJ1bGVDb25maWd1cmF0aW9uO1xufVxuLyoqXG4gKiBBIGxpc3Qgb2YgcnVsZXMgdGhhdCBiZWxvbmcgdG8gdGhpcyBncm91cFxuICovXG5leHBvcnQgaW50ZXJmYWNlIElTZWN1cml0eSB7XG4gIC8qKlxuICAgKiBJdCBlbmFibGVzIEFMTCBydWxlcyBmb3IgdGhpcyBncm91cC5cbiAgICovXG4gIGFsbD86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBQcmV2ZW50IHRoZSB1c2FnZSBvZiBkYW5nZXJvdXMgSlNYIHByb3BzXG4gICAqL1xuICBub0Rhbmdlcm91c2x5U2V0SW5uZXJIdG1sPzogSVJ1bGVDb25maWd1cmF0aW9uO1xuICAvKipcbiAgICogUmVwb3J0IHdoZW4gYSBET00gZWxlbWVudCBvciBhIGNvbXBvbmVudCB1c2VzIGJvdGggY2hpbGRyZW4gYW5kIGRhbmdlcm91c2x5U2V0SW5uZXJIVE1MIHByb3AuXG4gICAqL1xuICBub0Rhbmdlcm91c2x5U2V0SW5uZXJIdG1sV2l0aENoaWxkcmVuPzogSVJ1bGVDb25maWd1cmF0aW9uO1xuICAvKipcbiAgICogRGlzYWxsb3cgdGhlIHVzZSBvZiBnbG9iYWwgZXZhbCgpLlxuICAgKi9cbiAgbm9HbG9iYWxFdmFsPzogSVJ1bGVDb25maWd1cmF0aW9uO1xuICAvKipcbiAgICogSXQgZW5hYmxlcyB0aGUgcmVjb21tZW5kZWQgcnVsZXMgZm9yIHRoaXMgZ3JvdXBcbiAgICovXG4gIHJlY29tbWVuZGVkPzogYm9vbGVhbjtcbn1cbi8qKlxuICogQSBsaXN0IG9mIHJ1bGVzIHRoYXQgYmVsb25nIHRvIHRoaXMgZ3JvdXBcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJU3R5bGUge1xuICAvKipcbiAgICogSXQgZW5hYmxlcyBBTEwgcnVsZXMgZm9yIHRoaXMgZ3JvdXAuXG4gICAqL1xuICBhbGw/OiBib29sZWFuO1xuICAvKipcbiAgICogRGlzYWxsb3cgdGhlIHVzZSBvZiBhcmd1bWVudHMuXG4gICAqL1xuICBub0FyZ3VtZW50cz86IElSdWxlQ29uZmlndXJhdGlvbjtcbiAgLyoqXG4gICAqIERpc2FsbG93IGNvbW1hIG9wZXJhdG9yLlxuICAgKi9cbiAgbm9Db21tYU9wZXJhdG9yPzogSVJ1bGVDb25maWd1cmF0aW9uO1xuICAvKipcbiAgICogRGlzYWxsb3cgZGVmYXVsdCBleHBvcnRzLlxuICAgKi9cbiAgbm9EZWZhdWx0RXhwb3J0PzogSVJ1bGVDb25maWd1cmF0aW9uO1xuICAvKipcbiAgICogRGlzYWxsb3cgdXNpbmcgYSBjYWxsYmFjayBpbiBhc3luY2hyb25vdXMgdGVzdHMgYW5kIGhvb2tzLlxuICAgKi9cbiAgbm9Eb25lQ2FsbGJhY2s/OiBJUnVsZUNvbmZpZ3VyYXRpb247XG4gIC8qKlxuICAgKiBEaXNhbGxvdyBpbXBsaWNpdCB0cnVlIHZhbHVlcyBvbiBKU1ggYm9vbGVhbiBhdHRyaWJ1dGVzXG4gICAqL1xuICBub0ltcGxpY2l0Qm9vbGVhbj86IElSdWxlRml4Q29uZmlndXJhdGlvbjtcbiAgLyoqXG4gICAqIERpc2FsbG93IHR5cGUgYW5ub3RhdGlvbnMgZm9yIHZhcmlhYmxlcywgcGFyYW1ldGVycywgYW5kIGNsYXNzIHByb3BlcnRpZXMgaW5pdGlhbGl6ZWQgd2l0aCBhIGxpdGVyYWwgZXhwcmVzc2lvbi5cbiAgICovXG4gIG5vSW5mZXJyYWJsZVR5cGVzPzogSVJ1bGVGaXhDb25maWd1cmF0aW9uO1xuICAvKipcbiAgICogRGlzYWxsb3cgdGhlIHVzZSBvZiBUeXBlU2NyaXB0J3MgbmFtZXNwYWNlcy5cbiAgICovXG4gIG5vTmFtZXNwYWNlPzogSVJ1bGVDb25maWd1cmF0aW9uO1xuICAvKipcbiAgICogRGlzYWxsb3cgdGhlIHVzZSBvZiBuYW1lc3BhY2UgaW1wb3J0cy5cbiAgICovXG4gIG5vTmFtZXNwYWNlSW1wb3J0PzogSVJ1bGVDb25maWd1cmF0aW9uO1xuICAvKipcbiAgICogRGlzYWxsb3cgbmVnYXRpb24gaW4gdGhlIGNvbmRpdGlvbiBvZiBhbiBpZiBzdGF0ZW1lbnQgaWYgaXQgaGFzIGFuIGVsc2UgY2xhdXNlLlxuICAgKi9cbiAgbm9OZWdhdGlvbkVsc2U/OiBJUnVsZUZpeENvbmZpZ3VyYXRpb247XG4gIC8qKlxuICAgKiBEaXNhbGxvdyBub24tbnVsbCBhc3NlcnRpb25zIHVzaW5nIHRoZSAhIHBvc3RmaXggb3BlcmF0b3IuXG4gICAqL1xuICBub05vbk51bGxBc3NlcnRpb24/OiBJUnVsZUZpeENvbmZpZ3VyYXRpb247XG4gIC8qKlxuICAgKiBEaXNhbGxvdyByZWFzc2lnbmluZyBmdW5jdGlvbiBwYXJhbWV0ZXJzLlxuICAgKi9cbiAgbm9QYXJhbWV0ZXJBc3NpZ24/OiBJUnVsZUNvbmZpZ3VyYXRpb247XG4gIC8qKlxuICAgKiBEaXNhbGxvdyB0aGUgdXNlIG9mIHBhcmFtZXRlciBwcm9wZXJ0aWVzIGluIGNsYXNzIGNvbnN0cnVjdG9ycy5cbiAgICovXG4gIG5vUGFyYW1ldGVyUHJvcGVydGllcz86IElSdWxlQ29uZmlndXJhdGlvbjtcbiAgLyoqXG4gICAqIFRoaXMgcnVsZSBhbGxvd3MgeW91IHRvIHNwZWNpZnkgZ2xvYmFsIHZhcmlhYmxlIG5hbWVzIHRoYXQgeW91IGRvbuKAmXQgd2FudCB0byB1c2UgaW4geW91ciBhcHBsaWNhdGlvbi5cbiAgICovXG4gIG5vUmVzdHJpY3RlZEdsb2JhbHM/OiBJUmVzdHJpY3RlZEdsb2JhbHNDb25maWd1cmF0aW9uO1xuICAvKipcbiAgICogRGlzYWxsb3cgdGhlIHVzZSBvZiBjb25zdGFudHMgd2hpY2ggaXRzIHZhbHVlIGlzIHRoZSB1cHBlci1jYXNlIHZlcnNpb24gb2YgaXRzIG5hbWUuXG4gICAqL1xuICBub1Nob3V0eUNvbnN0YW50cz86IElSdWxlRml4Q29uZmlndXJhdGlvbjtcbiAgLyoqXG4gICAqIERpc2FsbG93IHRlbXBsYXRlIGxpdGVyYWxzIGlmIGludGVycG9sYXRpb24gYW5kIHNwZWNpYWwtY2hhcmFjdGVyIGhhbmRsaW5nIGFyZSBub3QgbmVlZGVkXG4gICAqL1xuICBub1VudXNlZFRlbXBsYXRlTGl0ZXJhbD86IElSdWxlRml4Q29uZmlndXJhdGlvbjtcbiAgLyoqXG4gICAqIERpc2FsbG93IGVsc2UgYmxvY2sgd2hlbiB0aGUgaWYgYmxvY2sgYnJlYWtzIGVhcmx5LlxuICAgKi9cbiAgbm9Vc2VsZXNzRWxzZT86IElSdWxlRml4Q29uZmlndXJhdGlvbjtcbiAgLyoqXG4gICAqIERpc2FsbG93IHRoZSB1c2Ugb2YgdmFyXG4gICAqL1xuICBub1Zhcj86IElSdWxlRml4Q29uZmlndXJhdGlvbjtcbiAgLyoqXG4gICAqIERpc2FsbG93IHRoZSB1c2Ugb2YgeW9kYSBleHByZXNzaW9ucy5cbiAgICovXG4gIG5vWW9kYUV4cHJlc3Npb24/OiBJUnVsZUZpeENvbmZpZ3VyYXRpb247XG4gIC8qKlxuICAgKiBJdCBlbmFibGVzIHRoZSByZWNvbW1lbmRlZCBydWxlcyBmb3IgdGhpcyBncm91cFxuICAgKi9cbiAgcmVjb21tZW5kZWQ/OiBib29sZWFuO1xuICAvKipcbiAgICogRW5mb3JjZSB0aGUgdXNlIG9mIGFzIGNvbnN0IG92ZXIgbGl0ZXJhbCB0eXBlIGFuZCB0eXBlIGFubm90YXRpb24uXG4gICAqL1xuICB1c2VBc0NvbnN0QXNzZXJ0aW9uPzogSVJ1bGVGaXhDb25maWd1cmF0aW9uO1xuICAvKipcbiAgICogUmVxdWlyZXMgZm9sbG93aW5nIGN1cmx5IGJyYWNlIGNvbnZlbnRpb25zLlxuICAgKi9cbiAgdXNlQmxvY2tTdGF0ZW1lbnRzPzogSVJ1bGVGaXhDb25maWd1cmF0aW9uO1xuICAvKipcbiAgICogRW5mb3JjZSB1c2luZyBlbHNlIGlmIGluc3RlYWQgb2YgbmVzdGVkIGlmIGluIGVsc2UgY2xhdXNlcy5cbiAgICovXG4gIHVzZUNvbGxhcHNlZEVsc2VJZj86IElSdWxlRml4Q29uZmlndXJhdGlvbjtcbiAgLyoqXG4gICAqIFJlcXVpcmUgY29uc2lzdGVudGx5IHVzaW5nIGVpdGhlciBUXFxbXSBvciBBcnJheVxcPFQ+XG4gICAqL1xuICB1c2VDb25zaXN0ZW50QXJyYXlUeXBlPzogSUNvbnNpc3RlbnRBcnJheVR5cGVDb25maWd1cmF0aW9uO1xuICAvKipcbiAgICogRW5mb3JjZSB0aGUgdXNlIG9mIG5ldyBmb3IgYWxsIGJ1aWx0aW5zLCBleGNlcHQgU3RyaW5nLCBOdW1iZXIgYW5kIEJvb2xlYW4uXG4gICAqL1xuICB1c2VDb25zaXN0ZW50QnVpbHRpbkluc3RhbnRpYXRpb24/OiBJUnVsZUZpeENvbmZpZ3VyYXRpb247XG4gIC8qKlxuICAgKiBSZXF1aXJlIGNvbnN0IGRlY2xhcmF0aW9ucyBmb3IgdmFyaWFibGVzIHRoYXQgYXJlIG9ubHkgYXNzaWduZWQgb25jZS5cbiAgICovXG4gIHVzZUNvbnN0PzogSVJ1bGVGaXhDb25maWd1cmF0aW9uO1xuICAvKipcbiAgICogRW5mb3JjZSBkZWZhdWx0IGZ1bmN0aW9uIHBhcmFtZXRlcnMgYW5kIG9wdGlvbmFsIGZ1bmN0aW9uIHBhcmFtZXRlcnMgdG8gYmUgbGFzdC5cbiAgICovXG4gIHVzZURlZmF1bHRQYXJhbWV0ZXJMYXN0PzogSVJ1bGVGaXhDb25maWd1cmF0aW9uO1xuICAvKipcbiAgICogUmVxdWlyZSB0aGUgZGVmYXVsdCBjbGF1c2UgaW4gc3dpdGNoIHN0YXRlbWVudHMuXG4gICAqL1xuICB1c2VEZWZhdWx0U3dpdGNoQ2xhdXNlPzogSVJ1bGVDb25maWd1cmF0aW9uO1xuICAvKipcbiAgICogUmVxdWlyZSB0aGF0IGVhY2ggZW51bSBtZW1iZXIgdmFsdWUgYmUgZXhwbGljaXRseSBpbml0aWFsaXplZC5cbiAgICovXG4gIHVzZUVudW1Jbml0aWFsaXplcnM/OiBJUnVsZUZpeENvbmZpZ3VyYXRpb247XG4gIC8qKlxuICAgKiBFbmZvcmNlIGV4cGxpY2l0bHkgY29tcGFyaW5nIHRoZSBsZW5ndGgsIHNpemUsIGJ5dGVMZW5ndGggb3IgYnl0ZU9mZnNldCBwcm9wZXJ0eSBvZiBhIHZhbHVlLlxuICAgKi9cbiAgdXNlRXhwbGljaXRMZW5ndGhDaGVjaz86IElSdWxlRml4Q29uZmlndXJhdGlvbjtcbiAgLyoqXG4gICAqIERpc2FsbG93IHRoZSB1c2Ugb2YgTWF0aC5wb3cgaW4gZmF2b3Igb2YgdGhlICoqIG9wZXJhdG9yLlxuICAgKi9cbiAgdXNlRXhwb25lbnRpYXRpb25PcGVyYXRvcj86IElSdWxlRml4Q29uZmlndXJhdGlvbjtcbiAgLyoqXG4gICAqIFByb21vdGVzIHRoZSB1c2Ugb2YgZXhwb3J0IHR5cGUgZm9yIHR5cGVzLlxuICAgKi9cbiAgdXNlRXhwb3J0VHlwZT86IElSdWxlRml4Q29uZmlndXJhdGlvbjtcbiAgLyoqXG4gICAqIEVuZm9yY2UgbmFtaW5nIGNvbnZlbnRpb25zIGZvciBKYXZhU2NyaXB0IGFuZCBUeXBlU2NyaXB0IGZpbGVuYW1lcy5cbiAgICovXG4gIHVzZUZpbGVuYW1pbmdDb252ZW50aW9uPzogSUZpbGVuYW1pbmdDb252ZW50aW9uQ29uZmlndXJhdGlvbjtcbiAgLyoqXG4gICAqIFRoaXMgcnVsZSByZWNvbW1lbmRzIGEgZm9yLW9mIGxvb3Agd2hlbiBpbiBhIGZvciBsb29wLCB0aGUgaW5kZXggdXNlZCB0byBleHRyYWN0IGFuIGl0ZW0gZnJvbSB0aGUgaXRlcmF0ZWQgYXJyYXkuXG4gICAqL1xuICB1c2VGb3JPZj86IElSdWxlQ29uZmlndXJhdGlvbjtcbiAgLyoqXG4gICAqIFRoaXMgcnVsZSBlbmZvcmNlcyB0aGUgdXNlIG9mIFxcPD4uLi5cXDwvPiBvdmVyIFxcPEZyYWdtZW50Pi4uLlxcPC9GcmFnbWVudD4uXG4gICAqL1xuICB1c2VGcmFnbWVudFN5bnRheD86IElSdWxlRml4Q29uZmlndXJhdGlvbjtcbiAgLyoqXG4gICAqIFByb21vdGVzIHRoZSB1c2Ugb2YgaW1wb3J0IHR5cGUgZm9yIHR5cGVzLlxuICAgKi9cbiAgdXNlSW1wb3J0VHlwZT86IElSdWxlRml4Q29uZmlndXJhdGlvbjtcbiAgLyoqXG4gICAqIFJlcXVpcmUgYWxsIGVudW0gbWVtYmVycyB0byBiZSBsaXRlcmFsIHZhbHVlcy5cbiAgICovXG4gIHVzZUxpdGVyYWxFbnVtTWVtYmVycz86IElSdWxlQ29uZmlndXJhdGlvbjtcbiAgLyoqXG4gICAqIEVuZm9yY2UgbmFtaW5nIGNvbnZlbnRpb25zIGZvciBldmVyeXRoaW5nIGFjcm9zcyBhIGNvZGViYXNlLlxuICAgKi9cbiAgdXNlTmFtaW5nQ29udmVudGlvbj86IElOYW1pbmdDb252ZW50aW9uQ29uZmlndXJhdGlvbjtcbiAgLyoqXG4gICAqIFByb21vdGVzIHRoZSB1c2FnZSBvZiBub2RlOmFzc2VydC9zdHJpY3Qgb3ZlciBub2RlOmFzc2VydC5cbiAgICovXG4gIHVzZU5vZGVBc3NlcnRTdHJpY3Q/OiBJUnVsZUZpeENvbmZpZ3VyYXRpb247XG4gIC8qKlxuICAgKiBFbmZvcmNlcyB1c2luZyB0aGUgbm9kZTogcHJvdG9jb2wgZm9yIE5vZGUuanMgYnVpbHRpbiBtb2R1bGVzLlxuICAgKi9cbiAgdXNlTm9kZWpzSW1wb3J0UHJvdG9jb2w/OiBJUnVsZUZpeENvbmZpZ3VyYXRpb247XG4gIC8qKlxuICAgKiBVc2UgdGhlIE51bWJlciBwcm9wZXJ0aWVzIGluc3RlYWQgb2YgZ2xvYmFsIG9uZXMuXG4gICAqL1xuICB1c2VOdW1iZXJOYW1lc3BhY2U/OiBJUnVsZUZpeENvbmZpZ3VyYXRpb247XG4gIC8qKlxuICAgKiBEaXNhbGxvdyBwYXJzZUludCgpIGFuZCBOdW1iZXIucGFyc2VJbnQoKSBpbiBmYXZvciBvZiBiaW5hcnksIG9jdGFsLCBhbmQgaGV4YWRlY2ltYWwgbGl0ZXJhbHNcbiAgICovXG4gIHVzZU51bWVyaWNMaXRlcmFscz86IElSdWxlRml4Q29uZmlndXJhdGlvbjtcbiAgLyoqXG4gICAqIFByZXZlbnQgZXh0cmEgY2xvc2luZyB0YWdzIGZvciBjb21wb25lbnRzIHdpdGhvdXQgY2hpbGRyZW5cbiAgICovXG4gIHVzZVNlbGZDbG9zaW5nRWxlbWVudHM/OiBJUnVsZUZpeENvbmZpZ3VyYXRpb247XG4gIC8qKlxuICAgKiBXaGVuIGV4cHJlc3NpbmcgYXJyYXkgdHlwZXMsIHRoaXMgcnVsZSBwcm9tb3RlcyB0aGUgdXNhZ2Ugb2YgVFxcW10gc2hvcnRoYW5kIGluc3RlYWQgb2YgQXJyYXlcXDxUPi5cbiAgICovXG4gIHVzZVNob3J0aGFuZEFycmF5VHlwZT86IElSdWxlRml4Q29uZmlndXJhdGlvbjtcbiAgLyoqXG4gICAqIFJlcXVpcmUgYXNzaWdubWVudCBvcGVyYXRvciBzaG9ydGhhbmQgd2hlcmUgcG9zc2libGUuXG4gICAqL1xuICB1c2VTaG9ydGhhbmRBc3NpZ24/OiBJUnVsZUZpeENvbmZpZ3VyYXRpb247XG4gIC8qKlxuICAgKiBFbmZvcmNlIHVzaW5nIGZ1bmN0aW9uIHR5cGVzIGluc3RlYWQgb2Ygb2JqZWN0IHR5cGUgd2l0aCBjYWxsIHNpZ25hdHVyZXMuXG4gICAqL1xuICB1c2VTaG9ydGhhbmRGdW5jdGlvblR5cGU/OiBJUnVsZUZpeENvbmZpZ3VyYXRpb247XG4gIC8qKlxuICAgKiBFbmZvcmNlcyBzd2l0Y2ggY2xhdXNlcyBoYXZlIGEgc2luZ2xlIHN0YXRlbWVudCwgZW1pdHMgYSBxdWljayBmaXggd3JhcHBpbmcgdGhlIHN0YXRlbWVudHMgaW4gYSBibG9jay5cbiAgICovXG4gIHVzZVNpbmdsZUNhc2VTdGF0ZW1lbnQ/OiBJUnVsZUZpeENvbmZpZ3VyYXRpb247XG4gIC8qKlxuICAgKiBEaXNhbGxvdyBtdWx0aXBsZSB2YXJpYWJsZSBkZWNsYXJhdGlvbnMgaW4gdGhlIHNhbWUgdmFyaWFibGUgc3RhdGVtZW50XG4gICAqL1xuICB1c2VTaW5nbGVWYXJEZWNsYXJhdG9yPzogSVJ1bGVGaXhDb25maWd1cmF0aW9uO1xuICAvKipcbiAgICogUHJlZmVyIHRlbXBsYXRlIGxpdGVyYWxzIG92ZXIgc3RyaW5nIGNvbmNhdGVuYXRpb24uXG4gICAqL1xuICB1c2VUZW1wbGF0ZT86IElSdWxlRml4Q29uZmlndXJhdGlvbjtcbiAgLyoqXG4gICAqIFJlcXVpcmUgbmV3IHdoZW4gdGhyb3dpbmcgYW4gZXJyb3IuXG4gICAqL1xuICB1c2VUaHJvd05ld0Vycm9yPzogSVJ1bGVGaXhDb25maWd1cmF0aW9uO1xuICAvKipcbiAgICogRGlzYWxsb3cgdGhyb3dpbmcgbm9uLUVycm9yIHZhbHVlcy5cbiAgICovXG4gIHVzZVRocm93T25seUVycm9yPzogSVJ1bGVDb25maWd1cmF0aW9uO1xuICAvKipcbiAgICogRW5mb3JjZSB0aGUgdXNlIG9mIHdoaWxlIGxvb3BzIGluc3RlYWQgb2YgZm9yIGxvb3BzIHdoZW4gdGhlIGluaXRpYWxpemVyIGFuZCB1cGRhdGUgZXhwcmVzc2lvbnMgYXJlIG5vdCBuZWVkZWQuXG4gICAqL1xuICB1c2VXaGlsZT86IElSdWxlRml4Q29uZmlndXJhdGlvbjtcbn1cbmV4cG9ydCBpbnRlcmZhY2UgSVJ1bGVXaXRoUmVzdHJpY3RlZEdsb2JhbHNPcHRpb25zIHtcbiAgLyoqXG4gICAqIFRoZSBzZXZlcml0eSBvZiB0aGUgZW1pdHRlZCBkaWFnbm9zdGljcyBieSB0aGUgcnVsZVxuICAgKi9cbiAgbGV2ZWw6IElSdWxlUGxhaW5Db25maWd1cmF0aW9uO1xuICAvKipcbiAgICogUnVsZSdzIG9wdGlvbnNcbiAgICovXG4gIG9wdGlvbnM/OiBJUmVzdHJpY3RlZEdsb2JhbHNPcHRpb25zO1xufVxuLyoqXG4gKiBPcHRpb25zIGZvciB0aGUgcnVsZSBgbm9SZXN0cmljdGVkR2xvYmFsc2AuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSVJlc3RyaWN0ZWRHbG9iYWxzT3B0aW9ucyB7XG4gIC8qKlxuICAgKiBBIGxpc3Qgb2YgbmFtZXMgdGhhdCBzaG91bGQgdHJpZ2dlciB0aGUgcnVsZVxuICAgKi9cbiAgZGVuaWVkR2xvYmFscz86IHN0cmluZ1tdO1xufVxuZXhwb3J0IGludGVyZmFjZSBJUnVsZVdpdGhDb25zaXN0ZW50QXJyYXlUeXBlT3B0aW9ucyB7XG4gIC8qKlxuICAgKiBUaGUga2luZCBvZiB0aGUgY29kZSBhY3Rpb25zIGVtaXR0ZWQgYnkgdGhlIHJ1bGVcbiAgICovXG4gIGZpeD86IElGaXhLaW5kO1xuICAvKipcbiAgICogVGhlIHNldmVyaXR5IG9mIHRoZSBlbWl0dGVkIGRpYWdub3N0aWNzIGJ5IHRoZSBydWxlXG4gICAqL1xuICBsZXZlbDogSVJ1bGVQbGFpbkNvbmZpZ3VyYXRpb247XG4gIC8qKlxuICAgKiBSdWxlJ3Mgb3B0aW9uc1xuICAgKi9cbiAgb3B0aW9ucz86IElDb25zaXN0ZW50QXJyYXlUeXBlT3B0aW9ucztcbn1cbmV4cG9ydCBpbnRlcmZhY2UgSUNvbnNpc3RlbnRBcnJheVR5cGVPcHRpb25zIHtcbiAgc3ludGF4PzogSUNvbnNpc3RlbnRBcnJheVR5cGUgJiBzdHJpbmc7XG59XG5leHBvcnQgaW50ZXJmYWNlIElSdWxlV2l0aEZpbGVuYW1pbmdDb252ZW50aW9uT3B0aW9ucyB7XG4gIC8qKlxuICAgKiBUaGUgc2V2ZXJpdHkgb2YgdGhlIGVtaXR0ZWQgZGlhZ25vc3RpY3MgYnkgdGhlIHJ1bGVcbiAgICovXG4gIGxldmVsOiBJUnVsZVBsYWluQ29uZmlndXJhdGlvbjtcbiAgLyoqXG4gICAqIFJ1bGUncyBvcHRpb25zXG4gICAqL1xuICBvcHRpb25zPzogSUZpbGVuYW1pbmdDb252ZW50aW9uT3B0aW9ucztcbn1cbi8qKlxuICogUnVsZSdzIG9wdGlvbnMuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSUZpbGVuYW1pbmdDb252ZW50aW9uT3B0aW9ucyB7XG4gIC8qKlxuICAgKiBBbGxvd2VkIGNhc2VzIGZvciBmaWxlIG5hbWVzLlxuICAgKi9cbiAgZmlsZW5hbWVDYXNlcz86IElGaWxlbmFtZUNhc2VzO1xuICAvKipcbiAgICogSWYgYGZhbHNlYCwgdGhlbiBub24tQVNDSUkgY2hhcmFjdGVycyBhcmUgYWxsb3dlZC5cbiAgICovXG4gIHJlcXVpcmVBc2NpaT86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBJZiBgZmFsc2VgLCB0aGVuIGNvbnNlY3V0aXZlIHVwcGVyY2FzZSBhcmUgYWxsb3dlZCBpbiBfY2FtZWxfIGFuZCBfcGFzY2FsXyBjYXNlcy4gVGhpcyBkb2VzIG5vdCBhZmZlY3Qgb3RoZXIgW0Nhc2VdLlxuICAgKi9cbiAgc3RyaWN0Q2FzZT86IGJvb2xlYW47XG59XG5leHBvcnQgaW50ZXJmYWNlIElSdWxlV2l0aE5hbWluZ0NvbnZlbnRpb25PcHRpb25zIHtcbiAgLyoqXG4gICAqIFRoZSBraW5kIG9mIHRoZSBjb2RlIGFjdGlvbnMgZW1pdHRlZCBieSB0aGUgcnVsZVxuICAgKi9cbiAgZml4PzogSUZpeEtpbmQ7XG4gIC8qKlxuICAgKiBUaGUgc2V2ZXJpdHkgb2YgdGhlIGVtaXR0ZWQgZGlhZ25vc3RpY3MgYnkgdGhlIHJ1bGVcbiAgICovXG4gIGxldmVsOiBJUnVsZVBsYWluQ29uZmlndXJhdGlvbjtcbiAgLyoqXG4gICAqIFJ1bGUncyBvcHRpb25zXG4gICAqL1xuICBvcHRpb25zPzogSU5hbWluZ0NvbnZlbnRpb25PcHRpb25zO1xufVxuLyoqXG4gKiBSdWxlJ3Mgb3B0aW9ucy5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJTmFtaW5nQ29udmVudGlvbk9wdGlvbnMge1xuICAvKipcbiAgICogQ3VzdG9tIGNvbnZlbnRpb25zLlxuICAgKi9cbiAgY29udmVudGlvbnM/OiBJQ29udmVudGlvbltdO1xuICAvKipcbiAgICogQWxsb3dlZCBjYXNlcyBmb3IgX1R5cGVTY3JpcHRfIGBlbnVtYCBtZW1iZXIgbmFtZXMuXG4gICAqL1xuICBlbnVtTWVtYmVyQ2FzZT86IElGb3JtYXQ7XG4gIC8qKlxuICAgKiBJZiBgZmFsc2VgLCB0aGVuIG5vbi1BU0NJSSBjaGFyYWN0ZXJzIGFyZSBhbGxvd2VkLlxuICAgKi9cbiAgcmVxdWlyZUFzY2lpPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIElmIGBmYWxzZWAsIHRoZW4gY29uc2VjdXRpdmUgdXBwZXJjYXNlIGFyZSBhbGxvd2VkIGluIF9jYW1lbF8gYW5kIF9wYXNjYWxfIGNhc2VzLiBUaGlzIGRvZXMgbm90IGFmZmVjdCBvdGhlciBbQ2FzZV0uXG4gICAqL1xuICBzdHJpY3RDYXNlPzogYm9vbGVhbjtcbn1cbmV4cG9ydCBpbnRlcmZhY2UgSUNvbnZlbnRpb24ge1xuICAvKipcbiAgICogU3RyaW5nIGNhc2VzIHRvIGVuZm9yY2VcbiAgICovXG4gIGZvcm1hdHM/OiBJRm9ybWF0cztcbiAgLyoqXG4gICAqIFJlZ3VsYXIgZXhwcmVzc2lvbiB0byBlbmZvcmNlXG4gICAqL1xuICBtYXRjaD86IElSZWdleDtcbiAgLyoqXG4gICAqIERlY2xhcmF0aW9ucyBjb25jZXJuZWQgYnkgdGhpcyBjb252ZW50aW9uXG4gICAqL1xuICBzZWxlY3Rvcj86IElTZWxlY3Rvcjtcbn1cbmV4cG9ydCBpbnRlcmZhY2UgSVNlbGVjdG9yIHtcbiAgLyoqXG4gICAqIERlY2xhcmF0aW9uIGtpbmRcbiAgICovXG4gIGtpbmQ/OiBJS2luZDtcbiAgLyoqXG4gICAqIE1vZGlmaWVycyB1c2VkIG9uIHRoZSBkZWNsYXJhdGlvblxuICAgKi9cbiAgbW9kaWZpZXJzPzogSU1vZGlmaWVycztcbiAgLyoqXG4gICAqIFNjb3BlIG9mIHRoZSBkZWNsYXJhdGlvblxuICAgKi9cbiAgc2NvcGU/OiBJU2NvcGU7XG59XG4vKipcbiAqIEEgbGlzdCBvZiBydWxlcyB0aGF0IGJlbG9uZyB0byB0aGlzIGdyb3VwXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSVN1c3BpY2lvdXMge1xuICAvKipcbiAgICogSXQgZW5hYmxlcyBBTEwgcnVsZXMgZm9yIHRoaXMgZ3JvdXAuXG4gICAqL1xuICBhbGw/OiBib29sZWFuO1xuICAvKipcbiAgICogVXNlIHN0YW5kYXJkIGNvbnN0YW50cyBpbnN0ZWFkIG9mIGFwcHJveGltYXRlZCBsaXRlcmFscy5cbiAgICovXG4gIG5vQXBwcm94aW1hdGl2ZU51bWVyaWNDb25zdGFudD86IElSdWxlRml4Q29uZmlndXJhdGlvbjtcbiAgLyoqXG4gICAqIERpc2NvdXJhZ2UgdGhlIHVzYWdlIG9mIEFycmF5IGluZGV4IGluIGtleXMuXG4gICAqL1xuICBub0FycmF5SW5kZXhLZXk/OiBJUnVsZUNvbmZpZ3VyYXRpb247XG4gIC8qKlxuICAgKiBEaXNhbGxvdyBhc3NpZ25tZW50cyBpbiBleHByZXNzaW9ucy5cbiAgICovXG4gIG5vQXNzaWduSW5FeHByZXNzaW9ucz86IElSdWxlQ29uZmlndXJhdGlvbjtcbiAgLyoqXG4gICAqIERpc2FsbG93cyB1c2luZyBhbiBhc3luYyBmdW5jdGlvbiBhcyBhIFByb21pc2UgZXhlY3V0b3IuXG4gICAqL1xuICBub0FzeW5jUHJvbWlzZUV4ZWN1dG9yPzogSVJ1bGVDb25maWd1cmF0aW9uO1xuICAvKipcbiAgICogRGlzYWxsb3cgcmVhc3NpZ25pbmcgZXhjZXB0aW9ucyBpbiBjYXRjaCBjbGF1c2VzLlxuICAgKi9cbiAgbm9DYXRjaEFzc2lnbj86IElSdWxlQ29uZmlndXJhdGlvbjtcbiAgLyoqXG4gICAqIERpc2FsbG93IHJlYXNzaWduaW5nIGNsYXNzIG1lbWJlcnMuXG4gICAqL1xuICBub0NsYXNzQXNzaWduPzogSVJ1bGVDb25maWd1cmF0aW9uO1xuICAvKipcbiAgICogUHJldmVudCBjb21tZW50cyBmcm9tIGJlaW5nIGluc2VydGVkIGFzIHRleHQgbm9kZXNcbiAgICovXG4gIG5vQ29tbWVudFRleHQ/OiBJUnVsZUZpeENvbmZpZ3VyYXRpb247XG4gIC8qKlxuICAgKiBEaXNhbGxvdyBjb21wYXJpbmcgYWdhaW5zdCAtMFxuICAgKi9cbiAgbm9Db21wYXJlTmVnWmVybz86IElSdWxlRml4Q29uZmlndXJhdGlvbjtcbiAgLyoqXG4gICAqIERpc2FsbG93IGxhYmVsZWQgc3RhdGVtZW50cyB0aGF0IGFyZSBub3QgbG9vcHMuXG4gICAqL1xuICBub0NvbmZ1c2luZ0xhYmVscz86IElSdWxlQ29uZmlndXJhdGlvbjtcbiAgLyoqXG4gICAqIERpc2FsbG93IHZvaWQgdHlwZSBvdXRzaWRlIG9mIGdlbmVyaWMgb3IgcmV0dXJuIHR5cGVzLlxuICAgKi9cbiAgbm9Db25mdXNpbmdWb2lkVHlwZT86IElSdWxlRml4Q29uZmlndXJhdGlvbjtcbiAgLyoqXG4gICAqIERpc2FsbG93IHRoZSB1c2Ugb2YgY29uc29sZS5cbiAgICovXG4gIG5vQ29uc29sZT86IElOb0NvbnNvbGVDb25maWd1cmF0aW9uO1xuICAvKipcbiAgICogRGlzYWxsb3cgdGhlIHVzZSBvZiBjb25zb2xlLmxvZ1xuICAgKi9cbiAgbm9Db25zb2xlTG9nPzogSVJ1bGVGaXhDb25maWd1cmF0aW9uO1xuICAvKipcbiAgICogRGlzYWxsb3cgVHlwZVNjcmlwdCBjb25zdCBlbnVtXG4gICAqL1xuICBub0NvbnN0RW51bT86IElSdWxlRml4Q29uZmlndXJhdGlvbjtcbiAgLyoqXG4gICAqIFByZXZlbnRzIGZyb20gaGF2aW5nIGNvbnRyb2wgY2hhcmFjdGVycyBhbmQgc29tZSBlc2NhcGUgc2VxdWVuY2VzIHRoYXQgbWF0Y2ggY29udHJvbCBjaGFyYWN0ZXJzIGluIHJlZ3VsYXIgZXhwcmVzc2lvbnMuXG4gICAqL1xuICBub0NvbnRyb2xDaGFyYWN0ZXJzSW5SZWdleD86IElSdWxlQ29uZmlndXJhdGlvbjtcbiAgLyoqXG4gICAqIERpc2FsbG93IHRoZSB1c2Ugb2YgZGVidWdnZXJcbiAgICovXG4gIG5vRGVidWdnZXI/OiBJUnVsZUZpeENvbmZpZ3VyYXRpb247XG4gIC8qKlxuICAgKiBSZXF1aXJlIHRoZSB1c2Ugb2YgPT09IGFuZCAhPT0uXG4gICAqL1xuICBub0RvdWJsZUVxdWFscz86IElOb0RvdWJsZUVxdWFsc0NvbmZpZ3VyYXRpb247XG4gIC8qKlxuICAgKiBEaXNhbGxvdyBkdXBsaWNhdGUgQGltcG9ydCBydWxlcy5cbiAgICovXG4gIG5vRHVwbGljYXRlQXRJbXBvcnRSdWxlcz86IElSdWxlQ29uZmlndXJhdGlvbjtcbiAgLyoqXG4gICAqIERpc2FsbG93IGR1cGxpY2F0ZSBjYXNlIGxhYmVscy5cbiAgICovXG4gIG5vRHVwbGljYXRlQ2FzZT86IElSdWxlQ29uZmlndXJhdGlvbjtcbiAgLyoqXG4gICAqIERpc2FsbG93IGR1cGxpY2F0ZSBjbGFzcyBtZW1iZXJzLlxuICAgKi9cbiAgbm9EdXBsaWNhdGVDbGFzc01lbWJlcnM/OiBJUnVsZUNvbmZpZ3VyYXRpb247XG4gIC8qKlxuICAgKiBEaXNhbGxvdyBkdXBsaWNhdGUgbmFtZXMgd2l0aGluIGZvbnQgZmFtaWxpZXMuXG4gICAqL1xuICBub0R1cGxpY2F0ZUZvbnROYW1lcz86IElSdWxlQ29uZmlndXJhdGlvbjtcbiAgLyoqXG4gICAqIFByZXZlbnRzIEpTWCBwcm9wZXJ0aWVzIHRvIGJlIGFzc2lnbmVkIG11bHRpcGxlIHRpbWVzLlxuICAgKi9cbiAgbm9EdXBsaWNhdGVKc3hQcm9wcz86IElSdWxlQ29uZmlndXJhdGlvbjtcbiAgLyoqXG4gICAqIERpc2FsbG93IHR3byBrZXlzIHdpdGggdGhlIHNhbWUgbmFtZSBpbnNpZGUgb2JqZWN0cy5cbiAgICovXG4gIG5vRHVwbGljYXRlT2JqZWN0S2V5cz86IElSdWxlQ29uZmlndXJhdGlvbjtcbiAgLyoqXG4gICAqIERpc2FsbG93IGR1cGxpY2F0ZSBmdW5jdGlvbiBwYXJhbWV0ZXIgbmFtZS5cbiAgICovXG4gIG5vRHVwbGljYXRlUGFyYW1ldGVycz86IElSdWxlQ29uZmlndXJhdGlvbjtcbiAgLyoqXG4gICAqIERpc2FsbG93IGR1cGxpY2F0ZSBzZWxlY3RvcnMgd2l0aGluIGtleWZyYW1lIGJsb2Nrcy5cbiAgICovXG4gIG5vRHVwbGljYXRlU2VsZWN0b3JzS2V5ZnJhbWVCbG9jaz86IElSdWxlQ29uZmlndXJhdGlvbjtcbiAgLyoqXG4gICAqIEEgZGVzY3JpYmUgYmxvY2sgc2hvdWxkIG5vdCBjb250YWluIGR1cGxpY2F0ZSBob29rcy5cbiAgICovXG4gIG5vRHVwbGljYXRlVGVzdEhvb2tzPzogSVJ1bGVDb25maWd1cmF0aW9uO1xuICAvKipcbiAgICogRGlzYWxsb3cgQ1NTIGVtcHR5IGJsb2Nrcy5cbiAgICovXG4gIG5vRW1wdHlCbG9jaz86IElSdWxlQ29uZmlndXJhdGlvbjtcbiAgLyoqXG4gICAqIERpc2FsbG93IGVtcHR5IGJsb2NrIHN0YXRlbWVudHMgYW5kIHN0YXRpYyBibG9ja3MuXG4gICAqL1xuICBub0VtcHR5QmxvY2tTdGF0ZW1lbnRzPzogSVJ1bGVDb25maWd1cmF0aW9uO1xuICAvKipcbiAgICogRGlzYWxsb3cgdGhlIGRlY2xhcmF0aW9uIG9mIGVtcHR5IGludGVyZmFjZXMuXG4gICAqL1xuICBub0VtcHR5SW50ZXJmYWNlPzogSVJ1bGVGaXhDb25maWd1cmF0aW9uO1xuICAvKipcbiAgICogRGlzYWxsb3cgdmFyaWFibGVzIGZyb20gZXZvbHZpbmcgaW50byBhbnkgdHlwZSB0aHJvdWdoIHJlYXNzaWdubWVudHMuXG4gICAqL1xuICBub0V2b2x2aW5nVHlwZXM/OiBJUnVsZUNvbmZpZ3VyYXRpb247XG4gIC8qKlxuICAgKiBEaXNhbGxvdyB0aGUgYW55IHR5cGUgdXNhZ2UuXG4gICAqL1xuICBub0V4cGxpY2l0QW55PzogSVJ1bGVDb25maWd1cmF0aW9uO1xuICAvKipcbiAgICogRGlzYWxsb3cgdXNpbmcgZXhwb3J0IG9yIG1vZHVsZS5leHBvcnRzIGluIGZpbGVzIGNvbnRhaW5pbmcgdGVzdHNcbiAgICovXG4gIG5vRXhwb3J0c0luVGVzdD86IElSdWxlQ29uZmlndXJhdGlvbjtcbiAgLyoqXG4gICAqIFByZXZlbnRzIHRoZSB3cm9uZyB1c2FnZSBvZiB0aGUgbm9uLW51bGwgYXNzZXJ0aW9uIG9wZXJhdG9yICghKSBpbiBUeXBlU2NyaXB0IGZpbGVzLlxuICAgKi9cbiAgbm9FeHRyYU5vbk51bGxBc3NlcnRpb24/OiBJUnVsZUZpeENvbmZpZ3VyYXRpb247XG4gIC8qKlxuICAgKiBEaXNhbGxvdyBmYWxsdGhyb3VnaCBvZiBzd2l0Y2ggY2xhdXNlcy5cbiAgICovXG4gIG5vRmFsbHRocm91Z2hTd2l0Y2hDbGF1c2U/OiBJUnVsZUNvbmZpZ3VyYXRpb247XG4gIC8qKlxuICAgKiBEaXNhbGxvdyBmb2N1c2VkIHRlc3RzLlxuICAgKi9cbiAgbm9Gb2N1c2VkVGVzdHM/OiBJUnVsZUZpeENvbmZpZ3VyYXRpb247XG4gIC8qKlxuICAgKiBEaXNhbGxvdyByZWFzc2lnbmluZyBmdW5jdGlvbiBkZWNsYXJhdGlvbnMuXG4gICAqL1xuICBub0Z1bmN0aW9uQXNzaWduPzogSVJ1bGVDb25maWd1cmF0aW9uO1xuICAvKipcbiAgICogRGlzYWxsb3cgYXNzaWdubWVudHMgdG8gbmF0aXZlIG9iamVjdHMgYW5kIHJlYWQtb25seSBnbG9iYWwgdmFyaWFibGVzLlxuICAgKi9cbiAgbm9HbG9iYWxBc3NpZ24/OiBJUnVsZUNvbmZpZ3VyYXRpb247XG4gIC8qKlxuICAgKiBVc2UgTnVtYmVyLmlzRmluaXRlIGluc3RlYWQgb2YgZ2xvYmFsIGlzRmluaXRlLlxuICAgKi9cbiAgbm9HbG9iYWxJc0Zpbml0ZT86IElSdWxlRml4Q29uZmlndXJhdGlvbjtcbiAgLyoqXG4gICAqIFVzZSBOdW1iZXIuaXNOYU4gaW5zdGVhZCBvZiBnbG9iYWwgaXNOYU4uXG4gICAqL1xuICBub0dsb2JhbElzTmFuPzogSVJ1bGVGaXhDb25maWd1cmF0aW9uO1xuICAvKipcbiAgICogRGlzYWxsb3cgdXNlIG9mIGltcGxpY2l0IGFueSB0eXBlIG9uIHZhcmlhYmxlIGRlY2xhcmF0aW9ucy5cbiAgICovXG4gIG5vSW1wbGljaXRBbnlMZXQ/OiBJUnVsZUNvbmZpZ3VyYXRpb247XG4gIC8qKlxuICAgKiBEaXNhbGxvdyBhc3NpZ25pbmcgdG8gaW1wb3J0ZWQgYmluZGluZ3NcbiAgICovXG4gIG5vSW1wb3J0QXNzaWduPzogSVJ1bGVDb25maWd1cmF0aW9uO1xuICAvKipcbiAgICogRGlzYWxsb3cgaW52YWxpZCAhaW1wb3J0YW50IHdpdGhpbiBrZXlmcmFtZSBkZWNsYXJhdGlvbnNcbiAgICovXG4gIG5vSW1wb3J0YW50SW5LZXlmcmFtZT86IElSdWxlQ29uZmlndXJhdGlvbjtcbiAgLyoqXG4gICAqIERpc2FsbG93IGxhYmVscyB0aGF0IHNoYXJlIGEgbmFtZSB3aXRoIGEgdmFyaWFibGVcbiAgICovXG4gIG5vTGFiZWxWYXI/OiBJUnVsZUNvbmZpZ3VyYXRpb247XG4gIC8qKlxuICAgKiBEaXNhbGxvdyBjaGFyYWN0ZXJzIG1hZGUgd2l0aCBtdWx0aXBsZSBjb2RlIHBvaW50cyBpbiBjaGFyYWN0ZXIgY2xhc3Mgc3ludGF4LlxuICAgKi9cbiAgbm9NaXNsZWFkaW5nQ2hhcmFjdGVyQ2xhc3M/OiBJUnVsZUZpeENvbmZpZ3VyYXRpb247XG4gIC8qKlxuICAgKiBFbmZvcmNlIHByb3BlciB1c2FnZSBvZiBuZXcgYW5kIGNvbnN0cnVjdG9yLlxuICAgKi9cbiAgbm9NaXNsZWFkaW5nSW5zdGFudGlhdG9yPzogSVJ1bGVDb25maWd1cmF0aW9uO1xuICAvKipcbiAgICogQ2hlY2tzIHRoYXQgdGhlIGFzc2VydGlvbiBmdW5jdGlvbiwgZm9yIGV4YW1wbGUgZXhwZWN0LCBpcyBwbGFjZWQgaW5zaWRlIGFuIGl0KCkgZnVuY3Rpb24gY2FsbC5cbiAgICovXG4gIG5vTWlzcGxhY2VkQXNzZXJ0aW9uPzogSVJ1bGVDb25maWd1cmF0aW9uO1xuICAvKipcbiAgICogRGlzYWxsb3cgc2hvcnRoYW5kIGFzc2lnbiB3aGVuIHZhcmlhYmxlIGFwcGVhcnMgb24gYm90aCBzaWRlcy5cbiAgICovXG4gIG5vTWlzcmVmYWN0b3JlZFNob3J0aGFuZEFzc2lnbj86IElSdWxlRml4Q29uZmlndXJhdGlvbjtcbiAgLyoqXG4gICAqIERpc2FsbG93IGRpcmVjdCB1c2Ugb2YgT2JqZWN0LnByb3RvdHlwZSBidWlsdGlucy5cbiAgICovXG4gIG5vUHJvdG90eXBlQnVpbHRpbnM/OiBJUnVsZUNvbmZpZ3VyYXRpb247XG4gIC8qKlxuICAgKiBQcmV2ZW50cyBSZWFjdC1zcGVjaWZpYyBKU1ggcHJvcGVydGllcyBmcm9tIGJlaW5nIHVzZWQuXG4gICAqL1xuICBub1JlYWN0U3BlY2lmaWNQcm9wcz86IElSdWxlRml4Q29uZmlndXJhdGlvbjtcbiAgLyoqXG4gICAqIERpc2FsbG93IHZhcmlhYmxlLCBmdW5jdGlvbiwgY2xhc3MsIGFuZCB0eXBlIHJlZGVjbGFyYXRpb25zIGluIHRoZSBzYW1lIHNjb3BlLlxuICAgKi9cbiAgbm9SZWRlY2xhcmU/OiBJUnVsZUNvbmZpZ3VyYXRpb247XG4gIC8qKlxuICAgKiBQcmV2ZW50cyBmcm9tIGhhdmluZyByZWR1bmRhbnQgXCJ1c2Ugc3RyaWN0XCIuXG4gICAqL1xuICBub1JlZHVuZGFudFVzZVN0cmljdD86IElSdWxlRml4Q29uZmlndXJhdGlvbjtcbiAgLyoqXG4gICAqIERpc2FsbG93IGNvbXBhcmlzb25zIHdoZXJlIGJvdGggc2lkZXMgYXJlIGV4YWN0bHkgdGhlIHNhbWUuXG4gICAqL1xuICBub1NlbGZDb21wYXJlPzogSVJ1bGVDb25maWd1cmF0aW9uO1xuICAvKipcbiAgICogRGlzYWxsb3cgaWRlbnRpZmllcnMgZnJvbSBzaGFkb3dpbmcgcmVzdHJpY3RlZCBuYW1lcy5cbiAgICovXG4gIG5vU2hhZG93UmVzdHJpY3RlZE5hbWVzPzogSVJ1bGVDb25maWd1cmF0aW9uO1xuICAvKipcbiAgICogRGlzYWxsb3cgc2hvcnRoYW5kIHByb3BlcnRpZXMgdGhhdCBvdmVycmlkZSByZWxhdGVkIGxvbmdoYW5kIHByb3BlcnRpZXMuXG4gICAqL1xuICBub1Nob3J0aGFuZFByb3BlcnR5T3ZlcnJpZGVzPzogSVJ1bGVDb25maWd1cmF0aW9uO1xuICAvKipcbiAgICogRGlzYWxsb3cgZGlzYWJsZWQgdGVzdHMuXG4gICAqL1xuICBub1NraXBwZWRUZXN0cz86IElSdWxlRml4Q29uZmlndXJhdGlvbjtcbiAgLyoqXG4gICAqIERpc2FsbG93IHNwYXJzZSBhcnJheXNcbiAgICovXG4gIG5vU3BhcnNlQXJyYXk/OiBJUnVsZUZpeENvbmZpZ3VyYXRpb247XG4gIC8qKlxuICAgKiBJdCBkZXRlY3RzIHBvc3NpYmxlIFwid3JvbmdcIiBzZW1pY29sb25zIGluc2lkZSBKU1ggZWxlbWVudHMuXG4gICAqL1xuICBub1N1c3BpY2lvdXNTZW1pY29sb25JbkpzeD86IElSdWxlQ29uZmlndXJhdGlvbjtcbiAgLyoqXG4gICAqIERpc2FsbG93IHRoZW4gcHJvcGVydHkuXG4gICAqL1xuICBub1RoZW5Qcm9wZXJ0eT86IElSdWxlQ29uZmlndXJhdGlvbjtcbiAgLyoqXG4gICAqIERpc2FsbG93IHVuc2FmZSBkZWNsYXJhdGlvbiBtZXJnaW5nIGJldHdlZW4gaW50ZXJmYWNlcyBhbmQgY2xhc3Nlcy5cbiAgICovXG4gIG5vVW5zYWZlRGVjbGFyYXRpb25NZXJnaW5nPzogSVJ1bGVDb25maWd1cmF0aW9uO1xuICAvKipcbiAgICogRGlzYWxsb3cgdXNpbmcgdW5zYWZlIG5lZ2F0aW9uLlxuICAgKi9cbiAgbm9VbnNhZmVOZWdhdGlvbj86IElSdWxlRml4Q29uZmlndXJhdGlvbjtcbiAgLyoqXG4gICAqIEl0IGVuYWJsZXMgdGhlIHJlY29tbWVuZGVkIHJ1bGVzIGZvciB0aGlzIGdyb3VwXG4gICAqL1xuICByZWNvbW1lbmRlZD86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBFbnN1cmUgYXN5bmMgZnVuY3Rpb25zIHV0aWxpemUgYXdhaXQuXG4gICAqL1xuICB1c2VBd2FpdD86IElSdWxlQ29uZmlndXJhdGlvbjtcbiAgLyoqXG4gICAqIEVuZm9yY2UgZGVmYXVsdCBjbGF1c2VzIGluIHN3aXRjaCBzdGF0ZW1lbnRzIHRvIGJlIGxhc3RcbiAgICovXG4gIHVzZURlZmF1bHRTd2l0Y2hDbGF1c2VMYXN0PzogSVJ1bGVDb25maWd1cmF0aW9uO1xuICAvKipcbiAgICogRW5mb3JjZSBwYXNzaW5nIGEgbWVzc2FnZSB2YWx1ZSB3aGVuIGNyZWF0aW5nIGEgYnVpbHQtaW4gZXJyb3IuXG4gICAqL1xuICB1c2VFcnJvck1lc3NhZ2U/OiBJUnVsZUNvbmZpZ3VyYXRpb247XG4gIC8qKlxuICAgKiBFbmZvcmNlIGdldCBtZXRob2RzIHRvIGFsd2F5cyByZXR1cm4gYSB2YWx1ZS5cbiAgICovXG4gIHVzZUdldHRlclJldHVybj86IElSdWxlQ29uZmlndXJhdGlvbjtcbiAgLyoqXG4gICAqIFVzZSBBcnJheS5pc0FycmF5KCkgaW5zdGVhZCBvZiBpbnN0YW5jZW9mIEFycmF5LlxuICAgKi9cbiAgdXNlSXNBcnJheT86IElSdWxlRml4Q29uZmlndXJhdGlvbjtcbiAgLyoqXG4gICAqIFJlcXVpcmUgdXNpbmcgdGhlIG5hbWVzcGFjZSBrZXl3b3JkIG92ZXIgdGhlIG1vZHVsZSBrZXl3b3JkIHRvIGRlY2xhcmUgVHlwZVNjcmlwdCBuYW1lc3BhY2VzLlxuICAgKi9cbiAgdXNlTmFtZXNwYWNlS2V5d29yZD86IElSdWxlRml4Q29uZmlndXJhdGlvbjtcbiAgLyoqXG4gICAqIEVuZm9yY2UgdXNpbmcgdGhlIGRpZ2l0cyBhcmd1bWVudCB3aXRoIE51bWJlciN0b0ZpeGVkKCkuXG4gICAqL1xuICB1c2VOdW1iZXJUb0ZpeGVkRGlnaXRzQXJndW1lbnQ/OiBJUnVsZUZpeENvbmZpZ3VyYXRpb247XG4gIC8qKlxuICAgKiBUaGlzIHJ1bGUgdmVyaWZpZXMgdGhlIHJlc3VsdCBvZiB0eXBlb2YgJGV4cHIgdW5hcnkgZXhwcmVzc2lvbnMgaXMgYmVpbmcgY29tcGFyZWQgdG8gdmFsaWQgdmFsdWVzLCBlaXRoZXIgc3RyaW5nIGxpdGVyYWxzIGNvbnRhaW5pbmcgdmFsaWQgdHlwZSBuYW1lcyBvciBvdGhlciB0eXBlb2YgZXhwcmVzc2lvbnNcbiAgICovXG4gIHVzZVZhbGlkVHlwZW9mPzogSVJ1bGVGaXhDb25maWd1cmF0aW9uO1xufVxuZXhwb3J0IGludGVyZmFjZSBJUnVsZVdpdGhOb0NvbnNvbGVPcHRpb25zIHtcbiAgLyoqXG4gICAqIFRoZSBraW5kIG9mIHRoZSBjb2RlIGFjdGlvbnMgZW1pdHRlZCBieSB0aGUgcnVsZVxuICAgKi9cbiAgZml4PzogSUZpeEtpbmQ7XG4gIC8qKlxuICAgKiBUaGUgc2V2ZXJpdHkgb2YgdGhlIGVtaXR0ZWQgZGlhZ25vc3RpY3MgYnkgdGhlIHJ1bGVcbiAgICovXG4gIGxldmVsOiBJUnVsZVBsYWluQ29uZmlndXJhdGlvbjtcbiAgLyoqXG4gICAqIFJ1bGUncyBvcHRpb25zXG4gICAqL1xuICBvcHRpb25zPzogSU5vQ29uc29sZU9wdGlvbnM7XG59XG5leHBvcnQgaW50ZXJmYWNlIElOb0NvbnNvbGVPcHRpb25zIHtcbiAgLyoqXG4gICAqIEFsbG93ZWQgY2FsbHMgb24gdGhlIGNvbnNvbGUgb2JqZWN0LlxuICAgKi9cbiAgYWxsb3c6IHN0cmluZ1tdO1xufVxuZXhwb3J0IGludGVyZmFjZSBJUnVsZVdpdGhOb0RvdWJsZUVxdWFsc09wdGlvbnMge1xuICAvKipcbiAgICogVGhlIGtpbmQgb2YgdGhlIGNvZGUgYWN0aW9ucyBlbWl0dGVkIGJ5IHRoZSBydWxlXG4gICAqL1xuICBmaXg/OiBJRml4S2luZDtcbiAgLyoqXG4gICAqIFRoZSBzZXZlcml0eSBvZiB0aGUgZW1pdHRlZCBkaWFnbm9zdGljcyBieSB0aGUgcnVsZVxuICAgKi9cbiAgbGV2ZWw6IElSdWxlUGxhaW5Db25maWd1cmF0aW9uO1xuICAvKipcbiAgICogUnVsZSdzIG9wdGlvbnNcbiAgICovXG4gIG9wdGlvbnM/OiBJTm9Eb3VibGVFcXVhbHNPcHRpb25zO1xufVxuLyoqXG4gKiBSdWxlJ3Mgb3B0aW9uc1xuICovXG5leHBvcnQgaW50ZXJmYWNlIElOb0RvdWJsZUVxdWFsc09wdGlvbnMge1xuICAvKipcbiAgICogSWYgYHRydWVgLCBhbiBleGNlcHRpb24gaXMgbWFkZSB3aGVuIGNvbXBhcmluZyB3aXRoIGBudWxsYCwgYXMgaXQncyBvZnRlbiByZWxpZWQgb24gdG8gY2hlY2sgYm90aCBmb3IgYG51bGxgIG9yIGB1bmRlZmluZWRgLlxuICAgKlxuICAgKiBJZiBgZmFsc2VgLCBubyBzdWNoIGV4Y2VwdGlvbiB3aWxsIGJlIG1hZGUuXG4gICAqL1xuICBpZ25vcmVOdWxsPzogYm9vbGVhbjtcbn1cbmV4cG9ydCBpbnRlcmZhY2UgSU9yZ2FuaXplSW1wb3J0cyB7XG4gIC8qKlxuICAgKiBFbmFibGVzIHRoZSBvcmdhbml6YXRpb24gb2YgaW1wb3J0c1xuICAgKi9cbiAgZW5hYmxlZD86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBBIGxpc3Qgb2YgVW5peCBzaGVsbCBzdHlsZSBwYXR0ZXJucy4gVGhlIGZvcm1hdHRlciB3aWxsIGlnbm9yZSBmaWxlcy9mb2xkZXJzIHRoYXQgd2lsbCBtYXRjaCB0aGVzZSBwYXR0ZXJucy5cbiAgICovXG4gIGlnbm9yZT86IElTdHJpbmdTZXQ7XG4gIC8qKlxuICAgKiBBIGxpc3Qgb2YgVW5peCBzaGVsbCBzdHlsZSBwYXR0ZXJucy4gVGhlIGZvcm1hdHRlciB3aWxsIGluY2x1ZGUgZmlsZXMvZm9sZGVycyB0aGF0IHdpbGwgbWF0Y2ggdGhlc2UgcGF0dGVybnMuXG4gICAqL1xuICBpbmNsdWRlPzogSVN0cmluZ1NldDtcbn1cbmV4cG9ydCBpbnRlcmZhY2UgSU92ZXJyaWRlUGF0dGVybiB7XG4gIC8qKlxuICAgKiBTcGVjaWZpYyBjb25maWd1cmF0aW9uIGZvciB0aGUgQ3NzIGxhbmd1YWdlXG4gICAqL1xuICBjc3M/OiBJQ3NzQ29uZmlndXJhdGlvbjtcbiAgLyoqXG4gICAqIFNwZWNpZmljIGNvbmZpZ3VyYXRpb24gZm9yIHRoZSBKc29uIGxhbmd1YWdlXG4gICAqL1xuICBmb3JtYXR0ZXI/OiBJT3ZlcnJpZGVGb3JtYXR0ZXJDb25maWd1cmF0aW9uO1xuICAvKipcbiAgICogU3BlY2lmaWMgY29uZmlndXJhdGlvbiBmb3IgdGhlIEdyYXBocWwgbGFuZ3VhZ2VcbiAgICovXG4gIGdyYXBocWw/OiBJR3JhcGhxbENvbmZpZ3VyYXRpb247XG4gIC8qKlxuICAgKiBBIGxpc3Qgb2YgVW5peCBzaGVsbCBzdHlsZSBwYXR0ZXJucy4gVGhlIGZvcm1hdHRlciB3aWxsIGlnbm9yZSBmaWxlcy9mb2xkZXJzIHRoYXQgd2lsbCBtYXRjaCB0aGVzZSBwYXR0ZXJucy5cbiAgICovXG4gIGlnbm9yZT86IElTdHJpbmdTZXQ7XG4gIC8qKlxuICAgKiBBIGxpc3Qgb2YgVW5peCBzaGVsbCBzdHlsZSBwYXR0ZXJucy4gVGhlIGZvcm1hdHRlciB3aWxsIGluY2x1ZGUgZmlsZXMvZm9sZGVycyB0aGF0IHdpbGwgbWF0Y2ggdGhlc2UgcGF0dGVybnMuXG4gICAqL1xuICBpbmNsdWRlPzogSVN0cmluZ1NldDtcbiAgLyoqXG4gICAqIFNwZWNpZmljIGNvbmZpZ3VyYXRpb24gZm9yIHRoZSBKYXZhU2NyaXB0IGxhbmd1YWdlXG4gICAqL1xuICBqYXZhc2NyaXB0PzogSUphdmFzY3JpcHRDb25maWd1cmF0aW9uO1xuICAvKipcbiAgICogU3BlY2lmaWMgY29uZmlndXJhdGlvbiBmb3IgdGhlIEpzb24gbGFuZ3VhZ2VcbiAgICovXG4gIGpzb24/OiBJSnNvbkNvbmZpZ3VyYXRpb247XG4gIC8qKlxuICAgKiBTcGVjaWZpYyBjb25maWd1cmF0aW9uIGZvciB0aGUgSnNvbiBsYW5ndWFnZVxuICAgKi9cbiAgbGludGVyPzogSU92ZXJyaWRlTGludGVyQ29uZmlndXJhdGlvbjtcbiAgLyoqXG4gICAqIFNwZWNpZmljIGNvbmZpZ3VyYXRpb24gZm9yIHRoZSBKc29uIGxhbmd1YWdlXG4gICAqL1xuICBvcmdhbml6ZUltcG9ydHM/OiBJT3ZlcnJpZGVPcmdhbml6ZUltcG9ydHNDb25maWd1cmF0aW9uO1xufVxuZXhwb3J0IGludGVyZmFjZSBJT3ZlcnJpZGVGb3JtYXR0ZXJDb25maWd1cmF0aW9uIHtcbiAgLyoqXG4gICAqIFRoZSBhdHRyaWJ1dGUgcG9zaXRpb24gc3R5bGUuXG4gICAqL1xuICBhdHRyaWJ1dGVQb3NpdGlvbj86IElBdHRyaWJ1dGVQb3NpdGlvbjtcbiAgLyoqXG4gICAqIFdoZXRoZXIgdG8gaW5zZXJ0IHNwYWNlcyBhcm91bmQgYnJhY2tldHMgaW4gb2JqZWN0IGxpdGVyYWxzLiBEZWZhdWx0cyB0byB0cnVlLlxuICAgKi9cbiAgYnJhY2tldFNwYWNpbmc/OiBJQnJhY2tldFNwYWNpbmc7XG4gIGVuYWJsZWQ/OiBib29sZWFuO1xuICAvKipcbiAgICogU3RvcmVzIHdoZXRoZXIgZm9ybWF0dGluZyBzaG91bGQgYmUgYWxsb3dlZCB0byBwcm9jZWVkIGlmIGEgZ2l2ZW4gZmlsZSBoYXMgc3ludGF4IGVycm9yc1xuICAgKi9cbiAgZm9ybWF0V2l0aEVycm9ycz86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBUaGUgc2l6ZSBvZiB0aGUgaW5kZW50YXRpb24sIDIgYnkgZGVmYXVsdCAoZGVwcmVjYXRlZCwgdXNlIGBpbmRlbnQtd2lkdGhgKVxuICAgKi9cbiAgaW5kZW50U2l6ZT86IElJbmRlbnRXaWR0aDtcbiAgLyoqXG4gICAqIFRoZSBpbmRlbnQgc3R5bGUuXG4gICAqL1xuICBpbmRlbnRTdHlsZT86IElJbmRlbnRTdHlsZTtcbiAgLyoqXG4gICAqIFRoZSBzaXplIG9mIHRoZSBpbmRlbnRhdGlvbiwgMiBieSBkZWZhdWx0XG4gICAqL1xuICBpbmRlbnRXaWR0aD86IElJbmRlbnRXaWR0aDtcbiAgLyoqXG4gICAqIFRoZSB0eXBlIG9mIGxpbmUgZW5kaW5nLlxuICAgKi9cbiAgbGluZUVuZGluZz86IElMaW5lRW5kaW5nO1xuICAvKipcbiAgICogV2hhdCdzIHRoZSBtYXggd2lkdGggb2YgYSBsaW5lLiBEZWZhdWx0cyB0byA4MC5cbiAgICovXG4gIGxpbmVXaWR0aD86IElMaW5lV2lkdGg7XG59XG5leHBvcnQgaW50ZXJmYWNlIElPdmVycmlkZUxpbnRlckNvbmZpZ3VyYXRpb24ge1xuICAvKipcbiAgICogaWYgYGZhbHNlYCwgaXQgZGlzYWJsZXMgdGhlIGZlYXR1cmUgYW5kIHRoZSBsaW50ZXIgd29uJ3QgYmUgZXhlY3V0ZWQuIGB0cnVlYCBieSBkZWZhdWx0XG4gICAqL1xuICBlbmFibGVkPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIExpc3Qgb2YgcnVsZXNcbiAgICovXG4gIHJ1bGVzPzogSVJ1bGVzO1xufVxuZXhwb3J0IGludGVyZmFjZSBJT3ZlcnJpZGVPcmdhbml6ZUltcG9ydHNDb25maWd1cmF0aW9uIHtcbiAgLyoqXG4gICAqIGlmIGBmYWxzZWAsIGl0IGRpc2FibGVzIHRoZSBmZWF0dXJlIGFuZCB0aGUgbGludGVyIHdvbid0IGJlIGV4ZWN1dGVkLiBgdHJ1ZWAgYnkgZGVmYXVsdFxuICAgKi9cbiAgZW5hYmxlZD86IGJvb2xlYW47XG59XG4vKipcbiAqIFNldCBvZiBwcm9wZXJ0aWVzIHRvIGludGVncmF0ZSBCaW9tZSB3aXRoIGEgVkNTIHNvZnR3YXJlLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIElWY3NDb25maWd1cmF0aW9uIHtcbiAgLyoqXG4gICAqIFRoZSBraW5kIG9mIGNsaWVudC5cbiAgICovXG4gIGNsaWVudEtpbmQ/OiBJVmNzQ2xpZW50S2luZDtcbiAgLyoqXG4gICAqIFRoZSBtYWluIGJyYW5jaCBvZiB0aGUgcHJvamVjdFxuICAgKi9cbiAgZGVmYXVsdEJyYW5jaD86IHN0cmluZztcbiAgLyoqXG4gICAqIFdoZXRoZXIgQmlvbWUgc2hvdWxkIGludGVncmF0ZSBpdHNlbGYgd2l0aCB0aGUgVkNTIGNsaWVudFxuICAgKi9cbiAgZW5hYmxlZD86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBUaGUgZm9sZGVyIHdoZXJlIEJpb21lIHNob3VsZCBjaGVjayBmb3IgVkNTIGZpbGVzLiBCeSBkZWZhdWx0LCBCaW9tZSB3aWxsIHVzZSB0aGUgc2FtZSBmb2xkZXIgd2hlcmUgYGJpb21lLmpzb25gIHdhcyBmb3VuZC5cbiAgICpcbiAgICogSWYgQmlvbWUgY2FuJ3QgZmluZCB0aGUgY29uZmlndXJhdGlvbiwgaXQgd2lsbCBhdHRlbXB0IHRvIHVzZSB0aGUgY3VycmVudCB3b3JraW5nIGRpcmVjdG9yeS4gSWYgbm8gY3VycmVudCB3b3JraW5nIGRpcmVjdG9yeSBjYW4ndCBiZSBmb3VuZCwgQmlvbWUgd29uJ3QgdXNlIHRoZSBWQ1MgaW50ZWdyYXRpb24sIGFuZCBhIGRpYWdub3N0aWMgd2lsbCBiZSBlbWl0dGVkXG4gICAqL1xuICByb290Pzogc3RyaW5nO1xuICAvKipcbiAgICogV2hldGhlciBCaW9tZSBzaG91bGQgdXNlIHRoZSBWQ1MgaWdub3JlIGZpbGUuIFdoZW4gW3RydWVdLCBCaW9tZSB3aWxsIGlnbm9yZSB0aGUgZmlsZXMgc3BlY2lmaWVkIGluIHRoZSBpZ25vcmUgZmlsZS5cbiAgICovXG4gIHVzZUlnbm9yZUZpbGU/OiBib29sZWFuO1xufVxuIl19
@@ -0,0 +1,67 @@
1
+ import type { IConfiguration } from "./biome-config";
2
+ import { Component } from "../../component";
3
+ import type { NodeProject } from "../../javascript/node-project";
4
+ import { JsonFile } from "../../json";
5
+ import type { Project } from "../../project";
6
+ import type { Task } from "../../task";
7
+ export interface BiomeOptions {
8
+ /**
9
+ * Version of Biome to use
10
+ *
11
+ * @default "^1"
12
+ */
13
+ readonly version?: string;
14
+ /**
15
+ * Enable linting. Replaces Eslint.
16
+ *
17
+ * @default true
18
+ */
19
+ readonly linter?: boolean;
20
+ /**
21
+ * Enable code formatter. Replaces mainly Prettier
22
+ *
23
+ * @default false
24
+ */
25
+ readonly formatter?: boolean;
26
+ /**
27
+ * Enable import sorting/organizing. Replaces mainly Prettier
28
+ *
29
+ * @default false
30
+ */
31
+ readonly organizeImports?: boolean;
32
+ /**
33
+ * Should arrays be merged or overwritten when creating Biome configuration
34
+ *
35
+ * By default arrays are merged and duplicate values are removed
36
+ *
37
+ * @default true
38
+ */
39
+ readonly mergeArraysInConfiguration?: boolean;
40
+ /**
41
+ * Full Biome configuration. Note that this configuration dictates the final outcome if value is set.
42
+ *
43
+ * @example if linter is disabled on main level, it can be enabled on fullConfiguration.formatter.enabled.
44
+ */
45
+ readonly biomeConfig?: IConfiguration;
46
+ }
47
+ export declare class Biome extends Component {
48
+ static of(project: Project): Biome | undefined;
49
+ private readonly biomeConfiguration;
50
+ private readonly _lintPatterns;
51
+ private readonly biomeCommand;
52
+ /**
53
+ * Biome task.
54
+ */
55
+ readonly task: Task;
56
+ /**
57
+ * Biome configuration file content
58
+ */
59
+ readonly file: JsonFile;
60
+ constructor(project: NodeProject, options?: BiomeOptions);
61
+ /**
62
+ * Update the task with the current list of lint patterns and file extensions
63
+ */
64
+ private updateTask;
65
+ addLintPattern(pattern: string): void;
66
+ private createLocalBiomeTask;
67
+ }
@@ -0,0 +1,128 @@
1
+ "use strict";
2
+ var _a;
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.Biome = void 0;
5
+ const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
6
+ const fast_json_patch_1 = require("fast-json-patch");
7
+ const component_1 = require("../../component");
8
+ const json_1 = require("../../json");
9
+ const util_1 = require("../../util");
10
+ /**
11
+ * Enabling VCS configuration by default.
12
+ *
13
+ * Note that this differs from `biome init`, as projen can be presumed to use version control
14
+ */
15
+ const DEFAULT_CONFIG = {
16
+ vcs: {
17
+ clientKind: "git",
18
+ enabled: true,
19
+ useIgnoreFile: true,
20
+ },
21
+ files: {
22
+ ignoreUnknown: false,
23
+ },
24
+ };
25
+ /**
26
+ * Default linting configuration if linter is enabled.
27
+ *
28
+ * Ignores by default following patterns: '*.js', '*.d.ts', 'node_modules/', '*.generated.ts', 'coverage'.
29
+ */
30
+ const DEFAULT_LINTER = {
31
+ linter: {
32
+ enabled: true,
33
+ rules: {
34
+ recommended: true,
35
+ },
36
+ // Default ignore's from Projen
37
+ ignore: [
38
+ "**/*.js",
39
+ "**/*.d.ts",
40
+ "**/node_modules/",
41
+ "**/*.generated.ts",
42
+ "**/coverage",
43
+ ],
44
+ },
45
+ };
46
+ /**
47
+ * Default formatting configuration if formatter is enabled.
48
+ */
49
+ const DEFAULT_FORMATTER = {
50
+ formatter: {
51
+ enabled: true,
52
+ indentStyle: "tab",
53
+ },
54
+ javascript: {
55
+ formatter: {
56
+ quoteStyle: "double",
57
+ },
58
+ },
59
+ };
60
+ /**
61
+ * Default formatting configuration if organize imports is enabled.
62
+ */
63
+ const DEFAULT_ORGANIZE_IMPORTS = {
64
+ organizeImports: {
65
+ enabled: true,
66
+ },
67
+ };
68
+ class Biome extends component_1.Component {
69
+ static of(project) {
70
+ const isBiome = (c) => c instanceof Biome;
71
+ return project.components.find(isBiome);
72
+ }
73
+ constructor(project, options = {}) {
74
+ super(project);
75
+ this.biomeCommand = "biome check --write";
76
+ project.addDevDeps(`@biomejs/biome@${options.version ?? "^1"}`);
77
+ const defaultConfig = {
78
+ ...DEFAULT_CONFIG,
79
+ ...(options.linter ?? true ? DEFAULT_LINTER : {}),
80
+ ...(options.formatter ?? false ? DEFAULT_FORMATTER : {}),
81
+ ...(options.organizeImports ?? false ? DEFAULT_ORGANIZE_IMPORTS : {}),
82
+ };
83
+ this.biomeConfiguration = (0, util_1.deepMerge)([(0, fast_json_patch_1.deepClone)(defaultConfig), (0, fast_json_patch_1.deepClone)(options.biomeConfig ?? {})], { mergeArrays: options.mergeArraysInConfiguration ?? true });
84
+ this.file = new json_1.JsonFile(this, "biome.jsonc", {
85
+ obj: this.biomeConfiguration,
86
+ allowComments: true,
87
+ marker: true,
88
+ });
89
+ this._lintPatterns = new Set([]);
90
+ this.task = this.createLocalBiomeTask();
91
+ project.testTask.spawn(this.task);
92
+ }
93
+ /**
94
+ * Update the task with the current list of lint patterns and file extensions
95
+ */
96
+ updateTask() {
97
+ const args = new Set();
98
+ for (const arg of this._lintPatterns) {
99
+ args.add(arg);
100
+ }
101
+ this.task.reset([
102
+ this.biomeCommand,
103
+ // Allow also external arguments
104
+ "$@",
105
+ ...args,
106
+ ].join(" "), {
107
+ args: this.task.steps[0].args,
108
+ });
109
+ }
110
+ addLintPattern(pattern) {
111
+ this._lintPatterns.add(pattern);
112
+ this.updateTask();
113
+ }
114
+ createLocalBiomeTask() {
115
+ return this.project.addTask("biome", {
116
+ description: "Runs Biome against the codebase",
117
+ steps: [
118
+ {
119
+ exec: this.biomeCommand,
120
+ },
121
+ ],
122
+ });
123
+ }
124
+ }
125
+ exports.Biome = Biome;
126
+ _a = JSII_RTTI_SYMBOL_1;
127
+ Biome[_a] = { fqn: "projen.javascript.Biome", version: "0.92.11" };
128
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmlvbWUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvamF2YXNjcmlwdC9iaW9tZS9iaW9tZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLHFEQUE0QztBQUU1QywrQ0FBNEM7QUFFNUMscUNBQXNDO0FBR3RDLHFDQUF1QztBQUV2Qzs7OztHQUlHO0FBQ0gsTUFBTSxjQUFjLEdBQTBDO0lBQzVELEdBQUcsRUFBRTtRQUNILFVBQVUsRUFBRSxLQUFLO1FBQ2pCLE9BQU8sRUFBRSxJQUFJO1FBQ2IsYUFBYSxFQUFFLElBQUk7S0FDcEI7SUFDRCxLQUFLLEVBQUU7UUFDTCxhQUFhLEVBQUUsS0FBSztLQUNyQjtDQUNGLENBQUM7QUFFRjs7OztHQUlHO0FBQ0gsTUFBTSxjQUFjLEdBQW1DO0lBQ3JELE1BQU0sRUFBRTtRQUNOLE9BQU8sRUFBRSxJQUFJO1FBQ2IsS0FBSyxFQUFFO1lBQ0wsV0FBVyxFQUFFLElBQUk7U0FDbEI7UUFDRCwrQkFBK0I7UUFDL0IsTUFBTSxFQUFFO1lBQ04sU0FBUztZQUNULFdBQVc7WUFDWCxrQkFBa0I7WUFDbEIsbUJBQW1CO1lBQ25CLGFBQWE7U0FDZDtLQUNGO0NBQ0YsQ0FBQztBQUVGOztHQUVHO0FBQ0gsTUFBTSxpQkFBaUIsR0FBcUQ7SUFDMUUsU0FBUyxFQUFFO1FBQ1QsT0FBTyxFQUFFLElBQUk7UUFDYixXQUFXLEVBQUUsS0FBSztLQUNuQjtJQUNELFVBQVUsRUFBRTtRQUNWLFNBQVMsRUFBRTtZQUNULFVBQVUsRUFBRSxRQUFRO1NBQ3JCO0tBQ0Y7Q0FDRixDQUFDO0FBRUY7O0dBRUc7QUFDSCxNQUFNLHdCQUF3QixHQUE0QztJQUN4RSxlQUFlLEVBQUU7UUFDZixPQUFPLEVBQUUsSUFBSTtLQUNkO0NBQ0YsQ0FBQztBQTJDRixNQUFhLEtBQU0sU0FBUSxxQkFBUztJQUMzQixNQUFNLENBQUMsRUFBRSxDQUFDLE9BQWdCO1FBQy9CLE1BQU0sT0FBTyxHQUFHLENBQUMsQ0FBWSxFQUFjLEVBQUUsQ0FBQyxDQUFDLFlBQVksS0FBSyxDQUFDO1FBQ2pFLE9BQU8sT0FBTyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDMUMsQ0FBQztJQWNELFlBQVksT0FBb0IsRUFBRSxVQUF3QixFQUFFO1FBQzFELEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztRQVhBLGlCQUFZLEdBQUcscUJBQXFCLENBQUM7UUFZcEQsT0FBTyxDQUFDLFVBQVUsQ0FBQyxrQkFBa0IsT0FBTyxDQUFDLE9BQU8sSUFBSSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBRWhFLE1BQU0sYUFBYSxHQUFtQjtZQUNwQyxHQUFHLGNBQWM7WUFDakIsR0FBRyxDQUFDLE9BQU8sQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztZQUNqRCxHQUFHLENBQUMsT0FBTyxDQUFDLFNBQVMsSUFBSSxLQUFLLENBQUMsQ0FBQyxDQUFDLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7WUFDeEQsR0FBRyxDQUFDLE9BQU8sQ0FBQyxlQUFlLElBQUksS0FBSyxDQUFDLENBQUMsQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1NBQ3RFLENBQUM7UUFFRixJQUFJLENBQUMsa0JBQWtCLEdBQUcsSUFBQSxnQkFBUyxFQUNqQyxDQUFDLElBQUEsMkJBQVMsRUFBQyxhQUFhLENBQUMsRUFBRSxJQUFBLDJCQUFTLEVBQUMsT0FBTyxDQUFDLFdBQVcsSUFBSSxFQUFFLENBQUMsQ0FBQyxFQUNoRSxFQUFFLFdBQVcsRUFBRSxPQUFPLENBQUMsMEJBQTBCLElBQUksSUFBSSxFQUFFLENBQzVELENBQUM7UUFFRixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksZUFBUSxDQUFDLElBQUksRUFBRSxhQUFhLEVBQUU7WUFDNUMsR0FBRyxFQUFFLElBQUksQ0FBQyxrQkFBa0I7WUFDNUIsYUFBYSxFQUFFLElBQUk7WUFDbkIsTUFBTSxFQUFFLElBQUk7U0FDYixDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBRWpDLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLG9CQUFvQixFQUFFLENBQUM7UUFDeEMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3BDLENBQUM7SUFFRDs7T0FFRztJQUNLLFVBQVU7UUFDaEIsTUFBTSxJQUFJLEdBQUcsSUFBSSxHQUFHLEVBQVUsQ0FBQztRQUUvQixLQUFLLE1BQU0sR0FBRyxJQUFJLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztZQUNyQyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ2hCLENBQUM7UUFFRCxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FDYjtZQUNFLElBQUksQ0FBQyxZQUFZO1lBQ2pCLGdDQUFnQztZQUNoQyxJQUFJO1lBQ0osR0FBRyxJQUFJO1NBQ1IsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQ1g7WUFDRSxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSTtTQUM5QixDQUNGLENBQUM7SUFDSixDQUFDO0lBRU0sY0FBYyxDQUFDLE9BQWU7UUFDbkMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDaEMsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO0lBQ3BCLENBQUM7SUFFTyxvQkFBb0I7UUFDMUIsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUU7WUFDbkMsV0FBVyxFQUFFLGlDQUFpQztZQUM5QyxLQUFLLEVBQUU7Z0JBQ0w7b0JBQ0UsSUFBSSxFQUFFLElBQUksQ0FBQyxZQUFZO2lCQUN4QjthQUNGO1NBQ0YsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7QUFuRkgsc0JBb0ZDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZGVlcENsb25lIH0gZnJvbSBcImZhc3QtanNvbi1wYXRjaFwiO1xuaW1wb3J0IHR5cGUgeyBJQ29uZmlndXJhdGlvbiB9IGZyb20gXCIuL2Jpb21lLWNvbmZpZ1wiO1xuaW1wb3J0IHsgQ29tcG9uZW50IH0gZnJvbSBcIi4uLy4uL2NvbXBvbmVudFwiO1xuaW1wb3J0IHR5cGUgeyBOb2RlUHJvamVjdCB9IGZyb20gXCIuLi8uLi9qYXZhc2NyaXB0L25vZGUtcHJvamVjdFwiO1xuaW1wb3J0IHsgSnNvbkZpbGUgfSBmcm9tIFwiLi4vLi4vanNvblwiO1xuaW1wb3J0IHR5cGUgeyBQcm9qZWN0IH0gZnJvbSBcIi4uLy4uL3Byb2plY3RcIjtcbmltcG9ydCB0eXBlIHsgVGFzayB9IGZyb20gXCIuLi8uLi90YXNrXCI7XG5pbXBvcnQgeyBkZWVwTWVyZ2UgfSBmcm9tIFwiLi4vLi4vdXRpbFwiO1xuXG4vKipcbiAqIEVuYWJsaW5nIFZDUyBjb25maWd1cmF0aW9uIGJ5IGRlZmF1bHQuXG4gKlxuICogTm90ZSB0aGF0IHRoaXMgZGlmZmVycyBmcm9tIGBiaW9tZSBpbml0YCwgYXMgcHJvamVuIGNhbiBiZSBwcmVzdW1lZCB0byB1c2UgdmVyc2lvbiBjb250cm9sXG4gKi9cbmNvbnN0IERFRkFVTFRfQ09ORklHOiBQaWNrPElDb25maWd1cmF0aW9uLCBcInZjc1wiIHwgXCJmaWxlc1wiPiA9IHtcbiAgdmNzOiB7XG4gICAgY2xpZW50S2luZDogXCJnaXRcIixcbiAgICBlbmFibGVkOiB0cnVlLFxuICAgIHVzZUlnbm9yZUZpbGU6IHRydWUsXG4gIH0sXG4gIGZpbGVzOiB7XG4gICAgaWdub3JlVW5rbm93bjogZmFsc2UsXG4gIH0sXG59O1xuXG4vKipcbiAqIERlZmF1bHQgbGludGluZyBjb25maWd1cmF0aW9uIGlmIGxpbnRlciBpcyBlbmFibGVkLlxuICpcbiAqIElnbm9yZXMgYnkgZGVmYXVsdCBmb2xsb3dpbmcgcGF0dGVybnM6ICcqLmpzJywgJyouZC50cycsICdub2RlX21vZHVsZXMvJywgJyouZ2VuZXJhdGVkLnRzJywgJ2NvdmVyYWdlJy5cbiAqL1xuY29uc3QgREVGQVVMVF9MSU5URVI6IFBpY2s8SUNvbmZpZ3VyYXRpb24sIFwibGludGVyXCI+ID0ge1xuICBsaW50ZXI6IHtcbiAgICBlbmFibGVkOiB0cnVlLFxuICAgIHJ1bGVzOiB7XG4gICAgICByZWNvbW1lbmRlZDogdHJ1ZSxcbiAgICB9LFxuICAgIC8vIERlZmF1bHQgaWdub3JlJ3MgZnJvbSBQcm9qZW5cbiAgICBpZ25vcmU6IFtcbiAgICAgIFwiKiovKi5qc1wiLFxuICAgICAgXCIqKi8qLmQudHNcIixcbiAgICAgIFwiKiovbm9kZV9tb2R1bGVzL1wiLFxuICAgICAgXCIqKi8qLmdlbmVyYXRlZC50c1wiLFxuICAgICAgXCIqKi9jb3ZlcmFnZVwiLFxuICAgIF0sXG4gIH0sXG59O1xuXG4vKipcbiAqIERlZmF1bHQgZm9ybWF0dGluZyBjb25maWd1cmF0aW9uIGlmIGZvcm1hdHRlciBpcyBlbmFibGVkLlxuICovXG5jb25zdCBERUZBVUxUX0ZPUk1BVFRFUjogUGljazxJQ29uZmlndXJhdGlvbiwgXCJmb3JtYXR0ZXJcIiB8IFwiamF2YXNjcmlwdFwiPiA9IHtcbiAgZm9ybWF0dGVyOiB7XG4gICAgZW5hYmxlZDogdHJ1ZSxcbiAgICBpbmRlbnRTdHlsZTogXCJ0YWJcIixcbiAgfSxcbiAgamF2YXNjcmlwdDoge1xuICAgIGZvcm1hdHRlcjoge1xuICAgICAgcXVvdGVTdHlsZTogXCJkb3VibGVcIixcbiAgICB9LFxuICB9LFxufTtcblxuLyoqXG4gKiBEZWZhdWx0IGZvcm1hdHRpbmcgY29uZmlndXJhdGlvbiBpZiBvcmdhbml6ZSBpbXBvcnRzIGlzIGVuYWJsZWQuXG4gKi9cbmNvbnN0IERFRkFVTFRfT1JHQU5JWkVfSU1QT1JUUzogUGljazxJQ29uZmlndXJhdGlvbiwgXCJvcmdhbml6ZUltcG9ydHNcIj4gPSB7XG4gIG9yZ2FuaXplSW1wb3J0czoge1xuICAgIGVuYWJsZWQ6IHRydWUsXG4gIH0sXG59O1xuXG5leHBvcnQgaW50ZXJmYWNlIEJpb21lT3B0aW9ucyB7XG4gIC8qKlxuICAgKiBWZXJzaW9uIG9mIEJpb21lIHRvIHVzZVxuICAgKlxuICAgKiBAZGVmYXVsdCBcIl4xXCJcbiAgICovXG4gIHJlYWRvbmx5IHZlcnNpb24/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBFbmFibGUgbGludGluZy4gUmVwbGFjZXMgRXNsaW50LlxuICAgKlxuICAgKiBAZGVmYXVsdCB0cnVlXG4gICAqL1xuICByZWFkb25seSBsaW50ZXI/OiBib29sZWFuO1xuICAvKipcbiAgICogRW5hYmxlIGNvZGUgZm9ybWF0dGVyLiBSZXBsYWNlcyBtYWlubHkgUHJldHRpZXJcbiAgICpcbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIHJlYWRvbmx5IGZvcm1hdHRlcj86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBFbmFibGUgaW1wb3J0IHNvcnRpbmcvb3JnYW5pemluZy4gUmVwbGFjZXMgbWFpbmx5IFByZXR0aWVyXG4gICAqXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICByZWFkb25seSBvcmdhbml6ZUltcG9ydHM/OiBib29sZWFuO1xuICAvKipcbiAgICogU2hvdWxkIGFycmF5cyBiZSBtZXJnZWQgb3Igb3ZlcndyaXR0ZW4gd2hlbiBjcmVhdGluZyBCaW9tZSBjb25maWd1cmF0aW9uXG4gICAqXG4gICAqIEJ5IGRlZmF1bHQgYXJyYXlzIGFyZSBtZXJnZWQgYW5kIGR1cGxpY2F0ZSB2YWx1ZXMgYXJlIHJlbW92ZWRcbiAgICpcbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKi9cbiAgcmVhZG9ubHkgbWVyZ2VBcnJheXNJbkNvbmZpZ3VyYXRpb24/OiBib29sZWFuO1xuICAvKipcbiAgICogRnVsbCBCaW9tZSBjb25maWd1cmF0aW9uLiBOb3RlIHRoYXQgdGhpcyBjb25maWd1cmF0aW9uIGRpY3RhdGVzIHRoZSBmaW5hbCBvdXRjb21lIGlmIHZhbHVlIGlzIHNldC5cbiAgICpcbiAgICogQGV4YW1wbGUgaWYgbGludGVyIGlzIGRpc2FibGVkIG9uIG1haW4gbGV2ZWwsIGl0IGNhbiBiZSBlbmFibGVkIG9uIGZ1bGxDb25maWd1cmF0aW9uLmZvcm1hdHRlci5lbmFibGVkLlxuICAgKi9cbiAgcmVhZG9ubHkgYmlvbWVDb25maWc/OiBJQ29uZmlndXJhdGlvbjtcbn1cblxuZXhwb3J0IGNsYXNzIEJpb21lIGV4dGVuZHMgQ29tcG9uZW50IHtcbiAgcHVibGljIHN0YXRpYyBvZihwcm9qZWN0OiBQcm9qZWN0KTogQmlvbWUgfCB1bmRlZmluZWQge1xuICAgIGNvbnN0IGlzQmlvbWUgPSAoYzogQ29tcG9uZW50KTogYyBpcyBCaW9tZSA9PiBjIGluc3RhbmNlb2YgQmlvbWU7XG4gICAgcmV0dXJuIHByb2plY3QuY29tcG9uZW50cy5maW5kKGlzQmlvbWUpO1xuICB9XG5cbiAgcHJpdmF0ZSByZWFkb25seSBiaW9tZUNvbmZpZ3VyYXRpb246IElDb25maWd1cmF0aW9uO1xuICBwcml2YXRlIHJlYWRvbmx5IF9saW50UGF0dGVybnM6IFNldDxzdHJpbmc+O1xuICBwcml2YXRlIHJlYWRvbmx5IGJpb21lQ29tbWFuZCA9IFwiYmlvbWUgY2hlY2sgLS13cml0ZVwiO1xuICAvKipcbiAgICogQmlvbWUgdGFzay5cbiAgICovXG4gIHB1YmxpYyByZWFkb25seSB0YXNrOiBUYXNrO1xuICAvKipcbiAgICogQmlvbWUgY29uZmlndXJhdGlvbiBmaWxlIGNvbnRlbnRcbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBmaWxlOiBKc29uRmlsZTtcblxuICBjb25zdHJ1Y3Rvcihwcm9qZWN0OiBOb2RlUHJvamVjdCwgb3B0aW9uczogQmlvbWVPcHRpb25zID0ge30pIHtcbiAgICBzdXBlcihwcm9qZWN0KTtcbiAgICBwcm9qZWN0LmFkZERldkRlcHMoYEBiaW9tZWpzL2Jpb21lQCR7b3B0aW9ucy52ZXJzaW9uID8/IFwiXjFcIn1gKTtcblxuICAgIGNvbnN0IGRlZmF1bHRDb25maWc6IElDb25maWd1cmF0aW9uID0ge1xuICAgICAgLi4uREVGQVVMVF9DT05GSUcsXG4gICAgICAuLi4ob3B0aW9ucy5saW50ZXIgPz8gdHJ1ZSA/IERFRkFVTFRfTElOVEVSIDoge30pLFxuICAgICAgLi4uKG9wdGlvbnMuZm9ybWF0dGVyID8/IGZhbHNlID8gREVGQVVMVF9GT1JNQVRURVIgOiB7fSksXG4gICAgICAuLi4ob3B0aW9ucy5vcmdhbml6ZUltcG9ydHMgPz8gZmFsc2UgPyBERUZBVUxUX09SR0FOSVpFX0lNUE9SVFMgOiB7fSksXG4gICAgfTtcblxuICAgIHRoaXMuYmlvbWVDb25maWd1cmF0aW9uID0gZGVlcE1lcmdlKFxuICAgICAgW2RlZXBDbG9uZShkZWZhdWx0Q29uZmlnKSwgZGVlcENsb25lKG9wdGlvbnMuYmlvbWVDb25maWcgPz8ge30pXSxcbiAgICAgIHsgbWVyZ2VBcnJheXM6IG9wdGlvbnMubWVyZ2VBcnJheXNJbkNvbmZpZ3VyYXRpb24gPz8gdHJ1ZSB9XG4gICAgKTtcblxuICAgIHRoaXMuZmlsZSA9IG5ldyBKc29uRmlsZSh0aGlzLCBcImJpb21lLmpzb25jXCIsIHtcbiAgICAgIG9iajogdGhpcy5iaW9tZUNvbmZpZ3VyYXRpb24sXG4gICAgICBhbGxvd0NvbW1lbnRzOiB0cnVlLFxuICAgICAgbWFya2VyOiB0cnVlLFxuICAgIH0pO1xuXG4gICAgdGhpcy5fbGludFBhdHRlcm5zID0gbmV3IFNldChbXSk7XG5cbiAgICB0aGlzLnRhc2sgPSB0aGlzLmNyZWF0ZUxvY2FsQmlvbWVUYXNrKCk7XG4gICAgcHJvamVjdC50ZXN0VGFzay5zcGF3bih0aGlzLnRhc2spO1xuICB9XG5cbiAgLyoqXG4gICAqIFVwZGF0ZSB0aGUgdGFzayB3aXRoIHRoZSBjdXJyZW50IGxpc3Qgb2YgbGludCBwYXR0ZXJucyBhbmQgZmlsZSBleHRlbnNpb25zXG4gICAqL1xuICBwcml2YXRlIHVwZGF0ZVRhc2soKSB7XG4gICAgY29uc3QgYXJncyA9IG5ldyBTZXQ8c3RyaW5nPigpO1xuXG4gICAgZm9yIChjb25zdCBhcmcgb2YgdGhpcy5fbGludFBhdHRlcm5zKSB7XG4gICAgICBhcmdzLmFkZChhcmcpO1xuICAgIH1cblxuICAgIHRoaXMudGFzay5yZXNldChcbiAgICAgIFtcbiAgICAgICAgdGhpcy5iaW9tZUNvbW1hbmQsXG4gICAgICAgIC8vIEFsbG93IGFsc28gZXh0ZXJuYWwgYXJndW1lbnRzXG4gICAgICAgIFwiJEBcIixcbiAgICAgICAgLi4uYXJncyxcbiAgICAgIF0uam9pbihcIiBcIiksXG4gICAgICB7XG4gICAgICAgIGFyZ3M6IHRoaXMudGFzay5zdGVwc1swXS5hcmdzLFxuICAgICAgfVxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgYWRkTGludFBhdHRlcm4ocGF0dGVybjogc3RyaW5nKSB7XG4gICAgdGhpcy5fbGludFBhdHRlcm5zLmFkZChwYXR0ZXJuKTtcbiAgICB0aGlzLnVwZGF0ZVRhc2soKTtcbiAgfVxuXG4gIHByaXZhdGUgY3JlYXRlTG9jYWxCaW9tZVRhc2soKSB7XG4gICAgcmV0dXJuIHRoaXMucHJvamVjdC5hZGRUYXNrKFwiYmlvbWVcIiwge1xuICAgICAgZGVzY3JpcHRpb246IFwiUnVucyBCaW9tZSBhZ2FpbnN0IHRoZSBjb2RlYmFzZVwiLFxuICAgICAgc3RlcHM6IFtcbiAgICAgICAge1xuICAgICAgICAgIGV4ZWM6IHRoaXMuYmlvbWVDb21tYW5kLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICB9KTtcbiAgfVxufVxuIl19
@@ -184,7 +184,7 @@ class Bundler extends component_1.Component {
184
184
  }
185
185
  exports.Bundler = Bundler;
186
186
  _a = JSII_RTTI_SYMBOL_1;
187
- Bundler[_a] = { fqn: "projen.javascript.Bundler", version: "0.92.9" };
187
+ Bundler[_a] = { fqn: "projen.javascript.Bundler", version: "0.92.11" };
188
188
  /**
189
189
  * Options for BundlerOptions.runBundleTask
190
190
  */
@@ -369,7 +369,7 @@ class Eslint extends component_1.Component {
369
369
  }
370
370
  exports.Eslint = Eslint;
371
371
  _a = JSII_RTTI_SYMBOL_1;
372
- Eslint[_a] = { fqn: "projen.javascript.Eslint", version: "0.92.9" };
372
+ Eslint[_a] = { fqn: "projen.javascript.Eslint", version: "0.92.11" };
373
373
  /**
374
374
  * A compare protocol tp sort the extends array in eslint config using known ESLint best practices.
375
375
  *
@@ -10,3 +10,5 @@ export * from "./projenrc";
10
10
  export * from "./typescript-config";
11
11
  export * from "./upgrade-dependencies";
12
12
  export * from "./yarnrc";
13
+ export * from "./biome/biome";
14
+ export * as biome_config from "./biome/biome-config";
@@ -14,6 +14,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
+ exports.biome_config = void 0;
17
18
  __exportStar(require("./bundler"), exports);
18
19
  __exportStar(require("./eslint"), exports);
19
20
  __exportStar(require("./jest"), exports);
@@ -26,4 +27,6 @@ __exportStar(require("./projenrc"), exports);
26
27
  __exportStar(require("./typescript-config"), exports);
27
28
  __exportStar(require("./upgrade-dependencies"), exports);
28
29
  __exportStar(require("./yarnrc"), exports);
29
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvamF2YXNjcmlwdC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsNENBQTBCO0FBQzFCLDJDQUF5QjtBQUN6Qix5Q0FBdUI7QUFDdkIsb0RBQWtDO0FBQ2xDLGlEQUErQjtBQUMvQixpREFBK0I7QUFDL0IsK0NBQTZCO0FBQzdCLDZDQUEyQjtBQUMzQiw2Q0FBMkI7QUFDM0Isc0RBQW9DO0FBQ3BDLHlEQUF1QztBQUN2QywyQ0FBeUIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tIFwiLi9idW5kbGVyXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9lc2xpbnRcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2plc3RcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2xpY2Vuc2UtY2hlY2tlclwiO1xuZXhwb3J0ICogZnJvbSBcIi4vbm9kZS1wYWNrYWdlXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9ub2RlLXByb2plY3RcIjtcbmV4cG9ydCAqIGZyb20gXCIuL25wbS1jb25maWdcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3ByZXR0aWVyXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9wcm9qZW5yY1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vdHlwZXNjcmlwdC1jb25maWdcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3VwZ3JhZGUtZGVwZW5kZW5jaWVzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi95YXJucmNcIjtcbiJdfQ==
30
+ __exportStar(require("./biome/biome"), exports);
31
+ exports.biome_config = require("./biome/biome-config");
32
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvamF2YXNjcmlwdC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLDRDQUEwQjtBQUMxQiwyQ0FBeUI7QUFDekIseUNBQXVCO0FBQ3ZCLG9EQUFrQztBQUNsQyxpREFBK0I7QUFDL0IsaURBQStCO0FBQy9CLCtDQUE2QjtBQUM3Qiw2Q0FBMkI7QUFDM0IsNkNBQTJCO0FBQzNCLHNEQUFvQztBQUNwQyx5REFBdUM7QUFDdkMsMkNBQXlCO0FBQ3pCLGdEQUE4QjtBQUM5Qix1REFBcUQiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tIFwiLi9idW5kbGVyXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9lc2xpbnRcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2plc3RcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2xpY2Vuc2UtY2hlY2tlclwiO1xuZXhwb3J0ICogZnJvbSBcIi4vbm9kZS1wYWNrYWdlXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9ub2RlLXByb2plY3RcIjtcbmV4cG9ydCAqIGZyb20gXCIuL25wbS1jb25maWdcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3ByZXR0aWVyXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9wcm9qZW5yY1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vdHlwZXNjcmlwdC1jb25maWdcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3VwZ3JhZGUtZGVwZW5kZW5jaWVzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi95YXJucmNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2Jpb21lL2Jpb21lXCI7XG5leHBvcnQgKiBhcyBiaW9tZV9jb25maWcgZnJvbSBcIi4vYmlvbWUvYmlvbWUtY29uZmlnXCI7XG4iXX0=