projen 0.91.4 → 0.91.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (220) hide show
  1. package/.jsii +3 -3
  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 +1 -1
  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 +2 -2
  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 +1 -1
  31. package/lib/component.js +1 -1
  32. package/lib/dependencies.js +1 -1
  33. package/lib/dev-env.js +1 -1
  34. package/lib/docker-compose/docker-compose-service.js +1 -1
  35. package/lib/docker-compose/docker-compose.js +1 -1
  36. package/lib/file.js +1 -1
  37. package/lib/gitattributes.js +1 -1
  38. package/lib/github/actions-provider.js +1 -1
  39. package/lib/github/auto-approve.js +1 -1
  40. package/lib/github/auto-merge.js +1 -1
  41. package/lib/github/auto-queue.js +1 -1
  42. package/lib/github/dependabot.js +1 -1
  43. package/lib/github/github-credentials.js +1 -1
  44. package/lib/github/github-project.js +1 -1
  45. package/lib/github/github.js +1 -1
  46. package/lib/github/merge-queue.js +1 -1
  47. package/lib/github/mergify.js +1 -1
  48. package/lib/github/pr-template.js +1 -1
  49. package/lib/github/pull-request-backport.js +1 -1
  50. package/lib/github/pull-request-lint.js +1 -1
  51. package/lib/github/stale.js +1 -1
  52. package/lib/github/task-workflow-job.js +1 -1
  53. package/lib/github/task-workflow.js +1 -1
  54. package/lib/github/workflow-actions.js +1 -1
  55. package/lib/github/workflow-jobs.js +1 -1
  56. package/lib/github/workflow-steps.js +1 -1
  57. package/lib/github/workflows.js +1 -1
  58. package/lib/gitlab/configuration.js +1 -1
  59. package/lib/gitlab/gitlab-configuration.js +1 -1
  60. package/lib/gitlab/nested-configuration.js +1 -1
  61. package/lib/gitpod.js +1 -1
  62. package/lib/ignore-file.js +1 -1
  63. package/lib/ini.js +1 -1
  64. package/lib/java/java-project.js +1 -1
  65. package/lib/java/junit.js +1 -1
  66. package/lib/java/maven-compile.js +1 -1
  67. package/lib/java/maven-packaging.js +1 -1
  68. package/lib/java/maven-sample.js +1 -1
  69. package/lib/java/pom.js +2 -2
  70. package/lib/java/projenrc.js +1 -1
  71. package/lib/javascript/bundler.js +1 -1
  72. package/lib/javascript/eslint.js +1 -1
  73. package/lib/javascript/jest.js +4 -4
  74. package/lib/javascript/license-checker.js +1 -1
  75. package/lib/javascript/node-package.js +1 -1
  76. package/lib/javascript/node-project.js +1 -1
  77. package/lib/javascript/npm-config.js +1 -1
  78. package/lib/javascript/prettier.js +1 -1
  79. package/lib/javascript/projenrc.js +1 -1
  80. package/lib/javascript/typescript-config.js +2 -2
  81. package/lib/javascript/upgrade-dependencies.js +2 -2
  82. package/lib/javascript/yarnrc.js +1 -1
  83. package/lib/json-patch.js +1 -1
  84. package/lib/json.js +1 -1
  85. package/lib/license.js +1 -1
  86. package/lib/logger.js +1 -1
  87. package/lib/makefile.js +1 -1
  88. package/lib/object-file.js +1 -1
  89. package/lib/project-build.js +1 -1
  90. package/lib/project-tree.js +1 -1
  91. package/lib/project.js +1 -1
  92. package/lib/projects.js +1 -1
  93. package/lib/projenrc-json.js +2 -2
  94. package/lib/projenrc.js +1 -1
  95. package/lib/python/pip.js +1 -1
  96. package/lib/python/poetry.js +2 -2
  97. package/lib/python/projenrc.js +1 -1
  98. package/lib/python/pytest-sample.js +1 -1
  99. package/lib/python/pytest.js +1 -1
  100. package/lib/python/python-project.js +1 -1
  101. package/lib/python/python-sample.js +1 -1
  102. package/lib/python/requirements-file.js +1 -1
  103. package/lib/python/setuppy.js +1 -1
  104. package/lib/python/setuptools.js +1 -1
  105. package/lib/python/venv.js +1 -1
  106. package/lib/readme.js +1 -1
  107. package/lib/release/publisher.js +1 -1
  108. package/lib/release/release-trigger.js +1 -1
  109. package/lib/release/release.js +1 -1
  110. package/lib/renovatebot.js +1 -1
  111. package/lib/sample-file.js +2 -2
  112. package/lib/semver.js +1 -1
  113. package/lib/source-code.js +1 -1
  114. package/lib/task-runtime.js +1 -1
  115. package/lib/task.js +1 -1
  116. package/lib/tasks.js +1 -1
  117. package/lib/testing.js +1 -1
  118. package/lib/textfile.js +1 -1
  119. package/lib/toml.js +1 -1
  120. package/lib/typescript/projenrc-ts.js +1 -1
  121. package/lib/typescript/projenrc.js +1 -1
  122. package/lib/typescript/typescript-typedoc.js +1 -1
  123. package/lib/typescript/typescript.js +6 -6
  124. package/lib/version.js +2 -2
  125. package/lib/vscode/devcontainer.js +1 -1
  126. package/lib/vscode/extensions.js +1 -1
  127. package/lib/vscode/launch-config.js +1 -1
  128. package/lib/vscode/settings.js +1 -1
  129. package/lib/vscode/vscode.js +1 -1
  130. package/lib/web/next.js +3 -3
  131. package/lib/web/postcss.js +1 -1
  132. package/lib/web/react.js +4 -4
  133. package/lib/web/tailwind.js +1 -1
  134. package/lib/xmlfile.js +1 -1
  135. package/lib/yaml.js +1 -1
  136. package/node_modules/is-core-module/CHANGELOG.md +6 -0
  137. package/node_modules/is-core-module/core.json +1 -1
  138. package/node_modules/is-core-module/package.json +1 -1
  139. package/node_modules/yaml/README.md +27 -8
  140. package/node_modules/yaml/browser/dist/compose/resolve-props.js +1 -1
  141. package/node_modules/yaml/browser/dist/log.js +1 -4
  142. package/node_modules/yaml/browser/dist/schema/yaml-1.1/binary.js +2 -11
  143. package/node_modules/yaml/browser/dist/util.js +1 -1
  144. package/node_modules/yaml/dist/compose/compose-collection.d.ts +4 -4
  145. package/node_modules/yaml/dist/compose/compose-doc.d.ts +6 -6
  146. package/node_modules/yaml/dist/compose/compose-node.d.ts +7 -7
  147. package/node_modules/yaml/dist/compose/compose-scalar.d.ts +4 -4
  148. package/node_modules/yaml/dist/compose/composer.d.ts +7 -6
  149. package/node_modules/yaml/dist/compose/composer.js +2 -1
  150. package/node_modules/yaml/dist/compose/resolve-block-map.d.ts +5 -5
  151. package/node_modules/yaml/dist/compose/resolve-block-scalar.d.ts +5 -5
  152. package/node_modules/yaml/dist/compose/resolve-block-seq.d.ts +5 -5
  153. package/node_modules/yaml/dist/compose/resolve-end.d.ts +2 -2
  154. package/node_modules/yaml/dist/compose/resolve-flow-collection.d.ts +7 -7
  155. package/node_modules/yaml/dist/compose/resolve-flow-scalar.d.ts +4 -4
  156. package/node_modules/yaml/dist/compose/resolve-props.d.ts +2 -2
  157. package/node_modules/yaml/dist/compose/resolve-props.js +1 -1
  158. package/node_modules/yaml/dist/compose/util-contains-newline.d.ts +1 -1
  159. package/node_modules/yaml/dist/compose/util-empty-scalar-position.d.ts +1 -1
  160. package/node_modules/yaml/dist/compose/util-flow-indent-check.d.ts +2 -2
  161. package/node_modules/yaml/dist/compose/util-map-includes.d.ts +3 -3
  162. package/node_modules/yaml/dist/doc/Document.d.ts +11 -11
  163. package/node_modules/yaml/dist/doc/anchors.d.ts +2 -2
  164. package/node_modules/yaml/dist/doc/createNode.d.ts +4 -4
  165. package/node_modules/yaml/dist/doc/directives.d.ts +1 -1
  166. package/node_modules/yaml/dist/index.d.ts +21 -18
  167. package/node_modules/yaml/dist/log.js +4 -2
  168. package/node_modules/yaml/dist/nodes/Alias.d.ts +9 -8
  169. package/node_modules/yaml/dist/nodes/Collection.d.ts +4 -4
  170. package/node_modules/yaml/dist/nodes/Node.d.ts +10 -10
  171. package/node_modules/yaml/dist/nodes/Pair.d.ts +9 -8
  172. package/node_modules/yaml/dist/nodes/Scalar.d.ts +4 -3
  173. package/node_modules/yaml/dist/nodes/YAMLMap.d.ts +10 -10
  174. package/node_modules/yaml/dist/nodes/YAMLSeq.d.ts +10 -10
  175. package/node_modules/yaml/dist/nodes/addPairToJSMap.d.ts +3 -3
  176. package/node_modules/yaml/dist/nodes/identity.d.ts +7 -7
  177. package/node_modules/yaml/dist/nodes/toJS.d.ts +2 -2
  178. package/node_modules/yaml/dist/options.d.ts +10 -10
  179. package/node_modules/yaml/dist/parse/cst-scalar.d.ts +4 -4
  180. package/node_modules/yaml/dist/parse/cst-stringify.d.ts +1 -1
  181. package/node_modules/yaml/dist/parse/cst-visit.d.ts +2 -2
  182. package/node_modules/yaml/dist/parse/cst.d.ts +4 -3
  183. package/node_modules/yaml/dist/parse/lexer.d.ts +1 -1
  184. package/node_modules/yaml/dist/parse/parser.d.ts +4 -4
  185. package/node_modules/yaml/dist/parse/parser.js +2 -1
  186. package/node_modules/yaml/dist/public-api.d.ts +6 -5
  187. package/node_modules/yaml/dist/schema/Schema.d.ts +4 -4
  188. package/node_modules/yaml/dist/schema/common/map.d.ts +1 -1
  189. package/node_modules/yaml/dist/schema/common/null.d.ts +1 -1
  190. package/node_modules/yaml/dist/schema/common/seq.d.ts +1 -1
  191. package/node_modules/yaml/dist/schema/common/string.d.ts +1 -1
  192. package/node_modules/yaml/dist/schema/core/bool.d.ts +1 -1
  193. package/node_modules/yaml/dist/schema/core/float.d.ts +1 -1
  194. package/node_modules/yaml/dist/schema/core/int.d.ts +1 -1
  195. package/node_modules/yaml/dist/schema/core/schema.d.ts +1 -1
  196. package/node_modules/yaml/dist/schema/json/schema.d.ts +1 -1
  197. package/node_modules/yaml/dist/schema/tags.d.ts +2 -2
  198. package/node_modules/yaml/dist/schema/types.d.ts +8 -8
  199. package/node_modules/yaml/dist/schema/yaml-1.1/binary.d.ts +1 -1
  200. package/node_modules/yaml/dist/schema/yaml-1.1/binary.js +6 -5
  201. package/node_modules/yaml/dist/schema/yaml-1.1/bool.d.ts +1 -1
  202. package/node_modules/yaml/dist/schema/yaml-1.1/float.d.ts +1 -1
  203. package/node_modules/yaml/dist/schema/yaml-1.1/int.d.ts +1 -1
  204. package/node_modules/yaml/dist/schema/yaml-1.1/merge.d.ts +3 -3
  205. package/node_modules/yaml/dist/schema/yaml-1.1/omap.d.ts +11 -17
  206. package/node_modules/yaml/dist/schema/yaml-1.1/pairs.d.ts +7 -7
  207. package/node_modules/yaml/dist/schema/yaml-1.1/schema.d.ts +1 -1
  208. package/node_modules/yaml/dist/schema/yaml-1.1/set.d.ts +9 -9
  209. package/node_modules/yaml/dist/schema/yaml-1.1/timestamp.d.ts +1 -1
  210. package/node_modules/yaml/dist/stringify/stringify.d.ts +3 -3
  211. package/node_modules/yaml/dist/stringify/stringifyCollection.d.ts +2 -2
  212. package/node_modules/yaml/dist/stringify/stringifyDocument.d.ts +3 -3
  213. package/node_modules/yaml/dist/stringify/stringifyNumber.d.ts +1 -1
  214. package/node_modules/yaml/dist/stringify/stringifyPair.d.ts +2 -2
  215. package/node_modules/yaml/dist/stringify/stringifyString.d.ts +2 -2
  216. package/node_modules/yaml/dist/util.d.ts +16 -12
  217. package/node_modules/yaml/dist/util.js +2 -2
  218. package/node_modules/yaml/dist/visit.d.ts +7 -7
  219. package/node_modules/yaml/package.json +4 -4
  220. package/package.json +2 -2
package/lib/web/react.js CHANGED
@@ -38,7 +38,7 @@ class ReactProject extends javascript_1.NodeProject {
38
38
  }
39
39
  exports.ReactProject = ReactProject;
40
40
  _a = JSII_RTTI_SYMBOL_1;
41
- ReactProject[_a] = { fqn: "projen.web.ReactProject", version: "0.91.4" };
41
+ ReactProject[_a] = { fqn: "projen.web.ReactProject", version: "0.91.5" };
42
42
  /**
43
43
  * React project using TypeScript.
44
44
  *
@@ -107,7 +107,7 @@ class ReactTypeScriptProject extends typescript_1.TypeScriptAppProject {
107
107
  }
108
108
  exports.ReactTypeScriptProject = ReactTypeScriptProject;
109
109
  _b = JSII_RTTI_SYMBOL_1;
110
- ReactTypeScriptProject[_b] = { fqn: "projen.web.ReactTypeScriptProject", version: "0.91.4" };
110
+ ReactTypeScriptProject[_b] = { fqn: "projen.web.ReactTypeScriptProject", version: "0.91.5" };
111
111
  class ReactComponent extends component_1.Component {
112
112
  constructor(project, options) {
113
113
  super(project);
@@ -167,7 +167,7 @@ class ReactComponent extends component_1.Component {
167
167
  }
168
168
  exports.ReactComponent = ReactComponent;
169
169
  _c = JSII_RTTI_SYMBOL_1;
170
- ReactComponent[_c] = { fqn: "projen.web.ReactComponent", version: "0.91.4" };
170
+ ReactComponent[_c] = { fqn: "projen.web.ReactComponent", version: "0.91.5" };
171
171
  class ReactSampleCode extends component_1.Component {
172
172
  constructor(project, options) {
173
173
  super(project);
@@ -357,5 +357,5 @@ class ReactTypeDef extends file_1.FileBase {
357
357
  }
358
358
  exports.ReactTypeDef = ReactTypeDef;
359
359
  _d = JSII_RTTI_SYMBOL_1;
360
- ReactTypeDef[_d] = { fqn: "projen.web.ReactTypeDef", version: "0.91.4" };
360
+ ReactTypeDef[_d] = { fqn: "projen.web.ReactTypeDef", version: "0.91.5" };
361
361
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVhY3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvd2ViL3JlYWN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsNkJBQTZCO0FBQzdCLDRDQUF5QztBQUN6QyxrQ0FBK0Q7QUFDL0QsOENBS3VCO0FBQ3ZCLGdEQUEyQztBQUMzQyxnREFBNEM7QUFDNUMsOENBQStFO0FBQy9FLGtDQUFvQztBQTBEcEM7Ozs7R0FJRztBQUNILE1BQWEsWUFBYSxTQUFRLHdCQUFXO0lBTzNDLFlBQVksT0FBNEI7UUFDdEMsS0FBSyxDQUFDO1lBQ0osSUFBSSxFQUFFLEtBQUs7WUFDWCxHQUFHLE9BQU87U0FDWCxDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsTUFBTSxHQUFHLE9BQU8sQ0FBQyxNQUFNLElBQUksS0FBSyxDQUFDO1FBRXRDLElBQUksY0FBYyxDQUFDLElBQUksRUFBRSxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE9BQU8sQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDO1FBRXhFLDZGQUE2RjtRQUM3RixJQUFJLE9BQU8sQ0FBQyxVQUFVLElBQUksSUFBSSxFQUFFLENBQUM7WUFDL0IsSUFBSSxlQUFlLENBQUMsSUFBSSxFQUFFO2dCQUN4QixPQUFPLEVBQUUsS0FBSztnQkFDZCxNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU07YUFDcEIsQ0FBQyxDQUFDO1lBQ0gsSUFBSSx1QkFBUyxDQUFDLElBQUksRUFBRSxRQUFRLEVBQUU7Z0JBQzVCLFNBQVMsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsT0FBTyxDQUFDO2FBQ3RFLENBQUMsQ0FBQztRQUNMLENBQUM7SUFDSCxDQUFDOztBQTNCSCxvQ0E0QkM7OztBQUVEOzs7O0dBSUc7QUFDSCxNQUFhLHNCQUF1QixTQUFRLGlDQUFvQjtJQU05RCxZQUFZLE9BQXNDO1FB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LFFBQVEsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLEVBQUUsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUM7Z0JBQzlDLFdBQVcsRUFBRSxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQztnQkFDaEMsQ0FBQyxrQkFBa0IsR0FBRyxlQUFlLENBQUMsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDO2dCQUNwRSxDQUFDLGFBQWEsR0FBRyxlQUFlLENBQUMsRUFBRSxZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQzthQUMzRDtTQUNGLENBQUMsQ0FBQztJQUNMLENBQUM7Q0FDRjtBQU9EOztHQUVHO0FBQ0gsTUFBYSxZQUFhLFNBQVEsZUFBUTtJQUN4QyxZQUNFLE9BQStCLEVBQy9CLFFBQWdCLEVBQ2hCLFVBQStCLEVBQUU7UUFFakMsS0FBSyxDQUFDLE9BQU8sRUFBRSxRQUFRLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDcEMsQ0FBQztJQUVTLGlCQUFpQixDQUFDLENBQVk7UUFDdEMsT0FBTyxDQUFDLHlDQUF5QyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2hFLENBQUM7O0FBWEgsb0NBWUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBwYXRoIGZyb20gXCJwYXRoXCI7XG5pbXBvcnQgeyBDb21wb25lbnQgfSBmcm9tIFwiLi4vY29tcG9uZW50XCI7XG5pbXBvcnQgeyBGaWxlQmFzZSwgRmlsZUJhc2VPcHRpb25zLCBJUmVzb2x2ZXIgfSBmcm9tIFwiLi4vZmlsZVwiO1xuaW1wb3J0IHtcbiAgTm9kZVByb2plY3QsXG4gIE5vZGVQcm9qZWN0T3B0aW9ucyxcbiAgVHlwZVNjcmlwdEpzeE1vZGUsXG4gIFR5cGVTY3JpcHRNb2R1bGVSZXNvbHV0aW9uLFxufSBmcm9tIFwiLi4vamF2YXNjcmlwdFwiO1xuaW1wb3J0IHsgU2FtcGxlRGlyIH0gZnJvbSBcIi4uL3NhbXBsZS1maWxlXCI7XG5pbXBvcnQgeyBTb3VyY2VDb2RlIH0gZnJvbSBcIi4uL3NvdXJjZS1jb2RlXCI7XG5pbXBvcnQgeyBUeXBlU2NyaXB0QXBwUHJvamVjdCwgVHlwZVNjcmlwdFByb2plY3RPcHRpb25zIH0gZnJvbSBcIi4uL3R5cGVzY3JpcHRcIjtcbmltcG9ydCB7IGRlZXBNZXJnZSB9IGZyb20gXCIuLi91dGlsXCI7XG5cbmV4cG9ydCBpbnRlcmZhY2UgUmVhY3RSZXdpcmVPcHRpb25zIHtcbiAgLyoqXG4gICAqIFJld2lyZSB3ZWJwYWNrIGNvbmZpZ3VyYXRpb24uXG4gICAqXG4gICAqIFVzZSB0aGlzIHByb3BlcnR5IHRvIG92ZXJyaWRlIHdlYnBhY2sgY29uZmlndXJhdGlvbiBwcm9wZXJ0aWVzIHByb3ZpZGVkXG4gICAqIGJ5IGNyZWF0ZS1yZWFjdC1hcHAsIHdpdGhvdXQgbmVlZGluZyB0byBlamVjdC5cbiAgICpcbiAgICogVGhpcyBwcm9wZXJ0eSB3aWxsIGNyZWF0ZSBhIGBjb25maWctb3ZlcnJpZGVzLmpzYCBmaWxlIGluIHlvdXIgcm9vdCBkaXJlY3RvcnksXG4gICAqIHdoaWNoIHdpbGwgY29udGFpbiB0aGUgZGVzaXJlZCByZXdpcmluZyBjb2RlLlxuICAgKlxuICAgKiBUbyAqKm92ZXJyaWRlKiogdGhlIGNvbmZpZ3VyYXRpb24sIHlvdSBjYW4gcHJvdmlkZSBzaW1wbGUga2V5IHZhbHVlIHBhaXJzLlxuICAgKiBLZXlzIHRha2UgdGhlIGZvcm0gb2YganMgY29kZSBkaXJlY3RpdmVzIHRoYXQgdHJhdmVyc2UgdG8gdGhlIGRlc2lyZWQgcHJvcGVydHkuXG4gICAqIFZhbHVlcyBzaG91bGQgYmUgSlNPTiBzZXJpYWxpemFibGUgb2JqZWN0cy5cbiAgICpcbiAgICogRm9yIGV4YW1wbGUsIHRoZSBmb2xsb3dpbmcgY29uZmlnOlxuICAgKlxuICAgKiBgYGBqc29uXG4gICAqIHJld2lyZTogeyBcIm1vZHVsZS51bmtub3duQ29udGV4dENyaXRpY2FsXCI6IGZhbHNlIH1cbiAgICogYGBgXG4gICAqXG4gICAqIFdpbGwgdHJhbnNsYXRlIHRvIHRoZSBmb2xsb3dpbmcgYGNvbmZpZy1vdmVycmlkZXMuanNgIGZpbGU6XG4gICAqXG4gICAqIGBgYGpzXG4gICAqIG1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gb3ZlcnJpZGUoY29uZmlnLCBlbnYpIHtcbiAgICogICBjb25maWcubW9kdWxlLnVua25vd25Db250ZXh0Q3JpdGljYWwgPSBmYWxzZTtcbiAgICogfVxuICAgKiBgYGBcbiAgICpcbiAgICogQGRlZmF1bHQgLSBObyByZXdpcmVkIGNvbmZpZy5cbiAgICpcbiAgICogQHNlZSBodHRwczovL3dlYnBhY2suanMub3JnL2NvbmZpZ3VyYXRpb24vXG4gICAqIEBzZWUgaHR0cHM6Ly9naXRodWIuY29tL3RpbWFybmV5L3JlYWN0LWFwcC1yZXdpcmVkXG4gICAqL1xuICByZWFkb25seSByZXdpcmU/OiB7IFtrZXk6IHN0cmluZ106IGFueSB9O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFJlYWN0VHlwZVNjcmlwdFByb2plY3RPcHRpb25zXG4gIGV4dGVuZHMgVHlwZVNjcmlwdFByb2plY3RPcHRpb25zLFxuICAgIFJlYWN0UmV3aXJlT3B0aW9ucyB7fVxuXG5leHBvcnQgaW50ZXJmYWNlIFJlYWN0UHJvamVjdE9wdGlvbnNcbiAgZXh0ZW5kcyBOb2RlUHJvamVjdE9wdGlvbnMsXG4gICAgUmVhY3RSZXdpcmVPcHRpb25zIHtcbiAgLyoqXG4gICAqIFNvdXJjZSBkaXJlY3RvcnkuXG4gICAqXG4gICAqIEBkZWZhdWx0IFwic3JjXCJcbiAgICovXG4gIHJlYWRvbmx5IHNyY2Rpcj86IHN0cmluZztcbiAgLyoqXG4gICAqIEdlbmVyYXRlIG9uZS10aW1lIHNhbXBsZSBpbiBgc3JjL2AgYW5kIGBwdWJsaWMvYCBpZiB0aGVyZSBhcmUgbm8gZmlsZXMgdGhlcmUuXG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICovXG4gIHJlYWRvbmx5IHNhbXBsZUNvZGU/OiBib29sZWFuO1xufVxuXG4vKipcbiAqIFJlYWN0IHByb2plY3QgdXNpbmcgSmF2YVNjcmlwdC5cbiAqXG4gKiBAcGppZCByZWFjdFxuICovXG5leHBvcnQgY2xhc3MgUmVhY3RQcm9qZWN0IGV4dGVuZHMgTm9kZVByb2plY3Qge1xuICAvKipcbiAgICogVGhlIGRpcmVjdG9yeSBpbiB3aGljaCBzb3VyY2UgZmlsZXMgcmVzaWRlLlxuICAgKiBAZGVmYXVsdCBcInNyY1wiXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgc3JjZGlyOiBzdHJpbmc7XG5cbiAgY29uc3RydWN0b3Iob3B0aW9uczogUmVhY3RQcm9qZWN0T3B0aW9ucykge1xuICAgIHN1cGVyKHtcbiAgICAgIGplc3Q6IGZhbHNlLFxuICAgICAgLi4ub3B0aW9ucyxcbiAgICB9KTtcblxuICAgIHRoaXMuc3JjZGlyID0gb3B0aW9ucy5zcmNkaXIgPz8gXCJzcmNcIjtcblxuICAgIG5ldyBSZWFjdENvbXBvbmVudCh0aGlzLCB7IHR5cGVzY3JpcHQ6IGZhbHNlLCByZXdpcmU6IG9wdGlvbnMucmV3aXJlIH0pO1xuXG4gICAgLy8gZ2VuZXJhdGUgc2FtcGxlIGNvZGUgaW4gYHNyY2AgYW5kIGBwdWJsaWNgIGlmIHRoZXNlIGRpcmVjdG9yaWVzIGFyZSBlbXB0eSBvciBub24tZXhpc3RlbnQuXG4gICAgaWYgKG9wdGlvbnMuc2FtcGxlQ29kZSA/PyB0cnVlKSB7XG4gICAgICBuZXcgUmVhY3RTYW1wbGVDb2RlKHRoaXMsIHtcbiAgICAgICAgZmlsZUV4dDogXCJqc3hcIixcbiAgICAgICAgc3JjZGlyOiB0aGlzLnNyY2RpcixcbiAgICAgIH0pO1xuICAgICAgbmV3IFNhbXBsZURpcih0aGlzLCBcInB1YmxpY1wiLCB7XG4gICAgICAgIHNvdXJjZURpcjogcGF0aC5qb2luKF9fZGlybmFtZSwgXCIuLlwiLCBcIi4uXCIsIFwiYXNzZXRzXCIsIFwid2ViXCIsIFwicmVhY3RcIiksXG4gICAgICB9KTtcbiAgICB9XG4gIH1cbn1cblxuLyoqXG4gKiBSZWFjdCBwcm9qZWN0IHVzaW5nIFR5cGVTY3JpcHQuXG4gKlxuICogQHBqaWQgcmVhY3QtdHNcbiAqL1xuZXhwb3J0IGNsYXNzIFJlYWN0VHlwZVNjcmlwdFByb2plY3QgZXh0ZW5kcyBUeXBlU2NyaXB0QXBwUHJvamVjdCB7XG4gIC8qKlxuICAgKiBUaGUgZGlyZWN0b3J5IGluIHdoaWNoIHNvdXJjZSBmaWxlcyByZXNpZGUuXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgc3JjZGlyOiBzdHJpbmc7XG5cbiAgY29uc3RydWN0b3Iob3B0aW9uczogUmVhY3RUeXBlU2NyaXB0UHJvamVjdE9wdGlvbnMpIHtcbiAgICBjb25zdCBkZWZhdWx0T3B0aW9ucyA9IHtcbiAgICAgIHNyY2RpcjogXCJzcmNcIixcbiAgICAgIGVzbGludDogdHJ1ZSxcbiAgICAgIGplc3Q6IGZhbHNlLFxuICAgICAgdHNjb25maWc6IHtcbiAgICAgICAgaW5jbHVkZTogW1wic3JjXCJdLFxuICAgICAgICBjb21waWxlck9wdGlvbnM6IHtcbiAgICAgICAgICB0YXJnZXQ6IFwiZXM1XCIsXG4gICAgICAgICAgbGliOiBbXCJkb21cIiwgXCJkb20uaXRlcmFibGVcIiwgXCJlc25leHRcIl0sXG4gICAgICAgICAgYWxsb3dKczogdHJ1ZSxcbiAgICAgICAgICBza2lwTGliQ2hlY2s6IHRydWUsXG4gICAgICAgICAgZXNNb2R1bGVJbnRlcm9wOiB0cnVlLFxuICAgICAgICAgIGFsbG93U3ludGhldGljRGVmYXVsdEltcG9ydHM6IHRydWUsXG4gICAgICAgICAgc3RyaWN0OiB0cnVlLFxuICAgICAgICAgIGZvcmNlQ29uc2lzdGVudENhc2luZ0luRmlsZU5hbWVzOiB0cnVlLFxuICAgICAgICAgIG5vRmFsbHRocm91Z2hDYXNlc0luU3dpdGNoOiB0cnVlLFxuICAgICAgICAgIG1vZHVsZTogXCJjb21tb25qc1wiLFxuICAgICAgICAgIG1vZHVsZVJlc29sdXRpb246IFR5cGVTY3JpcHRNb2R1bGVSZXNvbHV0aW9uLk5PREUsXG4gICAgICAgICAgcmVzb2x2ZUpzb25Nb2R1bGU6IHRydWUsXG4gICAgICAgICAgaXNvbGF0ZWRNb2R1bGVzOiB0cnVlLFxuICAgICAgICAgIG5vRW1pdDogdHJ1ZSxcbiAgICAgICAgICBqc3g6IFR5cGVTY3JpcHRKc3hNb2RlLlJFQUNUX0pTWCxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgICB0eXBlc2NyaXB0VmVyc2lvbjogb3B0aW9ucy50eXBlc2NyaXB0VmVyc2lvbiA/PyBcIl40LjAuM1wiLFxuICAgIH07XG5cbiAgICAvLyBuZXZlciBnZW5lcmF0ZSBkZWZhdWx0IFR5cGVTY3JpcHQgc2FtcGxlIGNvZGUsIHNpbmNlIHRoaXMgY2xhc3MgcHJvdmlkZXMgaXRzIG93blxuICAgIHN1cGVyKFxuICAgICAgZGVlcE1lcmdlKFtcbiAgICAgICAgZGVmYXVsdE9wdGlvbnMsXG4gICAgICAgIG9wdGlvbnMsXG4gICAgICAgIHsgc2FtcGxlQ29kZTogZmFsc2UgfSxcbiAgICAgIF0pIGFzIFR5cGVTY3JpcHRQcm9qZWN0T3B0aW9uc1xuICAgICk7XG5cbiAgICB0aGlzLnNyY2RpciA9IG9wdGlvbnMuc3JjZGlyID8/IFwic3JjXCI7XG5cbiAgICB0aGlzLmVzbGludD8uYWRkUnVsZXMoe1xuICAgICAgXCJpbXBvcnQvbm8tZXh0cmFuZW91cy1kZXBlbmRlbmNpZXNcIjogW1xuICAgICAgICBcImVycm9yXCIsXG4gICAgICAgIHtcbiAgICAgICAgICBkZXZEZXBlbmRlbmNpZXM6IFtcIioqL3NyYy8qKi8qLnRlc3QudHN4XCIsIFwiKiovc3JjL3NldHVwVGVzdHMudHNcIl0sXG4gICAgICAgICAgb3B0aW9uYWxEZXBlbmRlbmNpZXM6IGZhbHNlLFxuICAgICAgICAgIHBlZXJEZXBlbmRlbmNpZXM6IHRydWUsXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgIH0pO1xuXG4gICAgbmV3IFJlYWN0Q29tcG9uZW50KHRoaXMsIHsgdHlwZXNjcmlwdDogdHJ1ZSwgcmV3aXJlOiBvcHRpb25zLnJld2lyZSB9KTtcblxuICAgIC8vIGdlbmVyYXRlIHNhbXBsZSBjb2RlIGluIGBzcmNgIGFuZCBgcHVibGljYCBpZiB0aGVzZSBkaXJlY3RvcmllcyBhcmUgZW1wdHkgb3Igbm9uLWV4aXN0ZW50LlxuICAgIGlmIChvcHRpb25zLnNhbXBsZUNvZGUgPz8gdHJ1ZSkge1xuICAgICAgbmV3IFJlYWN0U2FtcGxlQ29kZSh0aGlzLCB7XG4gICAgICAgIGZpbGVFeHQ6IFwidHN4XCIsXG4gICAgICAgIHNyY2RpcjogdGhpcy5zcmNkaXIsXG4gICAgICB9KTtcbiAgICAgIG5ldyBTYW1wbGVEaXIodGhpcywgXCJwdWJsaWNcIiwge1xuICAgICAgICBzb3VyY2VEaXI6IHBhdGguam9pbihfX2Rpcm5hbWUsIFwiLi5cIiwgXCIuLlwiLCBcImFzc2V0c1wiLCBcIndlYlwiLCBcInJlYWN0XCIpLFxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgdGhpcy5wYWNrYWdlLmFkZFBhY2thZ2VSZXNvbHV0aW9ucyhcbiAgICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9EZWZpbml0ZWx5VHlwZWQvRGVmaW5pdGVseVR5cGVkL2lzc3Vlcy82MjMwMFxuICAgICAgXCJAdHlwZXMvZXhwcmVzc0A0LjE3LjEzXCIsXG4gICAgICBcIkB0eXBlcy9leHByZXNzLXNlcnZlLXN0YXRpYy1jb3JlQDQuMTcuMzBcIlxuICAgICk7XG4gIH1cbn1cblxuZXhwb3J0IGludGVyZmFjZSBSZWFjdENvbXBvbmVudE9wdGlvbnMgZXh0ZW5kcyBSZWFjdFJld2lyZU9wdGlvbnMge1xuICAvKipcbiAgICogV2hldGhlciB0byBhcHBseSBvcHRpb25zIHNwZWNpZmljIGZvciBUeXBlU2NyaXB0IFJlYWN0IHByb2plY3RzLlxuICAgKlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgcmVhZG9ubHkgdHlwZXNjcmlwdD86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBjbGFzcyBSZWFjdENvbXBvbmVudCBleHRlbmRzIENvbXBvbmVudCB7XG4gIHByaXZhdGUgcmVhZG9ubHkgdHlwZXNjcmlwdDogYm9vbGVhbjtcblxuICBjb25zdHJ1Y3Rvcihwcm9qZWN0OiBOb2RlUHJvamVjdCwgb3B0aW9uczogUmVhY3RDb21wb25lbnRPcHRpb25zKSB7XG4gICAgc3VwZXIocHJvamVjdCk7XG5cbiAgICB0aGlzLnR5cGVzY3JpcHQgPSBvcHRpb25zLnR5cGVzY3JpcHQgPz8gZmFsc2U7XG5cbiAgICAvLyBObyBjb21waWxlIGZvciByZWFjdCBhcHBcbiAgICBwcm9qZWN0LmNvbXBpbGVUYXNrLnJlc2V0KCk7XG5cbiAgICBwcm9qZWN0LmFkZERlcHMoXCJyZWFjdFwiLCBcInJlYWN0LWRvbVwiLCBcIndlYi12aXRhbHNcIik7XG4gICAgcHJvamVjdC5hZGREZXZEZXBzKFxuICAgICAgXCJyZWFjdC1zY3JpcHRzQF41XCIsXG4gICAgICBcIkB0ZXN0aW5nLWxpYnJhcnkvamVzdC1kb21cIixcbiAgICAgIFwiQHRlc3RpbmctbGlicmFyeS9yZWFjdFwiLFxuICAgICAgXCJAdGVzdGluZy1saWJyYXJ5L3VzZXItZXZlbnRcIlxuICAgICk7XG4gICAgaWYgKHRoaXMudHlwZXNjcmlwdCkge1xuICAgICAgcHJvamVjdC5hZGREZXZEZXBzKFwiQHR5cGVzL2plc3RcIiwgXCJAdHlwZXMvcmVhY3RcIiwgXCJAdHlwZXMvcmVhY3QtZG9tXCIpO1xuICAgIH1cblxuICAgIGNvbnN0IHJld2lyZSA9IG9wdGlvbnMucmV3aXJlID8/IGZhbHNlO1xuXG4gICAgaWYgKHJld2lyZSkge1xuICAgICAgY29uc3Qgb3ZlcnJpZGVzUGF0aCA9IFwiLnByb2plbi9yZWFjdC1jb25maWctb3ZlcnJpZGVzLmpzXCI7XG4gICAgICBwcm9qZWN0LmFkZERldkRlcHMoXCJyZWFjdC1hcHAtcmV3aXJlZFwiKTtcbiAgICAgIHByb2plY3QuYWRkRmllbGRzKHsgXCJjb25maWctb3ZlcnJpZGVzLXBhdGhcIjogb3ZlcnJpZGVzUGF0aCB9KTtcblxuICAgICAgY29uc3QgY29uZmlnT3ZlcnJpZGVzID0gbmV3IFNvdXJjZUNvZGUodGhpcy5wcm9qZWN0LCBvdmVycmlkZXNQYXRoKTtcbiAgICAgIGlmICghY29uZmlnT3ZlcnJpZGVzLm1hcmtlcikge1xuICAgICAgICBjb25maWdPdmVycmlkZXMubGluZShgLy8gJHtjb25maWdPdmVycmlkZXMubWFya2VyfWApO1xuICAgICAgfVxuICAgICAgY29uZmlnT3ZlcnJpZGVzLmxpbmUoXCIvKipcIik7XG4gICAgICBjb25maWdPdmVycmlkZXMubGluZShcbiAgICAgICAgXCIgKiBPdmVycmlkZSBDUkEgY29uZmlndXJhdGlvbiB3aXRob3V0IG5lZWRpbmcgdG8gZWplY3QuXCJcbiAgICAgICk7XG4gICAgICBjb25maWdPdmVycmlkZXMubGluZShcIiAqXCIpO1xuICAgICAgY29uZmlnT3ZlcnJpZGVzLmxpbmUoXG4gICAgICAgIFwiICogQHNlZSBodHRwczovL3d3dy5ucG1qcy5jb20vcGFja2FnZS9yZWFjdC1hcHAtcmV3aXJlZFwiXG4gICAgICApO1xuICAgICAgY29uZmlnT3ZlcnJpZGVzLmxpbmUoXCIgKi9cIik7XG4gICAgICBjb25maWdPdmVycmlkZXMub3BlbihcIm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gb3ZlcnJpZGUoY29uZmlnLCBlbnYpIHtcIik7XG4gICAgICBmb3IgKGNvbnN0IFtrZXksIHZhbHVlXSBvZiBPYmplY3QuZW50cmllcyhyZXdpcmUpKSB7XG4gICAgICAgIGNvbmZpZ092ZXJyaWRlcy5saW5lKGBjb25maWcuJHtrZXl9ID0gJHtKU09OLnN0cmluZ2lmeSh2YWx1ZSl9O2ApO1xuICAgICAgfVxuICAgICAgY29uZmlnT3ZlcnJpZGVzLmxpbmUoXCJyZXR1cm4gY29uZmlnO1wiKTtcbiAgICAgIGNvbmZpZ092ZXJyaWRlcy5jbG9zZShcIn07XCIpO1xuICAgIH1cblxuICAgIGNvbnN0IHJlYWN0U2NyaXB0cyA9IHJld2lyZSA/IFwicmVhY3QtYXBwLXJld2lyZWRcIiA6IFwicmVhY3Qtc2NyaXB0c1wiO1xuXG4gICAgLy8gQ3JlYXRlIFJlYWN0IEFwcCBDTEkgY29tbWFuZHMsIHNlZTogaHR0cHM6Ly9jcmVhdGUtcmVhY3QtYXBwLmRldi9kb2NzL2F2YWlsYWJsZS1zY3JpcHRzL1xuICAgIHByb2plY3QuYWRkVGFzayhcImRldlwiLCB7XG4gICAgICBkZXNjcmlwdGlvbjogXCJTdGFydHMgdGhlIHJlYWN0IGFwcGxpY2F0aW9uXCIsXG4gICAgICBleGVjOiBgJHtyZWFjdFNjcmlwdHN9IHN0YXJ0YCxcbiAgICB9KTtcblxuICAgIHByb2plY3QuY29tcGlsZVRhc2suZXhlYyhgJHtyZWFjdFNjcmlwdHN9IGJ1aWxkYCk7XG5cbiAgICBwcm9qZWN0LnRlc3RUYXNrLmV4ZWMoYCR7cmVhY3RTY3JpcHRzfSB0ZXN0IC0td2F0Y2hBbGw9ZmFsc2VgKTtcblxuICAgIGNvbnN0IHRlc3RXYXRjaCA9IHByb2plY3QudGFza3MudHJ5RmluZChcInRlc3Q6d2F0Y2hcIik7XG4gICAgdGVzdFdhdGNoPy5yZXNldChgJHtyZWFjdFNjcmlwdHN9IHRlc3RgKTtcblxuICAgIHByb2plY3QubnBtaWdub3JlPy5leGNsdWRlKFwiIyBCdWlsZFwiLCBcIi9idWlsZC9cIik7XG4gICAgcHJvamVjdC5naXRpZ25vcmUuZXhjbHVkZShcIiMgQnVpbGRcIiwgXCIvYnVpbGQvXCIpO1xuXG4gICAgcHJvamVjdC5wYWNrYWdlLmFkZEZpZWxkKFwiZXNsaW50Q29uZmlnXCIsIHtcbiAgICAgIGV4dGVuZHM6IFtcInJlYWN0LWFwcFwiLCBcInJlYWN0LWFwcC9qZXN0XCJdLFxuICAgIH0pO1xuXG4gICAgcHJvamVjdC5wYWNrYWdlLmFkZEZpZWxkKFwiYnJvd3NlcnNsaXN0XCIsIHtcbiAgICAgIHByb2R1Y3Rpb246IFtcIj4wLjIlXCIsIFwibm90IGRlYWRcIiwgXCJub3Qgb3BfbWluaSBhbGxcIl0sXG4gICAgICBkZXZlbG9wbWVudDogW1xuICAgICAgICBcImxhc3QgMSBjaHJvbWUgdmVyc2lvblwiLFxuICAgICAgICBcImxhc3QgMSBmaXJlZm94IHZlcnNpb25cIixcbiAgICAgICAgXCJsYXN0IDEgc2FmYXJpIHZlcnNpb25cIixcbiAgICAgIF0sXG4gICAgfSk7XG4gIH1cbn1cblxuaW50ZXJmYWNlIFJlYWN0U2FtcGxlQ29kZU9wdGlvbnMge1xuICAvKipcbiAgICogRmlsZSBleHRlbnNpb24gZm9yIHNhbXBsZSBqYXZhc2NyaXB0IGNvZGUgdG8gYmUgc2F2ZWQgYXMuXG4gICAqXG4gICAqIEBkZWZhdWx0IFwianN4XCJcbiAgICovXG4gIHJlYWRvbmx5IGZpbGVFeHQ/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBkaXJlY3RvcnkgaW4gd2hpY2ggUmVhY3QganN4IGZpbGVzIGFyZSBkZWNsYXJlZC5cbiAgICovXG4gIHJlYWRvbmx5IHNyY2Rpcjogc3RyaW5nO1xufVxuXG5jbGFzcyBSZWFjdFNhbXBsZUNvZGUgZXh0ZW5kcyBDb21wb25lbnQge1xuICBwcml2YXRlIHJlYWRvbmx5IGZpbGVFeHQ6IHN0cmluZztcbiAgcHJpdmF0ZSByZWFkb25seSBzcmNkaXI6IHN0cmluZztcblxuICBjb25zdHJ1Y3Rvcihwcm9qZWN0OiBOb2RlUHJvamVjdCwgb3B0aW9uczogUmVhY3RTYW1wbGVDb2RlT3B0aW9ucykge1xuICAgIHN1cGVyKHByb2plY3QpO1xuXG4gICAgdGhpcy5maWxlRXh0ID0gb3B0aW9ucy5maWxlRXh0ID8/IFwianN4XCI7XG4gICAgdGhpcy5zcmNkaXIgPSBvcHRpb25zLnNyY2RpcjtcblxuICAgIGNvbnN0IGxvZ29TdmcgPSBbXG4gICAgICAnPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCA4NDEuOSA1OTUuM1wiPicsXG4gICAgICAnICAgIDxnIGZpbGw9XCIjNjFEQUZCXCI+JyxcbiAgICAgICcgICAgICAgIDxwYXRoIGQ9XCJNNjY2LjMgMjk2LjVjMC0zMi41LTQwLjctNjMuMy0xMDMuMS04Mi40IDE0LjQtNjMuNiA4LTExNC4yLTIwLjItMTMwLjQtNi41LTMuOC0xNC4xLTUuNi0yMi40LTUuNnYyMi4zYzQuNiAwIDguMy45IDExLjQgMi42IDEzLjYgNy44IDE5LjUgMzcuNSAxNC45IDc1LjctMS4xIDkuNC0yLjkgMTkuMy01LjEgMjkuNC0xOS42LTQuOC00MS04LjUtNjMuNS0xMC45LTEzLjUtMTguNS0yNy41LTM1LjMtNDEuNi01MCAzMi42LTMwLjMgNjMuMi00Ni45IDg0LTQ2LjlWNzhjLTI3LjUgMC02My41IDE5LjYtOTkuOSA1My42LTM2LjQtMzMuOC03Mi40LTUzLjItOTkuOS01My4ydjIyLjNjMjAuNyAwIDUxLjQgMTYuNSA4NCA0Ni42LTE0IDE0LjctMjggMzEuNC00MS4zIDQ5LjktMjIuNiAyLjQtNDQgNi4xLTYzLjYgMTEtMi4zLTEwLTQtMTkuNy01LjItMjktNC43LTM4LjIgMS4xLTY3LjkgMTQuNi03NS44IDMtMS44IDYuOS0yLjYgMTEuNS0yLjZWNzguNWMtOC40IDAtMTYgMS44LTIyLjYgNS42LTI4LjEgMTYuMi0zNC40IDY2LjctMTkuOSAxMzAuMS02Mi4yIDE5LjItMTAyLjcgNDkuOS0xMDIuNyA4Mi4zIDAgMzIuNSA0MC43IDYzLjMgMTAzLjEgODIuNC0xNC40IDYzLjYtOCAxMTQuMiAyMC4yIDEzMC40IDYuNSAzLjggMTQuMSA1LjYgMjIuNSA1LjYgMjcuNSAwIDYzLjUtMTkuNiA5OS45LTUzLjYgMzYuNCAzMy44IDcyLjQgNTMuMiA5OS45IDUzLjIgOC40IDAgMTYtMS44IDIyLjYtNS42IDI4LjEtMTYuMiAzNC40LTY2LjcgMTkuOS0xMzAuMSA2Mi0xOS4xIDEwMi41LTQ5LjkgMTAyLjUtODIuM3ptLTEzMC4yLTY2LjdjLTMuNyAxMi45LTguMyAyNi4yLTEzLjUgMzkuNS00LjEtOC04LjQtMTYtMTMuMS0yNC00LjYtOC05LjUtMTUuOC0xNC40LTIzLjQgMTQuMiAyLjEgMjcuOSA0LjcgNDEgNy45em0tNDUuOCAxMDYuNWMtNy44IDEzLjUtMTUuOCAyNi4zLTI0LjEgMzguMi0xNC45IDEuMy0zMCAyLTQ1LjIgMi0xNS4xIDAtMzAuMi0uNy00NS0xLjktOC4zLTExLjktMTYuNC0yNC42LTI0LjItMzgtNy42LTEzLjEtMTQuNS0yNi40LTIwLjgtMzkuOCA2LjItMTMuNCAxMy4yLTI2LjggMjAuNy0zOS45IDcuOC0xMy41IDE1LjgtMjYuMyAyNC4xLTM4LjIgMTQuOS0xLjMgMzAtMiA0NS4yLTIgMTUuMSAwIDMwLjIuNyA0NSAxLjkgOC4zIDExLjkgMTYuNCAyNC42IDI0LjIgMzggNy42IDEzLjEgMTQuNSAyNi40IDIwLjggMzkuOC02LjMgMTMuNC0xMy4yIDI2LjgtMjAuNyAzOS45em0zMi4zLTEzYzUuNCAxMy40IDEwIDI2LjggMTMuOCAzOS44LTEzLjEgMy4yLTI2LjkgNS45LTQxLjIgOCA0LjktNy43IDkuOC0xNS42IDE0LjQtMjMuNyA0LjYtOCA4LjktMTYuMSAxMy0yNC4xek00MjEuMiA0MzBjLTkuMy05LjYtMTguNi0yMC4zLTI3LjgtMzIgOSAuNCAxOC4yLjcgMjcuNS43IDkuNCAwIDE4LjctLjIgMjcuOC0uNy05IDExLjctMTguMyAyMi40LTI3LjUgMzJ6bS03NC40LTU4LjljLTE0LjItMi4xLTI3LjktNC43LTQxLTcuOSAzLjctMTIuOSA4LjMtMjYuMiAxMy41LTM5LjUgNC4xIDggOC40IDE2IDEzLjEgMjQgNC43IDggOS41IDE1LjggMTQuNCAyMy40ek00MjAuNyAxNjNjOS4zIDkuNiAxOC42IDIwLjMgMjcuOCAzMi05LS40LTE4LjItLjctMjcuNS0uNy05LjQgMC0xOC43LjItMjcuOC43IDktMTEuNyAxOC4zLTIyLjQgMjcuNS0zMnptLTc0IDU4LjljLTQuOSA3LjctOS44IDE1LjYtMTQuNCAyMy43LTQuNiA4LTguOSAxNi0xMyAyNC01LjQtMTMuNC0xMC0yNi44LTEzLjgtMzkuOCAxMy4xLTMuMSAyNi45LTUuOCA0MS4yLTcuOXptLTkwLjUgMTI1LjJjLTM1LjQtMTUuMS01OC4zLTM0LjktNTguMy01MC42IDAtMTUuNyAyMi45LTM1LjYgNTguMy01MC42IDguNi0zLjcgMTgtNyAyNy43LTEwLjEgNS43IDE5LjYgMTMuMiA0MCAyMi41IDYwLjktOS4yIDIwLjgtMTYuNiA0MS4xLTIyLjIgNjAuNi05LjktMy4xLTE5LjMtNi41LTI4LTEwLjJ6TTMxMCA0OTBjLTEzLjYtNy44LTE5LjUtMzcuNS0xNC45LTc1LjcgMS4xLTkuNCAyLjktMTkuMyA1LjEtMjkuNCAxOS42IDQuOCA0MSA4LjUgNjMuNSAxMC45IDEzLjUgMTguNSAyNy41IDM1LjMgNDEuNiA1MC0zMi42IDMwLjMtNjMuMiA0Ni45LTg0IDQ2LjktNC41LS4xLTguMy0xLTExLjMtMi43em0yMzcuMi03Ni4yYzQuNyAzOC4yLTEuMSA2Ny45LTE0LjYgNzUuOC0zIDEuOC02LjkgMi42LTExLjUgMi42LTIwLjcgMC01MS40LTE2LjUtODQtNDYuNiAxNC0xNC43IDI4LTMxLjQgNDEuMy00OS45IDIyLjYtMi40IDQ0LTYuMSA2My42LTExIDIuMyAxMC4xIDQuMSAxOS44IDUuMiAyOS4xem0zOC41LTY2LjdjLTguNiAzLjctMTggNy0yNy43IDEwLjEtNS43LTE5LjYtMTMuMi00MC0yMi41LTYwLjkgOS4yLTIwLjggMTYuNi00MS4xIDIyLjItNjAuNiA5LjkgMy4xIDE5LjMgNi41IDI4LjEgMTAuMiAzNS40IDE1LjEgNTguMyAzNC45IDU4LjMgNTAuNi0uMSAxNS43LTIzIDM1LjYtNTguNCA1MC42ek0zMjAuOCA3OC40elwiLz4nLFxuICAgICAgJyAgICAgICAgPGNpcmNsZSBjeD1cIjQyMC45XCIgY3k9XCIyOTYuNVwiIHI9XCI0NS43XCIvPicsXG4gICAgICAnICAgICAgICA8cGF0aCBkPVwiTTUyMC41IDc4LjF6XCIvPicsXG4gICAgICBcIiAgICA8L2c+XCIsXG4gICAgICBcIjwvc3ZnPlwiLFxuICAgICAgXCJcIixcbiAgICBdO1xuXG4gICAgY29uc3QgYXBwSnN4ID0gW1xuICAgICAgXCJpbXBvcnQgbG9nbyBmcm9tICcuL2xvZ28uc3ZnJztcIixcbiAgICAgIFwiaW1wb3J0ICcuL0FwcC5jc3MnXCIsXG4gICAgICBcIlwiLFxuICAgICAgXCJmdW5jdGlvbiBBcHAoKSB7XCIsXG4gICAgICBcIiAgcmV0dXJuIChcIixcbiAgICAgICcgICA8ZGl2IGNsYXNzTmFtZT1cIkFwcFwiPicsXG4gICAgICAnICAgICAgPGhlYWRlciBjbGFzc05hbWU9XCJBcHAtaGVhZGVyXCI+JyxcbiAgICAgICcgICAgICAgIDxpbWcgc3JjPXtsb2dvfSBjbGFzc05hbWU9XCJBcHAtbG9nb1wiIGFsdD1cImxvZ29cIiAvPicsXG4gICAgICBcIiAgICAgICAgPHA+XCIsXG4gICAgICBgICAgICAgICAgIEVkaXQgPGNvZGU+c3JjL0FwcC4ke3RoaXMuZmlsZUV4dH08L2NvZGU+IGFuZCBzYXZlIHRvIHJlbG9hZC5gLFxuICAgICAgXCIgICAgICAgIDwvcD5cIixcbiAgICAgICcgICAgICAgIDxhIGNsYXNzTmFtZT1cIkFwcC1saW5rXCInLFxuICAgICAgJyAgICAgICAgICBocmVmPVwiaHR0cHM6Ly9yZWFjdGpzLm9yZ1wiJyxcbiAgICAgICcgICAgICAgICAgdGFyZ2V0PVwiX2JsYW5rXCInLFxuICAgICAgJyAgICAgICAgICByZWw9XCJub29wZW5lciBub3JlZmVycmVyXCInLFxuICAgICAgXCIgICAgICAgID5cIixcbiAgICAgIFwiICAgICAgICAgIExlYXJuIFJlYWN0XCIsXG4gICAgICBcIiAgICAgICAgPC9hPlwiLFxuICAgICAgXCIgICAgICA8L2hlYWRlcj5cIixcbiAgICAgIFwiICAgIDwvZGl2PlwiLFxuICAgICAgXCIgICk7XCIsXG4gICAgICBcIn1cIixcbiAgICAgIFwiXCIsXG4gICAgICBcImV4cG9ydCBkZWZhdWx0IEFwcDtcIixcbiAgICAgIFwiXCIsXG4gICAgXTtcblxuICAgIGNvbnN0IGFwcENzcyA9IFtcbiAgICAgIFwiLkFwcCB7XCIsXG4gICAgICBcIiAgdGV4dC1hbGlnbjogY2VudGVyO1wiLFxuICAgICAgXCJ9XCIsXG4gICAgICBcIlwiLFxuICAgICAgXCIuQXBwLWxvZ28ge1wiLFxuICAgICAgXCIgIGhlaWdodDogNDB2bWluO1wiLFxuICAgICAgXCIgIHBvaW50ZXItZXZlbnRzOiBub25lO1wiLFxuICAgICAgXCJ9XCIsXG4gICAgICBcIlwiLFxuICAgICAgXCJAbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IG5vLXByZWZlcmVuY2UpIHtcIixcbiAgICAgIFwiICAuQXBwLWxvZ28ge1wiLFxuICAgICAgXCIgICAgYW5pbWF0aW9uOiBBcHAtbG9nby1zcGluIGluZmluaXRlIDIwcyBsaW5lYXI7XCIsXG4gICAgICBcIiAgfVwiLFxuICAgICAgXCJ9XCIsXG4gICAgICBcIlwiLFxuICAgICAgXCIuQXBwLWhlYWRlciB7XCIsXG4gICAgICBcIiAgYmFja2dyb3VuZC1jb2xvcjogIzI4MmMzNDtcIixcbiAgICAgIFwiICBtaW4taGVpZ2h0OiAxMDB2aDtcIixcbiAgICAgIFwiICBkaXNwbGF5OiBmbGV4O1wiLFxuICAgICAgXCIgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XCIsXG4gICAgICBcIiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcIixcbiAgICAgIFwiICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcIixcbiAgICAgIFwiICBmb250LXNpemU6IGNhbGMoMTBweCArIDJ2bWluKTtcIixcbiAgICAgIFwiICBjb2xvcjogd2hpdGU7XCIsXG4gICAgICBcIn1cIixcbiAgICAgIFwiXCIsXG4gICAgICBcIi5BcHAtbGluayB7XCIsXG4gICAgICBcIiAgY29sb3I6ICM2MWRhZmI7XCIsXG4gICAgICBcIn1cIixcbiAgICAgIFwiXCIsXG4gICAgICBcIkBrZXlmcmFtZXMgQXBwLWxvZ28tc3BpbiB7XCIsXG4gICAgICBcIiAgZnJvbSB7XCIsXG4gICAgICBcIiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcIixcbiAgICAgIFwiICB9XCIsXG4gICAgICBcIiAgdG8ge1wiLFxuICAgICAgXCIgICAgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcIixcbiAgICAgIFwiICB9XCIsXG4gICAgICBcIn1cIixcbiAgICAgIFwiXCIsXG4gICAgXTtcblxuICAgIGNvbnN0IGFwcFRlc3RKc3ggPSBbXG4gICAgICBcImltcG9ydCB7IHJlbmRlciwgc2NyZWVuIH0gZnJvbSAnQHRlc3RpbmctbGlicmFyeS9yZWFjdCc7XCIsXG4gICAgICBcImltcG9ydCBBcHAgZnJvbSAnLi9BcHAnO1wiLFxuICAgICAgXCJcIixcbiAgICAgIFwidGVzdCgncmVuZGVycyBsZWFybiByZWFjdCBsaW5rJywgKCkgPT4ge1wiLFxuICAgICAgXCIgIHJlbmRlcig8QXBwIC8+KTtcIixcbiAgICAgIFwiICBjb25zdCBsaW5rRWxlbWVudCA9IHNjcmVlbi5nZXRCeVRleHQoL2xlYXJuIHJlYWN0L2kpO1wiLFxuICAgICAgXCIgIGV4cGVjdChsaW5rRWxlbWVudCkudG9CZUluVGhlRG9jdW1lbnQoKTtcIixcbiAgICAgIFwifSk7XCIsXG4gICAgICBcIlwiLFxuICAgIF07XG5cbiAgICBjb25zdCBpbmRleEpzeCA9IFtcbiAgICAgIFwiaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcIixcbiAgICAgIFwiaW1wb3J0IFJlYWN0RE9NIGZyb20gJ3JlYWN0LWRvbSc7XCIsXG4gICAgICBcImltcG9ydCAnLi9pbmRleC5jc3MnO1wiLFxuICAgICAgXCJpbXBvcnQgQXBwIGZyb20gJy4vQXBwJztcIixcbiAgICAgIFwiaW1wb3J0IHJlcG9ydFdlYlZpdGFscyBmcm9tICcuL3JlcG9ydFdlYlZpdGFscyc7XCIsXG4gICAgICBcIlwiLFxuICAgICAgXCJSZWFjdERPTS5yZW5kZXIoXCIsXG4gICAgICBcIiAgPFJlYWN0LlN0cmljdE1vZGU+XCIsXG4gICAgICBcIiAgICA8QXBwIC8+XCIsXG4gICAgICBcIiAgPC9SZWFjdC5TdHJpY3RNb2RlPixcIixcbiAgICAgIFwiICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgncm9vdCcpXCIsXG4gICAgICBcIik7XCIsXG4gICAgICBcIlwiLFxuICAgICAgXCIvLyBJZiB5b3Ugd2FudCB0byBzdGFydCBtZWFzdXJpbmcgcGVyZm9ybWFuY2UgaW4geW91ciBhcHAsIHBhc3MgYSBmdW5jdGlvblwiLFxuICAgICAgXCIvLyB0byBsb2cgcmVzdWx0cyAoZm9yIGV4YW1wbGU6IHJlcG9ydFdlYlZpdGFscyhjb25zb2xlLmxvZykpXCIsXG4gICAgICBcIi8vIG9yIHNlbmQgdG8gYW4gYW5hbHl0aWNzIGVuZHBvaW50LiBMZWFybiBtb3JlOiBodHRwczovL2JpdC5seS9DUkEtdml0YWxzXCIsXG4gICAgICBcInJlcG9ydFdlYlZpdGFscygpO1wiLFxuICAgICAgXCJcIixcbiAgICBdO1xuXG4gICAgY29uc3QgaW5kZXhDc3MgPSBbXG4gICAgICBcImJvZHkge1wiLFxuICAgICAgXCIgIG1hcmdpbjogMDtcIixcbiAgICAgIFwiICBmb250LWZhbWlseTogLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCAnU2Vnb2UgVUknLCAnUm9ib3RvJywgJ094eWdlbicsXCIsXG4gICAgICBcIiAgICAnVWJ1bnR1JywgJ0NhbnRhcmVsbCcsICdGaXJhIFNhbnMnLCAnRHJvaWQgU2FucycsICdIZWx2ZXRpY2EgTmV1ZScsXCIsXG4gICAgICBcIiAgICBzYW5zLXNlcmlmO1wiLFxuICAgICAgXCIgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1wiLFxuICAgICAgXCIgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XCIsXG4gICAgICBcIn1cIixcbiAgICAgIFwiXCIsXG4gICAgICBcImNvZGUge1wiLFxuICAgICAgXCIgIGZvbnQtZmFtaWx5OiBzb3VyY2UtY29kZS1wcm8sIE1lbmxvLCBNb25hY28sIENvbnNvbGFzLCAnQ291cmllciBOZXcnLFwiLFxuICAgICAgXCIgICAgbW9ub3NwYWNlO1wiLFxuICAgICAgXCJ9XCIsXG4gICAgICBcIlwiLFxuICAgIF07XG5cbiAgICBjb25zdCByZXBvcnRXZWJWaXRhbHNKcyA9IFtcbiAgICAgIFwiaW1wb3J0IHsgUmVwb3J0SGFuZGxlciB9IGZyb20gJ3dlYi12aXRhbHMnO1wiLFxuICAgICAgXCJcIixcbiAgICAgIFwiY29uc3QgcmVwb3J0V2ViVml0YWxzID0gKG9uUGVyZkVudHJ5PzogUmVwb3J0SGFuZGxlcikgPT4ge1wiLFxuICAgICAgXCIgIGlmIChvblBlcmZFbnRyeSAmJiBvblBlcmZFbnRyeSBpbnN0YW5jZW9mIEZ1bmN0aW9uKSB7XCIsXG4gICAgICBcIiAgICBpbXBvcnQoJ3dlYi12aXRhbHMnKS50aGVuKFwiLFxuICAgICAgXCIgICAgICAoeyBnZXRDTFMsIGdldEZJRCwgZ2V0RkNQLCBnZXRMQ1AsIGdldFRURkIgfSkgPT4ge1wiLFxuICAgICAgXCIgICAgICAgIGdldENMUyhvblBlcmZFbnRyeSk7XCIsXG4gICAgICBcIiAgICAgICAgZ2V0RklEKG9uUGVyZkVudHJ5KTtcIixcbiAgICAgIFwiICAgICAgICBnZXRGQ1Aob25QZXJmRW50cnkpO1wiLFxuICAgICAgXCIgICAgICAgIGdldExDUChvblBlcmZFbnRyeSk7XCIsXG4gICAgICBcIiAgICAgICAgZ2V0VFRGQihvblBlcmZFbnRyeSk7XCIsXG4gICAgICBcIiAgICAgIH0sXCIsXG4gICAgICBcIiAgICAgICgpID0+IHt9XCIsXG4gICAgICBcIiAgICApO1wiLFxuICAgICAgXCIgIH1cIixcbiAgICAgIFwifTtcIixcbiAgICAgIFwiXCIsXG4gICAgICBcImV4cG9ydCBkZWZhdWx0IHJlcG9ydFdlYlZpdGFscztcIixcbiAgICBdO1xuXG4gICAgY29uc3Qgc2V0dXBUZXN0c0pzID0gW1xuICAgICAgXCIvLyBqZXN0LWRvbSBhZGRzIGN1c3RvbSBqZXN0IG1hdGNoZXJzIGZvciBhc3NlcnRpbmcgb24gRE9NIG5vZGVzLlwiLFxuICAgICAgXCIvLyBhbGxvd3MgeW91IHRvIGRvIHRoaW5ncyBsaWtlOlwiLFxuICAgICAgXCIvLyBleHBlY3QoZWxlbWVudCkudG9IYXZlVGV4dENvbnRlbnQoL3JlYWN0L2kpXCIsXG4gICAgICBcIi8vIGxlYXJuIG1vcmU6IGh0dHBzOi8vZ2l0aHViLmNvbS90ZXN0aW5nLWxpYnJhcnkvamVzdC1kb21cIixcbiAgICAgIFwiaW1wb3J0ICdAdGVzdGluZy1saWJyYXJ5L2plc3QtZG9tJztcIixcbiAgICAgIFwiXCIsXG4gICAgXTtcblxuICAgIGNvbnN0IHJlYWN0VHlwZURlZiA9IFsnLy8vIDxyZWZlcmVuY2UgdHlwZXM9XCJyZWFjdC1zY3JpcHRzXCIgLz4nXTtcblxuICAgIC8vIGpzL3RzIG5vdCBqc3gvdHN4XG4gICAgY29uc3QgZmlsZUV4dFdpdGhvdXRYID0gdGhpcy5maWxlRXh0LnJlcGxhY2UoXCJ4XCIsIFwiXCIpO1xuXG4gICAgbmV3IFNhbXBsZURpcihwcm9qZWN0LCB0aGlzLnNyY2Rpciwge1xuICAgICAgZmlsZXM6IHtcbiAgICAgICAgXCJyZWFjdC1hcHAtZW52LmQudHNcIjogcmVhY3RUeXBlRGVmLmpvaW4oXCJcXG5cIiksXG4gICAgICAgIFwibG9nby5zdmdcIjogbG9nb1N2Zy5qb2luKFwiXFxuXCIpLFxuICAgICAgICBbXCJBcHAuXCIgKyB0aGlzLmZpbGVFeHRdOiBhcHBKc3guam9pbihcIlxcblwiKSxcbiAgICAgICAgW1wiQXBwLnRlc3QuXCIgKyB0aGlzLmZpbGVFeHRdOiBhcHBUZXN0SnN4LmpvaW4oXCJcXG5cIiksXG4gICAgICAgIFwiQXBwLmNzc1wiOiBhcHBDc3Muam9pbihcIlxcblwiKSxcbiAgICAgICAgW1wiaW5kZXguXCIgKyB0aGlzLmZpbGVFeHRdOiBpbmRleEpzeC5qb2luKFwiXFxuXCIpLFxuICAgICAgICBcImluZGV4LmNzc1wiOiBpbmRleENzcy5qb2luKFwiXFxuXCIpLFxuICAgICAgICBbXCJyZXBvcnRXZWJWaXRhbHMuXCIgKyBmaWxlRXh0V2l0aG91dFhdOiByZXBvcnRXZWJWaXRhbHNKcy5qb2luKFwiXFxuXCIpLFxuICAgICAgICBbXCJzZXR1cFRlc3RzLlwiICsgZmlsZUV4dFdpdGhvdXRYXTogc2V0dXBUZXN0c0pzLmpvaW4oXCJcXG5cIiksXG4gICAgICB9LFxuICAgIH0pO1xuICB9XG59XG5cbi8qKlxuICogQGRlcHJlY2F0ZWQgTm8gbG9uZ2VyIHVzZWQuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUmVhY3RUeXBlRGVmT3B0aW9ucyBleHRlbmRzIEZpbGVCYXNlT3B0aW9ucyB7fVxuXG4vKipcbiAqIEBkZXByZWNhdGVkIE5vIGxvbmdlciB1c2VkLlxuICovXG5leHBvcnQgY2xhc3MgUmVhY3RUeXBlRGVmIGV4dGVuZHMgRmlsZUJhc2Uge1xuICBjb25zdHJ1Y3RvcihcbiAgICBwcm9qZWN0OiBSZWFjdFR5cGVTY3JpcHRQcm9qZWN0LFxuICAgIGZpbGVQYXRoOiBzdHJpbmcsXG4gICAgb3B0aW9uczogUmVhY3RUeXBlRGVmT3B0aW9ucyA9IHt9XG4gICkge1xuICAgIHN1cGVyKHByb2plY3QsIGZpbGVQYXRoLCBvcHRpb25zKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBzeW50aGVzaXplQ29udGVudChfOiBJUmVzb2x2ZXIpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiBbJy8vLyA8cmVmZXJlbmNlIHR5cGVzPVwicmVhY3Qtc2NyaXB0c1wiIC8+J10uam9pbihcIlxcblwiKTtcbiAgfVxufVxuIl19
@@ -33,5 +33,5 @@ class TailwindConfig {
33
33
  }
34
34
  exports.TailwindConfig = TailwindConfig;
35
35
  _a = JSII_RTTI_SYMBOL_1;
36
- TailwindConfig[_a] = { fqn: "projen.web.TailwindConfig", version: "0.91.4" };
36
+ TailwindConfig[_a] = { fqn: "projen.web.TailwindConfig", version: "0.91.5" };
37
37
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFpbHdpbmQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvd2ViL3RhaWx3aW5kLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQ0Esa0NBQW1DO0FBU25DOzs7Ozs7O0dBT0c7QUFDSCxNQUFhLGNBQWM7SUFJekIsWUFBWSxPQUFvQixFQUFFLE9BQStCO1FBQy9ELElBQUksQ0FBQyxRQUFRLEdBQUcsT0FBTyxFQUFFLFFBQVEsSUFBSSxzQkFBc0IsQ0FBQztRQUU1RCxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksZUFBUSxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQy9DLEdBQUcsRUFBRTtnQkFDSCxPQUFPLEVBQUUsRUFBRTtnQkFDWCxLQUFLLEVBQUUsS0FBSztnQkFDWixLQUFLLEVBQUU7b0JBQ0wsTUFBTSxFQUFFLEVBQUU7aUJBQ1g7Z0JBQ0QsUUFBUSxFQUFFO29CQUNSLE1BQU0sRUFBRSxFQUFFO2lCQUNYO2dCQUNELE9BQU8sRUFBRSxFQUFFO2FBQ1o7U0FDRixDQUFDLENBQUM7UUFFSCxPQUFPLENBQUMsU0FBUyxFQUFFLE9BQU8sQ0FBQyxJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO0lBQ2xELENBQUM7O0FBdEJILHdDQXVCQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5vZGVQcm9qZWN0IH0gZnJvbSBcIi4uL2phdmFzY3JpcHRcIjtcbmltcG9ydCB7IEpzb25GaWxlIH0gZnJvbSBcIi4uL2pzb25cIjtcblxuZXhwb3J0IGludGVyZmFjZSBUYWlsd2luZENvbmZpZ09wdGlvbnMge1xuICAvKipcbiAgICogQGRlZmF1bHQgXCJ0YWlsd2luZC5jb25maWcuanNvblwiXG4gICAqL1xuICByZWFkb25seSBmaWxlTmFtZT86IHN0cmluZztcbn1cblxuLyoqXG4gKiBEZWNsYXJlcyBhIFRhaWx3aW5kIENTUyBjb25maWd1cmF0aW9uIGZpbGUuXG4gKlxuICogVGhlcmUgYXJlIG11bHRpcGxlIHdheXMgdG8gYWRkIFRhaWx3aW5kIENTUyBpbiB5b3VyIG5vZGUgcHJvamVjdCAtIHNlZTpcbiAqIGh0dHBzOi8vdGFpbHdpbmRjc3MuY29tL2RvY3MvaW5zdGFsbGF0aW9uXG4gKlxuICogQHNlZSBQb3N0Q3NzXG4gKi9cbmV4cG9ydCBjbGFzcyBUYWlsd2luZENvbmZpZyB7XG4gIHB1YmxpYyByZWFkb25seSBmaWxlTmFtZTogc3RyaW5nO1xuICBwdWJsaWMgcmVhZG9ubHkgZmlsZTogSnNvbkZpbGU7XG5cbiAgY29uc3RydWN0b3IocHJvamVjdDogTm9kZVByb2plY3QsIG9wdGlvbnM/OiBUYWlsd2luZENvbmZpZ09wdGlvbnMpIHtcbiAgICB0aGlzLmZpbGVOYW1lID0gb3B0aW9ucz8uZmlsZU5hbWUgPz8gXCJ0YWlsd2luZC5jb25maWcuanNvblwiO1xuXG4gICAgdGhpcy5maWxlID0gbmV3IEpzb25GaWxlKHByb2plY3QsIHRoaXMuZmlsZU5hbWUsIHtcbiAgICAgIG9iajoge1xuICAgICAgICBjb250ZW50OiBbXSxcbiAgICAgICAgbWVkaWE6IGZhbHNlLFxuICAgICAgICB0aGVtZToge1xuICAgICAgICAgIGV4dGVuZDoge30sXG4gICAgICAgIH0sXG4gICAgICAgIHZhcmlhbnRzOiB7XG4gICAgICAgICAgZXh0ZW5kOiB7fSxcbiAgICAgICAgfSxcbiAgICAgICAgcGx1Z2luczogW10sXG4gICAgICB9LFxuICAgIH0pO1xuXG4gICAgcHJvamVjdC5ucG1pZ25vcmU/LmV4Y2x1ZGUoYC8ke3RoaXMuZmlsZU5hbWV9YCk7XG4gIH1cbn1cbiJdfQ==
package/lib/xmlfile.js CHANGED
@@ -32,5 +32,5 @@ class XmlFile extends object_file_1.ObjectFile {
32
32
  }
33
33
  exports.XmlFile = XmlFile;
34
34
  _a = JSII_RTTI_SYMBOL_1;
35
- XmlFile[_a] = { fqn: "projen.XmlFile", version: "0.91.4" };
35
+ XmlFile[_a] = { fqn: "projen.XmlFile", version: "0.91.5" };
36
36
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieG1sZmlsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy94bWxmaWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsNkNBQWtEO0FBRWxELCtDQUE4RDtBQVE5RDs7Ozs7R0FLRztBQUNILE1BQWEsT0FBUSxTQUFRLHdCQUFVO0lBQ3JDLFlBQ0UsT0FBZ0IsRUFDaEIsUUFBZ0IsRUFDaEIsVUFBMEIsRUFBRTtRQUU1QixLQUFLLENBQUMsT0FBTyxFQUFFLFFBQVEsRUFBRSxPQUFPLENBQUMsQ0FBQztJQUNwQyxDQUFDO0lBRVMsaUJBQWlCLENBQUMsUUFBbUI7UUFDN0MsTUFBTSxHQUFHLEdBQUcsS0FBSyxDQUFDLGlCQUFpQixDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQzlDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQztZQUNULE9BQU8sU0FBUyxDQUFDO1FBQ25CLENBQUM7UUFFRCxNQUFNLFNBQVMsR0FBRyxJQUFBLG9CQUFTLEVBQUMsRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLEVBQUUsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDO1lBQzFELFdBQVcsRUFBRSxJQUFJO1lBQ2pCLE1BQU0sRUFBRSxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztTQUN0QixDQUFDLENBQUM7UUFFSCxPQUFPO1lBQ0wsU0FBUztZQUNULEdBQUcsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsSUFBSSxDQUFDLE1BQU0sTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztTQUNwRCxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNmLENBQUM7O0FBeEJILDBCQXlCQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNyZWF0ZSBhcyBjcmVhdGV4bWwgfSBmcm9tIFwieG1sYnVpbGRlcjJcIjtcbmltcG9ydCB7IElSZXNvbHZlciB9IGZyb20gXCIuL2ZpbGVcIjtcbmltcG9ydCB7IE9iamVjdEZpbGUsIE9iamVjdEZpbGVPcHRpb25zIH0gZnJvbSBcIi4vb2JqZWN0LWZpbGVcIjtcbmltcG9ydCB7IFByb2plY3QgfSBmcm9tIFwiLi9wcm9qZWN0XCI7XG5cbi8qKlxuICogT3B0aW9ucyBmb3IgYFhtbEZpbGVgLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFhtbEZpbGVPcHRpb25zIGV4dGVuZHMgT2JqZWN0RmlsZU9wdGlvbnMge31cblxuLyoqXG4gKiBSZXByZXNlbnRzIGFuIFhNTCBmaWxlLlxuICpcbiAqIE9iamVjdHMgcGFzc2VkIGluIHdpbGwgYmUgc3ludGhlc2l6ZWQgdXNpbmcgdGhlIG5wbSBcInhtbFwiIGxpYnJhcnkuXG4gKiBAc2VlIGh0dHBzOi8vd3d3Lm5wbWpzLmNvbS9wYWNrYWdlL3htbFxuICovXG5leHBvcnQgY2xhc3MgWG1sRmlsZSBleHRlbmRzIE9iamVjdEZpbGUge1xuICBjb25zdHJ1Y3RvcihcbiAgICBwcm9qZWN0OiBQcm9qZWN0LFxuICAgIGZpbGVQYXRoOiBzdHJpbmcsXG4gICAgb3B0aW9uczogWG1sRmlsZU9wdGlvbnMgPSB7fVxuICApIHtcbiAgICBzdXBlcihwcm9qZWN0LCBmaWxlUGF0aCwgb3B0aW9ucyk7XG4gIH1cblxuICBwcm90ZWN0ZWQgc3ludGhlc2l6ZUNvbnRlbnQocmVzb2x2ZXI6IElSZXNvbHZlcik6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgY29uc3Qgb2JqID0gc3VwZXIuc3ludGhlc2l6ZUNvbnRlbnQocmVzb2x2ZXIpO1xuICAgIGlmICghb2JqKSB7XG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cblxuICAgIGNvbnN0IHhtbFN0cmluZyA9IGNyZWF0ZXhtbCh7IGVuY29kaW5nOiBcIlVURi04XCIgfSwgb2JqKS5lbmQoe1xuICAgICAgcHJldHR5UHJpbnQ6IHRydWUsXG4gICAgICBpbmRlbnQ6IFwiIFwiLnJlcGVhdCg0KSxcbiAgICB9KTtcblxuICAgIHJldHVybiBbXG4gICAgICB4bWxTdHJpbmcsXG4gICAgICAuLi4odGhpcy5tYXJrZXIgPyBbYDwhLS0gJHt0aGlzLm1hcmtlcn0gLS0+YF0gOiBbXSksXG4gICAgXS5qb2luKFwiXFxuXCIpO1xuICB9XG59XG4iXX0=
package/lib/yaml.js CHANGED
@@ -30,5 +30,5 @@ class YamlFile extends object_file_1.ObjectFile {
30
30
  }
31
31
  exports.YamlFile = YamlFile;
32
32
  _a = JSII_RTTI_SYMBOL_1;
33
- YamlFile[_a] = { fqn: "projen.YamlFile", version: "0.91.4" };
33
+ YamlFile[_a] = { fqn: "projen.YamlFile", version: "0.91.5" };
34
34
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieWFtbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy95YW1sLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQ0EsNkJBQTZCO0FBRTdCLCtDQUE4RDtBQWM5RDs7R0FFRztBQUNILE1BQWEsUUFBUyxTQUFRLHdCQUFVO0lBTXRDLFlBQVksS0FBaUIsRUFBRSxRQUFnQixFQUFFLE9BQXdCO1FBQ3ZFLEtBQUssQ0FBQyxLQUFLLEVBQUUsUUFBUSxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBQ2hDLElBQUksQ0FBQyxTQUFTLEdBQUcsT0FBTyxDQUFDLFNBQVMsSUFBSSxDQUFDLENBQUM7SUFDMUMsQ0FBQztJQUVTLGlCQUFpQixDQUFDLFFBQW1CO1FBQzdDLE1BQU0sSUFBSSxHQUFHLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUMvQyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDVixPQUFPLFNBQVMsQ0FBQztRQUNuQixDQUFDO1FBRUQsT0FBTztZQUNMLEdBQUcsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztZQUM1QyxFQUFFO1lBQ0YsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxFQUFFO2dCQUMvQixNQUFNLEVBQUUsQ0FBQztnQkFDVCxTQUFTLEVBQUUsSUFBSSxDQUFDLFNBQVM7YUFDMUIsQ0FBQztTQUNILENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2YsQ0FBQzs7QUF6QkgsNEJBMEJDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSUNvbnN0cnVjdCB9IGZyb20gXCJjb25zdHJ1Y3RzXCI7XG5pbXBvcnQgKiBhcyBZQU1MIGZyb20gXCJ5YW1sXCI7XG5pbXBvcnQgeyBJUmVzb2x2ZXIgfSBmcm9tIFwiLi9maWxlXCI7XG5pbXBvcnQgeyBPYmplY3RGaWxlLCBPYmplY3RGaWxlT3B0aW9ucyB9IGZyb20gXCIuL29iamVjdC1maWxlXCI7XG5cbi8qKlxuICogT3B0aW9ucyBmb3IgYEpzb25GaWxlYC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBZYW1sRmlsZU9wdGlvbnMgZXh0ZW5kcyBPYmplY3RGaWxlT3B0aW9ucyB7XG4gIC8qKlxuICAgKiBNYXhpbXVtIGxpbmUgd2lkdGggKHNldCB0byAwIHRvIGRpc2FibGUgZm9sZGluZykuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gMFxuICAgKi9cbiAgcmVhZG9ubHkgbGluZVdpZHRoPzogbnVtYmVyO1xufVxuXG4vKipcbiAqIFJlcHJlc2VudHMgYSBZQU1MIGZpbGUuXG4gKi9cbmV4cG9ydCBjbGFzcyBZYW1sRmlsZSBleHRlbmRzIE9iamVjdEZpbGUge1xuICAvKipcbiAgICogTWF4aW11bSBsaW5lIHdpZHRoIChzZXQgdG8gMCB0byBkaXNhYmxlIGZvbGRpbmcpLlxuICAgKi9cbiAgcHVibGljIGxpbmVXaWR0aDogbnVtYmVyO1xuXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBJQ29uc3RydWN0LCBmaWxlUGF0aDogc3RyaW5nLCBvcHRpb25zOiBZYW1sRmlsZU9wdGlvbnMpIHtcbiAgICBzdXBlcihzY29wZSwgZmlsZVBhdGgsIG9wdGlvbnMpO1xuICAgIHRoaXMubGluZVdpZHRoID0gb3B0aW9ucy5saW5lV2lkdGggPz8gMDtcbiAgfVxuXG4gIHByb3RlY3RlZCBzeW50aGVzaXplQ29udGVudChyZXNvbHZlcjogSVJlc29sdmVyKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgICBjb25zdCBqc29uID0gc3VwZXIuc3ludGhlc2l6ZUNvbnRlbnQocmVzb2x2ZXIpO1xuICAgIGlmICghanNvbikge1xuICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICB9XG5cbiAgICByZXR1cm4gW1xuICAgICAgLi4uKHRoaXMubWFya2VyID8gW2AjICR7dGhpcy5tYXJrZXJ9YF0gOiBbXSksXG4gICAgICBcIlwiLFxuICAgICAgWUFNTC5zdHJpbmdpZnkoSlNPTi5wYXJzZShqc29uKSwge1xuICAgICAgICBpbmRlbnQ6IDIsXG4gICAgICAgIGxpbmVXaWR0aDogdGhpcy5saW5lV2lkdGgsXG4gICAgICB9KSxcbiAgICBdLmpvaW4oXCJcXG5cIik7XG4gIH1cbn1cbiJdfQ==
@@ -5,6 +5,12 @@ All notable changes to this project will be documented in this file.
5
5
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/)
6
6
  and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
7
 
8
+ ## [v2.16.1](https://github.com/inspect-js/is-core-module/compare/v2.16.0...v2.16.1) - 2024-12-21
9
+
10
+ ### Fixed
11
+
12
+ - [Fix] `node:sqlite` is available in node ^22.13 [`#17`](https://github.com/inspect-js/is-core-module/issues/17)
13
+
8
14
  ## [v2.16.0](https://github.com/inspect-js/is-core-module/compare/v2.15.1...v2.16.0) - 2024-12-13
9
15
 
10
16
  ### Commits
@@ -91,7 +91,7 @@
91
91
  "node:repl": [">= 14.18 && < 15", ">= 16"],
92
92
  "node:sea": [">= 20.12 && < 21", ">= 21.7"],
93
93
  "smalloc": ">= 0.11.5 && < 3",
94
- "node:sqlite": ">= 23.4",
94
+ "node:sqlite": [">= 22.13 && < 23", ">= 23.4"],
95
95
  "_stream_duplex": ">= 0.9.4",
96
96
  "node:_stream_duplex": [">= 14.18 && < 15", ">= 16"],
97
97
  "_stream_transform": ">= 0.9.4",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "is-core-module",
3
- "version": "2.16.0",
3
+ "version": "2.16.1",
4
4
  "description": "Is this specifier a node.js core module?",
5
5
  "main": "index.js",
6
6
  "sideEffects": false,
@@ -55,24 +55,29 @@ The first has the simplest API and "just works", the second gets you all the bel
55
55
 
56
56
  A [command-line tool](https://eemeli.org/yaml/#command-line-tool) is also included.
57
57
 
58
+ ### Parse & Stringify
59
+
58
60
  ```js
59
61
  import { parse, stringify } from 'yaml'
60
- // or
61
- import YAML from 'yaml'
62
- // or
63
- const YAML = require('yaml')
64
62
  ```
65
63
 
66
- ### Parse & Stringify
67
-
68
64
  - [`parse(str, reviver?, options?): value`](https://eemeli.org/yaml/#yaml-parse)
69
65
  - [`stringify(value, replacer?, options?): string`](https://eemeli.org/yaml/#yaml-stringify)
70
66
 
71
67
  ### Documents
72
68
 
69
+ <!-- prettier-ignore -->
70
+ ```js
71
+ import {
72
+ Document,
73
+ isDocument,
74
+ parseAllDocuments,
75
+ parseDocument
76
+ } from 'yaml'
77
+ ```
78
+
73
79
  - [`Document`](https://eemeli.org/yaml/#documents)
74
80
  - [`constructor(value, replacer?, options?)`](https://eemeli.org/yaml/#creating-documents)
75
- - [`#anchors`](https://eemeli.org/yaml/#working-with-anchors)
76
81
  - [`#contents`](https://eemeli.org/yaml/#content-nodes)
77
82
  - [`#directives`](https://eemeli.org/yaml/#stream-directives)
78
83
  - [`#errors`](https://eemeli.org/yaml/#errors)
@@ -83,6 +88,15 @@ const YAML = require('yaml')
83
88
 
84
89
  ### Content Nodes
85
90
 
91
+ <!-- prettier-ignore -->
92
+ ```js
93
+ import {
94
+ isAlias, isCollection, isMap, isNode,
95
+ isPair, isScalar, isSeq, Scalar,
96
+ visit, visitAsync, YAMLMap, YAMLSeq
97
+ } from 'yaml'
98
+ ```
99
+
86
100
  - [`isAlias(foo): boolean`](https://eemeli.org/yaml/#identifying-node-types)
87
101
  - [`isCollection(foo): boolean`](https://eemeli.org/yaml/#identifying-node-types)
88
102
  - [`isMap(foo): boolean`](https://eemeli.org/yaml/#identifying-node-types)
@@ -93,13 +107,18 @@ const YAML = require('yaml')
93
107
  - [`new Scalar(value)`](https://eemeli.org/yaml/#scalar-values)
94
108
  - [`new YAMLMap()`](https://eemeli.org/yaml/#collections)
95
109
  - [`new YAMLSeq()`](https://eemeli.org/yaml/#collections)
96
- - [`doc.createAlias(node, name?): Alias`](https://eemeli.org/yaml/#working-with-anchors)
110
+ - [`doc.createAlias(node, name?): Alias`](https://eemeli.org/yaml/#creating-nodes)
97
111
  - [`doc.createNode(value, options?): Node`](https://eemeli.org/yaml/#creating-nodes)
98
112
  - [`doc.createPair(key, value): Pair`](https://eemeli.org/yaml/#creating-nodes)
99
113
  - [`visit(node, visitor)`](https://eemeli.org/yaml/#finding-and-modifying-nodes)
114
+ - [`visitAsync(node, visitor)`](https://eemeli.org/yaml/#finding-and-modifying-nodes)
100
115
 
101
116
  ### Parsing YAML
102
117
 
118
+ ```js
119
+ import { Composer, Lexer, Parser } from 'yaml'
120
+ ```
121
+
103
122
  - [`new Lexer().lex(src)`](https://eemeli.org/yaml/#lexer)
104
123
  - [`new Parser(onNewLine?).parse(src)`](https://eemeli.org/yaml/#parser)
105
124
  - [`new Composer(options?).compose(tokens)`](https://eemeli.org/yaml/#composer)
@@ -55,7 +55,7 @@ function resolveProps(tokens, { flow, indicator, next, offset, onError, parentIn
55
55
  if (atNewline) {
56
56
  if (comment)
57
57
  comment += token.source;
58
- else
58
+ else if (!found || indicator !== 'seq-item-ind')
59
59
  spaceBefore = true;
60
60
  }
61
61
  else
@@ -4,10 +4,7 @@ function debug(logLevel, ...messages) {
4
4
  }
5
5
  function warn(logLevel, warning) {
6
6
  if (logLevel === 'debug' || logLevel === 'warn') {
7
- if (typeof process !== 'undefined' && process.emitWarning)
8
- process.emitWarning(warning);
9
- else
10
- console.warn(warning);
7
+ console.warn(warning);
11
8
  }
12
9
  }
13
10
 
@@ -14,10 +14,7 @@ const binary = {
14
14
  * document.querySelector('#photo').src = URL.createObjectURL(blob)
15
15
  */
16
16
  resolve(src, onError) {
17
- if (typeof Buffer === 'function') {
18
- return Buffer.from(src, 'base64');
19
- }
20
- else if (typeof atob === 'function') {
17
+ if (typeof atob === 'function') {
21
18
  // On IE 11, atob() can't handle newlines
22
19
  const str = atob(src.replace(/[\n\r]/g, ''));
23
20
  const buffer = new Uint8Array(str.length);
@@ -33,13 +30,7 @@ const binary = {
33
30
  stringify({ comment, type, value }, ctx, onComment, onChompKeep) {
34
31
  const buf = value; // checked earlier by binary.identify()
35
32
  let str;
36
- if (typeof Buffer === 'function') {
37
- str =
38
- buf instanceof Buffer
39
- ? buf.toString('base64')
40
- : Buffer.from(buf.buffer).toString('base64');
41
- }
42
- else if (typeof btoa === 'function') {
33
+ if (typeof btoa === 'function') {
43
34
  let s = '';
44
35
  for (let i = 0; i < buf.length; ++i)
45
36
  s += String.fromCharCode(buf[i]);
@@ -1,8 +1,8 @@
1
1
  export { createNode } from './doc/createNode.js';
2
2
  export { debug, warn } from './log.js';
3
3
  export { createPair } from './nodes/Pair.js';
4
- export { findPair } from './nodes/YAMLMap.js';
5
4
  export { toJS } from './nodes/toJS.js';
5
+ export { findPair } from './nodes/YAMLMap.js';
6
6
  export { map as mapTag } from './schema/common/map.js';
7
7
  export { seq as seqTag } from './schema/common/seq.js';
8
8
  export { string as stringTag } from './schema/common/string.js';
@@ -1,7 +1,7 @@
1
- import type { ParsedNode } from '../nodes/Node.js';
2
- import type { BlockMap, BlockSequence, FlowCollection, SourceToken } from '../parse/cst.js';
3
- import type { ComposeContext, ComposeNode } from './compose-node.js';
4
- import type { ComposeErrorHandler } from './composer.js';
1
+ import type { ParsedNode } from '../nodes/Node';
2
+ import type { BlockMap, BlockSequence, FlowCollection, SourceToken } from '../parse/cst';
3
+ import type { ComposeContext, ComposeNode } from './compose-node';
4
+ import type { ComposeErrorHandler } from './composer';
5
5
  interface Props {
6
6
  anchor: SourceToken | null;
7
7
  tag: SourceToken | null;
@@ -1,7 +1,7 @@
1
- import type { Directives } from '../doc/directives.js';
2
- import { Document } from '../doc/Document.js';
3
- import type { ParsedNode } from '../nodes/Node.js';
4
- import type { DocumentOptions, ParseOptions, SchemaOptions } from '../options.js';
5
- import type * as CST from '../parse/cst.js';
6
- import type { ComposeErrorHandler } from './composer.js';
1
+ import type { Directives } from '../doc/directives';
2
+ import { Document } from '../doc/Document';
3
+ import type { ParsedNode } from '../nodes/Node';
4
+ import type { DocumentOptions, ParseOptions, SchemaOptions } from '../options';
5
+ import type * as CST from '../parse/cst';
6
+ import type { ComposeErrorHandler } from './composer';
7
7
  export declare function composeDoc<Contents extends ParsedNode = ParsedNode, Strict extends boolean = true>(options: ParseOptions & DocumentOptions & SchemaOptions, directives: Directives, { offset, start, value, end }: CST.Document, onError: ComposeErrorHandler): Document.Parsed<Contents, Strict>;
@@ -1,9 +1,9 @@
1
- import type { Directives } from '../doc/directives.js';
2
- import type { ParsedNode } from '../nodes/Node.js';
3
- import type { ParseOptions } from '../options.js';
4
- import type { SourceToken, Token } from '../parse/cst.js';
5
- import type { Schema } from '../schema/Schema.js';
6
- import type { ComposeErrorHandler } from './composer.js';
1
+ import type { Directives } from '../doc/directives';
2
+ import type { ParsedNode } from '../nodes/Node';
3
+ import type { ParseOptions } from '../options';
4
+ import type { SourceToken, Token } from '../parse/cst';
5
+ import type { Schema } from '../schema/Schema';
6
+ import type { ComposeErrorHandler } from './composer';
7
7
  export interface ComposeContext {
8
8
  atKey: boolean;
9
9
  atRoot: boolean;
@@ -25,5 +25,5 @@ declare const CN: {
25
25
  };
26
26
  export type ComposeNode = typeof CN;
27
27
  export declare function composeNode(ctx: ComposeContext, token: Token, props: Props, onError: ComposeErrorHandler): ParsedNode;
28
- export declare function composeEmptyNode(ctx: ComposeContext, offset: number, before: Token[] | undefined, pos: number | null, { spaceBefore, comment, anchor, tag, end }: Props, onError: ComposeErrorHandler): import("../index.js").Scalar.Parsed;
28
+ export declare function composeEmptyNode(ctx: ComposeContext, offset: number, before: Token[] | undefined, pos: number | null, { spaceBefore, comment, anchor, tag, end }: Props, onError: ComposeErrorHandler): import('../index').Scalar.Parsed;
29
29
  export {};
@@ -1,5 +1,5 @@
1
- import { Scalar } from '../nodes/Scalar.js';
2
- import type { BlockScalar, FlowScalar, SourceToken } from '../parse/cst.js';
3
- import type { ComposeContext } from './compose-node.js';
4
- import type { ComposeErrorHandler } from './composer.js';
1
+ import { Scalar } from '../nodes/Scalar';
2
+ import type { BlockScalar, FlowScalar, SourceToken } from '../parse/cst';
3
+ import type { ComposeContext } from './compose-node';
4
+ import type { ComposeErrorHandler } from './composer';
5
5
  export declare function composeScalar(ctx: ComposeContext, token: FlowScalar | BlockScalar, tagToken: SourceToken | null, onError: ComposeErrorHandler): Scalar.Parsed;
@@ -1,9 +1,10 @@
1
- import { Directives } from '../doc/directives.js';
2
- import { Document } from '../doc/Document.js';
3
- import { ErrorCode, YAMLParseError, YAMLWarning } from '../errors.js';
4
- import type { ParsedNode, Range } from '../nodes/Node.js';
5
- import type { DocumentOptions, ParseOptions, SchemaOptions } from '../options.js';
6
- import type { Token } from '../parse/cst.js';
1
+ import { Directives } from '../doc/directives';
2
+ import { Document } from '../doc/Document';
3
+ import type { ErrorCode } from '../errors';
4
+ import { YAMLParseError, YAMLWarning } from '../errors';
5
+ import type { ParsedNode, Range } from '../nodes/Node';
6
+ import type { DocumentOptions, ParseOptions, SchemaOptions } from '../options';
7
+ import type { Token } from '../parse/cst';
7
8
  type ErrorSource = number | [number, number] | Range | {
8
9
  offset: number;
9
10
  source?: string;
@@ -1,5 +1,6 @@
1
1
  'use strict';
2
2
 
3
+ var node_process = require('node:process');
3
4
  var directives = require('../doc/directives.js');
4
5
  var Document = require('../doc/Document.js');
5
6
  var errors = require('../errors.js');
@@ -133,7 +134,7 @@ class Composer {
133
134
  }
134
135
  /** Advance the composer by one CST token. */
135
136
  *next(token) {
136
- if (process.env.LOG_STREAM)
137
+ if (node_process.env.LOG_STREAM)
137
138
  console.dir(token, { depth: null });
138
139
  switch (token.type) {
139
140
  case 'directive':
@@ -1,6 +1,6 @@
1
- import { YAMLMap } from '../nodes/YAMLMap.js';
2
- import type { BlockMap } from '../parse/cst.js';
3
- import { CollectionTag } from '../schema/types.js';
4
- import type { ComposeContext, ComposeNode } from './compose-node.js';
5
- import type { ComposeErrorHandler } from './composer.js';
1
+ import { YAMLMap } from '../nodes/YAMLMap';
2
+ import type { BlockMap } from '../parse/cst';
3
+ import type { CollectionTag } from '../schema/types';
4
+ import type { ComposeContext, ComposeNode } from './compose-node';
5
+ import type { ComposeErrorHandler } from './composer';
6
6
  export declare function resolveBlockMap({ composeNode, composeEmptyNode }: ComposeNode, ctx: ComposeContext, bm: BlockMap, onError: ComposeErrorHandler, tag?: CollectionTag): YAMLMap.Parsed;
@@ -1,8 +1,8 @@
1
- import { Range } from '../nodes/Node.js';
2
- import { Scalar } from '../nodes/Scalar.js';
3
- import type { BlockScalar } from '../parse/cst.js';
4
- import type { ComposeContext } from './compose-node.js';
5
- import type { ComposeErrorHandler } from './composer.js';
1
+ import type { Range } from '../nodes/Node';
2
+ import { Scalar } from '../nodes/Scalar';
3
+ import type { BlockScalar } from '../parse/cst';
4
+ import type { ComposeContext } from './compose-node';
5
+ import type { ComposeErrorHandler } from './composer';
6
6
  export declare function resolveBlockScalar(ctx: ComposeContext, scalar: BlockScalar, onError: ComposeErrorHandler): {
7
7
  value: string;
8
8
  type: Scalar.BLOCK_FOLDED | Scalar.BLOCK_LITERAL | null;
@@ -1,6 +1,6 @@
1
- import { YAMLSeq } from '../nodes/YAMLSeq.js';
2
- import type { BlockSequence } from '../parse/cst.js';
3
- import { CollectionTag } from '../schema/types.js';
4
- import type { ComposeContext, ComposeNode } from './compose-node.js';
5
- import type { ComposeErrorHandler } from './composer.js';
1
+ import { YAMLSeq } from '../nodes/YAMLSeq';
2
+ import type { BlockSequence } from '../parse/cst';
3
+ import type { CollectionTag } from '../schema/types';
4
+ import type { ComposeContext, ComposeNode } from './compose-node';
5
+ import type { ComposeErrorHandler } from './composer';
6
6
  export declare function resolveBlockSeq({ composeNode, composeEmptyNode }: ComposeNode, ctx: ComposeContext, bs: BlockSequence, onError: ComposeErrorHandler, tag?: CollectionTag): YAMLSeq.Parsed;
@@ -1,5 +1,5 @@
1
- import type { SourceToken } from '../parse/cst.js';
2
- import type { ComposeErrorHandler } from './composer.js';
1
+ import type { SourceToken } from '../parse/cst';
2
+ import type { ComposeErrorHandler } from './composer';
3
3
  export declare function resolveEnd(end: SourceToken[] | undefined, offset: number, reqSpace: boolean, onError: ComposeErrorHandler): {
4
4
  comment: string;
5
5
  offset: number;
@@ -1,7 +1,7 @@
1
- import { YAMLMap } from '../nodes/YAMLMap.js';
2
- import { YAMLSeq } from '../nodes/YAMLSeq.js';
3
- import type { FlowCollection } from '../parse/cst.js';
4
- import { CollectionTag } from '../schema/types.js';
5
- import type { ComposeContext, ComposeNode } from './compose-node.js';
6
- import type { ComposeErrorHandler } from './composer.js';
7
- export declare function resolveFlowCollection({ composeNode, composeEmptyNode }: ComposeNode, ctx: ComposeContext, fc: FlowCollection, onError: ComposeErrorHandler, tag?: CollectionTag): YAMLMap.Parsed<import("../index.js").ParsedNode, import("../index.js").ParsedNode | null> | YAMLSeq.Parsed<import("../index.js").ParsedNode>;
1
+ import { YAMLMap } from '../nodes/YAMLMap';
2
+ import { YAMLSeq } from '../nodes/YAMLSeq';
3
+ import type { FlowCollection } from '../parse/cst';
4
+ import type { CollectionTag } from '../schema/types';
5
+ import type { ComposeContext, ComposeNode } from './compose-node';
6
+ import type { ComposeErrorHandler } from './composer';
7
+ export declare function resolveFlowCollection({ composeNode, composeEmptyNode }: ComposeNode, ctx: ComposeContext, fc: FlowCollection, onError: ComposeErrorHandler, tag?: CollectionTag): YAMLMap.Parsed<import('../index').ParsedNode, import('../index').ParsedNode | null> | YAMLSeq.Parsed<import('../index').ParsedNode>;
@@ -1,7 +1,7 @@
1
- import { Range } from '../nodes/Node.js';
2
- import { Scalar } from '../nodes/Scalar.js';
3
- import type { FlowScalar } from '../parse/cst.js';
4
- import type { ComposeErrorHandler } from './composer.js';
1
+ import type { Range } from '../nodes/Node';
2
+ import { Scalar } from '../nodes/Scalar';
3
+ import type { FlowScalar } from '../parse/cst';
4
+ import type { ComposeErrorHandler } from './composer';
5
5
  export declare function resolveFlowScalar(scalar: FlowScalar, strict: boolean, onError: ComposeErrorHandler): {
6
6
  value: string;
7
7
  type: Scalar.PLAIN | Scalar.QUOTE_DOUBLE | Scalar.QUOTE_SINGLE | null;
@@ -1,5 +1,5 @@
1
- import type { SourceToken, Token } from '../parse/cst.js';
2
- import type { ComposeErrorHandler } from './composer.js';
1
+ import type { SourceToken, Token } from '../parse/cst';
2
+ import type { ComposeErrorHandler } from './composer';
3
3
  export interface ResolvePropsArg {
4
4
  flow?: 'flow map' | 'flow sequence';
5
5
  indicator: 'doc-start' | 'explicit-key-ind' | 'map-value-ind' | 'seq-item-ind';
@@ -57,7 +57,7 @@ function resolveProps(tokens, { flow, indicator, next, offset, onError, parentIn
57
57
  if (atNewline) {
58
58
  if (comment)
59
59
  comment += token.source;
60
- else
60
+ else if (!found || indicator !== 'seq-item-ind')
61
61
  spaceBefore = true;
62
62
  }
63
63
  else
@@ -1,2 +1,2 @@
1
- import type { Token } from '../parse/cst.js';
1
+ import type { Token } from '../parse/cst';
2
2
  export declare function containsNewline(key: Token | null | undefined): boolean | null;
@@ -1,2 +1,2 @@
1
- import type { Token } from '../parse/cst.js';
1
+ import type { Token } from '../parse/cst';
2
2
  export declare function emptyScalarPosition(offset: number, before: Token[] | undefined, pos: number | null): number;
@@ -1,3 +1,3 @@
1
- import { Token } from '../parse/cst';
2
- import { ComposeErrorHandler } from './composer';
1
+ import type { Token } from '../parse/cst';
2
+ import type { ComposeErrorHandler } from './composer';
3
3
  export declare function flowIndentCheck(indent: number, fc: Token | null | undefined, onError: ComposeErrorHandler): void;
@@ -1,4 +1,4 @@
1
- import type { ParsedNode } from '../nodes/Node.js';
2
- import type { Pair } from '../nodes/Pair.js';
3
- import type { ComposeContext } from './compose-node.js';
1
+ import type { ParsedNode } from '../nodes/Node';
2
+ import type { Pair } from '../nodes/Pair';
3
+ import type { ComposeContext } from './compose-node';
4
4
  export declare function mapIncludes(ctx: ComposeContext, items: Pair<ParsedNode>[], search: ParsedNode): boolean;
@@ -1,14 +1,14 @@
1
- import type { YAMLError, YAMLWarning } from '../errors.js';
2
- import { Alias } from '../nodes/Alias.js';
3
- import { NODE_TYPE } from '../nodes/identity.js';
4
- import type { Node, NodeType, ParsedNode, Range } from '../nodes/Node.js';
5
- import { Pair } from '../nodes/Pair.js';
6
- import type { Scalar } from '../nodes/Scalar.js';
7
- import type { YAMLMap } from '../nodes/YAMLMap.js';
8
- import type { YAMLSeq } from '../nodes/YAMLSeq.js';
9
- import type { CreateNodeOptions, DocumentOptions, ParseOptions, SchemaOptions, ToJSOptions, ToStringOptions } from '../options.js';
10
- import { Schema } from '../schema/Schema.js';
11
- import { Directives } from './directives.js';
1
+ import type { YAMLError, YAMLWarning } from '../errors';
2
+ import { Alias } from '../nodes/Alias';
3
+ import { NODE_TYPE } from '../nodes/identity';
4
+ import type { Node, NodeType, ParsedNode, Range } from '../nodes/Node';
5
+ import { Pair } from '../nodes/Pair';
6
+ import type { Scalar } from '../nodes/Scalar';
7
+ import type { YAMLMap } from '../nodes/YAMLMap';
8
+ import type { YAMLSeq } from '../nodes/YAMLSeq';
9
+ import type { CreateNodeOptions, DocumentOptions, ParseOptions, SchemaOptions, ToJSOptions, ToStringOptions } from '../options';
10
+ import { Schema } from '../schema/Schema';
11
+ import { Directives } from './directives';
12
12
  export type Replacer = any[] | ((key: any, value: any) => unknown);
13
13
  export declare namespace Document {
14
14
  /** @ts-ignore The typing of directives fails in TS <= 4.2 */
@@ -1,5 +1,5 @@
1
- import type { Node } from '../nodes/Node.js';
2
- import type { Document } from './Document.js';
1
+ import type { Node } from '../nodes/Node';
2
+ import type { Document } from './Document';
3
3
  /**
4
4
  * Verify that the input string is a valid anchor.
5
5
  *
@@ -1,7 +1,7 @@
1
- import type { Node } from '../nodes/Node.js';
2
- import type { Schema } from '../schema/Schema.js';
3
- import type { CollectionTag, ScalarTag } from '../schema/types.js';
4
- import type { Replacer } from './Document.js';
1
+ import type { Node } from '../nodes/Node';
2
+ import type { Schema } from '../schema/Schema';
3
+ import type { CollectionTag, ScalarTag } from '../schema/types';
4
+ import type { Replacer } from './Document';
5
5
  export interface CreateNodeContext {
6
6
  aliasDuplicateObjects: boolean;
7
7
  keepUndefined: boolean;
@@ -1,4 +1,4 @@
1
- import type { Document } from './Document.js';
1
+ import type { Document } from './Document';
2
2
  export declare class Directives {
3
3
  static defaultYaml: Directives['yaml'];
4
4
  static defaultTags: Directives['tags'];