@mnaoumov/obsidian-lib 1.0.0 → 1.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (386) hide show
  1. package/README.md +9 -1
  2. package/dist/lib/cjs/__merged.cjs +40 -64
  3. package/dist/lib/cjs/active-file-provider.cjs +40 -64
  4. package/dist/lib/cjs/app.cjs +40 -64
  5. package/dist/lib/cjs/async-with-notice.cjs +40 -64
  6. package/dist/lib/cjs/attachment-path.cjs +40 -64
  7. package/dist/lib/cjs/attachment-unit-folder.cjs +40 -64
  8. package/dist/lib/cjs/backlink-index.cjs +41 -65
  9. package/dist/lib/cjs/backlink.cjs +40 -64
  10. package/dist/lib/cjs/bases-view-registrar.cjs +40 -64
  11. package/dist/lib/cjs/callout.cjs +40 -64
  12. package/dist/lib/cjs/canvas.cjs +40 -64
  13. package/dist/lib/cjs/case-insensitive-file-index.cjs +40 -64
  14. package/dist/lib/cjs/code-block-markdown-information.cjs +40 -64
  15. package/dist/lib/cjs/code-block-reg-exp.cjs +40 -64
  16. package/dist/lib/cjs/codemirror/index.cjs +40 -64
  17. package/dist/lib/cjs/codemirror/state-field-spec.cjs +40 -64
  18. package/dist/lib/cjs/command-handlers/abstract-file-command-handler.cjs +40 -64
  19. package/dist/lib/cjs/command-handlers/command-handler-component.cjs +40 -64
  20. package/dist/lib/cjs/command-handlers/command-handler.cjs +40 -64
  21. package/dist/lib/cjs/command-handlers/editor-command-handler.cjs +40 -64
  22. package/dist/lib/cjs/command-handlers/file-command-handler.cjs +40 -64
  23. package/dist/lib/cjs/command-handlers/folder-command-handler.cjs +40 -64
  24. package/dist/lib/cjs/command-handlers/global-command-handler.cjs +40 -64
  25. package/dist/lib/cjs/command-handlers/index.cjs +40 -64
  26. package/dist/lib/cjs/command-handlers/open-demo-vault-command-handler.cjs +40 -64
  27. package/dist/lib/cjs/command-handlers/open-settings-command-handler.cjs +40 -64
  28. package/dist/lib/cjs/command-handlers/unlock-active-note-command-handler.cjs +40 -64
  29. package/dist/lib/cjs/command-registrar.cjs +40 -64
  30. package/dist/lib/cjs/community-plugins.cjs +40 -64
  31. package/dist/lib/cjs/components/abort-signal-component.cjs +40 -64
  32. package/dist/lib/cjs/components/all-windows-event-component.cjs +40 -64
  33. package/dist/lib/cjs/components/async-error-handler-component.cjs +40 -64
  34. package/dist/lib/cjs/components/async-events-component.cjs +40 -64
  35. package/dist/lib/cjs/components/case-insensitive-file-index-component.cjs +40 -64
  36. package/dist/lib/cjs/components/component-ex.cjs +41 -65
  37. package/dist/lib/cjs/components/console-debug-component.cjs +40 -64
  38. package/dist/lib/cjs/components/core-plugin-toggle-component.cjs +40 -64
  39. package/dist/lib/cjs/components/disposable-component.cjs +40 -64
  40. package/dist/lib/cjs/components/embed-extensions-component.cjs +40 -64
  41. package/dist/lib/cjs/components/generate-markdown-link-default-params-component.cjs +40 -64
  42. package/dist/lib/cjs/components/index.cjs +40 -64
  43. package/dist/lib/cjs/components/layout-ready-component.cjs +40 -64
  44. package/dist/lib/cjs/components/menu-event-registrar-component.cjs +40 -64
  45. package/dist/lib/cjs/components/monkey-around-component.cjs +40 -64
  46. package/dist/lib/cjs/components/notebook-navigator-menu-event-registrar-component.cjs +40 -64
  47. package/dist/lib/cjs/components/plugin-context-component.cjs +40 -64
  48. package/dist/lib/cjs/components/plugin-gate-component.cjs +41 -65
  49. package/dist/lib/cjs/components/plugin-notice-component.cjs +40 -64
  50. package/dist/lib/cjs/components/plugin-settings-component.cjs +41 -65
  51. package/dist/lib/cjs/components/plugin-settings-tab-component.cjs +40 -64
  52. package/dist/lib/cjs/components/plugin-suggestion-component.cjs +40 -64
  53. package/dist/lib/cjs/components/pointer-position-component.cjs +40 -64
  54. package/dist/lib/cjs/components/registry-component.cjs +40 -64
  55. package/dist/lib/cjs/components/release-notes-component.cjs +40 -64
  56. package/dist/lib/cjs/components/rename-delete-handler-component.cjs +40 -64
  57. package/dist/lib/cjs/components/rmdir-guard-component.cjs +40 -64
  58. package/dist/lib/cjs/components/settings-migration-component.cjs +40 -64
  59. package/dist/lib/cjs/components/syntax-highlighting-component.cjs +40 -64
  60. package/dist/lib/cjs/components/templates-language-component.cjs +40 -64
  61. package/dist/lib/cjs/constructors/get-dom-events-handlers-constructor.cjs +40 -64
  62. package/dist/lib/cjs/constructors/index.cjs +40 -64
  63. package/dist/lib/cjs/css-class.cjs +40 -64
  64. package/dist/lib/cjs/data-handler.cjs +40 -64
  65. package/dist/lib/cjs/dataview-link.cjs +40 -64
  66. package/dist/lib/cjs/dataview.cjs +40 -64
  67. package/dist/lib/cjs/debug.cjs +40 -64
  68. package/dist/lib/cjs/demo-vault-helper-settings.cjs +40 -64
  69. package/dist/lib/cjs/demo-vault-helper.cjs +40 -64
  70. package/dist/lib/cjs/demo-vault-naming.cjs +40 -64
  71. package/dist/lib/cjs/desktop-demo-vault-opener.cjs +40 -64
  72. package/dist/lib/cjs/desktop-trusted-input.cjs +40 -64
  73. package/dist/lib/cjs/editor-extension-registrar.cjs +40 -64
  74. package/dist/lib/cjs/editor-suggest-registrar.cjs +40 -64
  75. package/dist/lib/cjs/editor.cjs +40 -64
  76. package/dist/lib/cjs/events.cjs +40 -64
  77. package/dist/lib/cjs/extensions-registrar.cjs +40 -64
  78. package/dist/lib/cjs/file-change.cjs +40 -64
  79. package/dist/lib/cjs/file-explorer.cjs +40 -64
  80. package/dist/lib/cjs/file-manager.cjs +40 -64
  81. package/dist/lib/cjs/file-system.cjs +40 -64
  82. package/dist/lib/cjs/folder-note.cjs +40 -64
  83. package/dist/lib/cjs/frontmatter-formatting.cjs +41 -65
  84. package/dist/lib/cjs/frontmatter-link-cache-with-offsets.cjs +40 -64
  85. package/dist/lib/cjs/frontmatter.cjs +40 -64
  86. package/dist/lib/cjs/generated-during-build.cjs +41 -65
  87. package/dist/lib/cjs/generated-during-build.d.cts +8 -2
  88. package/dist/lib/cjs/hover-link-source-registrar.cjs +40 -64
  89. package/dist/lib/cjs/html-element.cjs +40 -64
  90. package/dist/lib/cjs/i18n/custom-type-options.cjs +40 -64
  91. package/dist/lib/cjs/i18n/default-translations.cjs +40 -64
  92. package/dist/lib/cjs/i18n/i18n.cjs +40 -64
  93. package/dist/lib/cjs/i18n/index.cjs +40 -64
  94. package/dist/lib/cjs/i18n/locales/en.cjs +40 -64
  95. package/dist/lib/cjs/i18n/locales/index.cjs +40 -64
  96. package/dist/lib/cjs/i18n/locales/translations-map.cjs +40 -64
  97. package/dist/lib/cjs/index.cjs +40 -64
  98. package/dist/lib/cjs/is-in-obsidian.cjs +40 -64
  99. package/dist/lib/cjs/library-styles.cjs +40 -64
  100. package/dist/lib/cjs/library.cjs +40 -64
  101. package/dist/lib/cjs/link-name.cjs +40 -64
  102. package/dist/lib/cjs/link-update-progress.cjs +40 -64
  103. package/dist/lib/cjs/link.cjs +40 -64
  104. package/dist/lib/cjs/logger.cjs +40 -64
  105. package/dist/lib/cjs/loop.cjs +40 -64
  106. package/dist/lib/cjs/markdown-code-block-processor-registrar.cjs +40 -64
  107. package/dist/lib/cjs/markdown-code-block-processor.cjs +40 -64
  108. package/dist/lib/cjs/markdown-post-processor-registrar.cjs +40 -64
  109. package/dist/lib/cjs/markdown-view.cjs +40 -64
  110. package/dist/lib/cjs/markdown.cjs +40 -64
  111. package/dist/lib/cjs/menu-event-registrar.cjs +40 -64
  112. package/dist/lib/cjs/metadata-cache.cjs +40 -64
  113. package/dist/lib/cjs/mobile-trusted-input.cjs +40 -64
  114. package/dist/lib/cjs/modals/alert.cjs +40 -64
  115. package/dist/lib/cjs/modals/confirm.cjs +40 -64
  116. package/dist/lib/cjs/modals/index.cjs +40 -64
  117. package/dist/lib/cjs/modals/minimizable-modal.cjs +40 -64
  118. package/dist/lib/cjs/modals/modal-command-builder.cjs +40 -64
  119. package/dist/lib/cjs/modals/modal.cjs +40 -64
  120. package/dist/lib/cjs/modals/prompt.cjs +40 -64
  121. package/dist/lib/cjs/modals/select-item.cjs +40 -64
  122. package/dist/lib/cjs/modals/select-option.cjs +40 -64
  123. package/dist/lib/cjs/modals/suggest-modal-command-builder.cjs +40 -64
  124. package/dist/lib/cjs/note-priority.cjs +41 -65
  125. package/dist/lib/cjs/notebook-navigator.cjs +40 -64
  126. package/dist/lib/cjs/obsidian-dev-utils-state.cjs +40 -64
  127. package/dist/lib/cjs/obsidian-protocol-handler-registrar.cjs +40 -64
  128. package/dist/lib/cjs/obsidian-settings.cjs +40 -64
  129. package/dist/lib/cjs/parse-link.cjs +40 -64
  130. package/dist/lib/cjs/path-settings.cjs +40 -64
  131. package/dist/lib/cjs/pdf.cjs +40 -64
  132. package/dist/lib/cjs/plugin/index.cjs +40 -64
  133. package/dist/lib/cjs/plugin/plugin-api.cjs +40 -64
  134. package/dist/lib/cjs/plugin/plugin-context.cjs +40 -64
  135. package/dist/lib/cjs/plugin/plugin-event-source.cjs +40 -64
  136. package/dist/lib/cjs/plugin/plugin-install-state.cjs +40 -64
  137. package/dist/lib/cjs/plugin/plugin-lifecycle-events.cjs +40 -64
  138. package/dist/lib/cjs/plugin/plugin-settings-tab.cjs +41 -65
  139. package/dist/lib/cjs/plugin/plugin.cjs +41 -65
  140. package/dist/lib/cjs/plugin/settings-migration-api.cjs +40 -64
  141. package/dist/lib/cjs/plugin-cli-handler-registrar.cjs +40 -64
  142. package/dist/lib/cjs/popovers/field-popover.cjs +40 -64
  143. package/dist/lib/cjs/popovers/index.cjs +40 -64
  144. package/dist/lib/cjs/popovers/popover-anchor.cjs +40 -64
  145. package/dist/lib/cjs/popovers/popover.cjs +40 -64
  146. package/dist/lib/cjs/property-entry.cjs +40 -64
  147. package/dist/lib/cjs/queue.cjs +40 -64
  148. package/dist/lib/cjs/react/app-context.cjs +40 -64
  149. package/dist/lib/cjs/react/index.cjs +40 -64
  150. package/dist/lib/cjs/reference.cjs +40 -64
  151. package/dist/lib/cjs/resource-lock.cjs +40 -64
  152. package/dist/lib/cjs/resource-url.cjs +40 -64
  153. package/dist/lib/cjs/ribbon-icon-registrar.cjs +40 -64
  154. package/dist/lib/cjs/setting-components/checkbox-component.cjs +40 -64
  155. package/dist/lib/cjs/setting-components/code-highlighter-component.cjs +40 -64
  156. package/dist/lib/cjs/setting-components/date-component.cjs +40 -64
  157. package/dist/lib/cjs/setting-components/date-time-component.cjs +40 -64
  158. package/dist/lib/cjs/setting-components/email-component.cjs +40 -64
  159. package/dist/lib/cjs/setting-components/file-component.cjs +40 -64
  160. package/dist/lib/cjs/setting-components/index.cjs +40 -64
  161. package/dist/lib/cjs/setting-components/month-component.cjs +40 -64
  162. package/dist/lib/cjs/setting-components/multiple-dropdown-component.cjs +41 -65
  163. package/dist/lib/cjs/setting-components/multiple-email-component.cjs +40 -64
  164. package/dist/lib/cjs/setting-components/multiple-file-component.cjs +40 -64
  165. package/dist/lib/cjs/setting-components/multiple-text-component.cjs +40 -64
  166. package/dist/lib/cjs/setting-components/number-component.cjs +40 -64
  167. package/dist/lib/cjs/setting-components/password-component.cjs +40 -64
  168. package/dist/lib/cjs/setting-components/setting-component-wrapper.cjs +40 -64
  169. package/dist/lib/cjs/setting-components/telephone-component.cjs +40 -64
  170. package/dist/lib/cjs/setting-components/text-based-component.cjs +40 -64
  171. package/dist/lib/cjs/setting-components/time-component.cjs +40 -64
  172. package/dist/lib/cjs/setting-components/tri-state-checkbox-component.cjs +40 -64
  173. package/dist/lib/cjs/setting-components/typed-dropdown-component.cjs +40 -64
  174. package/dist/lib/cjs/setting-components/typed-multiple-dropdown-component.cjs +40 -64
  175. package/dist/lib/cjs/setting-components/typed-range-text-component.cjs +40 -64
  176. package/dist/lib/cjs/setting-components/typed-text-component.cjs +41 -65
  177. package/dist/lib/cjs/setting-components/url-component.cjs +40 -64
  178. package/dist/lib/cjs/setting-components/validator-component.cjs +41 -65
  179. package/dist/lib/cjs/setting-components/value-component-with-change-tracking.cjs +40 -64
  180. package/dist/lib/cjs/setting-components/week-component.cjs +40 -64
  181. package/dist/lib/cjs/setting-ex.cjs +40 -64
  182. package/dist/lib/cjs/setting-group-ex.cjs +40 -64
  183. package/dist/lib/cjs/status-bar-item-registrar.cjs +40 -64
  184. package/dist/lib/cjs/templater.cjs +40 -64
  185. package/dist/lib/cjs/transformers/duration-transformer.cjs +40 -64
  186. package/dist/lib/cjs/transformers/index.cjs +40 -64
  187. package/dist/lib/cjs/trusted-input.cjs +40 -64
  188. package/dist/lib/cjs/validation.cjs +40 -64
  189. package/dist/lib/cjs/vault-delete.cjs +40 -64
  190. package/dist/lib/cjs/vault-transaction.cjs +40 -64
  191. package/dist/lib/cjs/vault.cjs +41 -65
  192. package/dist/lib/cjs/view-registrar.cjs +40 -64
  193. package/dist/lib/cjs/workspace.cjs +40 -64
  194. package/dist/lib/esm/__merged.mjs +6 -14
  195. package/dist/lib/esm/active-file-provider.mjs +6 -14
  196. package/dist/lib/esm/app.mjs +6 -14
  197. package/dist/lib/esm/async-with-notice.mjs +6 -14
  198. package/dist/lib/esm/attachment-path.mjs +6 -14
  199. package/dist/lib/esm/attachment-unit-folder.mjs +6 -14
  200. package/dist/lib/esm/backlink-index.mjs +6 -14
  201. package/dist/lib/esm/backlink.mjs +6 -14
  202. package/dist/lib/esm/bases-view-registrar.mjs +6 -14
  203. package/dist/lib/esm/callout.mjs +6 -14
  204. package/dist/lib/esm/canvas.mjs +6 -14
  205. package/dist/lib/esm/case-insensitive-file-index.mjs +6 -14
  206. package/dist/lib/esm/code-block-markdown-information.mjs +5 -13
  207. package/dist/lib/esm/code-block-reg-exp.mjs +6 -14
  208. package/dist/lib/esm/codemirror/index.mjs +6 -14
  209. package/dist/lib/esm/codemirror/state-field-spec.mjs +5 -13
  210. package/dist/lib/esm/command-handlers/abstract-file-command-handler.mjs +6 -14
  211. package/dist/lib/esm/command-handlers/command-handler-component.mjs +6 -14
  212. package/dist/lib/esm/command-handlers/command-handler.mjs +6 -14
  213. package/dist/lib/esm/command-handlers/editor-command-handler.mjs +6 -14
  214. package/dist/lib/esm/command-handlers/file-command-handler.mjs +6 -14
  215. package/dist/lib/esm/command-handlers/folder-command-handler.mjs +6 -14
  216. package/dist/lib/esm/command-handlers/global-command-handler.mjs +6 -14
  217. package/dist/lib/esm/command-handlers/index.mjs +6 -14
  218. package/dist/lib/esm/command-handlers/open-demo-vault-command-handler.mjs +6 -14
  219. package/dist/lib/esm/command-handlers/open-settings-command-handler.mjs +6 -14
  220. package/dist/lib/esm/command-handlers/unlock-active-note-command-handler.mjs +6 -14
  221. package/dist/lib/esm/command-registrar.mjs +6 -14
  222. package/dist/lib/esm/community-plugins.mjs +6 -14
  223. package/dist/lib/esm/components/abort-signal-component.mjs +6 -14
  224. package/dist/lib/esm/components/all-windows-event-component.mjs +6 -14
  225. package/dist/lib/esm/components/async-error-handler-component.mjs +6 -14
  226. package/dist/lib/esm/components/async-events-component.mjs +6 -14
  227. package/dist/lib/esm/components/case-insensitive-file-index-component.mjs +6 -14
  228. package/dist/lib/esm/components/component-ex.mjs +6 -14
  229. package/dist/lib/esm/components/console-debug-component.mjs +6 -14
  230. package/dist/lib/esm/components/core-plugin-toggle-component.mjs +6 -14
  231. package/dist/lib/esm/components/disposable-component.mjs +6 -14
  232. package/dist/lib/esm/components/embed-extensions-component.mjs +6 -14
  233. package/dist/lib/esm/components/generate-markdown-link-default-params-component.mjs +6 -14
  234. package/dist/lib/esm/components/index.mjs +6 -14
  235. package/dist/lib/esm/components/layout-ready-component.mjs +6 -14
  236. package/dist/lib/esm/components/menu-event-registrar-component.mjs +6 -14
  237. package/dist/lib/esm/components/monkey-around-component.mjs +6 -14
  238. package/dist/lib/esm/components/notebook-navigator-menu-event-registrar-component.mjs +6 -14
  239. package/dist/lib/esm/components/plugin-context-component.mjs +6 -14
  240. package/dist/lib/esm/components/plugin-gate-component.mjs +6 -14
  241. package/dist/lib/esm/components/plugin-notice-component.mjs +6 -14
  242. package/dist/lib/esm/components/plugin-settings-component.mjs +6 -14
  243. package/dist/lib/esm/components/plugin-settings-tab-component.mjs +6 -14
  244. package/dist/lib/esm/components/plugin-suggestion-component.mjs +6 -14
  245. package/dist/lib/esm/components/pointer-position-component.mjs +6 -14
  246. package/dist/lib/esm/components/registry-component.mjs +6 -14
  247. package/dist/lib/esm/components/release-notes-component.mjs +6 -14
  248. package/dist/lib/esm/components/rename-delete-handler-component.mjs +6 -14
  249. package/dist/lib/esm/components/rmdir-guard-component.mjs +6 -14
  250. package/dist/lib/esm/components/settings-migration-component.mjs +6 -14
  251. package/dist/lib/esm/components/syntax-highlighting-component.mjs +6 -14
  252. package/dist/lib/esm/components/templates-language-component.mjs +6 -14
  253. package/dist/lib/esm/constructors/get-dom-events-handlers-constructor.mjs +6 -14
  254. package/dist/lib/esm/constructors/index.mjs +6 -14
  255. package/dist/lib/esm/css-class.mjs +6 -14
  256. package/dist/lib/esm/data-handler.mjs +6 -14
  257. package/dist/lib/esm/dataview-link.mjs +6 -14
  258. package/dist/lib/esm/dataview.mjs +6 -14
  259. package/dist/lib/esm/debug.mjs +6 -14
  260. package/dist/lib/esm/demo-vault-helper-settings.mjs +5 -13
  261. package/dist/lib/esm/demo-vault-helper.mjs +6 -14
  262. package/dist/lib/esm/demo-vault-naming.mjs +6 -14
  263. package/dist/lib/esm/desktop-demo-vault-opener.mjs +6 -14
  264. package/dist/lib/esm/desktop-trusted-input.mjs +6 -14
  265. package/dist/lib/esm/editor-extension-registrar.mjs +6 -14
  266. package/dist/lib/esm/editor-suggest-registrar.mjs +6 -14
  267. package/dist/lib/esm/editor.mjs +6 -14
  268. package/dist/lib/esm/events.mjs +6 -14
  269. package/dist/lib/esm/extensions-registrar.mjs +6 -14
  270. package/dist/lib/esm/file-change.mjs +6 -14
  271. package/dist/lib/esm/file-explorer.mjs +6 -14
  272. package/dist/lib/esm/file-manager.mjs +6 -14
  273. package/dist/lib/esm/file-system.mjs +6 -14
  274. package/dist/lib/esm/folder-note.mjs +6 -14
  275. package/dist/lib/esm/frontmatter-formatting.mjs +6 -14
  276. package/dist/lib/esm/frontmatter-link-cache-with-offsets.mjs +6 -14
  277. package/dist/lib/esm/frontmatter.mjs +6 -14
  278. package/dist/lib/esm/generated-during-build.d.mts +8 -2
  279. package/dist/lib/esm/generated-during-build.mjs +7 -15
  280. package/dist/lib/esm/hover-link-source-registrar.mjs +6 -14
  281. package/dist/lib/esm/html-element.mjs +6 -14
  282. package/dist/lib/esm/i18n/custom-type-options.mjs +6 -14
  283. package/dist/lib/esm/i18n/default-translations.mjs +6 -14
  284. package/dist/lib/esm/i18n/i18n.mjs +6 -14
  285. package/dist/lib/esm/i18n/index.mjs +6 -14
  286. package/dist/lib/esm/i18n/locales/en.mjs +6 -14
  287. package/dist/lib/esm/i18n/locales/index.mjs +6 -14
  288. package/dist/lib/esm/i18n/locales/translations-map.mjs +6 -14
  289. package/dist/lib/esm/index.mjs +6 -14
  290. package/dist/lib/esm/is-in-obsidian.mjs +6 -14
  291. package/dist/lib/esm/library-styles.mjs +6 -14
  292. package/dist/lib/esm/library.mjs +6 -14
  293. package/dist/lib/esm/link-name.mjs +6 -14
  294. package/dist/lib/esm/link-update-progress.mjs +5 -13
  295. package/dist/lib/esm/link.mjs +6 -14
  296. package/dist/lib/esm/logger.mjs +6 -14
  297. package/dist/lib/esm/loop.mjs +6 -14
  298. package/dist/lib/esm/markdown-code-block-processor-registrar.mjs +6 -14
  299. package/dist/lib/esm/markdown-code-block-processor.mjs +6 -14
  300. package/dist/lib/esm/markdown-post-processor-registrar.mjs +6 -14
  301. package/dist/lib/esm/markdown-view.mjs +6 -14
  302. package/dist/lib/esm/markdown.mjs +6 -14
  303. package/dist/lib/esm/menu-event-registrar.mjs +5 -13
  304. package/dist/lib/esm/metadata-cache.mjs +6 -14
  305. package/dist/lib/esm/mobile-trusted-input.mjs +6 -14
  306. package/dist/lib/esm/modals/alert.mjs +6 -14
  307. package/dist/lib/esm/modals/confirm.mjs +6 -14
  308. package/dist/lib/esm/modals/index.mjs +6 -14
  309. package/dist/lib/esm/modals/minimizable-modal.mjs +6 -14
  310. package/dist/lib/esm/modals/modal-command-builder.mjs +6 -14
  311. package/dist/lib/esm/modals/modal.mjs +6 -14
  312. package/dist/lib/esm/modals/prompt.mjs +6 -14
  313. package/dist/lib/esm/modals/select-item.mjs +6 -14
  314. package/dist/lib/esm/modals/select-option.mjs +6 -14
  315. package/dist/lib/esm/modals/suggest-modal-command-builder.mjs +6 -14
  316. package/dist/lib/esm/note-priority.mjs +6 -14
  317. package/dist/lib/esm/notebook-navigator.mjs +6 -14
  318. package/dist/lib/esm/obsidian-dev-utils-state.mjs +6 -14
  319. package/dist/lib/esm/obsidian-protocol-handler-registrar.mjs +6 -14
  320. package/dist/lib/esm/obsidian-settings.mjs +6 -14
  321. package/dist/lib/esm/parse-link.mjs +6 -14
  322. package/dist/lib/esm/path-settings.mjs +6 -14
  323. package/dist/lib/esm/pdf.mjs +6 -14
  324. package/dist/lib/esm/plugin/index.mjs +6 -14
  325. package/dist/lib/esm/plugin/plugin-api.mjs +6 -14
  326. package/dist/lib/esm/plugin/plugin-context.mjs +6 -14
  327. package/dist/lib/esm/plugin/plugin-event-source.mjs +6 -14
  328. package/dist/lib/esm/plugin/plugin-install-state.mjs +6 -14
  329. package/dist/lib/esm/plugin/plugin-lifecycle-events.mjs +6 -14
  330. package/dist/lib/esm/plugin/plugin-settings-tab.mjs +6 -14
  331. package/dist/lib/esm/plugin/plugin.mjs +6 -14
  332. package/dist/lib/esm/plugin/settings-migration-api.mjs +5 -13
  333. package/dist/lib/esm/plugin-cli-handler-registrar.mjs +6 -14
  334. package/dist/lib/esm/popovers/field-popover.mjs +6 -14
  335. package/dist/lib/esm/popovers/index.mjs +6 -14
  336. package/dist/lib/esm/popovers/popover-anchor.mjs +6 -14
  337. package/dist/lib/esm/popovers/popover.mjs +6 -14
  338. package/dist/lib/esm/property-entry.mjs +6 -14
  339. package/dist/lib/esm/queue.mjs +6 -14
  340. package/dist/lib/esm/react/app-context.mjs +6 -14
  341. package/dist/lib/esm/react/index.mjs +6 -14
  342. package/dist/lib/esm/reference.mjs +6 -14
  343. package/dist/lib/esm/resource-lock.mjs +6 -14
  344. package/dist/lib/esm/resource-url.mjs +6 -14
  345. package/dist/lib/esm/ribbon-icon-registrar.mjs +6 -14
  346. package/dist/lib/esm/setting-components/checkbox-component.mjs +6 -14
  347. package/dist/lib/esm/setting-components/code-highlighter-component.mjs +6 -14
  348. package/dist/lib/esm/setting-components/date-component.mjs +6 -14
  349. package/dist/lib/esm/setting-components/date-time-component.mjs +6 -14
  350. package/dist/lib/esm/setting-components/email-component.mjs +6 -14
  351. package/dist/lib/esm/setting-components/file-component.mjs +6 -14
  352. package/dist/lib/esm/setting-components/index.mjs +6 -14
  353. package/dist/lib/esm/setting-components/month-component.mjs +6 -14
  354. package/dist/lib/esm/setting-components/multiple-dropdown-component.mjs +6 -14
  355. package/dist/lib/esm/setting-components/multiple-email-component.mjs +6 -14
  356. package/dist/lib/esm/setting-components/multiple-file-component.mjs +6 -14
  357. package/dist/lib/esm/setting-components/multiple-text-component.mjs +6 -14
  358. package/dist/lib/esm/setting-components/number-component.mjs +6 -14
  359. package/dist/lib/esm/setting-components/password-component.mjs +6 -14
  360. package/dist/lib/esm/setting-components/setting-component-wrapper.mjs +6 -14
  361. package/dist/lib/esm/setting-components/telephone-component.mjs +6 -14
  362. package/dist/lib/esm/setting-components/text-based-component.mjs +6 -14
  363. package/dist/lib/esm/setting-components/time-component.mjs +6 -14
  364. package/dist/lib/esm/setting-components/tri-state-checkbox-component.mjs +6 -14
  365. package/dist/lib/esm/setting-components/typed-dropdown-component.mjs +6 -14
  366. package/dist/lib/esm/setting-components/typed-multiple-dropdown-component.mjs +6 -14
  367. package/dist/lib/esm/setting-components/typed-range-text-component.mjs +6 -14
  368. package/dist/lib/esm/setting-components/typed-text-component.mjs +6 -14
  369. package/dist/lib/esm/setting-components/url-component.mjs +6 -14
  370. package/dist/lib/esm/setting-components/validator-component.mjs +6 -14
  371. package/dist/lib/esm/setting-components/value-component-with-change-tracking.mjs +5 -13
  372. package/dist/lib/esm/setting-components/week-component.mjs +6 -14
  373. package/dist/lib/esm/setting-ex.mjs +6 -14
  374. package/dist/lib/esm/setting-group-ex.mjs +6 -14
  375. package/dist/lib/esm/status-bar-item-registrar.mjs +6 -14
  376. package/dist/lib/esm/templater.mjs +6 -14
  377. package/dist/lib/esm/transformers/duration-transformer.mjs +6 -14
  378. package/dist/lib/esm/transformers/index.mjs +6 -14
  379. package/dist/lib/esm/trusted-input.mjs +6 -14
  380. package/dist/lib/esm/validation.mjs +6 -14
  381. package/dist/lib/esm/vault-delete.mjs +6 -14
  382. package/dist/lib/esm/vault-transaction.mjs +6 -14
  383. package/dist/lib/esm/vault.mjs +6 -14
  384. package/dist/lib/esm/view-registrar.mjs +6 -14
  385. package/dist/lib/esm/workspace.mjs +6 -14
  386. package/package.json +69 -24
@@ -5,40 +5,32 @@ if you want to view the source, please visit the github repository of this plugi
5
5
 
6
6
  (function () {
7
7
  function ensureDisposeSymbols(symbolConstructor = Symbol) {
8
- symbolConstructor.asyncDispose ??= symbolConstructor.for('Symbol.asyncDispose');
9
- symbolConstructor.dispose ??= symbolConstructor.for('Symbol.dispose');
8
+ symbolConstructor.asyncDispose ??= symbolConstructor.for("Symbol.asyncDispose");
9
+ symbolConstructor.dispose ??= symbolConstructor.for("Symbol.dispose");
10
10
  }
11
11
 
12
12
  function ensureBrowserProcess() {
13
13
  const browserProcess = {
14
14
  browser: true,
15
15
  cwd() {
16
- return '/';
16
+ return "/";
17
17
  },
18
18
  env: {},
19
- platform: 'android'
19
+ platform: "android"
20
20
  };
21
-
22
- // eslint-disable-next-line obsidianmd/no-global-this, unicorn/no-unnecessary-global-this -- Must stay `globalThis`-qualified: in the emitted banner a bare `process` is a free identifier, so reading it where the host has none throws a ReferenceError instead of yielding `undefined`. That is the very case this function exists to handle.
23
21
  const existingProcess = globalThis.process;
24
-
25
22
  if (!existingProcess) {
26
- // eslint-disable-next-line obsidianmd/no-global-this -- Actively use globalThis.
27
23
  globalThis.process = browserProcess;
28
24
  return;
29
25
  }
30
-
31
26
  if (existingProcess.versions?.node) {
32
27
  return;
33
28
  }
34
-
35
29
  const existingProcessRecord = existingProcess;
36
-
37
30
  for (const [key, value] of Object.entries(browserProcess)) {
38
31
  existingProcessRecord[key] ??= value;
39
32
  }
40
-
41
- existingProcessRecord['browser'] = true;
33
+ existingProcessRecord["browser"] = true;
42
34
  }
43
35
 
44
36
  (function initEsm() {
@@ -178,4 +170,4 @@ export {
178
170
  requireTemplaterApi,
179
171
  resolveTemplaterApi
180
172
  };
181
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL3RlbXBsYXRlci50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyoqXG4gKiBAZmlsZVxuICpcbiAqIFRoZSBzbGljZSBvZiBUZW1wbGF0ZXIncyBJTlRFUk5BTCBBUEkgdGhpcyBsaWJyYXJ5IHRhbGtzIHRvLCBhbmQgdGhlIHJ1bnRpbWUgbmFycm93aW5nIHRoYXQgZ2V0cyBob2xkXG4gKiBvZiBpdC5cbiAqXG4gKiAqKlRlbXBsYXRlciBwdWJsaXNoZXMgbm8gQVBJLioqIFJlbmRlcmluZyBhIHRlbXBsYXRlIGFnYWluc3QgYSBmaWxlIGFuZCBnZXR0aW5nIHRoZSByZXN1bHRpbmcgc3RyaW5nXG4gKiBiYWNrIGlzIG9ubHkgcmVhY2hhYmxlIHRocm91Z2ggdW5kb2N1bWVudGVkIGludGVybmFscyBoYW5naW5nIG9mZlxuICogYGFwcC5wbHVnaW5zLmdldFBsdWdpbigndGVtcGxhdGVyLW9ic2lkaWFuJykudGVtcGxhdGVyYCBcdTIwMTQgYGNyZWF0ZV9ydW5uaW5nX2NvbmZpZ2AsXG4gKiBgZnVuY3Rpb25zX2dlbmVyYXRvci5nZW5lcmF0ZV9vYmplY3RgLCBgcmVhZF9hbmRfcGFyc2VfdGVtcGxhdGVgLCBhbmQgYSBgUnVuTW9kZWAgZW51bS4gRXZlcnkgcGx1Z2luXG4gKiB0aGF0IHdhbnRzIGl0IHJlLWRlcml2ZXMgdGhlIHNhbWUgcmV2ZXJzZSBlbmdpbmVlcmluZywgd2hpY2ggaXMgd2h5IGl0IGxpdmVzIGhlcmUgaW5zdGVhZC5cbiAqXG4gKiAqKlRoaXMgbW9kdWxlIGlzIGV4cGxpY2l0bHkgQkVTVC1FRkZPUlQuKiogTm90aGluZyBpdCBiaW5kcyB0byBpcyBkb2N1bWVudGVkIG9yIGNvdmVyZWQgYnkgVGVtcGxhdGVyJ3NcbiAqIHNlbWFudGljIHZlcnNpb25pbmcsIHNvIGEgVGVtcGxhdGVyIHJlbGVhc2UgbWF5IHJlbmFtZSBvciByZXNoYXBlIGFueSBvZiBpdCB3aXRob3V0IHdhcm5pbmcuIFRoZSBzaGFwZXNcbiAqIGJlbG93IHdlcmUgcmVhZCBmcm9tIFRlbXBsYXRlciBgMi4yNC4zYC4gVHdvIGRlbGliZXJhdGUgY29uc2VxdWVuY2VzIGZvbGxvdzpcbiAqXG4gKiAtIHtAbGluayByZXNvbHZlVGVtcGxhdGVyQXBpfSByZXR1cm5zIGBudWxsYCBcdTIwMTQgYSBUZW1wbGF0ZXIgdG9vIG9sZCwgdG9vIG5ldyBvciB0b28gYnJva2VuIHRvIHRhbGsgdG9cbiAqICAgcmVhZHMgYXMgXCJub3QgdGhlcmVcIiBhbmQgdGhlIGludGVncmF0aW9uIHN0YXlzIGRvcm1hbnQuXG4gKiAtIHtAbGluayByZXF1aXJlVGVtcGxhdGVyQXBpfSB0aHJvd3MgYSB7QGxpbmsgVGVtcGxhdGVyVW5hdmFpbGFibGVFcnJvcn0gdGhhdCBOQU1FUyB0aGUgcGx1Z2luIGFuZCB0aGVcbiAqICAgcmVhc29uLCByYXRoZXIgdGhhbiBsZXR0aW5nIGEgYENhbm5vdCByZWFkIHByb3BlcnRpZXMgb2YgdW5kZWZpbmVkYCBzdXJmYWNlIGZyb20gc29tZXdoZXJlIGluc2lkZVxuICogICBUZW1wbGF0ZXIuXG4gKlxuICogVGhlIHR5cGVzIGFyZSBERUNMQVJFRCBIRVJFIHJhdGhlciB0aGFuIGltcG9ydGVkLCBhbmQgbmFycm93ZWQgdG8gdGhlIG1lbWJlcnMgYWN0dWFsbHkgY2FsbGVkOiBUZW1wbGF0ZXJcbiAqIHNoaXBzIG5vIG5wbSB0eXBlcyBwYWNrYWdlLCBhbmQgZGVwZW5kaW5nIG9uIGl0IHdvdWxkIHR1cm4gYW4gb3B0aW9uYWwgaW50ZWdyYXRpb24gaW50byBhIGJ1aWxkLXRpbWVcbiAqIGRlcGVuZGVuY3kuXG4gKlxuICogVGhlIHNlY29uZCB0aGluZyB0aGlzIG1vZHVsZSBzdXBwbGllcyBpcyBhbiBhY3RpdmUtZmlsZSBhbnN3ZXIuIFdoaWxlIGEgdGVtcGxhdGUgcmVuZGVycyxcbiAqIGBhcHAud29ya3NwYWNlLmdldEFjdGl2ZUZpbGUoKWAgc3RpbGwgcG9pbnRzIGF0IHdoYXRldmVyIHRoZSB1c2VyIGhhcHBlbnMgdG8gaGF2ZSBvcGVuIFx1MjAxNCBOT1QgYXQgdGhlIGZpbGVcbiAqIHRoZSB0ZW1wbGF0ZSBpcyBiZWluZyByZW5kZXJlZCBmb3IgXHUyMDE0IHNvIGEgcGx1Z2luJ3Mgb3duIGhlbHBlciBjYWxsZWQgZnJvbSBpbnNpZGUgYSB0ZW1wbGF0ZSByZXNvbHZlc1xuICogbGlua3MgYWdhaW5zdCB0aGUgd3Jvbmcgbm90ZS4ge0BsaW5rIFRlbXBsYXRlckFjdGl2ZUZpbGVQcm92aWRlcn0gYW5zd2VycyB3aXRoIHRoZSByZW5kZXIgdGFyZ2V0IGZvciB0aGVcbiAqIGR1cmF0aW9uIG9mIGEge0BsaW5rIHBhcnNlVGVtcGxhdGV9IGNhbGwgYW5kIGZhbGxzIGJhY2sgdG8gdGhlIHdvcmtzcGFjZSBvdGhlcndpc2UuIE5vdGUgdGhpcyBpcyBhYm91dFxuICogdGhlIENPTlNVTUVSJ3MgaGVscGVyczogVGVtcGxhdGVyJ3Mgb3duIGB0cC5maWxlLipgIGFscmVhZHkgcmVzb2x2ZXMgdGhyb3VnaCB0aGUgcnVubmluZyBjb25maWcnc1xuICogYHRhcmdldF9maWxlYCBhbmQgbmVlZHMgbm8gaGVscC5cbiAqL1xuXG5pbXBvcnQgdHlwZSB7XG4gIEFwcCxcbiAgVEZpbGVcbn0gZnJvbSAnb2JzaWRpYW4nO1xuXG5pbXBvcnQgdHlwZSB7IFBhdGhPckZpbGUgfSBmcm9tICcuL2ZpbGUtc3lzdGVtLnRzJztcblxuaW1wb3J0IHsgQXBwQWN0aXZlRmlsZVByb3ZpZGVyIH0gZnJvbSAnLi9hY3RpdmUtZmlsZS1wcm92aWRlci50cyc7XG5pbXBvcnQgeyBnZXRGaWxlIH0gZnJvbSAnLi9maWxlLXN5c3RlbS50cyc7XG5cbi8qKlxuICogUGFyYW1ldGVycyBmb3Ige0BsaW5rIGdldFRlbXBsYXRlckZ1bmN0aW9uc30uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgR2V0VGVtcGxhdGVyRnVuY3Rpb25zUGFyYW1zIHtcbiAgLyoqXG4gICAqIFRoZSBPYnNpZGlhbiBhcHAgaW5zdGFuY2UuXG4gICAqL1xuICByZWFkb25seSBhcHA6IEFwcDtcblxuICAvKipcbiAgICogV2hldGhlciB0byByZXR1cm4gVGVtcGxhdGVyJ3MgYGN1cnJlbnRfZnVuY3Rpb25zX29iamVjdGAgd2hlbiBpdCBhbHJlYWR5IGhhcyBvbmUsIGluc3RlYWQgb2ZcbiAgICogZ2VuZXJhdGluZyBhIGZyZXNoIG9iamVjdC4gUmV1c2UgaXMgY2hlYXBlciBhbmQgZ2l2ZXMgdGhlIG9iamVjdCBvZiB0aGUgcmVuZGVyIGN1cnJlbnRseSBpbiBmbGlnaHQ7XG4gICAqIHBhc3MgYGZhbHNlYCB0byBmb3JjZSBhIG5ldyBvbmUgYnVpbHQgZm9yIGB0YXJnZXRQYXRoT3JGaWxlYC5cbiAgICpcbiAgICogQGRlZmF1bHQgYHRydWVgXG4gICAqL1xuICByZWFkb25seSBzaG91bGRSZXVzZUN1cnJlbnQ/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBUaGUgZmlsZSB0aGUgZ2VuZXJhdGVkIGZ1bmN0aW9ucyBzaG91bGQgcmVzb2x2ZSBhZ2FpbnN0IFx1MjAxNCB3aGF0IGB0cC5maWxlLipgIHJlcG9ydHMuXG4gICAqL1xuICByZWFkb25seSB0YXJnZXRQYXRoT3JGaWxlOiBQYXRoT3JGaWxlO1xufVxuXG4vKipcbiAqIFBhcmFtZXRlcnMgZm9yIHtAbGluayBwYXJzZVRlbXBsYXRlfS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBQYXJzZVRlbXBsYXRlUGFyYW1zIHtcbiAgLyoqXG4gICAqIFRoZSBPYnNpZGlhbiBhcHAgaW5zdGFuY2UuXG4gICAqL1xuICByZWFkb25seSBhcHA6IEFwcDtcblxuICAvKipcbiAgICogVGhlIGZpbGUgdGhlIHRlbXBsYXRlIGlzIHJlbmRlcmVkIEZPUi4gSXQgaXMgd2hhdCBgdHAuZmlsZS4qYCByZXNvbHZlcyB0byBpbnNpZGUgdGhlIHRlbXBsYXRlLCBhbmRcbiAgICogd2hhdCB7QGxpbmsgVGVtcGxhdGVyQWN0aXZlRmlsZVByb3ZpZGVyfSByZXBvcnRzIGZvciB0aGUgZHVyYXRpb24gb2YgdGhlIGNhbGwuXG4gICAqL1xuICByZWFkb25seSB0YXJnZXRQYXRoT3JGaWxlOiBQYXRoT3JGaWxlO1xuXG4gIC8qKlxuICAgKiBUaGUgdGVtcGxhdGUgZmlsZSB0byByZW5kZXIuXG4gICAqL1xuICByZWFkb25seSB0ZW1wbGF0ZVBhdGhPckZpbGU6IFBhdGhPckZpbGU7XG59XG5cbi8qKlxuICogVGVtcGxhdGVyJ3MgaW50ZXJuYWwgQVBJIG9iamVjdCwgbmFycm93ZWQgdG8gdGhlIG1lbWJlcnMgdGhpcyBsaWJyYXJ5IGNhbGxzLlxuICpcbiAqIEl0cyBtZW1iZXJzIGFyZSBgc25ha2VfY2FzZWAgYmVjYXVzZSBUZW1wbGF0ZXIncyBhcmU7IHRoZXkgYXJlIHRyYW5zY3JpYmVkIHJhdGhlciB0aGFuIHJlbmFtZWQgc28gdGhlXG4gKiBzaGFwZSBjYW4gYmUgY2hlY2tlZCBhZ2FpbnN0IFRlbXBsYXRlcidzIHNvdXJjZSBhdCBhIGdsYW5jZS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBUZW1wbGF0ZXJBcGkge1xuICAvKipcbiAgICogQnVpbGRzIHRoZSB7QGxpbmsgVGVtcGxhdGVyUnVubmluZ0NvbmZpZ30gdGhhdCBkZXNjcmliZXMgb25lIHJlbmRlci5cbiAgICpcbiAgICogQHBhcmFtIHRlbXBsYXRlRmlsZSAtIFRoZSB0ZW1wbGF0ZSBiZWluZyByZW5kZXJlZCwgb3IgYHVuZGVmaW5lZGAgd2hlbiB0aGVyZSBpcyBub25lIChhcyB3aGVuIG9ubHlcbiAgICogdGhlIGZ1bmN0aW9ucyBvYmplY3QgaXMgd2FudGVkKS5cbiAgICogQHBhcmFtIHRhcmdldEZpbGUgLSBUaGUgZmlsZSB0aGUgcmVuZGVyIGlzIGZvci5cbiAgICogQHBhcmFtIHJ1bk1vZGUgLSBXaGljaCB7QGxpbmsgVGVtcGxhdGVyUnVuTW9kZX0gdGhlIHJlbmRlciBpcy5cbiAgICogQHJldHVybnMgVGhlIHJ1bm5pbmcgY29uZmlnLlxuICAgKi9cbiAgY3JlYXRlX3J1bm5pbmdfY29uZmlnOiAodGVtcGxhdGVGaWxlOiBURmlsZSB8IHVuZGVmaW5lZCwgdGFyZ2V0RmlsZTogVEZpbGUsIHJ1bk1vZGU6IFRlbXBsYXRlclJ1bk1vZGUpID0+IFRlbXBsYXRlclJ1bm5pbmdDb25maWc7XG5cbiAgLyoqXG4gICAqIFRoZSBmdW5jdGlvbnMgb2JqZWN0IChgdHBgKSBvZiB0aGUgcmVuZGVyIGN1cnJlbnRseSBpbiBmbGlnaHQsIHdoZW4gdGhlcmUgaXMgb25lLlxuICAgKi9cbiAgY3VycmVudF9mdW5jdGlvbnNfb2JqZWN0Pzogb2JqZWN0IHwgdW5kZWZpbmVkO1xuXG4gIC8qKlxuICAgKiBCdWlsZHMgdGhlIGZ1bmN0aW9ucyBvYmplY3QgKGB0cGApIGEgdGVtcGxhdGUgaXMgZXZhbHVhdGVkIGFnYWluc3QuXG4gICAqL1xuICBmdW5jdGlvbnNfZ2VuZXJhdG9yOiBUZW1wbGF0ZXJGdW5jdGlvbnNHZW5lcmF0b3I7XG5cbiAgLyoqXG4gICAqIFJlYWRzIHRoZSBjb25maWcncyBgdGVtcGxhdGVfZmlsZWAgYW5kIHJlbmRlcnMgaXQsIHJldHVybmluZyB0aGUgcmVzdWx0aW5nIHRleHQuXG4gICAqXG4gICAqIEBwYXJhbSBjb25maWcgLSBUaGUge0BsaW5rIFRlbXBsYXRlclJ1bm5pbmdDb25maWd9IGRlc2NyaWJpbmcgdGhlIHJlbmRlci4gVGVtcGxhdGVyIHRocm93cyB3aGVuIGl0c1xuICAgKiBgdGVtcGxhdGVfZmlsZWAgaXMgbm90IGEgYFRGaWxlYC5cbiAgICogQHJldHVybnMgQSB7QGxpbmsgUHJvbWlzZX0gcmVzb2x2aW5nIHRvIHRoZSByZW5kZXJlZCB0ZXh0LlxuICAgKi9cbiAgcmVhZF9hbmRfcGFyc2VfdGVtcGxhdGU6IChjb25maWc6IFRlbXBsYXRlclJ1bm5pbmdDb25maWcpID0+IFByb21pc2U8c3RyaW5nPjtcbn1cblxuLyoqXG4gKiBUaGUgYGZ1bmN0aW9uc19nZW5lcmF0b3JgIGhhbGYgb2Yge0BsaW5rIFRlbXBsYXRlckFwaX0uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgVGVtcGxhdGVyRnVuY3Rpb25zR2VuZXJhdG9yIHtcbiAgLyoqXG4gICAqIEJ1aWxkcyB0aGUgZnVuY3Rpb25zIG9iamVjdCAoYHRwYCkgZm9yIGEgcnVubmluZyBjb25maWcuXG4gICAqXG4gICAqIEBwYXJhbSBjb25maWcgLSBUaGUge0BsaW5rIFRlbXBsYXRlclJ1bm5pbmdDb25maWd9IHRvIGJ1aWxkIGZvci5cbiAgICogQHJldHVybnMgQSB7QGxpbmsgUHJvbWlzZX0gcmVzb2x2aW5nIHRvIHRoZSBmdW5jdGlvbnMgb2JqZWN0LlxuICAgKi9cbiAgZ2VuZXJhdGVfb2JqZWN0OiAoY29uZmlnOiBUZW1wbGF0ZXJSdW5uaW5nQ29uZmlnKSA9PiBQcm9taXNlPG9iamVjdD47XG59XG5cbi8qKlxuICogT25lIFRlbXBsYXRlciByZW5kZXIsIGFzIFRlbXBsYXRlcidzIGBjcmVhdGVfcnVubmluZ19jb25maWdgIGRlc2NyaWJlcyBpdC5cbiAqXG4gKiBJdHMgbWVtYmVycyBhcmUgYHNuYWtlX2Nhc2VgIGJlY2F1c2UgVGVtcGxhdGVyJ3MgYXJlLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFRlbXBsYXRlclJ1bm5pbmdDb25maWcge1xuICAvKipcbiAgICogVGhlIGZpbGUgVGVtcGxhdGVyIGNvbnNpZGVycyBhY3RpdmUuIFRlbXBsYXRlciBmaWxscyB0aGlzIGluIGl0c2VsZiBmcm9tXG4gICAqIGB3b3Jrc3BhY2UuYWN0aXZlRWRpdG9yPy5maWxlID8/IHdvcmtzcGFjZS5nZXRBY3RpdmVGaWxlKClgOyBpdCBpcyBvcHRpb25hbCBoZXJlIGJlY2F1c2UgYVxuICAgKiBoYW5kLWJ1aWx0IGNvbmZpZyBtYXkgb21pdCBpdC5cbiAgICovXG4gIGFjdGl2ZV9maWxlPzogbnVsbCB8IFRGaWxlIHwgdW5kZWZpbmVkO1xuXG4gIC8qKlxuICAgKiBXaGljaCB7QGxpbmsgVGVtcGxhdGVyUnVuTW9kZX0gdGhlIHJlbmRlciBpcy5cbiAgICovXG4gIHJ1bl9tb2RlOiBUZW1wbGF0ZXJSdW5Nb2RlO1xuXG4gIC8qKlxuICAgKiBUaGUgZmlsZSB0aGUgcmVuZGVyIGlzIGZvciBcdTIwMTQgd2hhdCBgdHAuZmlsZS4qYCByZXNvbHZlcyB0by5cbiAgICovXG4gIHRhcmdldF9maWxlOiBURmlsZTtcblxuICAvKipcbiAgICogVGhlIHRlbXBsYXRlIGJlaW5nIHJlbmRlcmVkLCB3aGVuIHRoZXJlIGlzIG9uZS5cbiAgICovXG4gIHRlbXBsYXRlX2ZpbGU/OiBURmlsZSB8IHVuZGVmaW5lZDtcbn1cblxuLyoqXG4gKiBUZW1wbGF0ZXIncyBwbHVnaW4gaWQsIGFzIGl0cyBtYW5pZmVzdCBkZWNsYXJlcyBpdC5cbiAqL1xuZXhwb3J0IGNvbnN0IFRFTVBMQVRFUl9QTFVHSU5fSUQgPSAndGVtcGxhdGVyLW9ic2lkaWFuJztcblxuLyogZXNsaW50LWRpc2FibGUgbm8tbWFnaWMtbnVtYmVycyAtLSBUaGVzZSBhcmUgVGVtcGxhdGVyJ3Mgb3duIGBSdW5Nb2RlYCB2YWx1ZXMsIHRyYW5zY3JpYmVkLiAqL1xuLyoqXG4gKiBUZW1wbGF0ZXIncyBgUnVuTW9kZWAgZW51bSwgd2hpY2ggc2F5cyB3aGF0IGtpbmQgb2YgcmVuZGVyIGEge0BsaW5rIFRlbXBsYXRlclJ1bm5pbmdDb25maWd9IGRlc2NyaWJlcy5cbiAqXG4gKiBUaGUgbnVtZXJpYyB2YWx1ZXMgQVJFIFRlbXBsYXRlcidzLCBhbmQgdGhlIG1lbWJlcnMgYXJlIGxpc3RlZCBpbiBpdHMgZGVjbGFyYXRpb24gb3JkZXIgc28gdGhlIHR3byBjYW5cbiAqIGJlIGNvbXBhcmVkIGxpbmUgZm9yIGxpbmUuIFRoZXkgYXJlIHdyaXR0ZW4gb3V0IGV4cGxpY2l0bHkgYWxsIHRoZSBzYW1lLCBiZWNhdXNlIHRoZXkgY3Jvc3MgaW50b1xuICogVGVtcGxhdGVyIGFzIGludGVnZXJzIFx1MjAxNCBuZXZlciByZW51bWJlciB0aGVtLlxuICovXG5leHBvcnQgZW51bSBUZW1wbGF0ZXJSdW5Nb2RlIHtcbiAgLyoqXG4gICAqIFJlbmRlciB0aGUgdGVtcGxhdGUgaW50byBhIG5ld2x5IGNyZWF0ZWQgZmlsZS5cbiAgICovXG4gIENyZWF0ZU5ld0Zyb21UZW1wbGF0ZSA9IDAsXG5cbiAgLyoqXG4gICAqIFJlbmRlciB0aGUgdGVtcGxhdGUgYW5kIGFwcGVuZCB0aGUgcmVzdWx0IHRvIHRoZSBhY3RpdmUgZmlsZS5cbiAgICovXG4gIEFwcGVuZEFjdGl2ZUZpbGUgPSAxLFxuXG4gIC8qKlxuICAgKiBSZW5kZXIgdGhlIHRlbXBsYXRlIGFuZCBvdmVyd3JpdGUgYSBnaXZlbiBmaWxlIHdpdGggdGhlIHJlc3VsdC5cbiAgICovXG4gIE92ZXJ3cml0ZUZpbGUgPSAyLFxuXG4gIC8qKlxuICAgKiBSZW5kZXIgdGhlIHRlbXBsYXRlIGFuZCBvdmVyd3JpdGUgdGhlIGFjdGl2ZSBmaWxlIHdpdGggdGhlIHJlc3VsdC5cbiAgICovXG4gIE92ZXJ3cml0ZUFjdGl2ZUZpbGUgPSAzLFxuXG4gIC8qKlxuICAgKiBSZW5kZXIgdGhlIHRlbXBsYXRlIG9uIGRlbWFuZCwgZm9yIGEgY2FsbGVyIHRoYXQgd2FudHMgdGhlIHJlc3VsdGluZyB0ZXh0IHJhdGhlciB0aGFuIGEgZmlsZVxuICAgKiB3cml0dGVuLiBUaGlzIGlzIHdoYXQge0BsaW5rIHBhcnNlVGVtcGxhdGV9IHVzZXMuXG4gICAqL1xuICBEeW5hbWljUHJvY2Vzc29yID0gNCxcblxuICAvKipcbiAgICogUmVuZGVyIHRoZSB0ZW1wbGF0ZSBhcyBhIHN0YXJ0dXAgdGVtcGxhdGUuIHtAbGluayBnZXRUZW1wbGF0ZXJGdW5jdGlvbnN9IHVzZXMgaXQgZm9yIHRoZSB0aHJvd2F3YXlcbiAgICogY29uZmlnIGl0IGJ1aWxkcywgYmVjYXVzZSB0aGF0IGNvbmZpZyByZW5kZXJzIG5vdGhpbmcuXG4gICAqL1xuICBTdGFydHVwVGVtcGxhdGUgPSA1XG59XG4vKiBlc2xpbnQtZW5hYmxlIG5vLW1hZ2ljLW51bWJlcnMgLS0gVGhlc2UgYXJlIFRlbXBsYXRlcidzIG93biBgUnVuTW9kZWAgdmFsdWVzLCB0cmFuc2NyaWJlZC4gKi9cblxuLyoqXG4gKiBXaHkgVGVtcGxhdGVyJ3MgaW50ZXJuYWwgQVBJIGNvdWxkIG5vdCBiZSBoYW5kZWQgb3Zlci5cbiAqL1xuZXhwb3J0IGVudW0gVGVtcGxhdGVyVW5hdmFpbGFiaWxpdHlSZWFzb24ge1xuICAvKipcbiAgICogVGVtcGxhdGVyIGlzIG5vdCBpbnN0YWxsZWQsIG9yIGlzIGluc3RhbGxlZCBidXQgZGlzYWJsZWQuIE9ic2lkaWFuJ3MgYGdldFBsdWdpbmAgY2Fubm90IHRlbGwgdGhlIHR3b1xuICAgKiBhcGFydCBcdTIwMTQgaXQgcmV0dXJucyBub3RoaW5nIGVpdGhlciB3YXkuXG4gICAqL1xuICBOb3RMb2FkZWQgPSAnbm90TG9hZGVkJyxcblxuICAvKipcbiAgICogVGVtcGxhdGVyIGlzIGxvYWRlZCwgYnV0IGRvZXMgbm90IGV4cG9zZSB0aGUgaW50ZXJuYWxzIHRoaXMgbGlicmFyeSBjYWxscyBcdTIwMTQgaXQgaXMgdG9vIG9sZCwgdG9vIG5ldyxcbiAgICogb3IgaGFzIGJlZW4gcmVzaGFwZWQuXG4gICAqL1xuICBTaGFwZUNoYW5nZWQgPSAnc2hhcGVDaGFuZ2VkJ1xufVxuXG4vKipcbiAqIEFjdGl2ZS1maWxlIHByb3ZpZGVyIHRoYXQgYW5zd2VycyB3aXRoIHRoZSBmaWxlIGEge0BsaW5rIHBhcnNlVGVtcGxhdGV9IHJlbmRlciBpcyBjdXJyZW50bHkgZm9yLFxuICogZmFsbGluZyBiYWNrIHRvIHRoZSB3b3Jrc3BhY2UncyBhY3RpdmUgZmlsZSB3aGVuIG5vIHJlbmRlciBpcyBpbiBmbGlnaHQuXG4gKlxuICogVGhpcyBpcyB0aGUgcGllY2UgdGhhdCBtYWtlcyBhIGNvbnN1bWVyJ3Mgb3duIHRlbXBsYXRlIGhlbHBlcnMgcmVzb2x2ZSBhZ2FpbnN0IHRoZSByaWdodCBub3RlOiBkdXJpbmcgYVxuICogcmVuZGVyIHRoZSB3b3Jrc3BhY2Ugc3RpbGwgaGFzIHdoYXRldmVyIHRoZSB1c2VyIHdhcyBsb29raW5nIGF0IG9wZW4sIHdoaWNoIGlzIHJhcmVseSB0aGUgdGFyZ2V0LlxuICovXG5leHBvcnQgY2xhc3MgVGVtcGxhdGVyQWN0aXZlRmlsZVByb3ZpZGVyIGV4dGVuZHMgQXBwQWN0aXZlRmlsZVByb3ZpZGVyIHtcbiAgLyoqXG4gICAqIEdldHMgdGhlIGZpbGUgdGhlIGlubmVybW9zdCBpbi1mbGlnaHQge0BsaW5rIHBhcnNlVGVtcGxhdGV9IHJlbmRlciBpcyBmb3IsIG9yIHRoZSB3b3Jrc3BhY2UncyBhY3RpdmVcbiAgICogZmlsZSB3aGVuIHRoZXJlIGlzIG5vIHJlbmRlciBpbiBmbGlnaHQuXG4gICAqXG4gICAqIEByZXR1cm5zIFRoZSBhY3RpdmUgZmlsZSwgb3IgYG51bGxgIGlmIHRoZXJlIGlzIG5vbmUuXG4gICAqL1xuICBwdWJsaWMgb3ZlcnJpZGUgZ2V0QWN0aXZlRmlsZSgpOiBudWxsIHwgVEZpbGUge1xuICAgIHJldHVybiBnZXRUZW1wbGF0ZXJSZW5kZXJUYXJnZXRGaWxlKCkgPz8gc3VwZXIuZ2V0QWN0aXZlRmlsZSgpO1xuICB9XG59XG5cbi8qKlxuICogVGhyb3duIHdoZW4gVGVtcGxhdGVyJ3MgaW50ZXJuYWwgQVBJIGNhbm5vdCBiZSBoYW5kZWQgb3ZlciwgY2FycnlpbmcgdGhlXG4gKiB7QGxpbmsgVGVtcGxhdGVyVW5hdmFpbGFiaWxpdHlSZWFzb259IHRoYXQgc2F5cyB3aHkuXG4gKi9cbmV4cG9ydCBjbGFzcyBUZW1wbGF0ZXJVbmF2YWlsYWJsZUVycm9yIGV4dGVuZHMgRXJyb3Ige1xuICAvKipcbiAgICogV2hpY2ggb2YgdGhlIHR3byBmYWlsdXJlcyBvY2N1cnJlZC5cbiAgICovXG4gIHB1YmxpYyByZWFkb25seSByZWFzb246IFRlbXBsYXRlclVuYXZhaWxhYmlsaXR5UmVhc29uO1xuXG4gIC8qKlxuICAgKiBDcmVhdGVzIGEge0BsaW5rIFRlbXBsYXRlclVuYXZhaWxhYmxlRXJyb3J9LlxuICAgKlxuICAgKiBAcGFyYW0gcmVhc29uIC0gV2h5IHRoZSBBUEkgaXMgdW5hdmFpbGFibGUuXG4gICAqL1xuICBwdWJsaWMgY29uc3RydWN0b3IocmVhc29uOiBUZW1wbGF0ZXJVbmF2YWlsYWJpbGl0eVJlYXNvbikge1xuICAgIHN1cGVyKGBUaGUgaW50ZXJuYWwgQVBJIG9mIHRoZSBwbHVnaW4gXCIke1RFTVBMQVRFUl9QTFVHSU5fSUR9XCIgaXMgdW5hdmFpbGFibGU6ICR7cmVhc29ufS5gKTtcbiAgICB0aGlzLm5hbWUgPSAnVGVtcGxhdGVyVW5hdmFpbGFibGVFcnJvcic7XG4gICAgdGhpcy5yZWFzb24gPSByZWFzb247XG4gIH1cbn1cblxuLyoqXG4gKiBHZXRzIFRlbXBsYXRlcidzIGZ1bmN0aW9ucyBvYmplY3QgXHUyMDE0IHRoZSBgdHBgIGEgdGVtcGxhdGUgaXMgZXZhbHVhdGVkIGFnYWluc3QgXHUyMDE0IHNvIGEgY2FsbGVyIGNhbiBpbnZva2VcbiAqIGB0cC5kYXRlLm5vdygpYCwgYHRwLmZpbGUudGl0bGVgIGFuZCB0aGUgcmVzdCBvdXRzaWRlIGEgdGVtcGxhdGUuXG4gKlxuICogQHBhcmFtIHBhcmFtcyAtIFRoZSB7QGxpbmsgR2V0VGVtcGxhdGVyRnVuY3Rpb25zUGFyYW1zfS5cbiAqIEByZXR1cm5zIEEge0BsaW5rIFByb21pc2V9IHJlc29sdmluZyB0byB0aGUgZnVuY3Rpb25zIG9iamVjdC5cbiAqIEB0aHJvd3MgQSB7QGxpbmsgVGVtcGxhdGVyVW5hdmFpbGFibGVFcnJvcn0gd2hlbiBUZW1wbGF0ZXIgaXMgbm90IGxvYWRlZCBvciBpdHMgc2hhcGUgaGFzIGNoYW5nZWQuXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBnZXRUZW1wbGF0ZXJGdW5jdGlvbnMocGFyYW1zOiBHZXRUZW1wbGF0ZXJGdW5jdGlvbnNQYXJhbXMpOiBQcm9taXNlPG9iamVjdD4ge1xuICBjb25zdCB7XG4gICAgYXBwLFxuICAgIHNob3VsZFJldXNlQ3VycmVudCA9IHRydWUsXG4gICAgdGFyZ2V0UGF0aE9yRmlsZVxuICB9ID0gcGFyYW1zO1xuICBjb25zdCBhcGkgPSByZXF1aXJlVGVtcGxhdGVyQXBpKGFwcCk7XG5cbiAgaWYgKHNob3VsZFJldXNlQ3VycmVudCAmJiBhcGkuY3VycmVudF9mdW5jdGlvbnNfb2JqZWN0KSB7XG4gICAgcmV0dXJuIGFwaS5jdXJyZW50X2Z1bmN0aW9uc19vYmplY3Q7XG4gIH1cblxuICBjb25zdCB0YXJnZXRGaWxlID0gZ2V0RmlsZSh7XG4gICAgYXBwLFxuICAgIHBhdGhPckZpbGU6IHRhcmdldFBhdGhPckZpbGVcbiAgfSk7XG4gIGNvbnN0IGNvbmZpZyA9IGFwaS5jcmVhdGVfcnVubmluZ19jb25maWcodW5kZWZpbmVkLCB0YXJnZXRGaWxlLCBUZW1wbGF0ZXJSdW5Nb2RlLlN0YXJ0dXBUZW1wbGF0ZSk7XG4gIHJldHVybiBhd2FpdCBhcGkuZnVuY3Rpb25zX2dlbmVyYXRvci5nZW5lcmF0ZV9vYmplY3QoY29uZmlnKTtcbn1cblxuLyoqXG4gKiBHZXRzIHRoZSBmaWxlIHRoZSBpbm5lcm1vc3QgaW4tZmxpZ2h0IHtAbGluayBwYXJzZVRlbXBsYXRlfSByZW5kZXIgaXMgZm9yLlxuICpcbiAqIFJlbmRlcnMgbmVzdCBcdTIwMTQgYSB0ZW1wbGF0ZSBtYXkgcmVuZGVyIGFub3RoZXIgXHUyMDE0IHNvIHRoZSBjYWxscyBmb3JtIGEgc3RhY2sgYW5kIHRoaXMgcmVwb3J0cyB0aGUgdG9wIG9mXG4gKiBpdC4gT3V0c2lkZSBhbnkgcmVuZGVyIGl0IGlzIGBudWxsYC5cbiAqXG4gKiBAcmV0dXJucyBUaGUgcmVuZGVyIHRhcmdldCwgb3IgYG51bGxgIHdoZW4gbm8gcmVuZGVyIGlzIGluIGZsaWdodC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldFRlbXBsYXRlclJlbmRlclRhcmdldEZpbGUoKTogbnVsbCB8IFRGaWxlIHtcbiAgcmV0dXJuIHJlbmRlclRhcmdldEZpbGVzLmF0KC0xKSA/PyBudWxsO1xufVxuXG4vKipcbiAqIFJlbmRlcnMgYSBUZW1wbGF0ZXIgdGVtcGxhdGUgYWdhaW5zdCBhIHRhcmdldCBmaWxlIGFuZCByZXR1cm5zIHRoZSByZXN1bHRpbmcgdGV4dCwgd2l0aG91dCB3cml0aW5nXG4gKiBhbnl0aGluZy5cbiAqXG4gKiBGb3IgdGhlIGR1cmF0aW9uIG9mIHRoZSBjYWxsIHtAbGluayBnZXRUZW1wbGF0ZXJSZW5kZXJUYXJnZXRGaWxlfSBhbmRcbiAqIHtAbGluayBUZW1wbGF0ZXJBY3RpdmVGaWxlUHJvdmlkZXJ9IHJlcG9ydCBgdGFyZ2V0UGF0aE9yRmlsZWAsIHNvIGEgY29uc3VtZXIncyBvd24gaGVscGVycyBpbnZva2VkIGZyb21cbiAqIGluc2lkZSB0aGUgdGVtcGxhdGUgcmVzb2x2ZSBhZ2FpbnN0IGl0IHJhdGhlciB0aGFuIGFnYWluc3Qgd2hhdGV2ZXIgdGhlIHVzZXIgaGFzIG9wZW4uXG4gKlxuICogQHBhcmFtIHBhcmFtcyAtIFRoZSB7QGxpbmsgUGFyc2VUZW1wbGF0ZVBhcmFtc30uXG4gKiBAcmV0dXJucyBBIHtAbGluayBQcm9taXNlfSByZXNvbHZpbmcgdG8gdGhlIHJlbmRlcmVkIHRleHQuXG4gKiBAdGhyb3dzIEEge0BsaW5rIFRlbXBsYXRlclVuYXZhaWxhYmxlRXJyb3J9IHdoZW4gVGVtcGxhdGVyIGlzIG5vdCBsb2FkZWQgb3IgaXRzIHNoYXBlIGhhcyBjaGFuZ2VkLlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gcGFyc2VUZW1wbGF0ZShwYXJhbXM6IFBhcnNlVGVtcGxhdGVQYXJhbXMpOiBQcm9taXNlPHN0cmluZz4ge1xuICBjb25zdCB7XG4gICAgYXBwLFxuICAgIHRhcmdldFBhdGhPckZpbGUsXG4gICAgdGVtcGxhdGVQYXRoT3JGaWxlXG4gIH0gPSBwYXJhbXM7XG4gIGNvbnN0IHRlbXBsYXRlRmlsZSA9IGdldEZpbGUoe1xuICAgIGFwcCxcbiAgICBwYXRoT3JGaWxlOiB0ZW1wbGF0ZVBhdGhPckZpbGVcbiAgfSk7XG4gIGNvbnN0IHRhcmdldEZpbGUgPSBnZXRGaWxlKHtcbiAgICBhcHAsXG4gICAgcGF0aE9yRmlsZTogdGFyZ2V0UGF0aE9yRmlsZVxuICB9KTtcbiAgY29uc3QgYXBpID0gcmVxdWlyZVRlbXBsYXRlckFwaShhcHApO1xuXG4gIHJlbmRlclRhcmdldEZpbGVzLnB1c2godGFyZ2V0RmlsZSk7XG4gIHRyeSB7XG4gICAgcmV0dXJuIGF3YWl0IGFwaS5yZWFkX2FuZF9wYXJzZV90ZW1wbGF0ZSh7XG4gICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgY2FtZWxjYXNlIC0tIFRlbXBsYXRlciBBUEkuXG4gICAgICBydW5fbW9kZTogVGVtcGxhdGVyUnVuTW9kZS5EeW5hbWljUHJvY2Vzc29yLFxuICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGNhbWVsY2FzZSAtLSBUZW1wbGF0ZXIgQVBJLlxuICAgICAgdGFyZ2V0X2ZpbGU6IHRhcmdldEZpbGUsXG4gICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgY2FtZWxjYXNlIC0tIFRlbXBsYXRlciBBUEkuXG4gICAgICB0ZW1wbGF0ZV9maWxlOiB0ZW1wbGF0ZUZpbGVcbiAgICB9KTtcbiAgfSBmaW5hbGx5IHtcbiAgICByZW5kZXJUYXJnZXRGaWxlcy5wb3AoKTtcbiAgfVxufVxuXG4vKipcbiAqIEdldHMgVGVtcGxhdGVyJ3MgaW50ZXJuYWwgQVBJLCB0aHJvd2luZyB3aGVuIGl0IGNhbm5vdCBiZSBoYWQuXG4gKlxuICogVXNlIHRoaXMgd2hlcmUgdGhlIGNhbGxlciBjYW5ub3QgY2Fycnkgb24gd2l0aG91dCBUZW1wbGF0ZXIgXHUyMDE0IHRoZSBlcnJvciBuYW1lcyB0aGUgcGx1Z2luIGFuZCBzYXlzIHdoaWNoXG4gKiBvZiB0aGUgdHdvIGZhaWx1cmVzIG9jY3VycmVkLiBVc2Uge0BsaW5rIHJlc29sdmVUZW1wbGF0ZXJBcGl9IGluc3RlYWQgd2hlcmUgdGhlIGludGVncmF0aW9uIGlzIG9wdGlvbmFsLlxuICpcbiAqIEBwYXJhbSBhcHAgLSBUaGUgT2JzaWRpYW4gYXBwIGluc3RhbmNlLlxuICogQHJldHVybnMgVGVtcGxhdGVyJ3MgaW50ZXJuYWwgQVBJLlxuICogQHRocm93cyBBIHtAbGluayBUZW1wbGF0ZXJVbmF2YWlsYWJsZUVycm9yfSB3aGVuIFRlbXBsYXRlciBpcyBub3QgbG9hZGVkIG9yIGl0cyBzaGFwZSBoYXMgY2hhbmdlZC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHJlcXVpcmVUZW1wbGF0ZXJBcGkoYXBwOiBBcHApOiBUZW1wbGF0ZXJBcGkge1xuICBpZiAoIWFwcC5wbHVnaW5zLmdldFBsdWdpbihURU1QTEFURVJfUExVR0lOX0lEKSkge1xuICAgIHRocm93IG5ldyBUZW1wbGF0ZXJVbmF2YWlsYWJsZUVycm9yKFRlbXBsYXRlclVuYXZhaWxhYmlsaXR5UmVhc29uLk5vdExvYWRlZCk7XG4gIH1cblxuICBjb25zdCBhcGkgPSByZXNvbHZlVGVtcGxhdGVyQXBpKGFwcCk7XG4gIGlmICghYXBpKSB7XG4gICAgdGhyb3cgbmV3IFRlbXBsYXRlclVuYXZhaWxhYmxlRXJyb3IoVGVtcGxhdGVyVW5hdmFpbGFiaWxpdHlSZWFzb24uU2hhcGVDaGFuZ2VkKTtcbiAgfVxuXG4gIHJldHVybiBhcGk7XG59XG5cbi8qKlxuICogR2V0cyBUZW1wbGF0ZXIncyBpbnRlcm5hbCBBUEksIHdoZW4gVGVtcGxhdGVyIGlzIGluc3RhbGxlZCwgZW5hYmxlZCBhbmQgc3RpbGwgdGhlIHNoYXBlIHRoaXMgbGlicmFyeVxuICogZXhwZWN0cy5cbiAqXG4gKiBAcGFyYW0gYXBwIC0gVGhlIE9ic2lkaWFuIGFwcCBpbnN0YW5jZS5cbiAqIEByZXR1cm5zIFRoZSBpbnRlcm5hbCBBUEksIG9yIGBudWxsYCB3aGVuIFRlbXBsYXRlciBpcyBub3QgdGhlcmUgdG8gdGFsayB0by5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHJlc29sdmVUZW1wbGF0ZXJBcGkoYXBwOiBBcHApOiBudWxsIHwgVGVtcGxhdGVyQXBpIHtcbiAgY29uc3QgcGx1Z2luID0gYXBwLnBsdWdpbnMuZ2V0UGx1Z2luKFRFTVBMQVRFUl9QTFVHSU5fSUQpO1xuICBpZiAoIXBsdWdpbiB8fCAhKCd0ZW1wbGF0ZXInIGluIHBsdWdpbikpIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIGNvbnN0IHRlbXBsYXRlcjogdW5rbm93biA9IHBsdWdpbi50ZW1wbGF0ZXI7XG4gIHJldHVybiBpc1RlbXBsYXRlckFwaSh0ZW1wbGF0ZXIpID8gdGVtcGxhdGVyIDogbnVsbDtcbn1cblxuLypcbiAqIFRoZSBzdGFjayBvZiBmaWxlcyBpbi1mbGlnaHQgYHBhcnNlVGVtcGxhdGVgIGNhbGxzIGFyZSByZW5kZXJpbmcgZm9yLCBpbm5lcm1vc3QgbGFzdC4gQSBzdGFjayByYXRoZXJcbiAqIHRoYW4gYSBzaW5nbGUgc2xvdCBiZWNhdXNlIGEgdGVtcGxhdGUgbWF5IHJlbmRlciBhbm90aGVyLCBhbmQgYW4gYXJyYXkgcmF0aGVyIHRoYW4gYSByZWFzc2lnbmVkXG4gKiB2YXJpYWJsZSBiZWNhdXNlIHB1c2hpbmcgYW5kIHBvcHBpbmcgYSBgY29uc3RgIG5lZWRzIG5vIHdyaXRlIHRvIGFuIG91dGVyIGJpbmRpbmcgYWNyb3NzIGFuIGBhd2FpdGAuXG4gKi9cbmNvbnN0IHJlbmRlclRhcmdldEZpbGVzOiBURmlsZVtdID0gW107XG5cbi8qKlxuICogQ2hlY2tzIHRoYXQgYSB2YWx1ZSBpcyBUZW1wbGF0ZXIncyBpbnRlcm5hbCBBUEksIGJ5IHRoZSBtZW1iZXJzIHRoaXMgbGlicmFyeSBhY3R1YWxseSBjYWxscy5cbiAqXG4gKiBBIHByZWRpY2F0ZSByYXRoZXIgdGhhbiBhIGNhc3Qgb24gcHVycG9zZTogYHRlbXBsYXRlcmAgaXMgbm90IHBhcnQgb2YgT2JzaWRpYW4ncyBgUGx1Z2luYCB0eXBlLCBzbyB0aGVcbiAqIHZhbHVlIGFycml2ZXMgYXMgYHVua25vd25gIGFuZCB0aGUgb25seSBob25lc3Qgd2F5IHRvIHR5cGUgaXQgaXMgdG8gVkVSSUZZIGl0LiBBIFRlbXBsYXRlciB0aGF0IHJlbmFtZXNcbiAqIG9uZSBvZiB0aGVzZSB0aGVyZWZvcmUgcmVhZHMgYXMgXCJub3QgdGhlcmVcIiwgaW5zdGVhZCBvZiB0aHJvd2luZyBmcm9tIGluc2lkZSBhIHJlbmRlci5cbiAqXG4gKiBAcGFyYW0gdmFsdWUgLSBUaGUgY2FuZGlkYXRlIGB0ZW1wbGF0ZXJgIG9iamVjdC5cbiAqIEByZXR1cm5zIFdoZXRoZXIgaXQgY2FycmllcyBldmVyeSBtZW1iZXIgdGhpcyBsaWJyYXJ5IGNhbGxzLlxuICovXG5mdW5jdGlvbiBpc1RlbXBsYXRlckFwaSh2YWx1ZTogdW5rbm93bik6IHZhbHVlIGlzIFRlbXBsYXRlckFwaSB7XG4gIGlmICh0eXBlb2YgdmFsdWUgIT09ICdvYmplY3QnIHx8IHZhbHVlID09PSBudWxsIHx8ICEoJ2NyZWF0ZV9ydW5uaW5nX2NvbmZpZycgaW4gdmFsdWUpIHx8IHR5cGVvZiB2YWx1ZS5jcmVhdGVfcnVubmluZ19jb25maWcgIT09ICdmdW5jdGlvbicgfHwgISgncmVhZF9hbmRfcGFyc2VfdGVtcGxhdGUnIGluIHZhbHVlKSB8fCB0eXBlb2YgdmFsdWUucmVhZF9hbmRfcGFyc2VfdGVtcGxhdGUgIT09ICdmdW5jdGlvbicgfHwgISgnZnVuY3Rpb25zX2dlbmVyYXRvcicgaW4gdmFsdWUpKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgY29uc3QgZnVuY3Rpb25zR2VuZXJhdG9yOiB1bmtub3duID0gdmFsdWUuZnVuY3Rpb25zX2dlbmVyYXRvcjtcbiAgcmV0dXJuIHR5cGVvZiBmdW5jdGlvbnNHZW5lcmF0b3IgPT09ICdvYmplY3QnICYmIGZ1bmN0aW9uc0dlbmVyYXRvciAhPT0gbnVsbCAmJiAnZ2VuZXJhdGVfb2JqZWN0JyBpbiBmdW5jdGlvbnNHZW5lcmF0b3IgJiYgdHlwZW9mIGZ1bmN0aW9uc0dlbmVyYXRvci5nZW5lcmF0ZV9vYmplY3QgPT09ICdmdW5jdGlvbic7XG59XG4iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBMENBLFNBQVMsNkJBQTZCO0FBQ3RDLFNBQVMsZUFBZTtBQWtJakIsTUFBTSxzQkFBc0I7QUFVNUIsSUFBSyxtQkFBTCxrQkFBS0Esc0JBQUw7QUFJTCxFQUFBQSxvQ0FBQSwyQkFBd0IsS0FBeEI7QUFLQSxFQUFBQSxvQ0FBQSxzQkFBbUIsS0FBbkI7QUFLQSxFQUFBQSxvQ0FBQSxtQkFBZ0IsS0FBaEI7QUFLQSxFQUFBQSxvQ0FBQSx5QkFBc0IsS0FBdEI7QUFNQSxFQUFBQSxvQ0FBQSxzQkFBbUIsS0FBbkI7QUFNQSxFQUFBQSxvQ0FBQSxxQkFBa0IsS0FBbEI7QUEvQlUsU0FBQUE7QUFBQSxHQUFBO0FBc0NMLElBQUssZ0NBQUwsa0JBQUtDLG1DQUFMO0FBS0wsRUFBQUEsK0JBQUEsZUFBWTtBQU1aLEVBQUFBLCtCQUFBLGtCQUFlO0FBWEwsU0FBQUE7QUFBQSxHQUFBO0FBcUJMLE1BQU0sb0NBQW9DLHNCQUFzQjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBT3JELGdCQUE4QjtBQUM1QyxXQUFPLDZCQUE2QixLQUFLLE1BQU0sY0FBYztBQUFBLEVBQy9EO0FBQ0Y7QUFNTyxNQUFNLGtDQUFrQyxNQUFNO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFJbkM7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFPVCxZQUFZLFFBQXVDO0FBQ3hELFVBQU0sbUNBQW1DLG1CQUFtQixxQkFBcUIsTUFBTSxHQUFHO0FBQzFGLFNBQUssT0FBTztBQUNaLFNBQUssU0FBUztBQUFBLEVBQ2hCO0FBQ0Y7QUFVQSxlQUFzQixzQkFBc0IsUUFBc0Q7QUFDaEcsUUFBTTtBQUFBLElBQ0o7QUFBQSxJQUNBLHFCQUFxQjtBQUFBLElBQ3JCO0FBQUEsRUFDRixJQUFJO0FBQ0osUUFBTSxNQUFNLG9CQUFvQixHQUFHO0FBRW5DLE1BQUksc0JBQXNCLElBQUksMEJBQTBCO0FBQ3RELFdBQU8sSUFBSTtBQUFBLEVBQ2I7QUFFQSxRQUFNLGFBQWEsUUFBUTtBQUFBLElBQ3pCO0FBQUEsSUFDQSxZQUFZO0FBQUEsRUFDZCxDQUFDO0FBQ0QsUUFBTSxTQUFTLElBQUksc0JBQXNCLFFBQVcsWUFBWSx1QkFBZ0M7QUFDaEcsU0FBTyxNQUFNLElBQUksb0JBQW9CLGdCQUFnQixNQUFNO0FBQzdEO0FBVU8sU0FBUywrQkFBNkM7QUFDM0QsU0FBTyxrQkFBa0IsR0FBRyxFQUFFLEtBQUs7QUFDckM7QUFjQSxlQUFzQixjQUFjLFFBQThDO0FBQ2hGLFFBQU07QUFBQSxJQUNKO0FBQUEsSUFDQTtBQUFBLElBQ0E7QUFBQSxFQUNGLElBQUk7QUFDSixRQUFNLGVBQWUsUUFBUTtBQUFBLElBQzNCO0FBQUEsSUFDQSxZQUFZO0FBQUEsRUFDZCxDQUFDO0FBQ0QsUUFBTSxhQUFhLFFBQVE7QUFBQSxJQUN6QjtBQUFBLElBQ0EsWUFBWTtBQUFBLEVBQ2QsQ0FBQztBQUNELFFBQU0sTUFBTSxvQkFBb0IsR0FBRztBQUVuQyxvQkFBa0IsS0FBSyxVQUFVO0FBQ2pDLE1BQUk7QUFDRixXQUFPLE1BQU0sSUFBSSx3QkFBd0I7QUFBQTtBQUFBLE1BRXZDLFVBQVU7QUFBQTtBQUFBLE1BRVYsYUFBYTtBQUFBO0FBQUEsTUFFYixlQUFlO0FBQUEsSUFDakIsQ0FBQztBQUFBLEVBQ0gsVUFBRTtBQUNBLHNCQUFrQixJQUFJO0FBQUEsRUFDeEI7QUFDRjtBQVlPLFNBQVMsb0JBQW9CLEtBQXdCO0FBQzFELE1BQUksQ0FBQyxJQUFJLFFBQVEsVUFBVSxtQkFBbUIsR0FBRztBQUMvQyxVQUFNLElBQUksMEJBQTBCLDJCQUF1QztBQUFBLEVBQzdFO0FBRUEsUUFBTSxNQUFNLG9CQUFvQixHQUFHO0FBQ25DLE1BQUksQ0FBQyxLQUFLO0FBQ1IsVUFBTSxJQUFJLDBCQUEwQixpQ0FBMEM7QUFBQSxFQUNoRjtBQUVBLFNBQU87QUFDVDtBQVNPLFNBQVMsb0JBQW9CLEtBQStCO0FBQ2pFLFFBQU0sU0FBUyxJQUFJLFFBQVEsVUFBVSxtQkFBbUI7QUFDeEQsTUFBSSxDQUFDLFVBQVUsRUFBRSxlQUFlLFNBQVM7QUFDdkMsV0FBTztBQUFBLEVBQ1Q7QUFFQSxRQUFNLFlBQXFCLE9BQU87QUFDbEMsU0FBTyxlQUFlLFNBQVMsSUFBSSxZQUFZO0FBQ2pEO0FBT0EsTUFBTSxvQkFBNkIsQ0FBQztBQVlwQyxTQUFTLGVBQWUsT0FBdUM7QUFDN0QsTUFBSSxPQUFPLFVBQVUsWUFBWSxVQUFVLFFBQVEsRUFBRSwyQkFBMkIsVUFBVSxPQUFPLE1BQU0sMEJBQTBCLGNBQWMsRUFBRSw2QkFBNkIsVUFBVSxPQUFPLE1BQU0sNEJBQTRCLGNBQWMsRUFBRSx5QkFBeUIsUUFBUTtBQUNoUixXQUFPO0FBQUEsRUFDVDtBQUVBLFFBQU0scUJBQThCLE1BQU07QUFDMUMsU0FBTyxPQUFPLHVCQUF1QixZQUFZLHVCQUF1QixRQUFRLHFCQUFxQixzQkFBc0IsT0FBTyxtQkFBbUIsb0JBQW9CO0FBQzNLOyIsCiAgIm5hbWVzIjogWyJUZW1wbGF0ZXJSdW5Nb2RlIiwgIlRlbXBsYXRlclVuYXZhaWxhYmlsaXR5UmVhc29uIl0KfQo=
173
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL3RlbXBsYXRlci50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyoqXG4gKiBAZmlsZVxuICpcbiAqIFRoZSBzbGljZSBvZiBUZW1wbGF0ZXIncyBJTlRFUk5BTCBBUEkgdGhpcyBsaWJyYXJ5IHRhbGtzIHRvLCBhbmQgdGhlIHJ1bnRpbWUgbmFycm93aW5nIHRoYXQgZ2V0cyBob2xkXG4gKiBvZiBpdC5cbiAqXG4gKiAqKlRlbXBsYXRlciBwdWJsaXNoZXMgbm8gQVBJLioqIFJlbmRlcmluZyBhIHRlbXBsYXRlIGFnYWluc3QgYSBmaWxlIGFuZCBnZXR0aW5nIHRoZSByZXN1bHRpbmcgc3RyaW5nXG4gKiBiYWNrIGlzIG9ubHkgcmVhY2hhYmxlIHRocm91Z2ggdW5kb2N1bWVudGVkIGludGVybmFscyBoYW5naW5nIG9mZlxuICogYGFwcC5wbHVnaW5zLmdldFBsdWdpbigndGVtcGxhdGVyLW9ic2lkaWFuJykudGVtcGxhdGVyYCBcdTIwMTQgYGNyZWF0ZV9ydW5uaW5nX2NvbmZpZ2AsXG4gKiBgZnVuY3Rpb25zX2dlbmVyYXRvci5nZW5lcmF0ZV9vYmplY3RgLCBgcmVhZF9hbmRfcGFyc2VfdGVtcGxhdGVgLCBhbmQgYSBgUnVuTW9kZWAgZW51bS4gRXZlcnkgcGx1Z2luXG4gKiB0aGF0IHdhbnRzIGl0IHJlLWRlcml2ZXMgdGhlIHNhbWUgcmV2ZXJzZSBlbmdpbmVlcmluZywgd2hpY2ggaXMgd2h5IGl0IGxpdmVzIGhlcmUgaW5zdGVhZC5cbiAqXG4gKiAqKlRoaXMgbW9kdWxlIGlzIGV4cGxpY2l0bHkgQkVTVC1FRkZPUlQuKiogTm90aGluZyBpdCBiaW5kcyB0byBpcyBkb2N1bWVudGVkIG9yIGNvdmVyZWQgYnkgVGVtcGxhdGVyJ3NcbiAqIHNlbWFudGljIHZlcnNpb25pbmcsIHNvIGEgVGVtcGxhdGVyIHJlbGVhc2UgbWF5IHJlbmFtZSBvciByZXNoYXBlIGFueSBvZiBpdCB3aXRob3V0IHdhcm5pbmcuIFRoZSBzaGFwZXNcbiAqIGJlbG93IHdlcmUgcmVhZCBmcm9tIFRlbXBsYXRlciBgMi4yNC4zYC4gVHdvIGRlbGliZXJhdGUgY29uc2VxdWVuY2VzIGZvbGxvdzpcbiAqXG4gKiAtIHtAbGluayByZXNvbHZlVGVtcGxhdGVyQXBpfSByZXR1cm5zIGBudWxsYCBcdTIwMTQgYSBUZW1wbGF0ZXIgdG9vIG9sZCwgdG9vIG5ldyBvciB0b28gYnJva2VuIHRvIHRhbGsgdG9cbiAqICAgcmVhZHMgYXMgXCJub3QgdGhlcmVcIiBhbmQgdGhlIGludGVncmF0aW9uIHN0YXlzIGRvcm1hbnQuXG4gKiAtIHtAbGluayByZXF1aXJlVGVtcGxhdGVyQXBpfSB0aHJvd3MgYSB7QGxpbmsgVGVtcGxhdGVyVW5hdmFpbGFibGVFcnJvcn0gdGhhdCBOQU1FUyB0aGUgcGx1Z2luIGFuZCB0aGVcbiAqICAgcmVhc29uLCByYXRoZXIgdGhhbiBsZXR0aW5nIGEgYENhbm5vdCByZWFkIHByb3BlcnRpZXMgb2YgdW5kZWZpbmVkYCBzdXJmYWNlIGZyb20gc29tZXdoZXJlIGluc2lkZVxuICogICBUZW1wbGF0ZXIuXG4gKlxuICogVGhlIHR5cGVzIGFyZSBERUNMQVJFRCBIRVJFIHJhdGhlciB0aGFuIGltcG9ydGVkLCBhbmQgbmFycm93ZWQgdG8gdGhlIG1lbWJlcnMgYWN0dWFsbHkgY2FsbGVkOiBUZW1wbGF0ZXJcbiAqIHNoaXBzIG5vIG5wbSB0eXBlcyBwYWNrYWdlLCBhbmQgZGVwZW5kaW5nIG9uIGl0IHdvdWxkIHR1cm4gYW4gb3B0aW9uYWwgaW50ZWdyYXRpb24gaW50byBhIGJ1aWxkLXRpbWVcbiAqIGRlcGVuZGVuY3kuXG4gKlxuICogVGhlIHNlY29uZCB0aGluZyB0aGlzIG1vZHVsZSBzdXBwbGllcyBpcyBhbiBhY3RpdmUtZmlsZSBhbnN3ZXIuIFdoaWxlIGEgdGVtcGxhdGUgcmVuZGVycyxcbiAqIGBhcHAud29ya3NwYWNlLmdldEFjdGl2ZUZpbGUoKWAgc3RpbGwgcG9pbnRzIGF0IHdoYXRldmVyIHRoZSB1c2VyIGhhcHBlbnMgdG8gaGF2ZSBvcGVuIFx1MjAxNCBOT1QgYXQgdGhlIGZpbGVcbiAqIHRoZSB0ZW1wbGF0ZSBpcyBiZWluZyByZW5kZXJlZCBmb3IgXHUyMDE0IHNvIGEgcGx1Z2luJ3Mgb3duIGhlbHBlciBjYWxsZWQgZnJvbSBpbnNpZGUgYSB0ZW1wbGF0ZSByZXNvbHZlc1xuICogbGlua3MgYWdhaW5zdCB0aGUgd3Jvbmcgbm90ZS4ge0BsaW5rIFRlbXBsYXRlckFjdGl2ZUZpbGVQcm92aWRlcn0gYW5zd2VycyB3aXRoIHRoZSByZW5kZXIgdGFyZ2V0IGZvciB0aGVcbiAqIGR1cmF0aW9uIG9mIGEge0BsaW5rIHBhcnNlVGVtcGxhdGV9IGNhbGwgYW5kIGZhbGxzIGJhY2sgdG8gdGhlIHdvcmtzcGFjZSBvdGhlcndpc2UuIE5vdGUgdGhpcyBpcyBhYm91dFxuICogdGhlIENPTlNVTUVSJ3MgaGVscGVyczogVGVtcGxhdGVyJ3Mgb3duIGB0cC5maWxlLipgIGFscmVhZHkgcmVzb2x2ZXMgdGhyb3VnaCB0aGUgcnVubmluZyBjb25maWcnc1xuICogYHRhcmdldF9maWxlYCBhbmQgbmVlZHMgbm8gaGVscC5cbiAqL1xuXG5pbXBvcnQgdHlwZSB7XG4gIEFwcCxcbiAgVEZpbGVcbn0gZnJvbSAnb2JzaWRpYW4nO1xuXG5pbXBvcnQgdHlwZSB7IFBhdGhPckZpbGUgfSBmcm9tICcuL2ZpbGUtc3lzdGVtLnRzJztcblxuaW1wb3J0IHsgQXBwQWN0aXZlRmlsZVByb3ZpZGVyIH0gZnJvbSAnLi9hY3RpdmUtZmlsZS1wcm92aWRlci50cyc7XG5pbXBvcnQgeyBnZXRGaWxlIH0gZnJvbSAnLi9maWxlLXN5c3RlbS50cyc7XG5cbi8qKlxuICogUGFyYW1ldGVycyBmb3Ige0BsaW5rIGdldFRlbXBsYXRlckZ1bmN0aW9uc30uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgR2V0VGVtcGxhdGVyRnVuY3Rpb25zUGFyYW1zIHtcbiAgLyoqXG4gICAqIFRoZSBPYnNpZGlhbiBhcHAgaW5zdGFuY2UuXG4gICAqL1xuICByZWFkb25seSBhcHA6IEFwcDtcblxuICAvKipcbiAgICogV2hldGhlciB0byByZXR1cm4gVGVtcGxhdGVyJ3MgYGN1cnJlbnRfZnVuY3Rpb25zX29iamVjdGAgd2hlbiBpdCBhbHJlYWR5IGhhcyBvbmUsIGluc3RlYWQgb2ZcbiAgICogZ2VuZXJhdGluZyBhIGZyZXNoIG9iamVjdC4gUmV1c2UgaXMgY2hlYXBlciBhbmQgZ2l2ZXMgdGhlIG9iamVjdCBvZiB0aGUgcmVuZGVyIGN1cnJlbnRseSBpbiBmbGlnaHQ7XG4gICAqIHBhc3MgYGZhbHNlYCB0byBmb3JjZSBhIG5ldyBvbmUgYnVpbHQgZm9yIGB0YXJnZXRQYXRoT3JGaWxlYC5cbiAgICpcbiAgICogQGRlZmF1bHQgYHRydWVgXG4gICAqL1xuICByZWFkb25seSBzaG91bGRSZXVzZUN1cnJlbnQ/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBUaGUgZmlsZSB0aGUgZ2VuZXJhdGVkIGZ1bmN0aW9ucyBzaG91bGQgcmVzb2x2ZSBhZ2FpbnN0IFx1MjAxNCB3aGF0IGB0cC5maWxlLipgIHJlcG9ydHMuXG4gICAqL1xuICByZWFkb25seSB0YXJnZXRQYXRoT3JGaWxlOiBQYXRoT3JGaWxlO1xufVxuXG4vKipcbiAqIFBhcmFtZXRlcnMgZm9yIHtAbGluayBwYXJzZVRlbXBsYXRlfS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBQYXJzZVRlbXBsYXRlUGFyYW1zIHtcbiAgLyoqXG4gICAqIFRoZSBPYnNpZGlhbiBhcHAgaW5zdGFuY2UuXG4gICAqL1xuICByZWFkb25seSBhcHA6IEFwcDtcblxuICAvKipcbiAgICogVGhlIGZpbGUgdGhlIHRlbXBsYXRlIGlzIHJlbmRlcmVkIEZPUi4gSXQgaXMgd2hhdCBgdHAuZmlsZS4qYCByZXNvbHZlcyB0byBpbnNpZGUgdGhlIHRlbXBsYXRlLCBhbmRcbiAgICogd2hhdCB7QGxpbmsgVGVtcGxhdGVyQWN0aXZlRmlsZVByb3ZpZGVyfSByZXBvcnRzIGZvciB0aGUgZHVyYXRpb24gb2YgdGhlIGNhbGwuXG4gICAqL1xuICByZWFkb25seSB0YXJnZXRQYXRoT3JGaWxlOiBQYXRoT3JGaWxlO1xuXG4gIC8qKlxuICAgKiBUaGUgdGVtcGxhdGUgZmlsZSB0byByZW5kZXIuXG4gICAqL1xuICByZWFkb25seSB0ZW1wbGF0ZVBhdGhPckZpbGU6IFBhdGhPckZpbGU7XG59XG5cbi8qKlxuICogVGVtcGxhdGVyJ3MgaW50ZXJuYWwgQVBJIG9iamVjdCwgbmFycm93ZWQgdG8gdGhlIG1lbWJlcnMgdGhpcyBsaWJyYXJ5IGNhbGxzLlxuICpcbiAqIEl0cyBtZW1iZXJzIGFyZSBgc25ha2VfY2FzZWAgYmVjYXVzZSBUZW1wbGF0ZXIncyBhcmU7IHRoZXkgYXJlIHRyYW5zY3JpYmVkIHJhdGhlciB0aGFuIHJlbmFtZWQgc28gdGhlXG4gKiBzaGFwZSBjYW4gYmUgY2hlY2tlZCBhZ2FpbnN0IFRlbXBsYXRlcidzIHNvdXJjZSBhdCBhIGdsYW5jZS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBUZW1wbGF0ZXJBcGkge1xuICAvKipcbiAgICogQnVpbGRzIHRoZSB7QGxpbmsgVGVtcGxhdGVyUnVubmluZ0NvbmZpZ30gdGhhdCBkZXNjcmliZXMgb25lIHJlbmRlci5cbiAgICpcbiAgICogQHBhcmFtIHRlbXBsYXRlRmlsZSAtIFRoZSB0ZW1wbGF0ZSBiZWluZyByZW5kZXJlZCwgb3IgYHVuZGVmaW5lZGAgd2hlbiB0aGVyZSBpcyBub25lIChhcyB3aGVuIG9ubHlcbiAgICogdGhlIGZ1bmN0aW9ucyBvYmplY3QgaXMgd2FudGVkKS5cbiAgICogQHBhcmFtIHRhcmdldEZpbGUgLSBUaGUgZmlsZSB0aGUgcmVuZGVyIGlzIGZvci5cbiAgICogQHBhcmFtIHJ1bk1vZGUgLSBXaGljaCB7QGxpbmsgVGVtcGxhdGVyUnVuTW9kZX0gdGhlIHJlbmRlciBpcy5cbiAgICogQHJldHVybnMgVGhlIHJ1bm5pbmcgY29uZmlnLlxuICAgKi9cbiAgY3JlYXRlX3J1bm5pbmdfY29uZmlnOiAodGVtcGxhdGVGaWxlOiBURmlsZSB8IHVuZGVmaW5lZCwgdGFyZ2V0RmlsZTogVEZpbGUsIHJ1bk1vZGU6IFRlbXBsYXRlclJ1bk1vZGUpID0+IFRlbXBsYXRlclJ1bm5pbmdDb25maWc7XG5cbiAgLyoqXG4gICAqIFRoZSBmdW5jdGlvbnMgb2JqZWN0IChgdHBgKSBvZiB0aGUgcmVuZGVyIGN1cnJlbnRseSBpbiBmbGlnaHQsIHdoZW4gdGhlcmUgaXMgb25lLlxuICAgKi9cbiAgY3VycmVudF9mdW5jdGlvbnNfb2JqZWN0Pzogb2JqZWN0IHwgdW5kZWZpbmVkO1xuXG4gIC8qKlxuICAgKiBCdWlsZHMgdGhlIGZ1bmN0aW9ucyBvYmplY3QgKGB0cGApIGEgdGVtcGxhdGUgaXMgZXZhbHVhdGVkIGFnYWluc3QuXG4gICAqL1xuICBmdW5jdGlvbnNfZ2VuZXJhdG9yOiBUZW1wbGF0ZXJGdW5jdGlvbnNHZW5lcmF0b3I7XG5cbiAgLyoqXG4gICAqIFJlYWRzIHRoZSBjb25maWcncyBgdGVtcGxhdGVfZmlsZWAgYW5kIHJlbmRlcnMgaXQsIHJldHVybmluZyB0aGUgcmVzdWx0aW5nIHRleHQuXG4gICAqXG4gICAqIEBwYXJhbSBjb25maWcgLSBUaGUge0BsaW5rIFRlbXBsYXRlclJ1bm5pbmdDb25maWd9IGRlc2NyaWJpbmcgdGhlIHJlbmRlci4gVGVtcGxhdGVyIHRocm93cyB3aGVuIGl0c1xuICAgKiBgdGVtcGxhdGVfZmlsZWAgaXMgbm90IGEgYFRGaWxlYC5cbiAgICogQHJldHVybnMgQSB7QGxpbmsgUHJvbWlzZX0gcmVzb2x2aW5nIHRvIHRoZSByZW5kZXJlZCB0ZXh0LlxuICAgKi9cbiAgcmVhZF9hbmRfcGFyc2VfdGVtcGxhdGU6IChjb25maWc6IFRlbXBsYXRlclJ1bm5pbmdDb25maWcpID0+IFByb21pc2U8c3RyaW5nPjtcbn1cblxuLyoqXG4gKiBUaGUgYGZ1bmN0aW9uc19nZW5lcmF0b3JgIGhhbGYgb2Yge0BsaW5rIFRlbXBsYXRlckFwaX0uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgVGVtcGxhdGVyRnVuY3Rpb25zR2VuZXJhdG9yIHtcbiAgLyoqXG4gICAqIEJ1aWxkcyB0aGUgZnVuY3Rpb25zIG9iamVjdCAoYHRwYCkgZm9yIGEgcnVubmluZyBjb25maWcuXG4gICAqXG4gICAqIEBwYXJhbSBjb25maWcgLSBUaGUge0BsaW5rIFRlbXBsYXRlclJ1bm5pbmdDb25maWd9IHRvIGJ1aWxkIGZvci5cbiAgICogQHJldHVybnMgQSB7QGxpbmsgUHJvbWlzZX0gcmVzb2x2aW5nIHRvIHRoZSBmdW5jdGlvbnMgb2JqZWN0LlxuICAgKi9cbiAgZ2VuZXJhdGVfb2JqZWN0OiAoY29uZmlnOiBUZW1wbGF0ZXJSdW5uaW5nQ29uZmlnKSA9PiBQcm9taXNlPG9iamVjdD47XG59XG5cbi8qKlxuICogT25lIFRlbXBsYXRlciByZW5kZXIsIGFzIFRlbXBsYXRlcidzIGBjcmVhdGVfcnVubmluZ19jb25maWdgIGRlc2NyaWJlcyBpdC5cbiAqXG4gKiBJdHMgbWVtYmVycyBhcmUgYHNuYWtlX2Nhc2VgIGJlY2F1c2UgVGVtcGxhdGVyJ3MgYXJlLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFRlbXBsYXRlclJ1bm5pbmdDb25maWcge1xuICAvKipcbiAgICogVGhlIGZpbGUgVGVtcGxhdGVyIGNvbnNpZGVycyBhY3RpdmUuIFRlbXBsYXRlciBmaWxscyB0aGlzIGluIGl0c2VsZiBmcm9tXG4gICAqIGB3b3Jrc3BhY2UuYWN0aXZlRWRpdG9yPy5maWxlID8/IHdvcmtzcGFjZS5nZXRBY3RpdmVGaWxlKClgOyBpdCBpcyBvcHRpb25hbCBoZXJlIGJlY2F1c2UgYVxuICAgKiBoYW5kLWJ1aWx0IGNvbmZpZyBtYXkgb21pdCBpdC5cbiAgICovXG4gIGFjdGl2ZV9maWxlPzogbnVsbCB8IFRGaWxlIHwgdW5kZWZpbmVkO1xuXG4gIC8qKlxuICAgKiBXaGljaCB7QGxpbmsgVGVtcGxhdGVyUnVuTW9kZX0gdGhlIHJlbmRlciBpcy5cbiAgICovXG4gIHJ1bl9tb2RlOiBUZW1wbGF0ZXJSdW5Nb2RlO1xuXG4gIC8qKlxuICAgKiBUaGUgZmlsZSB0aGUgcmVuZGVyIGlzIGZvciBcdTIwMTQgd2hhdCBgdHAuZmlsZS4qYCByZXNvbHZlcyB0by5cbiAgICovXG4gIHRhcmdldF9maWxlOiBURmlsZTtcblxuICAvKipcbiAgICogVGhlIHRlbXBsYXRlIGJlaW5nIHJlbmRlcmVkLCB3aGVuIHRoZXJlIGlzIG9uZS5cbiAgICovXG4gIHRlbXBsYXRlX2ZpbGU/OiBURmlsZSB8IHVuZGVmaW5lZDtcbn1cblxuLyoqXG4gKiBUZW1wbGF0ZXIncyBwbHVnaW4gaWQsIGFzIGl0cyBtYW5pZmVzdCBkZWNsYXJlcyBpdC5cbiAqL1xuZXhwb3J0IGNvbnN0IFRFTVBMQVRFUl9QTFVHSU5fSUQgPSAndGVtcGxhdGVyLW9ic2lkaWFuJztcblxuLyogZXNsaW50LWRpc2FibGUgbm8tbWFnaWMtbnVtYmVycyAtLSBUaGVzZSBhcmUgVGVtcGxhdGVyJ3Mgb3duIGBSdW5Nb2RlYCB2YWx1ZXMsIHRyYW5zY3JpYmVkLiAqL1xuLyoqXG4gKiBUZW1wbGF0ZXIncyBgUnVuTW9kZWAgZW51bSwgd2hpY2ggc2F5cyB3aGF0IGtpbmQgb2YgcmVuZGVyIGEge0BsaW5rIFRlbXBsYXRlclJ1bm5pbmdDb25maWd9IGRlc2NyaWJlcy5cbiAqXG4gKiBUaGUgbnVtZXJpYyB2YWx1ZXMgQVJFIFRlbXBsYXRlcidzLCBhbmQgdGhlIG1lbWJlcnMgYXJlIGxpc3RlZCBpbiBpdHMgZGVjbGFyYXRpb24gb3JkZXIgc28gdGhlIHR3byBjYW5cbiAqIGJlIGNvbXBhcmVkIGxpbmUgZm9yIGxpbmUuIFRoZXkgYXJlIHdyaXR0ZW4gb3V0IGV4cGxpY2l0bHkgYWxsIHRoZSBzYW1lLCBiZWNhdXNlIHRoZXkgY3Jvc3MgaW50b1xuICogVGVtcGxhdGVyIGFzIGludGVnZXJzIFx1MjAxNCBuZXZlciByZW51bWJlciB0aGVtLlxuICovXG5leHBvcnQgZW51bSBUZW1wbGF0ZXJSdW5Nb2RlIHtcbiAgLyoqXG4gICAqIFJlbmRlciB0aGUgdGVtcGxhdGUgaW50byBhIG5ld2x5IGNyZWF0ZWQgZmlsZS5cbiAgICovXG4gIENyZWF0ZU5ld0Zyb21UZW1wbGF0ZSA9IDAsXG5cbiAgLyoqXG4gICAqIFJlbmRlciB0aGUgdGVtcGxhdGUgYW5kIGFwcGVuZCB0aGUgcmVzdWx0IHRvIHRoZSBhY3RpdmUgZmlsZS5cbiAgICovXG4gIEFwcGVuZEFjdGl2ZUZpbGUgPSAxLFxuXG4gIC8qKlxuICAgKiBSZW5kZXIgdGhlIHRlbXBsYXRlIGFuZCBvdmVyd3JpdGUgYSBnaXZlbiBmaWxlIHdpdGggdGhlIHJlc3VsdC5cbiAgICovXG4gIE92ZXJ3cml0ZUZpbGUgPSAyLFxuXG4gIC8qKlxuICAgKiBSZW5kZXIgdGhlIHRlbXBsYXRlIGFuZCBvdmVyd3JpdGUgdGhlIGFjdGl2ZSBmaWxlIHdpdGggdGhlIHJlc3VsdC5cbiAgICovXG4gIE92ZXJ3cml0ZUFjdGl2ZUZpbGUgPSAzLFxuXG4gIC8qKlxuICAgKiBSZW5kZXIgdGhlIHRlbXBsYXRlIG9uIGRlbWFuZCwgZm9yIGEgY2FsbGVyIHRoYXQgd2FudHMgdGhlIHJlc3VsdGluZyB0ZXh0IHJhdGhlciB0aGFuIGEgZmlsZVxuICAgKiB3cml0dGVuLiBUaGlzIGlzIHdoYXQge0BsaW5rIHBhcnNlVGVtcGxhdGV9IHVzZXMuXG4gICAqL1xuICBEeW5hbWljUHJvY2Vzc29yID0gNCxcblxuICAvKipcbiAgICogUmVuZGVyIHRoZSB0ZW1wbGF0ZSBhcyBhIHN0YXJ0dXAgdGVtcGxhdGUuIHtAbGluayBnZXRUZW1wbGF0ZXJGdW5jdGlvbnN9IHVzZXMgaXQgZm9yIHRoZSB0aHJvd2F3YXlcbiAgICogY29uZmlnIGl0IGJ1aWxkcywgYmVjYXVzZSB0aGF0IGNvbmZpZyByZW5kZXJzIG5vdGhpbmcuXG4gICAqL1xuICBTdGFydHVwVGVtcGxhdGUgPSA1XG59XG4vKiBlc2xpbnQtZW5hYmxlIG5vLW1hZ2ljLW51bWJlcnMgLS0gVGhlc2UgYXJlIFRlbXBsYXRlcidzIG93biBgUnVuTW9kZWAgdmFsdWVzLCB0cmFuc2NyaWJlZC4gKi9cblxuLyoqXG4gKiBXaHkgVGVtcGxhdGVyJ3MgaW50ZXJuYWwgQVBJIGNvdWxkIG5vdCBiZSBoYW5kZWQgb3Zlci5cbiAqL1xuZXhwb3J0IGVudW0gVGVtcGxhdGVyVW5hdmFpbGFiaWxpdHlSZWFzb24ge1xuICAvKipcbiAgICogVGVtcGxhdGVyIGlzIG5vdCBpbnN0YWxsZWQsIG9yIGlzIGluc3RhbGxlZCBidXQgZGlzYWJsZWQuIE9ic2lkaWFuJ3MgYGdldFBsdWdpbmAgY2Fubm90IHRlbGwgdGhlIHR3b1xuICAgKiBhcGFydCBcdTIwMTQgaXQgcmV0dXJucyBub3RoaW5nIGVpdGhlciB3YXkuXG4gICAqL1xuICBOb3RMb2FkZWQgPSAnbm90TG9hZGVkJyxcblxuICAvKipcbiAgICogVGVtcGxhdGVyIGlzIGxvYWRlZCwgYnV0IGRvZXMgbm90IGV4cG9zZSB0aGUgaW50ZXJuYWxzIHRoaXMgbGlicmFyeSBjYWxscyBcdTIwMTQgaXQgaXMgdG9vIG9sZCwgdG9vIG5ldyxcbiAgICogb3IgaGFzIGJlZW4gcmVzaGFwZWQuXG4gICAqL1xuICBTaGFwZUNoYW5nZWQgPSAnc2hhcGVDaGFuZ2VkJ1xufVxuXG4vKipcbiAqIEFjdGl2ZS1maWxlIHByb3ZpZGVyIHRoYXQgYW5zd2VycyB3aXRoIHRoZSBmaWxlIGEge0BsaW5rIHBhcnNlVGVtcGxhdGV9IHJlbmRlciBpcyBjdXJyZW50bHkgZm9yLFxuICogZmFsbGluZyBiYWNrIHRvIHRoZSB3b3Jrc3BhY2UncyBhY3RpdmUgZmlsZSB3aGVuIG5vIHJlbmRlciBpcyBpbiBmbGlnaHQuXG4gKlxuICogVGhpcyBpcyB0aGUgcGllY2UgdGhhdCBtYWtlcyBhIGNvbnN1bWVyJ3Mgb3duIHRlbXBsYXRlIGhlbHBlcnMgcmVzb2x2ZSBhZ2FpbnN0IHRoZSByaWdodCBub3RlOiBkdXJpbmcgYVxuICogcmVuZGVyIHRoZSB3b3Jrc3BhY2Ugc3RpbGwgaGFzIHdoYXRldmVyIHRoZSB1c2VyIHdhcyBsb29raW5nIGF0IG9wZW4sIHdoaWNoIGlzIHJhcmVseSB0aGUgdGFyZ2V0LlxuICovXG5leHBvcnQgY2xhc3MgVGVtcGxhdGVyQWN0aXZlRmlsZVByb3ZpZGVyIGV4dGVuZHMgQXBwQWN0aXZlRmlsZVByb3ZpZGVyIHtcbiAgLyoqXG4gICAqIEdldHMgdGhlIGZpbGUgdGhlIGlubmVybW9zdCBpbi1mbGlnaHQge0BsaW5rIHBhcnNlVGVtcGxhdGV9IHJlbmRlciBpcyBmb3IsIG9yIHRoZSB3b3Jrc3BhY2UncyBhY3RpdmVcbiAgICogZmlsZSB3aGVuIHRoZXJlIGlzIG5vIHJlbmRlciBpbiBmbGlnaHQuXG4gICAqXG4gICAqIEByZXR1cm5zIFRoZSBhY3RpdmUgZmlsZSwgb3IgYG51bGxgIGlmIHRoZXJlIGlzIG5vbmUuXG4gICAqL1xuICBwdWJsaWMgb3ZlcnJpZGUgZ2V0QWN0aXZlRmlsZSgpOiBudWxsIHwgVEZpbGUge1xuICAgIHJldHVybiBnZXRUZW1wbGF0ZXJSZW5kZXJUYXJnZXRGaWxlKCkgPz8gc3VwZXIuZ2V0QWN0aXZlRmlsZSgpO1xuICB9XG59XG5cbi8qKlxuICogVGhyb3duIHdoZW4gVGVtcGxhdGVyJ3MgaW50ZXJuYWwgQVBJIGNhbm5vdCBiZSBoYW5kZWQgb3ZlciwgY2FycnlpbmcgdGhlXG4gKiB7QGxpbmsgVGVtcGxhdGVyVW5hdmFpbGFiaWxpdHlSZWFzb259IHRoYXQgc2F5cyB3aHkuXG4gKi9cbmV4cG9ydCBjbGFzcyBUZW1wbGF0ZXJVbmF2YWlsYWJsZUVycm9yIGV4dGVuZHMgRXJyb3Ige1xuICAvKipcbiAgICogV2hpY2ggb2YgdGhlIHR3byBmYWlsdXJlcyBvY2N1cnJlZC5cbiAgICovXG4gIHB1YmxpYyByZWFkb25seSByZWFzb246IFRlbXBsYXRlclVuYXZhaWxhYmlsaXR5UmVhc29uO1xuXG4gIC8qKlxuICAgKiBDcmVhdGVzIGEge0BsaW5rIFRlbXBsYXRlclVuYXZhaWxhYmxlRXJyb3J9LlxuICAgKlxuICAgKiBAcGFyYW0gcmVhc29uIC0gV2h5IHRoZSBBUEkgaXMgdW5hdmFpbGFibGUuXG4gICAqL1xuICBwdWJsaWMgY29uc3RydWN0b3IocmVhc29uOiBUZW1wbGF0ZXJVbmF2YWlsYWJpbGl0eVJlYXNvbikge1xuICAgIHN1cGVyKGBUaGUgaW50ZXJuYWwgQVBJIG9mIHRoZSBwbHVnaW4gXCIke1RFTVBMQVRFUl9QTFVHSU5fSUR9XCIgaXMgdW5hdmFpbGFibGU6ICR7cmVhc29ufS5gKTtcbiAgICB0aGlzLm5hbWUgPSAnVGVtcGxhdGVyVW5hdmFpbGFibGVFcnJvcic7XG4gICAgdGhpcy5yZWFzb24gPSByZWFzb247XG4gIH1cbn1cblxuLyoqXG4gKiBHZXRzIFRlbXBsYXRlcidzIGZ1bmN0aW9ucyBvYmplY3QgXHUyMDE0IHRoZSBgdHBgIGEgdGVtcGxhdGUgaXMgZXZhbHVhdGVkIGFnYWluc3QgXHUyMDE0IHNvIGEgY2FsbGVyIGNhbiBpbnZva2VcbiAqIGB0cC5kYXRlLm5vdygpYCwgYHRwLmZpbGUudGl0bGVgIGFuZCB0aGUgcmVzdCBvdXRzaWRlIGEgdGVtcGxhdGUuXG4gKlxuICogQHBhcmFtIHBhcmFtcyAtIFRoZSB7QGxpbmsgR2V0VGVtcGxhdGVyRnVuY3Rpb25zUGFyYW1zfS5cbiAqIEByZXR1cm5zIEEge0BsaW5rIFByb21pc2V9IHJlc29sdmluZyB0byB0aGUgZnVuY3Rpb25zIG9iamVjdC5cbiAqIEB0aHJvd3MgQSB7QGxpbmsgVGVtcGxhdGVyVW5hdmFpbGFibGVFcnJvcn0gd2hlbiBUZW1wbGF0ZXIgaXMgbm90IGxvYWRlZCBvciBpdHMgc2hhcGUgaGFzIGNoYW5nZWQuXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBnZXRUZW1wbGF0ZXJGdW5jdGlvbnMocGFyYW1zOiBHZXRUZW1wbGF0ZXJGdW5jdGlvbnNQYXJhbXMpOiBQcm9taXNlPG9iamVjdD4ge1xuICBjb25zdCB7XG4gICAgYXBwLFxuICAgIHNob3VsZFJldXNlQ3VycmVudCA9IHRydWUsXG4gICAgdGFyZ2V0UGF0aE9yRmlsZVxuICB9ID0gcGFyYW1zO1xuICBjb25zdCBhcGkgPSByZXF1aXJlVGVtcGxhdGVyQXBpKGFwcCk7XG5cbiAgaWYgKHNob3VsZFJldXNlQ3VycmVudCAmJiBhcGkuY3VycmVudF9mdW5jdGlvbnNfb2JqZWN0KSB7XG4gICAgcmV0dXJuIGFwaS5jdXJyZW50X2Z1bmN0aW9uc19vYmplY3Q7XG4gIH1cblxuICBjb25zdCB0YXJnZXRGaWxlID0gZ2V0RmlsZSh7XG4gICAgYXBwLFxuICAgIHBhdGhPckZpbGU6IHRhcmdldFBhdGhPckZpbGVcbiAgfSk7XG4gIGNvbnN0IGNvbmZpZyA9IGFwaS5jcmVhdGVfcnVubmluZ19jb25maWcodW5kZWZpbmVkLCB0YXJnZXRGaWxlLCBUZW1wbGF0ZXJSdW5Nb2RlLlN0YXJ0dXBUZW1wbGF0ZSk7XG4gIHJldHVybiBhd2FpdCBhcGkuZnVuY3Rpb25zX2dlbmVyYXRvci5nZW5lcmF0ZV9vYmplY3QoY29uZmlnKTtcbn1cblxuLyoqXG4gKiBHZXRzIHRoZSBmaWxlIHRoZSBpbm5lcm1vc3QgaW4tZmxpZ2h0IHtAbGluayBwYXJzZVRlbXBsYXRlfSByZW5kZXIgaXMgZm9yLlxuICpcbiAqIFJlbmRlcnMgbmVzdCBcdTIwMTQgYSB0ZW1wbGF0ZSBtYXkgcmVuZGVyIGFub3RoZXIgXHUyMDE0IHNvIHRoZSBjYWxscyBmb3JtIGEgc3RhY2sgYW5kIHRoaXMgcmVwb3J0cyB0aGUgdG9wIG9mXG4gKiBpdC4gT3V0c2lkZSBhbnkgcmVuZGVyIGl0IGlzIGBudWxsYC5cbiAqXG4gKiBAcmV0dXJucyBUaGUgcmVuZGVyIHRhcmdldCwgb3IgYG51bGxgIHdoZW4gbm8gcmVuZGVyIGlzIGluIGZsaWdodC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldFRlbXBsYXRlclJlbmRlclRhcmdldEZpbGUoKTogbnVsbCB8IFRGaWxlIHtcbiAgcmV0dXJuIHJlbmRlclRhcmdldEZpbGVzLmF0KC0xKSA/PyBudWxsO1xufVxuXG4vKipcbiAqIFJlbmRlcnMgYSBUZW1wbGF0ZXIgdGVtcGxhdGUgYWdhaW5zdCBhIHRhcmdldCBmaWxlIGFuZCByZXR1cm5zIHRoZSByZXN1bHRpbmcgdGV4dCwgd2l0aG91dCB3cml0aW5nXG4gKiBhbnl0aGluZy5cbiAqXG4gKiBGb3IgdGhlIGR1cmF0aW9uIG9mIHRoZSBjYWxsIHtAbGluayBnZXRUZW1wbGF0ZXJSZW5kZXJUYXJnZXRGaWxlfSBhbmRcbiAqIHtAbGluayBUZW1wbGF0ZXJBY3RpdmVGaWxlUHJvdmlkZXJ9IHJlcG9ydCBgdGFyZ2V0UGF0aE9yRmlsZWAsIHNvIGEgY29uc3VtZXIncyBvd24gaGVscGVycyBpbnZva2VkIGZyb21cbiAqIGluc2lkZSB0aGUgdGVtcGxhdGUgcmVzb2x2ZSBhZ2FpbnN0IGl0IHJhdGhlciB0aGFuIGFnYWluc3Qgd2hhdGV2ZXIgdGhlIHVzZXIgaGFzIG9wZW4uXG4gKlxuICogQHBhcmFtIHBhcmFtcyAtIFRoZSB7QGxpbmsgUGFyc2VUZW1wbGF0ZVBhcmFtc30uXG4gKiBAcmV0dXJucyBBIHtAbGluayBQcm9taXNlfSByZXNvbHZpbmcgdG8gdGhlIHJlbmRlcmVkIHRleHQuXG4gKiBAdGhyb3dzIEEge0BsaW5rIFRlbXBsYXRlclVuYXZhaWxhYmxlRXJyb3J9IHdoZW4gVGVtcGxhdGVyIGlzIG5vdCBsb2FkZWQgb3IgaXRzIHNoYXBlIGhhcyBjaGFuZ2VkLlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gcGFyc2VUZW1wbGF0ZShwYXJhbXM6IFBhcnNlVGVtcGxhdGVQYXJhbXMpOiBQcm9taXNlPHN0cmluZz4ge1xuICBjb25zdCB7XG4gICAgYXBwLFxuICAgIHRhcmdldFBhdGhPckZpbGUsXG4gICAgdGVtcGxhdGVQYXRoT3JGaWxlXG4gIH0gPSBwYXJhbXM7XG4gIGNvbnN0IHRlbXBsYXRlRmlsZSA9IGdldEZpbGUoe1xuICAgIGFwcCxcbiAgICBwYXRoT3JGaWxlOiB0ZW1wbGF0ZVBhdGhPckZpbGVcbiAgfSk7XG4gIGNvbnN0IHRhcmdldEZpbGUgPSBnZXRGaWxlKHtcbiAgICBhcHAsXG4gICAgcGF0aE9yRmlsZTogdGFyZ2V0UGF0aE9yRmlsZVxuICB9KTtcbiAgY29uc3QgYXBpID0gcmVxdWlyZVRlbXBsYXRlckFwaShhcHApO1xuXG4gIHJlbmRlclRhcmdldEZpbGVzLnB1c2godGFyZ2V0RmlsZSk7XG4gIHRyeSB7XG4gICAgcmV0dXJuIGF3YWl0IGFwaS5yZWFkX2FuZF9wYXJzZV90ZW1wbGF0ZSh7XG4gICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgY2FtZWxjYXNlIC0tIFRlbXBsYXRlciBBUEkuXG4gICAgICBydW5fbW9kZTogVGVtcGxhdGVyUnVuTW9kZS5EeW5hbWljUHJvY2Vzc29yLFxuICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGNhbWVsY2FzZSAtLSBUZW1wbGF0ZXIgQVBJLlxuICAgICAgdGFyZ2V0X2ZpbGU6IHRhcmdldEZpbGUsXG4gICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgY2FtZWxjYXNlIC0tIFRlbXBsYXRlciBBUEkuXG4gICAgICB0ZW1wbGF0ZV9maWxlOiB0ZW1wbGF0ZUZpbGVcbiAgICB9KTtcbiAgfSBmaW5hbGx5IHtcbiAgICByZW5kZXJUYXJnZXRGaWxlcy5wb3AoKTtcbiAgfVxufVxuXG4vKipcbiAqIEdldHMgVGVtcGxhdGVyJ3MgaW50ZXJuYWwgQVBJLCB0aHJvd2luZyB3aGVuIGl0IGNhbm5vdCBiZSBoYWQuXG4gKlxuICogVXNlIHRoaXMgd2hlcmUgdGhlIGNhbGxlciBjYW5ub3QgY2Fycnkgb24gd2l0aG91dCBUZW1wbGF0ZXIgXHUyMDE0IHRoZSBlcnJvciBuYW1lcyB0aGUgcGx1Z2luIGFuZCBzYXlzIHdoaWNoXG4gKiBvZiB0aGUgdHdvIGZhaWx1cmVzIG9jY3VycmVkLiBVc2Uge0BsaW5rIHJlc29sdmVUZW1wbGF0ZXJBcGl9IGluc3RlYWQgd2hlcmUgdGhlIGludGVncmF0aW9uIGlzIG9wdGlvbmFsLlxuICpcbiAqIEBwYXJhbSBhcHAgLSBUaGUgT2JzaWRpYW4gYXBwIGluc3RhbmNlLlxuICogQHJldHVybnMgVGVtcGxhdGVyJ3MgaW50ZXJuYWwgQVBJLlxuICogQHRocm93cyBBIHtAbGluayBUZW1wbGF0ZXJVbmF2YWlsYWJsZUVycm9yfSB3aGVuIFRlbXBsYXRlciBpcyBub3QgbG9hZGVkIG9yIGl0cyBzaGFwZSBoYXMgY2hhbmdlZC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHJlcXVpcmVUZW1wbGF0ZXJBcGkoYXBwOiBBcHApOiBUZW1wbGF0ZXJBcGkge1xuICBpZiAoIWFwcC5wbHVnaW5zLmdldFBsdWdpbihURU1QTEFURVJfUExVR0lOX0lEKSkge1xuICAgIHRocm93IG5ldyBUZW1wbGF0ZXJVbmF2YWlsYWJsZUVycm9yKFRlbXBsYXRlclVuYXZhaWxhYmlsaXR5UmVhc29uLk5vdExvYWRlZCk7XG4gIH1cblxuICBjb25zdCBhcGkgPSByZXNvbHZlVGVtcGxhdGVyQXBpKGFwcCk7XG4gIGlmICghYXBpKSB7XG4gICAgdGhyb3cgbmV3IFRlbXBsYXRlclVuYXZhaWxhYmxlRXJyb3IoVGVtcGxhdGVyVW5hdmFpbGFiaWxpdHlSZWFzb24uU2hhcGVDaGFuZ2VkKTtcbiAgfVxuXG4gIHJldHVybiBhcGk7XG59XG5cbi8qKlxuICogR2V0cyBUZW1wbGF0ZXIncyBpbnRlcm5hbCBBUEksIHdoZW4gVGVtcGxhdGVyIGlzIGluc3RhbGxlZCwgZW5hYmxlZCBhbmQgc3RpbGwgdGhlIHNoYXBlIHRoaXMgbGlicmFyeVxuICogZXhwZWN0cy5cbiAqXG4gKiBAcGFyYW0gYXBwIC0gVGhlIE9ic2lkaWFuIGFwcCBpbnN0YW5jZS5cbiAqIEByZXR1cm5zIFRoZSBpbnRlcm5hbCBBUEksIG9yIGBudWxsYCB3aGVuIFRlbXBsYXRlciBpcyBub3QgdGhlcmUgdG8gdGFsayB0by5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHJlc29sdmVUZW1wbGF0ZXJBcGkoYXBwOiBBcHApOiBudWxsIHwgVGVtcGxhdGVyQXBpIHtcbiAgY29uc3QgcGx1Z2luID0gYXBwLnBsdWdpbnMuZ2V0UGx1Z2luKFRFTVBMQVRFUl9QTFVHSU5fSUQpO1xuICBpZiAoIXBsdWdpbiB8fCAhKCd0ZW1wbGF0ZXInIGluIHBsdWdpbikpIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIGNvbnN0IHRlbXBsYXRlcjogdW5rbm93biA9IHBsdWdpbi50ZW1wbGF0ZXI7XG4gIHJldHVybiBpc1RlbXBsYXRlckFwaSh0ZW1wbGF0ZXIpID8gdGVtcGxhdGVyIDogbnVsbDtcbn1cblxuLypcbiAqIFRoZSBzdGFjayBvZiBmaWxlcyBpbi1mbGlnaHQgYHBhcnNlVGVtcGxhdGVgIGNhbGxzIGFyZSByZW5kZXJpbmcgZm9yLCBpbm5lcm1vc3QgbGFzdC4gQSBzdGFjayByYXRoZXJcbiAqIHRoYW4gYSBzaW5nbGUgc2xvdCBiZWNhdXNlIGEgdGVtcGxhdGUgbWF5IHJlbmRlciBhbm90aGVyLCBhbmQgYW4gYXJyYXkgcmF0aGVyIHRoYW4gYSByZWFzc2lnbmVkXG4gKiB2YXJpYWJsZSBiZWNhdXNlIHB1c2hpbmcgYW5kIHBvcHBpbmcgYSBgY29uc3RgIG5lZWRzIG5vIHdyaXRlIHRvIGFuIG91dGVyIGJpbmRpbmcgYWNyb3NzIGFuIGBhd2FpdGAuXG4gKi9cbmNvbnN0IHJlbmRlclRhcmdldEZpbGVzOiBURmlsZVtdID0gW107XG5cbi8qKlxuICogQ2hlY2tzIHRoYXQgYSB2YWx1ZSBpcyBUZW1wbGF0ZXIncyBpbnRlcm5hbCBBUEksIGJ5IHRoZSBtZW1iZXJzIHRoaXMgbGlicmFyeSBhY3R1YWxseSBjYWxscy5cbiAqXG4gKiBBIHByZWRpY2F0ZSByYXRoZXIgdGhhbiBhIGNhc3Qgb24gcHVycG9zZTogYHRlbXBsYXRlcmAgaXMgbm90IHBhcnQgb2YgT2JzaWRpYW4ncyBgUGx1Z2luYCB0eXBlLCBzbyB0aGVcbiAqIHZhbHVlIGFycml2ZXMgYXMgYHVua25vd25gIGFuZCB0aGUgb25seSBob25lc3Qgd2F5IHRvIHR5cGUgaXQgaXMgdG8gVkVSSUZZIGl0LiBBIFRlbXBsYXRlciB0aGF0IHJlbmFtZXNcbiAqIG9uZSBvZiB0aGVzZSB0aGVyZWZvcmUgcmVhZHMgYXMgXCJub3QgdGhlcmVcIiwgaW5zdGVhZCBvZiB0aHJvd2luZyBmcm9tIGluc2lkZSBhIHJlbmRlci5cbiAqXG4gKiBAcGFyYW0gdmFsdWUgLSBUaGUgY2FuZGlkYXRlIGB0ZW1wbGF0ZXJgIG9iamVjdC5cbiAqIEByZXR1cm5zIFdoZXRoZXIgaXQgY2FycmllcyBldmVyeSBtZW1iZXIgdGhpcyBsaWJyYXJ5IGNhbGxzLlxuICovXG5mdW5jdGlvbiBpc1RlbXBsYXRlckFwaSh2YWx1ZTogdW5rbm93bik6IHZhbHVlIGlzIFRlbXBsYXRlckFwaSB7XG4gIGlmICh0eXBlb2YgdmFsdWUgIT09ICdvYmplY3QnIHx8IHZhbHVlID09PSBudWxsIHx8ICEoJ2NyZWF0ZV9ydW5uaW5nX2NvbmZpZycgaW4gdmFsdWUpIHx8IHR5cGVvZiB2YWx1ZS5jcmVhdGVfcnVubmluZ19jb25maWcgIT09ICdmdW5jdGlvbicgfHwgISgncmVhZF9hbmRfcGFyc2VfdGVtcGxhdGUnIGluIHZhbHVlKSB8fCB0eXBlb2YgdmFsdWUucmVhZF9hbmRfcGFyc2VfdGVtcGxhdGUgIT09ICdmdW5jdGlvbicgfHwgISgnZnVuY3Rpb25zX2dlbmVyYXRvcicgaW4gdmFsdWUpKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgY29uc3QgZnVuY3Rpb25zR2VuZXJhdG9yOiB1bmtub3duID0gdmFsdWUuZnVuY3Rpb25zX2dlbmVyYXRvcjtcbiAgcmV0dXJuIHR5cGVvZiBmdW5jdGlvbnNHZW5lcmF0b3IgPT09ICdvYmplY3QnICYmIGZ1bmN0aW9uc0dlbmVyYXRvciAhPT0gbnVsbCAmJiAnZ2VuZXJhdGVfb2JqZWN0JyBpbiBmdW5jdGlvbnNHZW5lcmF0b3IgJiYgdHlwZW9mIGZ1bmN0aW9uc0dlbmVyYXRvci5nZW5lcmF0ZV9vYmplY3QgPT09ICdmdW5jdGlvbic7XG59XG4iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQTBDQSxTQUFTLDZCQUE2QjtBQUN0QyxTQUFTLGVBQWU7QUFrSWpCLE1BQU0sc0JBQXNCO0FBVTVCLElBQUssbUJBQUwsa0JBQUtBLHNCQUFMO0FBSUwsRUFBQUEsb0NBQUEsMkJBQXdCLEtBQXhCO0FBS0EsRUFBQUEsb0NBQUEsc0JBQW1CLEtBQW5CO0FBS0EsRUFBQUEsb0NBQUEsbUJBQWdCLEtBQWhCO0FBS0EsRUFBQUEsb0NBQUEseUJBQXNCLEtBQXRCO0FBTUEsRUFBQUEsb0NBQUEsc0JBQW1CLEtBQW5CO0FBTUEsRUFBQUEsb0NBQUEscUJBQWtCLEtBQWxCO0FBL0JVLFNBQUFBO0FBQUEsR0FBQTtBQXNDTCxJQUFLLGdDQUFMLGtCQUFLQyxtQ0FBTDtBQUtMLEVBQUFBLCtCQUFBLGVBQVk7QUFNWixFQUFBQSwrQkFBQSxrQkFBZTtBQVhMLFNBQUFBO0FBQUEsR0FBQTtBQXFCTCxNQUFNLG9DQUFvQyxzQkFBc0I7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQU9yRCxnQkFBOEI7QUFDNUMsV0FBTyw2QkFBNkIsS0FBSyxNQUFNLGNBQWM7QUFBQSxFQUMvRDtBQUNGO0FBTU8sTUFBTSxrQ0FBa0MsTUFBTTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBSW5DO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBT1QsWUFBWSxRQUF1QztBQUN4RCxVQUFNLG1DQUFtQyxtQkFBbUIscUJBQXFCLE1BQU0sR0FBRztBQUMxRixTQUFLLE9BQU87QUFDWixTQUFLLFNBQVM7QUFBQSxFQUNoQjtBQUNGO0FBVUEsZUFBc0Isc0JBQXNCLFFBQXNEO0FBQ2hHLFFBQU07QUFBQSxJQUNKO0FBQUEsSUFDQSxxQkFBcUI7QUFBQSxJQUNyQjtBQUFBLEVBQ0YsSUFBSTtBQUNKLFFBQU0sTUFBTSxvQkFBb0IsR0FBRztBQUVuQyxNQUFJLHNCQUFzQixJQUFJLDBCQUEwQjtBQUN0RCxXQUFPLElBQUk7QUFBQSxFQUNiO0FBRUEsUUFBTSxhQUFhLFFBQVE7QUFBQSxJQUN6QjtBQUFBLElBQ0EsWUFBWTtBQUFBLEVBQ2QsQ0FBQztBQUNELFFBQU0sU0FBUyxJQUFJLHNCQUFzQixRQUFXLFlBQVksdUJBQWdDO0FBQ2hHLFNBQU8sTUFBTSxJQUFJLG9CQUFvQixnQkFBZ0IsTUFBTTtBQUM3RDtBQVVPLFNBQVMsK0JBQTZDO0FBQzNELFNBQU8sa0JBQWtCLEdBQUcsRUFBRSxLQUFLO0FBQ3JDO0FBY0EsZUFBc0IsY0FBYyxRQUE4QztBQUNoRixRQUFNO0FBQUEsSUFDSjtBQUFBLElBQ0E7QUFBQSxJQUNBO0FBQUEsRUFDRixJQUFJO0FBQ0osUUFBTSxlQUFlLFFBQVE7QUFBQSxJQUMzQjtBQUFBLElBQ0EsWUFBWTtBQUFBLEVBQ2QsQ0FBQztBQUNELFFBQU0sYUFBYSxRQUFRO0FBQUEsSUFDekI7QUFBQSxJQUNBLFlBQVk7QUFBQSxFQUNkLENBQUM7QUFDRCxRQUFNLE1BQU0sb0JBQW9CLEdBQUc7QUFFbkMsb0JBQWtCLEtBQUssVUFBVTtBQUNqQyxNQUFJO0FBQ0YsV0FBTyxNQUFNLElBQUksd0JBQXdCO0FBQUE7QUFBQSxNQUV2QyxVQUFVO0FBQUE7QUFBQSxNQUVWLGFBQWE7QUFBQTtBQUFBLE1BRWIsZUFBZTtBQUFBLElBQ2pCLENBQUM7QUFBQSxFQUNILFVBQUU7QUFDQSxzQkFBa0IsSUFBSTtBQUFBLEVBQ3hCO0FBQ0Y7QUFZTyxTQUFTLG9CQUFvQixLQUF3QjtBQUMxRCxNQUFJLENBQUMsSUFBSSxRQUFRLFVBQVUsbUJBQW1CLEdBQUc7QUFDL0MsVUFBTSxJQUFJLDBCQUEwQiwyQkFBdUM7QUFBQSxFQUM3RTtBQUVBLFFBQU0sTUFBTSxvQkFBb0IsR0FBRztBQUNuQyxNQUFJLENBQUMsS0FBSztBQUNSLFVBQU0sSUFBSSwwQkFBMEIsaUNBQTBDO0FBQUEsRUFDaEY7QUFFQSxTQUFPO0FBQ1Q7QUFTTyxTQUFTLG9CQUFvQixLQUErQjtBQUNqRSxRQUFNLFNBQVMsSUFBSSxRQUFRLFVBQVUsbUJBQW1CO0FBQ3hELE1BQUksQ0FBQyxVQUFVLEVBQUUsZUFBZSxTQUFTO0FBQ3ZDLFdBQU87QUFBQSxFQUNUO0FBRUEsUUFBTSxZQUFxQixPQUFPO0FBQ2xDLFNBQU8sZUFBZSxTQUFTLElBQUksWUFBWTtBQUNqRDtBQU9BLE1BQU0sb0JBQTZCLENBQUM7QUFZcEMsU0FBUyxlQUFlLE9BQXVDO0FBQzdELE1BQUksT0FBTyxVQUFVLFlBQVksVUFBVSxRQUFRLEVBQUUsMkJBQTJCLFVBQVUsT0FBTyxNQUFNLDBCQUEwQixjQUFjLEVBQUUsNkJBQTZCLFVBQVUsT0FBTyxNQUFNLDRCQUE0QixjQUFjLEVBQUUseUJBQXlCLFFBQVE7QUFDaFIsV0FBTztBQUFBLEVBQ1Q7QUFFQSxRQUFNLHFCQUE4QixNQUFNO0FBQzFDLFNBQU8sT0FBTyx1QkFBdUIsWUFBWSx1QkFBdUIsUUFBUSxxQkFBcUIsc0JBQXNCLE9BQU8sbUJBQW1CLG9CQUFvQjtBQUMzSzsiLAogICJuYW1lcyI6IFsiVGVtcGxhdGVyUnVuTW9kZSIsICJUZW1wbGF0ZXJVbmF2YWlsYWJpbGl0eVJlYXNvbiJdCn0K
@@ -5,40 +5,32 @@ if you want to view the source, please visit the github repository of this plugi
5
5
 
6
6
  (function () {
7
7
  function ensureDisposeSymbols(symbolConstructor = Symbol) {
8
- symbolConstructor.asyncDispose ??= symbolConstructor.for('Symbol.asyncDispose');
9
- symbolConstructor.dispose ??= symbolConstructor.for('Symbol.dispose');
8
+ symbolConstructor.asyncDispose ??= symbolConstructor.for("Symbol.asyncDispose");
9
+ symbolConstructor.dispose ??= symbolConstructor.for("Symbol.dispose");
10
10
  }
11
11
 
12
12
  function ensureBrowserProcess() {
13
13
  const browserProcess = {
14
14
  browser: true,
15
15
  cwd() {
16
- return '/';
16
+ return "/";
17
17
  },
18
18
  env: {},
19
- platform: 'android'
19
+ platform: "android"
20
20
  };
21
-
22
- // eslint-disable-next-line obsidianmd/no-global-this, unicorn/no-unnecessary-global-this -- Must stay `globalThis`-qualified: in the emitted banner a bare `process` is a free identifier, so reading it where the host has none throws a ReferenceError instead of yielding `undefined`. That is the very case this function exists to handle.
23
21
  const existingProcess = globalThis.process;
24
-
25
22
  if (!existingProcess) {
26
- // eslint-disable-next-line obsidianmd/no-global-this -- Actively use globalThis.
27
23
  globalThis.process = browserProcess;
28
24
  return;
29
25
  }
30
-
31
26
  if (existingProcess.versions?.node) {
32
27
  return;
33
28
  }
34
-
35
29
  const existingProcessRecord = existingProcess;
36
-
37
30
  for (const [key, value] of Object.entries(browserProcess)) {
38
31
  existingProcessRecord[key] ??= value;
39
32
  }
40
-
41
- existingProcessRecord['browser'] = true;
33
+ existingProcessRecord["browser"] = true;
42
34
  }
43
35
 
44
36
  (function initEsm() {
@@ -90,4 +82,4 @@ class DurationTransformer extends TypedTransformer {
90
82
  export {
91
83
  DurationTransformer
92
84
  };
93
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vc3JjL3RyYW5zZm9ybWVycy9kdXJhdGlvbi10cmFuc2Zvcm1lci50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyoqXG4gKiBAZmlsZVxuICpcbiAqIEEgdHJhbnNmb3JtZXIgdGhhdCBjYW4gdHJhbnNmb3JtIER1cmF0aW9uIHRvIGFuIElTTyBzdHJpbmcgYW5kIGJhY2suXG4gKi9cblxuaW1wb3J0IHsgVHlwZWRUcmFuc2Zvcm1lciB9IGZyb20gJ0BtbmFvdW1vdi90eXBlc2NyaXB0LWxpYi90cmFuc2Zvcm1lcnMvdHlwZWQtdHJhbnNmb3JtZXInO1xuaW1wb3J0IHsgbW9tZW50IH0gZnJvbSAnb2JzaWRpYW4nO1xuXG4vKipcbiAqIEEgdHJhbnNmb3JtZXIgdGhhdCBjb252ZXJ0cyBhIER1cmF0aW9uIHRvIGFuIElTTyBzdHJpbmcgYW5kIGJhY2suXG4gKi9cbmV4cG9ydCBjbGFzcyBEdXJhdGlvblRyYW5zZm9ybWVyIGV4dGVuZHMgVHlwZWRUcmFuc2Zvcm1lcjxtb21lbnQuRHVyYXRpb24sIHN0cmluZz4ge1xuICAvKipcbiAgICogQW4gaWQgb2YgdGhlIHRyYW5zZm9ybWVyLlxuICAgKlxuICAgKiBAcmV0dXJucyBUaGUgaWQgb2YgdGhlIHRyYW5zZm9ybWVyLlxuICAgKi9cbiAgcHVibGljIG92ZXJyaWRlIGdldCBpZCgpOiBzdHJpbmcge1xuICAgIHJldHVybiAnZHVyYXRpb24nO1xuICB9XG5cbiAgLyoqXG4gICAqIENoZWNrcyBpZiB0aGUgdmFsdWUgaXMgYSBEdXJhdGlvbi5cbiAgICpcbiAgICogQHBhcmFtIHZhbHVlIC0gVGhlIHZhbHVlIHRvIGNoZWNrLlxuICAgKiBAcmV0dXJucyBgdHJ1ZWAgaWYgdGhlIHZhbHVlIGlzIGEgRHVyYXRpb24sIGBmYWxzZWAgb3RoZXJ3aXNlLlxuICAgKi9cbiAgcHVibGljIG92ZXJyaWRlIGNhblRyYW5zZm9ybSh2YWx1ZTogdW5rbm93bik6IHZhbHVlIGlzIG1vbWVudC5EdXJhdGlvbiB7XG4gICAgY29uc3QgbWF5YmVEdXJhdGlvbiA9ICh2YWx1ZSA/PyB7fSkgYXMgUGFydGlhbDxtb21lbnQuRHVyYXRpb24+O1xuICAgIHJldHVybiAhIW1heWJlRHVyYXRpb24uYXNIb3VycyAmJiAhIW1heWJlRHVyYXRpb24uYXNNaW51dGVzICYmICEhbWF5YmVEdXJhdGlvbi5hc1NlY29uZHMgJiYgISFtYXliZUR1cmF0aW9uLmFzTWlsbGlzZWNvbmRzO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlc3RvcmVzIHRoZSB2YWx1ZSBmcm9tIGEgc3RyaW5nLlxuICAgKlxuICAgKiBAcGFyYW0gdHJhbnNmb3JtZWRWYWx1ZSAtIFRoZSBzdHJpbmcgdG8gcmVzdG9yZSB0aGUgdmFsdWUgZnJvbS5cbiAgICogQHJldHVybnMgVGhlIHJlc3RvcmVkIHZhbHVlLlxuICAgKi9cbiAgcHVibGljIG92ZXJyaWRlIHJlc3RvcmVWYWx1ZSh0cmFuc2Zvcm1lZFZhbHVlOiBzdHJpbmcpOiBtb21lbnQuRHVyYXRpb24ge1xuICAgIHJldHVybiBtb21lbnQuZHVyYXRpb24odHJhbnNmb3JtZWRWYWx1ZSk7XG4gIH1cblxuICAvKipcbiAgICogVHJhbnNmb3JtcyB0aGUgdmFsdWUgdG8gYSBzdHJpbmcuXG4gICAqXG4gICAqIEBwYXJhbSB2YWx1ZSAtIFRoZSB2YWx1ZSB0byB0cmFuc2Zvcm0uXG4gICAqIEByZXR1cm5zIFRoZSB0cmFuc2Zvcm1lZCB2YWx1ZS5cbiAgICovXG4gIHB1YmxpYyBvdmVycmlkZSB0cmFuc2Zvcm1WYWx1ZSh2YWx1ZTogbW9tZW50LkR1cmF0aW9uKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdmFsdWUudG9JU09TdHJpbmcoKTtcbiAgfVxufVxuIl0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQU1BLFNBQVMsd0JBQXdCO0FBQ2pDLFNBQVMsY0FBYztBQUtoQixNQUFNLDRCQUE0QixpQkFBMEM7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFNakYsSUFBb0IsS0FBYTtBQUMvQixXQUFPO0FBQUEsRUFDVDtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBUWdCLGFBQWEsT0FBMEM7QUFDckUsVUFBTSxnQkFBaUIsU0FBUyxDQUFDO0FBQ2pDLFdBQU8sQ0FBQyxDQUFDLGNBQWMsV0FBVyxDQUFDLENBQUMsY0FBYyxhQUFhLENBQUMsQ0FBQyxjQUFjLGFBQWEsQ0FBQyxDQUFDLGNBQWM7QUFBQSxFQUM5RztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBUWdCLGFBQWEsa0JBQTJDO0FBQ3RFLFdBQU8sT0FBTyxTQUFTLGdCQUFnQjtBQUFBLEVBQ3pDO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFRZ0IsZUFBZSxPQUFnQztBQUM3RCxXQUFPLE1BQU0sWUFBWTtBQUFBLEVBQzNCO0FBQ0Y7IiwKICAibmFtZXMiOiBbXQp9Cg==
85
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vc3JjL3RyYW5zZm9ybWVycy9kdXJhdGlvbi10cmFuc2Zvcm1lci50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyoqXG4gKiBAZmlsZVxuICpcbiAqIEEgdHJhbnNmb3JtZXIgdGhhdCBjYW4gdHJhbnNmb3JtIER1cmF0aW9uIHRvIGFuIElTTyBzdHJpbmcgYW5kIGJhY2suXG4gKi9cblxuaW1wb3J0IHsgVHlwZWRUcmFuc2Zvcm1lciB9IGZyb20gJ0BtbmFvdW1vdi90eXBlc2NyaXB0LWxpYi90cmFuc2Zvcm1lcnMvdHlwZWQtdHJhbnNmb3JtZXInO1xuaW1wb3J0IHsgbW9tZW50IH0gZnJvbSAnb2JzaWRpYW4nO1xuXG4vKipcbiAqIEEgdHJhbnNmb3JtZXIgdGhhdCBjb252ZXJ0cyBhIER1cmF0aW9uIHRvIGFuIElTTyBzdHJpbmcgYW5kIGJhY2suXG4gKi9cbmV4cG9ydCBjbGFzcyBEdXJhdGlvblRyYW5zZm9ybWVyIGV4dGVuZHMgVHlwZWRUcmFuc2Zvcm1lcjxtb21lbnQuRHVyYXRpb24sIHN0cmluZz4ge1xuICAvKipcbiAgICogQW4gaWQgb2YgdGhlIHRyYW5zZm9ybWVyLlxuICAgKlxuICAgKiBAcmV0dXJucyBUaGUgaWQgb2YgdGhlIHRyYW5zZm9ybWVyLlxuICAgKi9cbiAgcHVibGljIG92ZXJyaWRlIGdldCBpZCgpOiBzdHJpbmcge1xuICAgIHJldHVybiAnZHVyYXRpb24nO1xuICB9XG5cbiAgLyoqXG4gICAqIENoZWNrcyBpZiB0aGUgdmFsdWUgaXMgYSBEdXJhdGlvbi5cbiAgICpcbiAgICogQHBhcmFtIHZhbHVlIC0gVGhlIHZhbHVlIHRvIGNoZWNrLlxuICAgKiBAcmV0dXJucyBgdHJ1ZWAgaWYgdGhlIHZhbHVlIGlzIGEgRHVyYXRpb24sIGBmYWxzZWAgb3RoZXJ3aXNlLlxuICAgKi9cbiAgcHVibGljIG92ZXJyaWRlIGNhblRyYW5zZm9ybSh2YWx1ZTogdW5rbm93bik6IHZhbHVlIGlzIG1vbWVudC5EdXJhdGlvbiB7XG4gICAgY29uc3QgbWF5YmVEdXJhdGlvbiA9ICh2YWx1ZSA/PyB7fSkgYXMgUGFydGlhbDxtb21lbnQuRHVyYXRpb24+O1xuICAgIHJldHVybiAhIW1heWJlRHVyYXRpb24uYXNIb3VycyAmJiAhIW1heWJlRHVyYXRpb24uYXNNaW51dGVzICYmICEhbWF5YmVEdXJhdGlvbi5hc1NlY29uZHMgJiYgISFtYXliZUR1cmF0aW9uLmFzTWlsbGlzZWNvbmRzO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlc3RvcmVzIHRoZSB2YWx1ZSBmcm9tIGEgc3RyaW5nLlxuICAgKlxuICAgKiBAcGFyYW0gdHJhbnNmb3JtZWRWYWx1ZSAtIFRoZSBzdHJpbmcgdG8gcmVzdG9yZSB0aGUgdmFsdWUgZnJvbS5cbiAgICogQHJldHVybnMgVGhlIHJlc3RvcmVkIHZhbHVlLlxuICAgKi9cbiAgcHVibGljIG92ZXJyaWRlIHJlc3RvcmVWYWx1ZSh0cmFuc2Zvcm1lZFZhbHVlOiBzdHJpbmcpOiBtb21lbnQuRHVyYXRpb24ge1xuICAgIHJldHVybiBtb21lbnQuZHVyYXRpb24odHJhbnNmb3JtZWRWYWx1ZSk7XG4gIH1cblxuICAvKipcbiAgICogVHJhbnNmb3JtcyB0aGUgdmFsdWUgdG8gYSBzdHJpbmcuXG4gICAqXG4gICAqIEBwYXJhbSB2YWx1ZSAtIFRoZSB2YWx1ZSB0byB0cmFuc2Zvcm0uXG4gICAqIEByZXR1cm5zIFRoZSB0cmFuc2Zvcm1lZCB2YWx1ZS5cbiAgICovXG4gIHB1YmxpYyBvdmVycmlkZSB0cmFuc2Zvcm1WYWx1ZSh2YWx1ZTogbW9tZW50LkR1cmF0aW9uKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdmFsdWUudG9JU09TdHJpbmcoKTtcbiAgfVxufVxuIl0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFNQSxTQUFTLHdCQUF3QjtBQUNqQyxTQUFTLGNBQWM7QUFLaEIsTUFBTSw0QkFBNEIsaUJBQTBDO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBTWpGLElBQW9CLEtBQWE7QUFDL0IsV0FBTztBQUFBLEVBQ1Q7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQVFnQixhQUFhLE9BQTBDO0FBQ3JFLFVBQU0sZ0JBQWlCLFNBQVMsQ0FBQztBQUNqQyxXQUFPLENBQUMsQ0FBQyxjQUFjLFdBQVcsQ0FBQyxDQUFDLGNBQWMsYUFBYSxDQUFDLENBQUMsY0FBYyxhQUFhLENBQUMsQ0FBQyxjQUFjO0FBQUEsRUFDOUc7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQVFnQixhQUFhLGtCQUEyQztBQUN0RSxXQUFPLE9BQU8sU0FBUyxnQkFBZ0I7QUFBQSxFQUN6QztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBUWdCLGVBQWUsT0FBZ0M7QUFDN0QsV0FBTyxNQUFNLFlBQVk7QUFBQSxFQUMzQjtBQUNGOyIsCiAgIm5hbWVzIjogW10KfQo=
@@ -5,40 +5,32 @@ if you want to view the source, please visit the github repository of this plugi
5
5
 
6
6
  (function () {
7
7
  function ensureDisposeSymbols(symbolConstructor = Symbol) {
8
- symbolConstructor.asyncDispose ??= symbolConstructor.for('Symbol.asyncDispose');
9
- symbolConstructor.dispose ??= symbolConstructor.for('Symbol.dispose');
8
+ symbolConstructor.asyncDispose ??= symbolConstructor.for("Symbol.asyncDispose");
9
+ symbolConstructor.dispose ??= symbolConstructor.for("Symbol.dispose");
10
10
  }
11
11
 
12
12
  function ensureBrowserProcess() {
13
13
  const browserProcess = {
14
14
  browser: true,
15
15
  cwd() {
16
- return '/';
16
+ return "/";
17
17
  },
18
18
  env: {},
19
- platform: 'android'
19
+ platform: "android"
20
20
  };
21
-
22
- // eslint-disable-next-line obsidianmd/no-global-this, unicorn/no-unnecessary-global-this -- Must stay `globalThis`-qualified: in the emitted banner a bare `process` is a free identifier, so reading it where the host has none throws a ReferenceError instead of yielding `undefined`. That is the very case this function exists to handle.
23
21
  const existingProcess = globalThis.process;
24
-
25
22
  if (!existingProcess) {
26
- // eslint-disable-next-line obsidianmd/no-global-this -- Actively use globalThis.
27
23
  globalThis.process = browserProcess;
28
24
  return;
29
25
  }
30
-
31
26
  if (existingProcess.versions?.node) {
32
27
  return;
33
28
  }
34
-
35
29
  const existingProcessRecord = existingProcess;
36
-
37
30
  for (const [key, value] of Object.entries(browserProcess)) {
38
31
  existingProcessRecord[key] ??= value;
39
32
  }
40
-
41
- existingProcessRecord['browser'] = true;
33
+ existingProcessRecord["browser"] = true;
42
34
  }
43
35
 
44
36
  (function initEsm() {
@@ -51,4 +43,4 @@ import * as duration_transformer from "./duration-transformer.mjs";
51
43
  export {
52
44
  duration_transformer as "duration-transformer"
53
45
  };
54
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vc3JjL3RyYW5zZm9ybWVycy9pbmRleC50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyogVEhJUyBJUyBBIEdFTkVSQVRFRC9CVU5ETEVEIEZJTEUgQlkgQlVJTEQgU0NSSVBUICovXG5cbmV4cG9ydCAqIGFzICdkdXJhdGlvbi10cmFuc2Zvcm1lcicgZnJvbSAnLi9kdXJhdGlvbi10cmFuc2Zvcm1lci50cyc7XG4iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRUEsWUFBWUEsMEJBQTRCOyIsCiAgIm5hbWVzIjogWyJkdXJhdGlvbi10cmFuc2Zvcm1lciJdCn0K
46
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vc3JjL3RyYW5zZm9ybWVycy9pbmRleC50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyogVEhJUyBJUyBBIEdFTkVSQVRFRC9CVU5ETEVEIEZJTEUgQlkgQlVJTEQgU0NSSVBUICovXG5cbmV4cG9ydCAqIGFzICdkdXJhdGlvbi10cmFuc2Zvcm1lcicgZnJvbSAnLi9kdXJhdGlvbi10cmFuc2Zvcm1lci50cyc7XG4iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUVBLFlBQVlBLDBCQUE0QjsiLAogICJuYW1lcyI6IFsiZHVyYXRpb24tdHJhbnNmb3JtZXIiXQp9Cg==
@@ -5,40 +5,32 @@ if you want to view the source, please visit the github repository of this plugi
5
5
 
6
6
  (function () {
7
7
  function ensureDisposeSymbols(symbolConstructor = Symbol) {
8
- symbolConstructor.asyncDispose ??= symbolConstructor.for('Symbol.asyncDispose');
9
- symbolConstructor.dispose ??= symbolConstructor.for('Symbol.dispose');
8
+ symbolConstructor.asyncDispose ??= symbolConstructor.for("Symbol.asyncDispose");
9
+ symbolConstructor.dispose ??= symbolConstructor.for("Symbol.dispose");
10
10
  }
11
11
 
12
12
  function ensureBrowserProcess() {
13
13
  const browserProcess = {
14
14
  browser: true,
15
15
  cwd() {
16
- return '/';
16
+ return "/";
17
17
  },
18
18
  env: {},
19
- platform: 'android'
19
+ platform: "android"
20
20
  };
21
-
22
- // eslint-disable-next-line obsidianmd/no-global-this, unicorn/no-unnecessary-global-this -- Must stay `globalThis`-qualified: in the emitted banner a bare `process` is a free identifier, so reading it where the host has none throws a ReferenceError instead of yielding `undefined`. That is the very case this function exists to handle.
23
21
  const existingProcess = globalThis.process;
24
-
25
22
  if (!existingProcess) {
26
- // eslint-disable-next-line obsidianmd/no-global-this -- Actively use globalThis.
27
23
  globalThis.process = browserProcess;
28
24
  return;
29
25
  }
30
-
31
26
  if (existingProcess.versions?.node) {
32
27
  return;
33
28
  }
34
-
35
29
  const existingProcessRecord = existingProcess;
36
-
37
30
  for (const [key, value] of Object.entries(browserProcess)) {
38
31
  existingProcessRecord[key] ??= value;
39
32
  }
40
-
41
- existingProcessRecord['browser'] = true;
33
+ existingProcessRecord["browser"] = true;
42
34
  }
43
35
 
44
36
  (function initEsm() {
@@ -88,4 +80,4 @@ export {
88
80
  typeIntoEditor,
89
81
  unhoverElement
90
82
  };
91
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL3RydXN0ZWQtaW5wdXQudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qKlxuICogQGZpbGVcbiAqXG4gKiBUcnVzdGVkIGlucHV0IGhlbHBlcnMgdGhhdCB3b3JrIG9uICoqZWl0aGVyIHBsYXRmb3JtKiogXHUyMDE0IHRoZSBkb2N1bWVudGVkIGVudHJ5IHBvaW50IGZvciBrZXlzdHJva2VzLFxuICogcG9pbnRlciBtb3ZlcyBhbmQgY2xpY2tzIHRoYXQgT2JzaWRpYW4gYWN0dWFsbHkgYmVsaWV2ZXMuXG4gKlxuICogVW50cnVzdGVkIGlucHV0IChgZWxlbWVudC5kaXNwYXRjaEV2ZW50KG5ldyBNb3VzZUV2ZW50KCdjbGljaycpKWApIGlzIHNpbGVudGx5IGlnbm9yZWQgYnkgQ29kZU1pcnJvcixcbiAqIGJ5IHRoZSBDU1MgYDpob3ZlcmAgZW5naW5lIGFuZCBieSBldmVyeSBgZS5pc1RydXN0ZWRgIGd1YXJkIGluIE9ic2lkaWFuLCBzbyBhIHRlc3QgZHJpdmluZyBpdCBleGVyY2lzZXNcbiAqIG5vdGhpbmcgd2hpbGUgc3RpbGwgcGFzc2luZy4gQSB0cnVzdGVkIGV2ZW50IGhhcyB0byBjb21lIGZyb20gb3V0c2lkZSB0aGUgcmVuZGVyZXIsIGFuZCBob3cgaXQgZ2V0c1xuICogdGhlcmUgaXMgcGxhdGZvcm0tc3BlY2lmaWM6IEVsZWN0cm9uJ3MgYHdlYkNvbnRlbnRzLnNlbmRJbnB1dEV2ZW50YCBvbiBkZXNrdG9wLCBhIENEUCBpbmplY3Rpb25cbiAqIHJvdW5kLXRyaXBwZWQgdGhyb3VnaCB0aGUgaGFybmVzcydzIGhvc3QgY2hhbm5lbCBvbiBtb2JpbGUuXG4gKlxuICogVGhpcyBtb2R1bGUgKippbnRlcm5hbGl6ZXMgdGhhdCBzcGxpdCoqLCBhcyBldmVyeSBwdWJsaWMtZmFjaW5nIEFQSSBoZXJlIG11c3Q6IGl0IHN0YXlzXG4gKiBjcm9zcy1wbGF0Zm9ybS1sb2FkYWJsZSBcdTIwMTQgbm8gcGxhdGZvcm0tb25seSBtb2R1bGUgaXMgb24gaXRzIGltcG9ydCBncmFwaCBcdTIwMTQgYW5kIGVhY2ggaGVscGVyIGRlZmVycyB0byBhXG4gKiBgUGxhdGZvcm1gLWdhdGVkIGNhbGwtdGltZSBkeW5hbWljIGBpbXBvcnQoKWAgb2YgdGhlIGFybSB0aGF0IGZpdHMuIFNvIGEgY29uc3VtZXIgd3JpdGVzXG4gKiBgYXdhaXQgY2xpY2tFbGVtZW50KHsgZWxlbWVudCB9KWAgb25jZSBhbmQgbmV2ZXIgYSBwbGF0Zm9ybSBjaGVjay5cbiAqXG4gKiBUaGUgYXJtcyByZW1haW4gaW1wb3J0YWJsZSBkaXJlY3RseSwgZm9yIGEgY2FsbGVyIG1ha2luZyBhIGRlbGliZXJhdGUgcGxhdGZvcm0gY29tbWl0bWVudDpcbiAqIHtAbGluayAuL2Rlc2t0b3AtdHJ1c3RlZC1pbnB1dC50cyB8IGRlc2t0b3AtdHJ1c3RlZC1pbnB1dH0gYW5kXG4gKiB7QGxpbmsgLi9tb2JpbGUtdHJ1c3RlZC1pbnB1dC50cyB8IG1vYmlsZS10cnVzdGVkLWlucHV0fS4gUHJlZmVyIHRoaXMgZmFjYWRlIG90aGVyd2lzZS5cbiAqXG4gKiAqKkV2ZXJ5IGhlbHBlciBtdXN0IGJlIGF3YWl0ZWQuKiogVGhlIGRlc2t0b3AgYXJtIGhhcyBub3RoaW5nIHRvIHdhaXQgZm9yLCBidXQgdGhlIG1vYmlsZSBhcm0nc1xuICogaW5qZWN0aW9uIGlzIGEgcm91bmQtdHJpcCB0byB0aGUgaG9zdCwgc28gYSBtaXNzaW5nIGBhd2FpdGAgbGV0cyB0aGUgYXNzZXJ0aW9uIHJ1biBiZWZvcmUgdGhlIGlucHV0IGhhc1xuICogbGFuZGVkLiBUaGUgc2lnbmF0dXJlIGlzIHRoZSBzYW1lIG9uIGJvdGggcGxhdGZvcm1zIHByZWNpc2VseSBzbyB0aGF0IGEgc3VpdGUgZ3Jvd2luZyBhIG1vYmlsZSBsYW5lXG4gKiBkb2VzIG5vdCBoYXZlIHRvIGJlIHJld3JpdHRlbi5cbiAqXG4gKiAqKk5vdCBldmVyeSBoZWxwZXIgc3Vydml2ZXMgdGhlIHBvcnQuKiogYG1vdmVNb3VzZWAsIGBob3ZlckVsZW1lbnRgIGFuZCBgdW5ob3ZlckVsZW1lbnRgICoqdGhyb3cqKiBvblxuICogbW9iaWxlOiBhIHRvdWNoIHNjcmVlbiBoYXMgbm8gcGVyc2lzdGVudCBwb2ludGVyIGFuZCBgOmhvdmVyYCBoYXMgbm8gdG91Y2ggZXF1aXZhbGVudC4gVGhleSB0aHJvd1xuICogcmF0aGVyIHRoYW4gbm8tb3AsIGJlY2F1c2UgYSBzaWxlbnQgbm8tb3AgaXMgZXhhY3RseSB0aGUgZmFsc2UgY29uZmlkZW5jZSB0cnVzdGVkIGlucHV0IGV4aXN0cyB0byBlbmQuXG4gKiBHYXRlIHRob3NlIG9uIGBQbGF0Zm9ybS5pc0Rlc2t0b3BBcHBgLCBvciBkcml2ZSB0aGUgZWxlbWVudCB3aXRoIHtAbGluayBjbGlja0VsZW1lbnR9IGluc3RlYWQuXG4gKlxuICogKipFdmVyeSBPYnNpZGlhbiB3aW5kb3cgaXMgaXRzIG93biB0YXJnZXQuKiogQSBwb3BvdXQgaXMgYSBzZXBhcmF0ZSBFbGVjdHJvbiB3ZWIgY29udGVudHMsIHNvIGlucHV0IHNlbnRcbiAqIHRvIHRoZSBtYWluIHdpbmRvdyBuZXZlciByZWFjaGVzIGl0LiB7QGxpbmsgcHJlc3NLZXl9LCB7QGxpbmsgY2xpY2tNb3VzZX0gYW5kIHtAbGluayBtb3ZlTW91c2V9IHRha2UgYW5cbiAqIG9wdGlvbmFsIGB3aW5kb3dgICh0aGUgbWFpbiB3aW5kb3cgYnkgZGVmYXVsdCk7IHRoZSBlbGVtZW50IGFuZCBlZGl0b3IgaGVscGVycyB1c2UgdGhlIHdpbmRvdyB0aGF0IG93bnNcbiAqIHRoZWlyIGVsZW1lbnQgb3IgZWRpdG9yLiBNb2JpbGUgaGFzIG5vIHBvcG91dHMsIHNvIGFueSB3aW5kb3cgYnV0IHRoZSBtYWluIG9uZSB0aHJvd3MgdGhlcmUuXG4gKi9cblxuaW1wb3J0IHsgUGxhdGZvcm0gfSBmcm9tICdvYnNpZGlhbic7XG5cbmltcG9ydCB0eXBlIHtcbiAgQ2xpY2tFbGVtZW50UGFyYW1zLFxuICBDbGlja01vdXNlUGFyYW1zLFxuICBIb3ZlckVsZW1lbnRQYXJhbXMsXG4gIE1vdmVNb3VzZVBhcmFtcyxcbiAgUHJlc3NLZXlQYXJhbXMsXG4gIFR5cGVJbnRvRWRpdG9yUGFyYW1zLFxuICBVbmhvdmVyRWxlbWVudFBhcmFtc1xufSBmcm9tICcuL2Rlc2t0b3AtdHJ1c3RlZC1pbnB1dC50cyc7XG5cbmV4cG9ydCB0eXBlIHtcbiAgQ2xpY2tFbGVtZW50UGFyYW1zLFxuICBDbGlja01vdXNlUGFyYW1zLFxuICBIb3ZlckVsZW1lbnRQYXJhbXMsXG4gIE1vdXNlQnV0dG9uLFxuICBNb3ZlTW91c2VQYXJhbXMsXG4gIFByZXNzS2V5UGFyYW1zLFxuICBUeXBlSW50b0VkaXRvclBhcmFtcyxcbiAgVW5ob3ZlckVsZW1lbnRQYXJhbXNcbn0gZnJvbSAnLi9kZXNrdG9wLXRydXN0ZWQtaW5wdXQudHMnO1xuXG4vLyBUaGUgc2V2ZW4gaGVscGVycyBib3RoIGFybXMgZXhwb3J0LCB3aXRoIGlkZW50aWNhbCBzaWduYXR1cmVzLiBUeXBlZCBvZmYgdGhlIG1vYmlsZSBhcm0gYmVjYXVzZSBpdFxuLy8gZXhwb3J0cyBub3RoaW5nIGVsc2U7IHRoZSBkZXNrdG9wIGFybSBhZGRpdGlvbmFsbHkgZXhwb3J0cyB0aGUgcGFyYW1ldGVyIGNvbnRyYWN0cyBib3RoIHNoYXJlLlxudHlwZSBUcnVzdGVkSW5wdXRBcm0gPSB0eXBlb2YgaW1wb3J0KCcuL21vYmlsZS10cnVzdGVkLWlucHV0LnRzJyk7XG5cbi8qKlxuICogQ2xpY2tzIHRoZSBjZW50ZXIgb2YgYW4gZWxlbWVudCB1c2luZyAqKnRydXN0ZWQqKiBpbnB1dCBcdTIwMTQgRWxlY3Ryb24ncyBgc2VuZElucHV0RXZlbnRgIG9uIGRlc2t0b3AsIGEgQ0RQXG4gKiB0b3VjaCB0YXAgaW4gdGhlIFdlYlZpZXcgb24gbW9iaWxlLlxuICpcbiAqIFRoZSBlbGVtZW50LXJlbGF0aXZlIGNvdW50ZXJwYXJ0IG9mIHtAbGluayBjbGlja01vdXNlfSwgbWlycm9yaW5nIHRoZSB7QGxpbmsgbW92ZU1vdXNlfSAvXG4gKiB7QGxpbmsgaG92ZXJFbGVtZW50fSBzcGxpdC4gVXNlIHtAbGluayBjbGlja01vdXNlfSBkaXJlY3RseSB3aGVuIHRoZSBwb2ludCB0byBjbGljayBpcyAqKm5vdCoqIHRoZVxuICogZWxlbWVudCdzIGNlbnRlciBcdTIwMTQgdGhlIG1hcmtkb3duIGVkaXRvcidzIG1hcmdpbiwgZm9yIGluc3RhbmNlLCBsaWVzIGluc2lkZSBgY20uc2Nyb2xsRE9NYCBidXQgb3V0c2lkZVxuICogYC5jbS1zaXplcmAsIHNvIG5vIGVsZW1lbnQncyBjZW50ZXIgbGFuZHMgb24gaXQuXG4gKlxuICogQHBhcmFtIHBhcmFtcyAtIFRoZSBlbGVtZW50IHRvIGNsaWNrLCB0aGUgYnV0dG9uIHRvIHByZXNzIGFuZCBhbnkgbW9kaWZpZXJzIHRvIGhvbGQuXG4gKiBAcmV0dXJucyBBIHtAbGluayBQcm9taXNlfSB0aGF0IHJlc29sdmVzIG9uY2UgdGhlIGNsaWNrIGhhcyBiZWVuIGluamVjdGVkLlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gY2xpY2tFbGVtZW50KHBhcmFtczogQ2xpY2tFbGVtZW50UGFyYW1zKTogUHJvbWlzZTx2b2lkPiB7XG4gIGNvbnN0IGFybSA9IGF3YWl0IGxvYWRBcm0oKTtcbiAgYXdhaXQgYXJtLmNsaWNrRWxlbWVudChwYXJhbXMpO1xufVxuXG4vKipcbiAqIENsaWNrcyBhdCB0aGUgZ2l2ZW4gdmlld3BvcnQgY29vcmRpbmF0ZXMgdXNpbmcgKip0cnVzdGVkKiogaW5wdXQsIHNvIHRoZSByZW5kZXJlciBzeW50aGVzaXplcyBhIHJlYWxcbiAqIGBjbGlja2AgKG9yIGBjb250ZXh0bWVudWAsIGZvciB0aGUgcmlnaHQgYnV0dG9uKSB3aXRoIGBpc1RydXN0ZWQgPT09IHRydWVgLlxuICpcbiAqIFRoZSBsb3ctbGV2ZWwgcHJpbWl0aXZlOiBvbmUgY2xpY2sgYXQgb25lIHBvaW50LCB3aXRoIG5vIHdhaXRpbmcgZm9yIGFueSBlZmZlY3QgXHUyMDE0IGNhbGxlcnMgcG9sbCB0aGVpciBvd25cbiAqIHJlYWRpbmVzcyBzaWduYWwuIFByZWZlciB7QGxpbmsgY2xpY2tFbGVtZW50fSBmb3IgZWxlbWVudC1yZWxhdGl2ZSBjbGlja3MuXG4gKlxuICogQSByZWFsIGNvbnRleHQgbWVudSBhY3R1YWxseSBvcGVucywgc28gYSBzdWl0ZSBkcml2aW5nIGEgcmlnaHQgY2xpY2sgbXVzdCBjbG9zZSBpdCAob3IgcmVtb3ZlIHRoZVxuICogbGVmdG92ZXIgYC5tZW51YCBlbGVtZW50KSBiZWZvcmUgdGhlIG5leHQgdGVzdC5cbiAqXG4gKiAqKk9uIG1vYmlsZSB0aGUgYnV0dG9uIG1vZGVsIGRvZXMgbm90IHN1cnZpdmUgdGhlIHBvcnQqKjogdG91Y2ggaGFzIG5vIGJ1dHRvbnMsIHNvIGAnbGVmdCdgICh0aGVcbiAqIGRlZmF1bHQpIGlzIGEgKip0YXAqKiwgYCdyaWdodCdgIGlzIHRoZSAqKmxvbmctcHJlc3MqKiB0aGF0IG9wZW5zIE9ic2lkaWFuIE1vYmlsZSdzIGNvbnRleHQgbWVudSwgYW5kXG4gKiBgJ21pZGRsZSdgIHRocm93cy5cbiAqXG4gKiBAcGFyYW0gcGFyYW1zIC0gVGhlIHZpZXdwb3J0IGNvb3JkaW5hdGVzIHRvIGNsaWNrIGF0LCB0aGUgYnV0dG9uIHRvIHByZXNzIGFuZCBhbnkgbW9kaWZpZXJzIHRvIGhvbGQuXG4gKiBAcmV0dXJucyBBIHtAbGluayBQcm9taXNlfSB0aGF0IHJlc29sdmVzIG9uY2UgdGhlIGNsaWNrIGhhcyBiZWVuIGluamVjdGVkLlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gY2xpY2tNb3VzZShwYXJhbXM6IENsaWNrTW91c2VQYXJhbXMpOiBQcm9taXNlPHZvaWQ+IHtcbiAgY29uc3QgYXJtID0gYXdhaXQgbG9hZEFybSgpO1xuICBhd2FpdCBhcm0uY2xpY2tNb3VzZShwYXJhbXMpO1xufVxuXG4vKipcbiAqIE1vdmVzIHRoZSBwb2ludGVyIHRvIHRoZSBjZW50ZXIgb2YgYW4gZWxlbWVudCB1c2luZyAqKnRydXN0ZWQqKiBwb2ludGVyIGlucHV0LCB0aGVuIHBvbGxzIHVudGlsIHRoZVxuICogZWxlbWVudCBhY3R1YWxseSBtYXRjaGVzIGA6aG92ZXJgLlxuICpcbiAqICoqRGVza3RvcCBvbmx5KiogXHUyMDE0IGl0IHRocm93cyBvbiBtb2JpbGUsIHdoZXJlIGA6aG92ZXJgIGhhcyBubyB0b3VjaCBlcXVpdmFsZW50LlxuICpcbiAqIEBwYXJhbSBwYXJhbXMgLSBUaGUgZWxlbWVudCB0byBob3Zlci5cbiAqIEByZXR1cm5zIEEge0BsaW5rIFByb21pc2V9IHRoYXQgcmVzb2x2ZXMgb25jZSB0aGUgZWxlbWVudCBtYXRjaGVzIGA6aG92ZXJgLlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gaG92ZXJFbGVtZW50KHBhcmFtczogSG92ZXJFbGVtZW50UGFyYW1zKTogUHJvbWlzZTx2b2lkPiB7XG4gIGNvbnN0IGFybSA9IGF3YWl0IGxvYWRBcm0oKTtcbiAgYXdhaXQgYXJtLmhvdmVyRWxlbWVudChwYXJhbXMpO1xufVxuXG4vKipcbiAqIE1vdmVzIHRoZSBwb2ludGVyIHRvIHRoZSBnaXZlbiB2aWV3cG9ydCBjb29yZGluYXRlcyB1c2luZyBhICoqdHJ1c3RlZCoqIHBvaW50ZXIgbW92ZSwgc28gYDpob3ZlcmAgcnVsZXNcbiAqIGdlbnVpbmVseSBhcHBseS5cbiAqXG4gKiBUaGUgbG93LWxldmVsIHByaW1pdGl2ZTogYSBzaW5nbGUgbW92ZSB0aGF0IGRvZXMgKipub3QqKiB3YWl0IGZvciBhbnkgc3RhdGUgdG8gc2V0dGxlLiBQcmVmZXJcbiAqIHtAbGluayBob3ZlckVsZW1lbnR9IC8ge0BsaW5rIHVuaG92ZXJFbGVtZW50fSBmb3IgZWxlbWVudC1yZWxhdGl2ZSBtb3Zlcy5cbiAqXG4gKiAqKkRlc2t0b3Agb25seSoqIFx1MjAxNCBpdCB0aHJvd3Mgb24gbW9iaWxlLCB3aGljaCBoYXMgbm8gcGVyc2lzdGVudCBwb2ludGVyIHRvIG1vdmUuXG4gKlxuICogQHBhcmFtIHBhcmFtcyAtIFRoZSB2aWV3cG9ydCBjb29yZGluYXRlcyB0byBtb3ZlIHRvLlxuICogQHJldHVybnMgQSB7QGxpbmsgUHJvbWlzZX0gdGhhdCByZXNvbHZlcyBvbmNlIHRoZSBtb3ZlIGhhcyBiZWVuIGluamVjdGVkLlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gbW92ZU1vdXNlKHBhcmFtczogTW92ZU1vdXNlUGFyYW1zKTogUHJvbWlzZTx2b2lkPiB7XG4gIGNvbnN0IGFybSA9IGF3YWl0IGxvYWRBcm0oKTtcbiAgYXdhaXQgYXJtLm1vdmVNb3VzZShwYXJhbXMpO1xufVxuXG4vKipcbiAqIFByZXNzZXMgYSBzaW5nbGUga2V5IChvcHRpb25hbGx5IHdpdGggbW9kaWZpZXJzKSB1c2luZyAqKnRydXN0ZWQqKiBrZXlib2FyZCBpbnB1dCwgZmlyaW5nIHRoZSBmdWxsIHJlYWxcbiAqIGtleSBwaXBlbGluZSBcdTIwMTQgYGtleWRvd25gIFx1MjE5MiBga2V5cHJlc3NgIFx1MjE5MiBgYmVmb3JlaW5wdXRgIFx1MjE5MiBgaW5wdXRgIFx1MjE5MiBga2V5dXBgLlxuICpcbiAqIEl0IGlzIGRlbGl2ZXJlZCB0byB0aGUgd2luZG93J3MgRE9NLWZvY3VzZWQgZWxlbWVudCwgc28gdGhlIGNhbGxlciBmb2N1c2VzIHRoZSB0YXJnZXQgZmlyc3QgYW5kIHRoZW5cbiAqIGF3YWl0cyB0aGUgZXhwZWN0ZWQgZWZmZWN0OyB0aGUgcHJlc3MgaXRzZWxmIHBvbGxzIGZvciBub3RoaW5nLiBPbiBtb2JpbGUgdGhlIGFjY2VwdGVkIGtleXMgYXJlIHRoZVxuICogbmFtZWQgb25lcyAoYCdFbnRlcidgLCBgJ0VzY2FwZSdgLCBgJ1RhYidgLCBgJ0JhY2tzcGFjZSdgLCBgJ0RlbGV0ZSdgLCB0aGUgYXJyb3dzKSBwbHVzIHNpbmdsZSBwcmludGFibGVcbiAqIGNoYXJhY3RlcnMgXHUyMDE0IGFueXRoaW5nIGVsc2UgdGhyb3dzIHJhdGhlciB0aGFuIHByZXNzaW5nIG5vdGhpbmcuXG4gKlxuICogQHBhcmFtIHBhcmFtcyAtIFRoZSBrZXkgdG8gcHJlc3MgYW5kIGFueSBtb2RpZmllcnMgdG8gaG9sZC5cbiAqIEByZXR1cm5zIEEge0BsaW5rIFByb21pc2V9IHRoYXQgcmVzb2x2ZXMgb25jZSB0aGUga2V5IHByZXNzIGhhcyBiZWVuIGluamVjdGVkLlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gcHJlc3NLZXkocGFyYW1zOiBQcmVzc0tleVBhcmFtcyk6IFByb21pc2U8dm9pZD4ge1xuICBjb25zdCBhcm0gPSBhd2FpdCBsb2FkQXJtKCk7XG4gIGF3YWl0IGFybS5wcmVzc0tleShwYXJhbXMpO1xufVxuXG4vKipcbiAqIFR5cGVzIHRleHQgaW50byBhIENvZGVNaXJyb3IgZWRpdG9yIHVzaW5nICoqdHJ1c3RlZCoqIGtleWJvYXJkIGlucHV0LlxuICpcbiAqIEZvY3VzZXMgdGhlIGVkaXRvciAoY2FyZXQgdG8gdGhlIGVuZCkgYW5kIHByZXNzZXMgZXZlcnkgY29kZSBwb2ludCBvZiB0aGUgdGV4dCBcdTIwMTQgdGhlIHNhbWUgdHJ1c3RlZFxuICogc2VxdWVuY2UgYSByZWFsIHVzZXIgcHJvZHVjZXMgXHUyMDE0IHNvIHRoZSB0ZXh0IHJlYWNoZXMgdGhlIGRvY3VtZW50ICoqb25seSBpZiB0aGUgZWRpdG9yIGdlbnVpbmVseSBob2xkc1xuICogZm9jdXMqKi4gVGhlbiBpdCBwb2xscyB1bnRpbCB0aGUgZG9jdW1lbnQgcmVmbGVjdHMgdGhlIGlucHV0LCBvciBhIGJvdW5kZWQgdGltZW91dCBlbGFwc2VzICh0aGUgZXhwZWN0ZWRcbiAqIG91dGNvbWUgd2hlbiB0aGUgZWRpdG9yIGlzIHJlYWQtb25seSBvciBmb2N1cyB3YXMgc3RvbGVuKS5cbiAqXG4gKiBAcGFyYW0gcGFyYW1zIC0gVGhlIGVkaXRvciB0byB0eXBlIGludG8gYW5kIHRoZSB0ZXh0IHRvIHR5cGUuXG4gKiBAcmV0dXJucyBBIHtAbGluayBQcm9taXNlfSB0aGF0IHJlc29sdmVzIG9uY2UgdGhlIGtleXN0cm9rZXMgaGF2ZSBzZXR0bGVkLlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gdHlwZUludG9FZGl0b3IocGFyYW1zOiBUeXBlSW50b0VkaXRvclBhcmFtcyk6IFByb21pc2U8dm9pZD4ge1xuICBjb25zdCBhcm0gPSBhd2FpdCBsb2FkQXJtKCk7XG4gIGF3YWl0IGFybS50eXBlSW50b0VkaXRvcihwYXJhbXMpO1xufVxuXG4vKipcbiAqIE1vdmVzIHRoZSBwb2ludGVyIHRvIGEgcG9pbnQganVzdCBvdXRzaWRlIGFuIGVsZW1lbnQncyBib3VuZGluZyBib3ggdXNpbmcgYSAqKnRydXN0ZWQqKiBwb2ludGVyIG1vdmUsXG4gKiB0aGVuIHBvbGxzIHVudGlsIHRoZSBlbGVtZW50IG5vIGxvbmdlciBtYXRjaGVzIGA6aG92ZXJgLlxuICpcbiAqIFRoZSBpbnZlcnNlIG9mIHtAbGluayBob3ZlckVsZW1lbnR9LiBXaGVuIGFuIGVsZW1lbnQgc3BhbnMgdGhlIGZ1bGwgdmlld3BvcnQgKG5vIHBvaW50IG91dHNpZGUgaXRzIGJveFxuICogaXMgcmVhY2hhYmxlKSwgdXNlIHtAbGluayBtb3ZlTW91c2V9IGRpcmVjdGx5IHRvIG1vdmUgdGhlIHBvaW50ZXIgdG8gYSBrbm93biBlbXB0eSBjb29yZGluYXRlIGluc3RlYWQuXG4gKlxuICogKipEZXNrdG9wIG9ubHkqKiBcdTIwMTQgaXQgdGhyb3dzIG9uIG1vYmlsZSwgZm9yIHRoZSBzYW1lIHJlYXNvbiB7QGxpbmsgaG92ZXJFbGVtZW50fSBkb2VzLlxuICpcbiAqIEBwYXJhbSBwYXJhbXMgLSBUaGUgZWxlbWVudCB0byBtb3ZlIHRoZSBwb2ludGVyIGF3YXkgZnJvbS5cbiAqIEByZXR1cm5zIEEge0BsaW5rIFByb21pc2V9IHRoYXQgcmVzb2x2ZXMgb25jZSB0aGUgZWxlbWVudCBubyBsb25nZXIgbWF0Y2hlcyBgOmhvdmVyYC5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHVuaG92ZXJFbGVtZW50KHBhcmFtczogVW5ob3ZlckVsZW1lbnRQYXJhbXMpOiBQcm9taXNlPHZvaWQ+IHtcbiAgY29uc3QgYXJtID0gYXdhaXQgbG9hZEFybSgpO1xuICBhd2FpdCBhcm0udW5ob3ZlckVsZW1lbnQocGFyYW1zKTtcbn1cblxuYXN5bmMgZnVuY3Rpb24gbG9hZEFybSgpOiBQcm9taXNlPFRydXN0ZWRJbnB1dEFybT4ge1xuICAvLyBDb25kaXRpb25hbCBpbXBvcnQgb2YgdGhlIHBsYXRmb3JtLW9ubHkgYXJtLCBhdCBjYWxsIHRpbWU6IG5laXRoZXIgYXJtIGlzIG9uIHRoZSBvdGhlciBwbGF0Zm9ybSdzXG4gIC8vIGxvYWQgcGF0aCwgYW5kIHRoZSBzcGVjaWZpZXJzIHN0YXkgbGl0ZXJhbCBzbyBlc2J1aWxkIGJ1bmRsZXMgYm90aC5cbiAgcmV0dXJuIFBsYXRmb3JtLmlzRGVza3RvcEFwcCA/IGF3YWl0IGltcG9ydCgnLi9kZXNrdG9wLXRydXN0ZWQtaW5wdXQudHMnKSA6IGF3YWl0IGltcG9ydCgnLi9tb2JpbGUtdHJ1c3RlZC1pbnB1dC50cycpO1xufVxuIl0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQXFDQSxTQUFTLGdCQUFnQjtBQXVDekIsZUFBc0IsYUFBYSxRQUEyQztBQUM1RSxRQUFNLE1BQU0sTUFBTSxRQUFRO0FBQzFCLFFBQU0sSUFBSSxhQUFhLE1BQU07QUFDL0I7QUFtQkEsZUFBc0IsV0FBVyxRQUF5QztBQUN4RSxRQUFNLE1BQU0sTUFBTSxRQUFRO0FBQzFCLFFBQU0sSUFBSSxXQUFXLE1BQU07QUFDN0I7QUFXQSxlQUFzQixhQUFhLFFBQTJDO0FBQzVFLFFBQU0sTUFBTSxNQUFNLFFBQVE7QUFDMUIsUUFBTSxJQUFJLGFBQWEsTUFBTTtBQUMvQjtBQWNBLGVBQXNCLFVBQVUsUUFBd0M7QUFDdEUsUUFBTSxNQUFNLE1BQU0sUUFBUTtBQUMxQixRQUFNLElBQUksVUFBVSxNQUFNO0FBQzVCO0FBY0EsZUFBc0IsU0FBUyxRQUF1QztBQUNwRSxRQUFNLE1BQU0sTUFBTSxRQUFRO0FBQzFCLFFBQU0sSUFBSSxTQUFTLE1BQU07QUFDM0I7QUFhQSxlQUFzQixlQUFlLFFBQTZDO0FBQ2hGLFFBQU0sTUFBTSxNQUFNLFFBQVE7QUFDMUIsUUFBTSxJQUFJLGVBQWUsTUFBTTtBQUNqQztBQWNBLGVBQXNCLGVBQWUsUUFBNkM7QUFDaEYsUUFBTSxNQUFNLE1BQU0sUUFBUTtBQUMxQixRQUFNLElBQUksZUFBZSxNQUFNO0FBQ2pDO0FBRUEsZUFBZSxVQUFvQztBQUdqRCxTQUFPLFNBQVMsZUFBZSxNQUFNLE9BQU8sNEJBQTRCLElBQUksTUFBTSxPQUFPLDJCQUEyQjtBQUN0SDsiLAogICJuYW1lcyI6IFtdCn0K
83
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL3RydXN0ZWQtaW5wdXQudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qKlxuICogQGZpbGVcbiAqXG4gKiBUcnVzdGVkIGlucHV0IGhlbHBlcnMgdGhhdCB3b3JrIG9uICoqZWl0aGVyIHBsYXRmb3JtKiogXHUyMDE0IHRoZSBkb2N1bWVudGVkIGVudHJ5IHBvaW50IGZvciBrZXlzdHJva2VzLFxuICogcG9pbnRlciBtb3ZlcyBhbmQgY2xpY2tzIHRoYXQgT2JzaWRpYW4gYWN0dWFsbHkgYmVsaWV2ZXMuXG4gKlxuICogVW50cnVzdGVkIGlucHV0IChgZWxlbWVudC5kaXNwYXRjaEV2ZW50KG5ldyBNb3VzZUV2ZW50KCdjbGljaycpKWApIGlzIHNpbGVudGx5IGlnbm9yZWQgYnkgQ29kZU1pcnJvcixcbiAqIGJ5IHRoZSBDU1MgYDpob3ZlcmAgZW5naW5lIGFuZCBieSBldmVyeSBgZS5pc1RydXN0ZWRgIGd1YXJkIGluIE9ic2lkaWFuLCBzbyBhIHRlc3QgZHJpdmluZyBpdCBleGVyY2lzZXNcbiAqIG5vdGhpbmcgd2hpbGUgc3RpbGwgcGFzc2luZy4gQSB0cnVzdGVkIGV2ZW50IGhhcyB0byBjb21lIGZyb20gb3V0c2lkZSB0aGUgcmVuZGVyZXIsIGFuZCBob3cgaXQgZ2V0c1xuICogdGhlcmUgaXMgcGxhdGZvcm0tc3BlY2lmaWM6IEVsZWN0cm9uJ3MgYHdlYkNvbnRlbnRzLnNlbmRJbnB1dEV2ZW50YCBvbiBkZXNrdG9wLCBhIENEUCBpbmplY3Rpb25cbiAqIHJvdW5kLXRyaXBwZWQgdGhyb3VnaCB0aGUgaGFybmVzcydzIGhvc3QgY2hhbm5lbCBvbiBtb2JpbGUuXG4gKlxuICogVGhpcyBtb2R1bGUgKippbnRlcm5hbGl6ZXMgdGhhdCBzcGxpdCoqLCBhcyBldmVyeSBwdWJsaWMtZmFjaW5nIEFQSSBoZXJlIG11c3Q6IGl0IHN0YXlzXG4gKiBjcm9zcy1wbGF0Zm9ybS1sb2FkYWJsZSBcdTIwMTQgbm8gcGxhdGZvcm0tb25seSBtb2R1bGUgaXMgb24gaXRzIGltcG9ydCBncmFwaCBcdTIwMTQgYW5kIGVhY2ggaGVscGVyIGRlZmVycyB0byBhXG4gKiBgUGxhdGZvcm1gLWdhdGVkIGNhbGwtdGltZSBkeW5hbWljIGBpbXBvcnQoKWAgb2YgdGhlIGFybSB0aGF0IGZpdHMuIFNvIGEgY29uc3VtZXIgd3JpdGVzXG4gKiBgYXdhaXQgY2xpY2tFbGVtZW50KHsgZWxlbWVudCB9KWAgb25jZSBhbmQgbmV2ZXIgYSBwbGF0Zm9ybSBjaGVjay5cbiAqXG4gKiBUaGUgYXJtcyByZW1haW4gaW1wb3J0YWJsZSBkaXJlY3RseSwgZm9yIGEgY2FsbGVyIG1ha2luZyBhIGRlbGliZXJhdGUgcGxhdGZvcm0gY29tbWl0bWVudDpcbiAqIHtAbGluayAuL2Rlc2t0b3AtdHJ1c3RlZC1pbnB1dC50cyB8IGRlc2t0b3AtdHJ1c3RlZC1pbnB1dH0gYW5kXG4gKiB7QGxpbmsgLi9tb2JpbGUtdHJ1c3RlZC1pbnB1dC50cyB8IG1vYmlsZS10cnVzdGVkLWlucHV0fS4gUHJlZmVyIHRoaXMgZmFjYWRlIG90aGVyd2lzZS5cbiAqXG4gKiAqKkV2ZXJ5IGhlbHBlciBtdXN0IGJlIGF3YWl0ZWQuKiogVGhlIGRlc2t0b3AgYXJtIGhhcyBub3RoaW5nIHRvIHdhaXQgZm9yLCBidXQgdGhlIG1vYmlsZSBhcm0nc1xuICogaW5qZWN0aW9uIGlzIGEgcm91bmQtdHJpcCB0byB0aGUgaG9zdCwgc28gYSBtaXNzaW5nIGBhd2FpdGAgbGV0cyB0aGUgYXNzZXJ0aW9uIHJ1biBiZWZvcmUgdGhlIGlucHV0IGhhc1xuICogbGFuZGVkLiBUaGUgc2lnbmF0dXJlIGlzIHRoZSBzYW1lIG9uIGJvdGggcGxhdGZvcm1zIHByZWNpc2VseSBzbyB0aGF0IGEgc3VpdGUgZ3Jvd2luZyBhIG1vYmlsZSBsYW5lXG4gKiBkb2VzIG5vdCBoYXZlIHRvIGJlIHJld3JpdHRlbi5cbiAqXG4gKiAqKk5vdCBldmVyeSBoZWxwZXIgc3Vydml2ZXMgdGhlIHBvcnQuKiogYG1vdmVNb3VzZWAsIGBob3ZlckVsZW1lbnRgIGFuZCBgdW5ob3ZlckVsZW1lbnRgICoqdGhyb3cqKiBvblxuICogbW9iaWxlOiBhIHRvdWNoIHNjcmVlbiBoYXMgbm8gcGVyc2lzdGVudCBwb2ludGVyIGFuZCBgOmhvdmVyYCBoYXMgbm8gdG91Y2ggZXF1aXZhbGVudC4gVGhleSB0aHJvd1xuICogcmF0aGVyIHRoYW4gbm8tb3AsIGJlY2F1c2UgYSBzaWxlbnQgbm8tb3AgaXMgZXhhY3RseSB0aGUgZmFsc2UgY29uZmlkZW5jZSB0cnVzdGVkIGlucHV0IGV4aXN0cyB0byBlbmQuXG4gKiBHYXRlIHRob3NlIG9uIGBQbGF0Zm9ybS5pc0Rlc2t0b3BBcHBgLCBvciBkcml2ZSB0aGUgZWxlbWVudCB3aXRoIHtAbGluayBjbGlja0VsZW1lbnR9IGluc3RlYWQuXG4gKlxuICogKipFdmVyeSBPYnNpZGlhbiB3aW5kb3cgaXMgaXRzIG93biB0YXJnZXQuKiogQSBwb3BvdXQgaXMgYSBzZXBhcmF0ZSBFbGVjdHJvbiB3ZWIgY29udGVudHMsIHNvIGlucHV0IHNlbnRcbiAqIHRvIHRoZSBtYWluIHdpbmRvdyBuZXZlciByZWFjaGVzIGl0LiB7QGxpbmsgcHJlc3NLZXl9LCB7QGxpbmsgY2xpY2tNb3VzZX0gYW5kIHtAbGluayBtb3ZlTW91c2V9IHRha2UgYW5cbiAqIG9wdGlvbmFsIGB3aW5kb3dgICh0aGUgbWFpbiB3aW5kb3cgYnkgZGVmYXVsdCk7IHRoZSBlbGVtZW50IGFuZCBlZGl0b3IgaGVscGVycyB1c2UgdGhlIHdpbmRvdyB0aGF0IG93bnNcbiAqIHRoZWlyIGVsZW1lbnQgb3IgZWRpdG9yLiBNb2JpbGUgaGFzIG5vIHBvcG91dHMsIHNvIGFueSB3aW5kb3cgYnV0IHRoZSBtYWluIG9uZSB0aHJvd3MgdGhlcmUuXG4gKi9cblxuaW1wb3J0IHsgUGxhdGZvcm0gfSBmcm9tICdvYnNpZGlhbic7XG5cbmltcG9ydCB0eXBlIHtcbiAgQ2xpY2tFbGVtZW50UGFyYW1zLFxuICBDbGlja01vdXNlUGFyYW1zLFxuICBIb3ZlckVsZW1lbnRQYXJhbXMsXG4gIE1vdmVNb3VzZVBhcmFtcyxcbiAgUHJlc3NLZXlQYXJhbXMsXG4gIFR5cGVJbnRvRWRpdG9yUGFyYW1zLFxuICBVbmhvdmVyRWxlbWVudFBhcmFtc1xufSBmcm9tICcuL2Rlc2t0b3AtdHJ1c3RlZC1pbnB1dC50cyc7XG5cbmV4cG9ydCB0eXBlIHtcbiAgQ2xpY2tFbGVtZW50UGFyYW1zLFxuICBDbGlja01vdXNlUGFyYW1zLFxuICBIb3ZlckVsZW1lbnRQYXJhbXMsXG4gIE1vdXNlQnV0dG9uLFxuICBNb3ZlTW91c2VQYXJhbXMsXG4gIFByZXNzS2V5UGFyYW1zLFxuICBUeXBlSW50b0VkaXRvclBhcmFtcyxcbiAgVW5ob3ZlckVsZW1lbnRQYXJhbXNcbn0gZnJvbSAnLi9kZXNrdG9wLXRydXN0ZWQtaW5wdXQudHMnO1xuXG4vLyBUaGUgc2V2ZW4gaGVscGVycyBib3RoIGFybXMgZXhwb3J0LCB3aXRoIGlkZW50aWNhbCBzaWduYXR1cmVzLiBUeXBlZCBvZmYgdGhlIG1vYmlsZSBhcm0gYmVjYXVzZSBpdFxuLy8gZXhwb3J0cyBub3RoaW5nIGVsc2U7IHRoZSBkZXNrdG9wIGFybSBhZGRpdGlvbmFsbHkgZXhwb3J0cyB0aGUgcGFyYW1ldGVyIGNvbnRyYWN0cyBib3RoIHNoYXJlLlxudHlwZSBUcnVzdGVkSW5wdXRBcm0gPSB0eXBlb2YgaW1wb3J0KCcuL21vYmlsZS10cnVzdGVkLWlucHV0LnRzJyk7XG5cbi8qKlxuICogQ2xpY2tzIHRoZSBjZW50ZXIgb2YgYW4gZWxlbWVudCB1c2luZyAqKnRydXN0ZWQqKiBpbnB1dCBcdTIwMTQgRWxlY3Ryb24ncyBgc2VuZElucHV0RXZlbnRgIG9uIGRlc2t0b3AsIGEgQ0RQXG4gKiB0b3VjaCB0YXAgaW4gdGhlIFdlYlZpZXcgb24gbW9iaWxlLlxuICpcbiAqIFRoZSBlbGVtZW50LXJlbGF0aXZlIGNvdW50ZXJwYXJ0IG9mIHtAbGluayBjbGlja01vdXNlfSwgbWlycm9yaW5nIHRoZSB7QGxpbmsgbW92ZU1vdXNlfSAvXG4gKiB7QGxpbmsgaG92ZXJFbGVtZW50fSBzcGxpdC4gVXNlIHtAbGluayBjbGlja01vdXNlfSBkaXJlY3RseSB3aGVuIHRoZSBwb2ludCB0byBjbGljayBpcyAqKm5vdCoqIHRoZVxuICogZWxlbWVudCdzIGNlbnRlciBcdTIwMTQgdGhlIG1hcmtkb3duIGVkaXRvcidzIG1hcmdpbiwgZm9yIGluc3RhbmNlLCBsaWVzIGluc2lkZSBgY20uc2Nyb2xsRE9NYCBidXQgb3V0c2lkZVxuICogYC5jbS1zaXplcmAsIHNvIG5vIGVsZW1lbnQncyBjZW50ZXIgbGFuZHMgb24gaXQuXG4gKlxuICogQHBhcmFtIHBhcmFtcyAtIFRoZSBlbGVtZW50IHRvIGNsaWNrLCB0aGUgYnV0dG9uIHRvIHByZXNzIGFuZCBhbnkgbW9kaWZpZXJzIHRvIGhvbGQuXG4gKiBAcmV0dXJucyBBIHtAbGluayBQcm9taXNlfSB0aGF0IHJlc29sdmVzIG9uY2UgdGhlIGNsaWNrIGhhcyBiZWVuIGluamVjdGVkLlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gY2xpY2tFbGVtZW50KHBhcmFtczogQ2xpY2tFbGVtZW50UGFyYW1zKTogUHJvbWlzZTx2b2lkPiB7XG4gIGNvbnN0IGFybSA9IGF3YWl0IGxvYWRBcm0oKTtcbiAgYXdhaXQgYXJtLmNsaWNrRWxlbWVudChwYXJhbXMpO1xufVxuXG4vKipcbiAqIENsaWNrcyBhdCB0aGUgZ2l2ZW4gdmlld3BvcnQgY29vcmRpbmF0ZXMgdXNpbmcgKip0cnVzdGVkKiogaW5wdXQsIHNvIHRoZSByZW5kZXJlciBzeW50aGVzaXplcyBhIHJlYWxcbiAqIGBjbGlja2AgKG9yIGBjb250ZXh0bWVudWAsIGZvciB0aGUgcmlnaHQgYnV0dG9uKSB3aXRoIGBpc1RydXN0ZWQgPT09IHRydWVgLlxuICpcbiAqIFRoZSBsb3ctbGV2ZWwgcHJpbWl0aXZlOiBvbmUgY2xpY2sgYXQgb25lIHBvaW50LCB3aXRoIG5vIHdhaXRpbmcgZm9yIGFueSBlZmZlY3QgXHUyMDE0IGNhbGxlcnMgcG9sbCB0aGVpciBvd25cbiAqIHJlYWRpbmVzcyBzaWduYWwuIFByZWZlciB7QGxpbmsgY2xpY2tFbGVtZW50fSBmb3IgZWxlbWVudC1yZWxhdGl2ZSBjbGlja3MuXG4gKlxuICogQSByZWFsIGNvbnRleHQgbWVudSBhY3R1YWxseSBvcGVucywgc28gYSBzdWl0ZSBkcml2aW5nIGEgcmlnaHQgY2xpY2sgbXVzdCBjbG9zZSBpdCAob3IgcmVtb3ZlIHRoZVxuICogbGVmdG92ZXIgYC5tZW51YCBlbGVtZW50KSBiZWZvcmUgdGhlIG5leHQgdGVzdC5cbiAqXG4gKiAqKk9uIG1vYmlsZSB0aGUgYnV0dG9uIG1vZGVsIGRvZXMgbm90IHN1cnZpdmUgdGhlIHBvcnQqKjogdG91Y2ggaGFzIG5vIGJ1dHRvbnMsIHNvIGAnbGVmdCdgICh0aGVcbiAqIGRlZmF1bHQpIGlzIGEgKip0YXAqKiwgYCdyaWdodCdgIGlzIHRoZSAqKmxvbmctcHJlc3MqKiB0aGF0IG9wZW5zIE9ic2lkaWFuIE1vYmlsZSdzIGNvbnRleHQgbWVudSwgYW5kXG4gKiBgJ21pZGRsZSdgIHRocm93cy5cbiAqXG4gKiBAcGFyYW0gcGFyYW1zIC0gVGhlIHZpZXdwb3J0IGNvb3JkaW5hdGVzIHRvIGNsaWNrIGF0LCB0aGUgYnV0dG9uIHRvIHByZXNzIGFuZCBhbnkgbW9kaWZpZXJzIHRvIGhvbGQuXG4gKiBAcmV0dXJucyBBIHtAbGluayBQcm9taXNlfSB0aGF0IHJlc29sdmVzIG9uY2UgdGhlIGNsaWNrIGhhcyBiZWVuIGluamVjdGVkLlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gY2xpY2tNb3VzZShwYXJhbXM6IENsaWNrTW91c2VQYXJhbXMpOiBQcm9taXNlPHZvaWQ+IHtcbiAgY29uc3QgYXJtID0gYXdhaXQgbG9hZEFybSgpO1xuICBhd2FpdCBhcm0uY2xpY2tNb3VzZShwYXJhbXMpO1xufVxuXG4vKipcbiAqIE1vdmVzIHRoZSBwb2ludGVyIHRvIHRoZSBjZW50ZXIgb2YgYW4gZWxlbWVudCB1c2luZyAqKnRydXN0ZWQqKiBwb2ludGVyIGlucHV0LCB0aGVuIHBvbGxzIHVudGlsIHRoZVxuICogZWxlbWVudCBhY3R1YWxseSBtYXRjaGVzIGA6aG92ZXJgLlxuICpcbiAqICoqRGVza3RvcCBvbmx5KiogXHUyMDE0IGl0IHRocm93cyBvbiBtb2JpbGUsIHdoZXJlIGA6aG92ZXJgIGhhcyBubyB0b3VjaCBlcXVpdmFsZW50LlxuICpcbiAqIEBwYXJhbSBwYXJhbXMgLSBUaGUgZWxlbWVudCB0byBob3Zlci5cbiAqIEByZXR1cm5zIEEge0BsaW5rIFByb21pc2V9IHRoYXQgcmVzb2x2ZXMgb25jZSB0aGUgZWxlbWVudCBtYXRjaGVzIGA6aG92ZXJgLlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gaG92ZXJFbGVtZW50KHBhcmFtczogSG92ZXJFbGVtZW50UGFyYW1zKTogUHJvbWlzZTx2b2lkPiB7XG4gIGNvbnN0IGFybSA9IGF3YWl0IGxvYWRBcm0oKTtcbiAgYXdhaXQgYXJtLmhvdmVyRWxlbWVudChwYXJhbXMpO1xufVxuXG4vKipcbiAqIE1vdmVzIHRoZSBwb2ludGVyIHRvIHRoZSBnaXZlbiB2aWV3cG9ydCBjb29yZGluYXRlcyB1c2luZyBhICoqdHJ1c3RlZCoqIHBvaW50ZXIgbW92ZSwgc28gYDpob3ZlcmAgcnVsZXNcbiAqIGdlbnVpbmVseSBhcHBseS5cbiAqXG4gKiBUaGUgbG93LWxldmVsIHByaW1pdGl2ZTogYSBzaW5nbGUgbW92ZSB0aGF0IGRvZXMgKipub3QqKiB3YWl0IGZvciBhbnkgc3RhdGUgdG8gc2V0dGxlLiBQcmVmZXJcbiAqIHtAbGluayBob3ZlckVsZW1lbnR9IC8ge0BsaW5rIHVuaG92ZXJFbGVtZW50fSBmb3IgZWxlbWVudC1yZWxhdGl2ZSBtb3Zlcy5cbiAqXG4gKiAqKkRlc2t0b3Agb25seSoqIFx1MjAxNCBpdCB0aHJvd3Mgb24gbW9iaWxlLCB3aGljaCBoYXMgbm8gcGVyc2lzdGVudCBwb2ludGVyIHRvIG1vdmUuXG4gKlxuICogQHBhcmFtIHBhcmFtcyAtIFRoZSB2aWV3cG9ydCBjb29yZGluYXRlcyB0byBtb3ZlIHRvLlxuICogQHJldHVybnMgQSB7QGxpbmsgUHJvbWlzZX0gdGhhdCByZXNvbHZlcyBvbmNlIHRoZSBtb3ZlIGhhcyBiZWVuIGluamVjdGVkLlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gbW92ZU1vdXNlKHBhcmFtczogTW92ZU1vdXNlUGFyYW1zKTogUHJvbWlzZTx2b2lkPiB7XG4gIGNvbnN0IGFybSA9IGF3YWl0IGxvYWRBcm0oKTtcbiAgYXdhaXQgYXJtLm1vdmVNb3VzZShwYXJhbXMpO1xufVxuXG4vKipcbiAqIFByZXNzZXMgYSBzaW5nbGUga2V5IChvcHRpb25hbGx5IHdpdGggbW9kaWZpZXJzKSB1c2luZyAqKnRydXN0ZWQqKiBrZXlib2FyZCBpbnB1dCwgZmlyaW5nIHRoZSBmdWxsIHJlYWxcbiAqIGtleSBwaXBlbGluZSBcdTIwMTQgYGtleWRvd25gIFx1MjE5MiBga2V5cHJlc3NgIFx1MjE5MiBgYmVmb3JlaW5wdXRgIFx1MjE5MiBgaW5wdXRgIFx1MjE5MiBga2V5dXBgLlxuICpcbiAqIEl0IGlzIGRlbGl2ZXJlZCB0byB0aGUgd2luZG93J3MgRE9NLWZvY3VzZWQgZWxlbWVudCwgc28gdGhlIGNhbGxlciBmb2N1c2VzIHRoZSB0YXJnZXQgZmlyc3QgYW5kIHRoZW5cbiAqIGF3YWl0cyB0aGUgZXhwZWN0ZWQgZWZmZWN0OyB0aGUgcHJlc3MgaXRzZWxmIHBvbGxzIGZvciBub3RoaW5nLiBPbiBtb2JpbGUgdGhlIGFjY2VwdGVkIGtleXMgYXJlIHRoZVxuICogbmFtZWQgb25lcyAoYCdFbnRlcidgLCBgJ0VzY2FwZSdgLCBgJ1RhYidgLCBgJ0JhY2tzcGFjZSdgLCBgJ0RlbGV0ZSdgLCB0aGUgYXJyb3dzKSBwbHVzIHNpbmdsZSBwcmludGFibGVcbiAqIGNoYXJhY3RlcnMgXHUyMDE0IGFueXRoaW5nIGVsc2UgdGhyb3dzIHJhdGhlciB0aGFuIHByZXNzaW5nIG5vdGhpbmcuXG4gKlxuICogQHBhcmFtIHBhcmFtcyAtIFRoZSBrZXkgdG8gcHJlc3MgYW5kIGFueSBtb2RpZmllcnMgdG8gaG9sZC5cbiAqIEByZXR1cm5zIEEge0BsaW5rIFByb21pc2V9IHRoYXQgcmVzb2x2ZXMgb25jZSB0aGUga2V5IHByZXNzIGhhcyBiZWVuIGluamVjdGVkLlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gcHJlc3NLZXkocGFyYW1zOiBQcmVzc0tleVBhcmFtcyk6IFByb21pc2U8dm9pZD4ge1xuICBjb25zdCBhcm0gPSBhd2FpdCBsb2FkQXJtKCk7XG4gIGF3YWl0IGFybS5wcmVzc0tleShwYXJhbXMpO1xufVxuXG4vKipcbiAqIFR5cGVzIHRleHQgaW50byBhIENvZGVNaXJyb3IgZWRpdG9yIHVzaW5nICoqdHJ1c3RlZCoqIGtleWJvYXJkIGlucHV0LlxuICpcbiAqIEZvY3VzZXMgdGhlIGVkaXRvciAoY2FyZXQgdG8gdGhlIGVuZCkgYW5kIHByZXNzZXMgZXZlcnkgY29kZSBwb2ludCBvZiB0aGUgdGV4dCBcdTIwMTQgdGhlIHNhbWUgdHJ1c3RlZFxuICogc2VxdWVuY2UgYSByZWFsIHVzZXIgcHJvZHVjZXMgXHUyMDE0IHNvIHRoZSB0ZXh0IHJlYWNoZXMgdGhlIGRvY3VtZW50ICoqb25seSBpZiB0aGUgZWRpdG9yIGdlbnVpbmVseSBob2xkc1xuICogZm9jdXMqKi4gVGhlbiBpdCBwb2xscyB1bnRpbCB0aGUgZG9jdW1lbnQgcmVmbGVjdHMgdGhlIGlucHV0LCBvciBhIGJvdW5kZWQgdGltZW91dCBlbGFwc2VzICh0aGUgZXhwZWN0ZWRcbiAqIG91dGNvbWUgd2hlbiB0aGUgZWRpdG9yIGlzIHJlYWQtb25seSBvciBmb2N1cyB3YXMgc3RvbGVuKS5cbiAqXG4gKiBAcGFyYW0gcGFyYW1zIC0gVGhlIGVkaXRvciB0byB0eXBlIGludG8gYW5kIHRoZSB0ZXh0IHRvIHR5cGUuXG4gKiBAcmV0dXJucyBBIHtAbGluayBQcm9taXNlfSB0aGF0IHJlc29sdmVzIG9uY2UgdGhlIGtleXN0cm9rZXMgaGF2ZSBzZXR0bGVkLlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gdHlwZUludG9FZGl0b3IocGFyYW1zOiBUeXBlSW50b0VkaXRvclBhcmFtcyk6IFByb21pc2U8dm9pZD4ge1xuICBjb25zdCBhcm0gPSBhd2FpdCBsb2FkQXJtKCk7XG4gIGF3YWl0IGFybS50eXBlSW50b0VkaXRvcihwYXJhbXMpO1xufVxuXG4vKipcbiAqIE1vdmVzIHRoZSBwb2ludGVyIHRvIGEgcG9pbnQganVzdCBvdXRzaWRlIGFuIGVsZW1lbnQncyBib3VuZGluZyBib3ggdXNpbmcgYSAqKnRydXN0ZWQqKiBwb2ludGVyIG1vdmUsXG4gKiB0aGVuIHBvbGxzIHVudGlsIHRoZSBlbGVtZW50IG5vIGxvbmdlciBtYXRjaGVzIGA6aG92ZXJgLlxuICpcbiAqIFRoZSBpbnZlcnNlIG9mIHtAbGluayBob3ZlckVsZW1lbnR9LiBXaGVuIGFuIGVsZW1lbnQgc3BhbnMgdGhlIGZ1bGwgdmlld3BvcnQgKG5vIHBvaW50IG91dHNpZGUgaXRzIGJveFxuICogaXMgcmVhY2hhYmxlKSwgdXNlIHtAbGluayBtb3ZlTW91c2V9IGRpcmVjdGx5IHRvIG1vdmUgdGhlIHBvaW50ZXIgdG8gYSBrbm93biBlbXB0eSBjb29yZGluYXRlIGluc3RlYWQuXG4gKlxuICogKipEZXNrdG9wIG9ubHkqKiBcdTIwMTQgaXQgdGhyb3dzIG9uIG1vYmlsZSwgZm9yIHRoZSBzYW1lIHJlYXNvbiB7QGxpbmsgaG92ZXJFbGVtZW50fSBkb2VzLlxuICpcbiAqIEBwYXJhbSBwYXJhbXMgLSBUaGUgZWxlbWVudCB0byBtb3ZlIHRoZSBwb2ludGVyIGF3YXkgZnJvbS5cbiAqIEByZXR1cm5zIEEge0BsaW5rIFByb21pc2V9IHRoYXQgcmVzb2x2ZXMgb25jZSB0aGUgZWxlbWVudCBubyBsb25nZXIgbWF0Y2hlcyBgOmhvdmVyYC5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHVuaG92ZXJFbGVtZW50KHBhcmFtczogVW5ob3ZlckVsZW1lbnRQYXJhbXMpOiBQcm9taXNlPHZvaWQ+IHtcbiAgY29uc3QgYXJtID0gYXdhaXQgbG9hZEFybSgpO1xuICBhd2FpdCBhcm0udW5ob3ZlckVsZW1lbnQocGFyYW1zKTtcbn1cblxuYXN5bmMgZnVuY3Rpb24gbG9hZEFybSgpOiBQcm9taXNlPFRydXN0ZWRJbnB1dEFybT4ge1xuICAvLyBDb25kaXRpb25hbCBpbXBvcnQgb2YgdGhlIHBsYXRmb3JtLW9ubHkgYXJtLCBhdCBjYWxsIHRpbWU6IG5laXRoZXIgYXJtIGlzIG9uIHRoZSBvdGhlciBwbGF0Zm9ybSdzXG4gIC8vIGxvYWQgcGF0aCwgYW5kIHRoZSBzcGVjaWZpZXJzIHN0YXkgbGl0ZXJhbCBzbyBlc2J1aWxkIGJ1bmRsZXMgYm90aC5cbiAgcmV0dXJuIFBsYXRmb3JtLmlzRGVza3RvcEFwcCA/IGF3YWl0IGltcG9ydCgnLi9kZXNrdG9wLXRydXN0ZWQtaW5wdXQudHMnKSA6IGF3YWl0IGltcG9ydCgnLi9tb2JpbGUtdHJ1c3RlZC1pbnB1dC50cycpO1xufVxuIl0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFxQ0EsU0FBUyxnQkFBZ0I7QUF1Q3pCLGVBQXNCLGFBQWEsUUFBMkM7QUFDNUUsUUFBTSxNQUFNLE1BQU0sUUFBUTtBQUMxQixRQUFNLElBQUksYUFBYSxNQUFNO0FBQy9CO0FBbUJBLGVBQXNCLFdBQVcsUUFBeUM7QUFDeEUsUUFBTSxNQUFNLE1BQU0sUUFBUTtBQUMxQixRQUFNLElBQUksV0FBVyxNQUFNO0FBQzdCO0FBV0EsZUFBc0IsYUFBYSxRQUEyQztBQUM1RSxRQUFNLE1BQU0sTUFBTSxRQUFRO0FBQzFCLFFBQU0sSUFBSSxhQUFhLE1BQU07QUFDL0I7QUFjQSxlQUFzQixVQUFVLFFBQXdDO0FBQ3RFLFFBQU0sTUFBTSxNQUFNLFFBQVE7QUFDMUIsUUFBTSxJQUFJLFVBQVUsTUFBTTtBQUM1QjtBQWNBLGVBQXNCLFNBQVMsUUFBdUM7QUFDcEUsUUFBTSxNQUFNLE1BQU0sUUFBUTtBQUMxQixRQUFNLElBQUksU0FBUyxNQUFNO0FBQzNCO0FBYUEsZUFBc0IsZUFBZSxRQUE2QztBQUNoRixRQUFNLE1BQU0sTUFBTSxRQUFRO0FBQzFCLFFBQU0sSUFBSSxlQUFlLE1BQU07QUFDakM7QUFjQSxlQUFzQixlQUFlLFFBQTZDO0FBQ2hGLFFBQU0sTUFBTSxNQUFNLFFBQVE7QUFDMUIsUUFBTSxJQUFJLGVBQWUsTUFBTTtBQUNqQztBQUVBLGVBQWUsVUFBb0M7QUFHakQsU0FBTyxTQUFTLGVBQWUsTUFBTSxPQUFPLDRCQUE0QixJQUFJLE1BQU0sT0FBTywyQkFBMkI7QUFDdEg7IiwKICAibmFtZXMiOiBbXQp9Cg==
@@ -5,40 +5,32 @@ if you want to view the source, please visit the github repository of this plugi
5
5
 
6
6
  (function () {
7
7
  function ensureDisposeSymbols(symbolConstructor = Symbol) {
8
- symbolConstructor.asyncDispose ??= symbolConstructor.for('Symbol.asyncDispose');
9
- symbolConstructor.dispose ??= symbolConstructor.for('Symbol.dispose');
8
+ symbolConstructor.asyncDispose ??= symbolConstructor.for("Symbol.asyncDispose");
9
+ symbolConstructor.dispose ??= symbolConstructor.for("Symbol.dispose");
10
10
  }
11
11
 
12
12
  function ensureBrowserProcess() {
13
13
  const browserProcess = {
14
14
  browser: true,
15
15
  cwd() {
16
- return '/';
16
+ return "/";
17
17
  },
18
18
  env: {},
19
- platform: 'android'
19
+ platform: "android"
20
20
  };
21
-
22
- // eslint-disable-next-line obsidianmd/no-global-this, unicorn/no-unnecessary-global-this -- Must stay `globalThis`-qualified: in the emitted banner a bare `process` is a free identifier, so reading it where the host has none throws a ReferenceError instead of yielding `undefined`. That is the very case this function exists to handle.
23
21
  const existingProcess = globalThis.process;
24
-
25
22
  if (!existingProcess) {
26
- // eslint-disable-next-line obsidianmd/no-global-this -- Actively use globalThis.
27
23
  globalThis.process = browserProcess;
28
24
  return;
29
25
  }
30
-
31
26
  if (existingProcess.versions?.node) {
32
27
  return;
33
28
  }
34
-
35
29
  const existingProcessRecord = existingProcess;
36
-
37
30
  for (const [key, value] of Object.entries(browserProcess)) {
38
31
  existingProcessRecord[key] ??= value;
39
32
  }
40
-
41
- existingProcessRecord['browser'] = true;
33
+ existingProcessRecord["browser"] = true;
42
34
  }
43
35
 
44
36
  (function initEsm() {
@@ -92,4 +84,4 @@ export {
92
84
  isWindowsReservedName,
93
85
  trimWindowsTrailingChars
94
86
  };
95
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL3ZhbGlkYXRpb24udHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qKlxuICogQGZpbGVcbiAqXG4gKiBWYWxpZGF0aW9uIHV0aWxpdGllcy5cbiAqL1xuXG5pbXBvcnQge1xuICBiYXNlbmFtZSxcbiAgZXh0bmFtZVxufSBmcm9tICdAbW5hb3Vtb3YvdHlwZXNjcmlwdC1saWIvcGF0aCc7XG5pbXBvcnQgeyBvbmVPZiB9IGZyb20gJ0BtbmFvdW1vdi90eXBlc2NyaXB0LWxpYi9yZWctZXhwJztcbmltcG9ydCB7IFBsYXRmb3JtIH0gZnJvbSAnb2JzaWRpYW4nO1xuXG4vKipcbiAqIEhvbGRzIGEgdmFsaWRhdGlvbiBtZXNzYWdlLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFZhbGlkYXRpb25NZXNzYWdlSG9sZGVyIHtcbiAgLyoqXG4gICAqIEEgdmFsaWRhdGlvbiBtZXNzYWdlLlxuICAgKi9cbiAgdmFsaWRhdGlvbk1lc3NhZ2U6IHN0cmluZztcbn1cblxuLyoqXG4gKiBUeXBlIGd1YXJkIHRvIGNoZWNrIGlmIGEgdmFsdWUgaXMgYSB2YWxpZGF0aW9uIG1lc3NhZ2UgaG9sZGVyLlxuICpcbiAqIEBwYXJhbSB2YWx1ZSAtIFRoZSB2YWx1ZSB0byBjaGVjay5cbiAqIEByZXR1cm5zIGB0cnVlYCBpZiB0aGUgdmFsdWUgaXMgYSB2YWxpZGF0aW9uIG1lc3NhZ2UgaG9sZGVyLCBgZmFsc2VgIG90aGVyd2lzZS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGlzVmFsaWRhdGlvbk1lc3NhZ2VIb2xkZXIodmFsdWU6IHVua25vd24pOiB2YWx1ZSBpcyBWYWxpZGF0aW9uTWVzc2FnZUhvbGRlciB7XG4gIHJldHVybiAodmFsdWUgYXMgUGFydGlhbDxWYWxpZGF0aW9uTWVzc2FnZUhvbGRlcj4pLnZhbGlkYXRpb25NZXNzYWdlICE9PSB1bmRlZmluZWQ7XG59XG5cbi8qKlxuICogTWF0Y2hlcyBjaGFyYWN0ZXJzIHRoYXQgYXJlIG5vdCBzYWZlIHRvIHVzZSBpbiBmaWxlIG5hbWVzIHdpdGhpbiBPYnNpZGlhbi5cbiAqL1xuZXhwb3J0IGNvbnN0IE9CU0lESUFOX1VOU0FGRV9GSUxFTkFNRV9DSEFSUyA9IC9bI15bXFxdfF0vZztcblxuLyoqXG4gKiBXaW5kb3dzLXNwZWNpZmljIHVuc2FmZSBmaWxlIG5hbWUgcGF0aCBjaGFyYWN0ZXJzLlxuICovXG5leHBvcnQgY29uc3QgV0lORE9XU19VTlNBRkVfUEFUSF9DSEFSUyA9IC9bKlxcXFwvPD46fD9cIl0vZztcblxuLyoqXG4gKiBVbml4LXNwZWNpZmljIHVuc2FmZSBmaWxlIG5hbWUgcGF0aCBjaGFyYWN0ZXJzLlxuICovXG5leHBvcnQgY29uc3QgVU5JWF9VTlNBRkVfUEFUSF9DSEFSUyA9IC9bXFwwL10vZztcblxuLyoqXG4gKiBUaGUgTVMtRE9TIGRldmljZSBuYW1lcyBXaW5kb3dzIHN0aWxsIHJlZnVzZXMgYXMgYSBmaWxlIG5hbWUsIHdpdGggb3Igd2l0aG91dCBhbiBleHRlbnNpb24uXG4gKlxuICogYENPTklOJGAgLyBgQ09OT1VUJGAgYW5kIHRoZSBzdXBlcnNjcmlwdCBgQ09NXHUwMEIyYCBmb3JtcyBhcmUgZGVsaWJlcmF0ZWx5IGFic2VudDogdGhleSBhcmUgYWNjZXB0ZWQgYnlcbiAqIGV2ZXJ5IFdpbmRvd3MgdmVyc2lvbiB0aGF0IHJ1bnMgT2JzaWRpYW4sIGFuZCBtYXRjaGluZyB0aGVtIHdvdWxkIHJlbmFtZSBmaWxlcyB0aGF0IHdvcmsuXG4gKlxuICogVW5saWtlIHRoZSBleHBvcnRlZCBjaGFyYWN0ZXIgc2V0cyBhYm92ZSwgdGhpcyBjYXJyaWVzIG5vIGBnYCBmbGFnLCBzbyBgdGVzdGAgbWF5IGJlIGNhbGxlZCBvbiBpdFxuICogcmVwZWF0ZWRseSBcdTIwMTQgYSBgZ2AtZmxhZ2dlZCByZWdleHAgYWR2YW5jZXMgYGxhc3RJbmRleGAgYW5kIGFuc3dlcnMgZGlmZmVyZW50bHkgb24gY29uc2VjdXRpdmUgY2FsbHMuXG4gKi9cbmNvbnN0IFdJTkRPV1NfUkVTRVJWRURfTkFNRV9SRUdfRVhQID0gL14oPzpBVVh8Q09NWzEtOV18Q09OfExQVFsxLTldfE5VTHxQUk4pJC9pO1xuXG4vKipcbiAqIFRoZSB0cmFpbGluZyBkb3RzIGFuZCBzcGFjZXMgV2luZG93cyBzdHJpcHMgZnJvbSBhIG5hbWUgYmVmb3JlIGl0IGRvZXMgYW55dGhpbmcgZWxzZSB3aXRoIGl0LlxuICovXG5jb25zdCBXSU5ET1dTX1RSQUlMSU5HX0NIQVJTX1JFR19FWFAgPSAvWyAuXSskLztcblxuLyoqXG4gKiBSZXR1cm5zIGEgcmVnZXhwIG1hdGNoaW5nIGFsbCB1bnNhZmUgY2hhcmFjdGVycyBpbiBmaWxlIG5hbWVzL3BhdGhzLlxuICpcbiAqIEluY2x1ZGVzIGJvdGggT1Mtc3BlY2lmaWMgcmVzdHJpY3Rpb25zIGFuZCBPYnNpZGlhbi1zcGVjaWZpYyBvbmVzLlxuICpcbiAqIEBwYXJhbSBpc1dpbmRvd3MgLSBXaGV0aGVyIHRvIGluY2x1ZGUgV2luZG93cy1zcGVjaWZpYyByZXN0cmljdGlvbnMuIERlZmF1bHRzIHRvIGBQbGF0Zm9ybS5pc1dpbmAuXG4gKiBAcmV0dXJucyBBIHJlZ2V4cCBtYXRjaGluZyBhbGwgdW5zYWZlIGNoYXJhY3RlcnMgaW4gZmlsZSBuYW1lcy9wYXRocy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldE9zQW5kT2JzaWRpYW5VbnNhZmVQYXRoQ2hhcnNSZWdFeHAoaXNXaW5kb3dzPzogYm9vbGVhbik6IFJlZ0V4cCB7XG4gIHJldHVybiBvbmVPZihbXG4gICAgZ2V0T3NVbnNhZmVQYXRoQ2hhcnNSZWdFeHAoaXNXaW5kb3dzKSxcbiAgICBPQlNJRElBTl9VTlNBRkVfRklMRU5BTUVfQ0hBUlNcbiAgXSk7XG59XG5cbi8qKlxuICogUmV0dXJucyBhIHJlZ2V4cCBtYXRjaGluZyBjaGFyYWN0ZXJzIHRoYXQgYXJlIG5vdCBzYWZlIHRvIHVzZSBpbiBmaWxlIG5hbWVzL3BhdGhzIGF0IHRoZSBPUyBsZXZlbC5cbiAqXG4gKiBAcGFyYW0gaXNXaW5kb3dzIC0gV2hldGhlciB0byBpbmNsdWRlIFdpbmRvd3Mtc3BlY2lmaWMgcmVzdHJpY3Rpb25zLiBEZWZhdWx0cyB0byBgUGxhdGZvcm0uaXNXaW5gLlxuICogQHJldHVybnMgQSByZWdleHAgbWF0Y2hpbmcgY2hhcmFjdGVycyB0aGF0IGFyZSBub3Qgc2FmZSB0byB1c2UgaW4gZmlsZSBuYW1lcy9wYXRocyBhdCB0aGUgT1MgbGV2ZWwuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRPc1Vuc2FmZVBhdGhDaGFyc1JlZ0V4cChpc1dpbmRvd3M/OiBib29sZWFuKTogUmVnRXhwIHtcbiAgaXNXaW5kb3dzID8/PSBQbGF0Zm9ybS5pc1dpbjtcbiAgcmV0dXJuIGlzV2luZG93cyA/IFdJTkRPV1NfVU5TQUZFX1BBVEhfQ0hBUlMgOiBVTklYX1VOU0FGRV9QQVRIX0NIQVJTO1xufVxuXG4vKipcbiAqIENoZWNrcyB3aGV0aGVyIGEgbmFtZSBlbmRzIHdpdGggdGhlIGRvdHMgb3Igc3BhY2VzIFdpbmRvd3MgcmVmdXNlcy5cbiAqXG4gKiBBbnN3ZXJzIGZvciBXaW5kb3dzIHJlZ2FyZGxlc3Mgb2YgdGhlIHBsYXRmb3JtIGluIHVzZTogYSB2YXVsdCBpcyBzeW5jZWQsIHNvIHRoZSBydWxlcyB0aGF0IG1hdHRlciBhcmVcbiAqIG5vdCBuZWNlc3NhcmlseSB0aG9zZSBvZiB0aGUgbWFjaGluZSBhc2tpbmcuXG4gKlxuICogQHBhcmFtIG5hbWUgLSBUaGUgbmFtZSB0byBjaGVjay4gQSBzaW5nbGUgcGF0aCBzZWdtZW50LCBub3QgYSBwYXRoLlxuICogQHJldHVybnMgYHRydWVgIGlmIHRoZSBuYW1lIGVuZHMgd2l0aCBhIGRvdCBvciBhIHNwYWNlLCBgZmFsc2VgIG90aGVyd2lzZS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGhhc1dpbmRvd3NUcmFpbGluZ0NoYXJzKG5hbWU6IHN0cmluZyk6IGJvb2xlYW4ge1xuICByZXR1cm4gV0lORE9XU19UUkFJTElOR19DSEFSU19SRUdfRVhQLnRlc3QobmFtZSk7XG59XG5cbi8qKlxuICogQ2hlY2tzIHdoZXRoZXIgYSBuYW1lIGlzIG9uZSBvZiB0aGUgTVMtRE9TIGRldmljZSBuYW1lcyBXaW5kb3dzIHJlZnVzZXMuXG4gKlxuICogVHdvIHN0ZXBzIHRoZSBjYWxsZXIgd291bGQgb3RoZXJ3aXNlIGhhdmUgdG8ga25vdyBhYm91dCBoYXBwZW4gaGVyZTogdHJhaWxpbmcgZG90cyBhbmQgc3BhY2VzIGFyZVxuICogdHJpbW1lZCBCRUZPUkUgdGhlIHRlc3QsIGJlY2F1c2UgV2luZG93cyBzdHJpcHMgdGhlbSBiZWZvcmUgZGVjaWRpbmcgYW5kIGBDT04gYCBpcyB0aGVyZWZvcmUgYXNcbiAqIHJlc2VydmVkIGFzIGBDT05gOyBhbmQgdGhlIGV4dGVuc2lvbiBpcyBkcm9wcGVkLCBiZWNhdXNlIGBDT04ubWRgIGlzIHJlc2VydmVkIHRvby5cbiAqXG4gKiBgQ09OSU4kYCAvIGBDT05PVVQkYCBhbmQgdGhlIHN1cGVyc2NyaXB0IGBDT01cdTAwQjJgIGZvcm1zIGFyZSBkZWxpYmVyYXRlbHkgTk9UIHJlc2VydmVkOiB0aGV5IGFyZSBhY2NlcHRlZFxuICogYnkgZXZlcnkgV2luZG93cyB2ZXJzaW9uIHRoYXQgcnVucyBPYnNpZGlhbiwgYW5kIG1hdGNoaW5nIHRoZW0gd291bGQgcmVuYW1lIGZpbGVzIHRoYXQgd29yay5cbiAqXG4gKiBBbnN3ZXJzIGZvciBXaW5kb3dzIHJlZ2FyZGxlc3Mgb2YgdGhlIHBsYXRmb3JtIGluIHVzZTogYSB2YXVsdCBpcyBzeW5jZWQsIHNvIHRoZSBydWxlcyB0aGF0IG1hdHRlciBhcmVcbiAqIG5vdCBuZWNlc3NhcmlseSB0aG9zZSBvZiB0aGUgbWFjaGluZSBhc2tpbmcuXG4gKlxuICogQHBhcmFtIG5hbWUgLSBUaGUgbmFtZSB0byBjaGVjay4gQSBzaW5nbGUgcGF0aCBzZWdtZW50LCB3aXRoIG9yIHdpdGhvdXQgaXRzIGV4dGVuc2lvbi5cbiAqIEByZXR1cm5zIGB0cnVlYCBpZiB0aGUgbmFtZSBpcyByZXNlcnZlZCwgYGZhbHNlYCBvdGhlcndpc2UuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpc1dpbmRvd3NSZXNlcnZlZE5hbWUobmFtZTogc3RyaW5nKTogYm9vbGVhbiB7XG4gIGNvbnN0IHRyaW1tZWROYW1lID0gdHJpbVdpbmRvd3NUcmFpbGluZ0NoYXJzKG5hbWUpO1xuICByZXR1cm4gV0lORE9XU19SRVNFUlZFRF9OQU1FX1JFR19FWFAudGVzdChiYXNlbmFtZSh0cmltbWVkTmFtZSwgZXh0bmFtZSh0cmltbWVkTmFtZSkpKTtcbn1cblxuLyoqXG4gKiBSZW1vdmVzIHRoZSB0cmFpbGluZyBkb3RzIGFuZCBzcGFjZXMgV2luZG93cyByZWZ1c2VzIGZyb20gdGhlIGVuZCBvZiBhIG5hbWUuXG4gKlxuICogVHJpbSBiZWZvcmUgdGVzdGluZyBmb3IgYSByZXNlcnZlZCBuYW1lLCBuZXZlciBhZnRlcjogdHJpbW1pbmcgYWZ0ZXJ3YXJkcyB0dXJucyBhbiBhY2NlcHRlZCBgQ09OIGAgaW50b1xuICogYSByZWplY3RlZCBgQ09OYC4ge0BsaW5rIGlzV2luZG93c1Jlc2VydmVkTmFtZX0gYWxyZWFkeSBkb2VzIHRoaXMgaW50ZXJuYWxseS5cbiAqXG4gKiBAcGFyYW0gbmFtZSAtIFRoZSBuYW1lIHRvIHRyaW0uIEEgc2luZ2xlIHBhdGggc2VnbWVudCwgbm90IGEgcGF0aC5cbiAqIEByZXR1cm5zIFRoZSBuYW1lIHdpdGhvdXQgaXRzIHRyYWlsaW5nIGRvdHMgYW5kIHNwYWNlcywgd2hpY2ggbWF5IGJlIGVtcHR5LlxuICovXG5leHBvcnQgZnVuY3Rpb24gdHJpbVdpbmRvd3NUcmFpbGluZ0NoYXJzKG5hbWU6IHN0cmluZyk6IHN0cmluZyB7XG4gIHJldHVybiBuYW1lLnJlcGxhY2UoV0lORE9XU19UUkFJTElOR19DSEFSU19SRUdfRVhQLCAnJyk7XG59XG4iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBTUE7QUFBQSxFQUNFO0FBQUEsRUFDQTtBQUFBLE9BQ0s7QUFDUCxTQUFTLGFBQWE7QUFDdEIsU0FBUyxnQkFBZ0I7QUFrQmxCLFNBQVMsMEJBQTBCLE9BQWtEO0FBQzFGLFNBQVEsTUFBMkMsc0JBQXNCO0FBQzNFO0FBS08sTUFBTSxpQ0FBaUM7QUFLdkMsTUFBTSw0QkFBNEI7QUFLbEMsTUFBTSx5QkFBeUI7QUFXdEMsTUFBTSxnQ0FBZ0M7QUFLdEMsTUFBTSxpQ0FBaUM7QUFVaEMsU0FBUyxzQ0FBc0MsV0FBNkI7QUFDakYsU0FBTyxNQUFNO0FBQUEsSUFDWCwyQkFBMkIsU0FBUztBQUFBLElBQ3BDO0FBQUEsRUFDRixDQUFDO0FBQ0g7QUFRTyxTQUFTLDJCQUEyQixXQUE2QjtBQUN0RSxnQkFBYyxTQUFTO0FBQ3ZCLFNBQU8sWUFBWSw0QkFBNEI7QUFDakQ7QUFXTyxTQUFTLHdCQUF3QixNQUF1QjtBQUM3RCxTQUFPLCtCQUErQixLQUFLLElBQUk7QUFDakQ7QUFrQk8sU0FBUyxzQkFBc0IsTUFBdUI7QUFDM0QsUUFBTSxjQUFjLHlCQUF5QixJQUFJO0FBQ2pELFNBQU8sOEJBQThCLEtBQUssU0FBUyxhQUFhLFFBQVEsV0FBVyxDQUFDLENBQUM7QUFDdkY7QUFXTyxTQUFTLHlCQUF5QixNQUFzQjtBQUM3RCxTQUFPLEtBQUssUUFBUSxnQ0FBZ0MsRUFBRTtBQUN4RDsiLAogICJuYW1lcyI6IFtdCn0K
87
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL3ZhbGlkYXRpb24udHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qKlxuICogQGZpbGVcbiAqXG4gKiBWYWxpZGF0aW9uIHV0aWxpdGllcy5cbiAqL1xuXG5pbXBvcnQge1xuICBiYXNlbmFtZSxcbiAgZXh0bmFtZVxufSBmcm9tICdAbW5hb3Vtb3YvdHlwZXNjcmlwdC1saWIvcGF0aCc7XG5pbXBvcnQgeyBvbmVPZiB9IGZyb20gJ0BtbmFvdW1vdi90eXBlc2NyaXB0LWxpYi9yZWctZXhwJztcbmltcG9ydCB7IFBsYXRmb3JtIH0gZnJvbSAnb2JzaWRpYW4nO1xuXG4vKipcbiAqIEhvbGRzIGEgdmFsaWRhdGlvbiBtZXNzYWdlLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFZhbGlkYXRpb25NZXNzYWdlSG9sZGVyIHtcbiAgLyoqXG4gICAqIEEgdmFsaWRhdGlvbiBtZXNzYWdlLlxuICAgKi9cbiAgdmFsaWRhdGlvbk1lc3NhZ2U6IHN0cmluZztcbn1cblxuLyoqXG4gKiBUeXBlIGd1YXJkIHRvIGNoZWNrIGlmIGEgdmFsdWUgaXMgYSB2YWxpZGF0aW9uIG1lc3NhZ2UgaG9sZGVyLlxuICpcbiAqIEBwYXJhbSB2YWx1ZSAtIFRoZSB2YWx1ZSB0byBjaGVjay5cbiAqIEByZXR1cm5zIGB0cnVlYCBpZiB0aGUgdmFsdWUgaXMgYSB2YWxpZGF0aW9uIG1lc3NhZ2UgaG9sZGVyLCBgZmFsc2VgIG90aGVyd2lzZS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGlzVmFsaWRhdGlvbk1lc3NhZ2VIb2xkZXIodmFsdWU6IHVua25vd24pOiB2YWx1ZSBpcyBWYWxpZGF0aW9uTWVzc2FnZUhvbGRlciB7XG4gIHJldHVybiAodmFsdWUgYXMgUGFydGlhbDxWYWxpZGF0aW9uTWVzc2FnZUhvbGRlcj4pLnZhbGlkYXRpb25NZXNzYWdlICE9PSB1bmRlZmluZWQ7XG59XG5cbi8qKlxuICogTWF0Y2hlcyBjaGFyYWN0ZXJzIHRoYXQgYXJlIG5vdCBzYWZlIHRvIHVzZSBpbiBmaWxlIG5hbWVzIHdpdGhpbiBPYnNpZGlhbi5cbiAqL1xuZXhwb3J0IGNvbnN0IE9CU0lESUFOX1VOU0FGRV9GSUxFTkFNRV9DSEFSUyA9IC9bI15bXFxdfF0vZztcblxuLyoqXG4gKiBXaW5kb3dzLXNwZWNpZmljIHVuc2FmZSBmaWxlIG5hbWUgcGF0aCBjaGFyYWN0ZXJzLlxuICovXG5leHBvcnQgY29uc3QgV0lORE9XU19VTlNBRkVfUEFUSF9DSEFSUyA9IC9bKlxcXFwvPD46fD9cIl0vZztcblxuLyoqXG4gKiBVbml4LXNwZWNpZmljIHVuc2FmZSBmaWxlIG5hbWUgcGF0aCBjaGFyYWN0ZXJzLlxuICovXG5leHBvcnQgY29uc3QgVU5JWF9VTlNBRkVfUEFUSF9DSEFSUyA9IC9bXFwwL10vZztcblxuLyoqXG4gKiBUaGUgTVMtRE9TIGRldmljZSBuYW1lcyBXaW5kb3dzIHN0aWxsIHJlZnVzZXMgYXMgYSBmaWxlIG5hbWUsIHdpdGggb3Igd2l0aG91dCBhbiBleHRlbnNpb24uXG4gKlxuICogYENPTklOJGAgLyBgQ09OT1VUJGAgYW5kIHRoZSBzdXBlcnNjcmlwdCBgQ09NXHUwMEIyYCBmb3JtcyBhcmUgZGVsaWJlcmF0ZWx5IGFic2VudDogdGhleSBhcmUgYWNjZXB0ZWQgYnlcbiAqIGV2ZXJ5IFdpbmRvd3MgdmVyc2lvbiB0aGF0IHJ1bnMgT2JzaWRpYW4sIGFuZCBtYXRjaGluZyB0aGVtIHdvdWxkIHJlbmFtZSBmaWxlcyB0aGF0IHdvcmsuXG4gKlxuICogVW5saWtlIHRoZSBleHBvcnRlZCBjaGFyYWN0ZXIgc2V0cyBhYm92ZSwgdGhpcyBjYXJyaWVzIG5vIGBnYCBmbGFnLCBzbyBgdGVzdGAgbWF5IGJlIGNhbGxlZCBvbiBpdFxuICogcmVwZWF0ZWRseSBcdTIwMTQgYSBgZ2AtZmxhZ2dlZCByZWdleHAgYWR2YW5jZXMgYGxhc3RJbmRleGAgYW5kIGFuc3dlcnMgZGlmZmVyZW50bHkgb24gY29uc2VjdXRpdmUgY2FsbHMuXG4gKi9cbmNvbnN0IFdJTkRPV1NfUkVTRVJWRURfTkFNRV9SRUdfRVhQID0gL14oPzpBVVh8Q09NWzEtOV18Q09OfExQVFsxLTldfE5VTHxQUk4pJC9pO1xuXG4vKipcbiAqIFRoZSB0cmFpbGluZyBkb3RzIGFuZCBzcGFjZXMgV2luZG93cyBzdHJpcHMgZnJvbSBhIG5hbWUgYmVmb3JlIGl0IGRvZXMgYW55dGhpbmcgZWxzZSB3aXRoIGl0LlxuICovXG5jb25zdCBXSU5ET1dTX1RSQUlMSU5HX0NIQVJTX1JFR19FWFAgPSAvWyAuXSskLztcblxuLyoqXG4gKiBSZXR1cm5zIGEgcmVnZXhwIG1hdGNoaW5nIGFsbCB1bnNhZmUgY2hhcmFjdGVycyBpbiBmaWxlIG5hbWVzL3BhdGhzLlxuICpcbiAqIEluY2x1ZGVzIGJvdGggT1Mtc3BlY2lmaWMgcmVzdHJpY3Rpb25zIGFuZCBPYnNpZGlhbi1zcGVjaWZpYyBvbmVzLlxuICpcbiAqIEBwYXJhbSBpc1dpbmRvd3MgLSBXaGV0aGVyIHRvIGluY2x1ZGUgV2luZG93cy1zcGVjaWZpYyByZXN0cmljdGlvbnMuIERlZmF1bHRzIHRvIGBQbGF0Zm9ybS5pc1dpbmAuXG4gKiBAcmV0dXJucyBBIHJlZ2V4cCBtYXRjaGluZyBhbGwgdW5zYWZlIGNoYXJhY3RlcnMgaW4gZmlsZSBuYW1lcy9wYXRocy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldE9zQW5kT2JzaWRpYW5VbnNhZmVQYXRoQ2hhcnNSZWdFeHAoaXNXaW5kb3dzPzogYm9vbGVhbik6IFJlZ0V4cCB7XG4gIHJldHVybiBvbmVPZihbXG4gICAgZ2V0T3NVbnNhZmVQYXRoQ2hhcnNSZWdFeHAoaXNXaW5kb3dzKSxcbiAgICBPQlNJRElBTl9VTlNBRkVfRklMRU5BTUVfQ0hBUlNcbiAgXSk7XG59XG5cbi8qKlxuICogUmV0dXJucyBhIHJlZ2V4cCBtYXRjaGluZyBjaGFyYWN0ZXJzIHRoYXQgYXJlIG5vdCBzYWZlIHRvIHVzZSBpbiBmaWxlIG5hbWVzL3BhdGhzIGF0IHRoZSBPUyBsZXZlbC5cbiAqXG4gKiBAcGFyYW0gaXNXaW5kb3dzIC0gV2hldGhlciB0byBpbmNsdWRlIFdpbmRvd3Mtc3BlY2lmaWMgcmVzdHJpY3Rpb25zLiBEZWZhdWx0cyB0byBgUGxhdGZvcm0uaXNXaW5gLlxuICogQHJldHVybnMgQSByZWdleHAgbWF0Y2hpbmcgY2hhcmFjdGVycyB0aGF0IGFyZSBub3Qgc2FmZSB0byB1c2UgaW4gZmlsZSBuYW1lcy9wYXRocyBhdCB0aGUgT1MgbGV2ZWwuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRPc1Vuc2FmZVBhdGhDaGFyc1JlZ0V4cChpc1dpbmRvd3M/OiBib29sZWFuKTogUmVnRXhwIHtcbiAgaXNXaW5kb3dzID8/PSBQbGF0Zm9ybS5pc1dpbjtcbiAgcmV0dXJuIGlzV2luZG93cyA/IFdJTkRPV1NfVU5TQUZFX1BBVEhfQ0hBUlMgOiBVTklYX1VOU0FGRV9QQVRIX0NIQVJTO1xufVxuXG4vKipcbiAqIENoZWNrcyB3aGV0aGVyIGEgbmFtZSBlbmRzIHdpdGggdGhlIGRvdHMgb3Igc3BhY2VzIFdpbmRvd3MgcmVmdXNlcy5cbiAqXG4gKiBBbnN3ZXJzIGZvciBXaW5kb3dzIHJlZ2FyZGxlc3Mgb2YgdGhlIHBsYXRmb3JtIGluIHVzZTogYSB2YXVsdCBpcyBzeW5jZWQsIHNvIHRoZSBydWxlcyB0aGF0IG1hdHRlciBhcmVcbiAqIG5vdCBuZWNlc3NhcmlseSB0aG9zZSBvZiB0aGUgbWFjaGluZSBhc2tpbmcuXG4gKlxuICogQHBhcmFtIG5hbWUgLSBUaGUgbmFtZSB0byBjaGVjay4gQSBzaW5nbGUgcGF0aCBzZWdtZW50LCBub3QgYSBwYXRoLlxuICogQHJldHVybnMgYHRydWVgIGlmIHRoZSBuYW1lIGVuZHMgd2l0aCBhIGRvdCBvciBhIHNwYWNlLCBgZmFsc2VgIG90aGVyd2lzZS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGhhc1dpbmRvd3NUcmFpbGluZ0NoYXJzKG5hbWU6IHN0cmluZyk6IGJvb2xlYW4ge1xuICByZXR1cm4gV0lORE9XU19UUkFJTElOR19DSEFSU19SRUdfRVhQLnRlc3QobmFtZSk7XG59XG5cbi8qKlxuICogQ2hlY2tzIHdoZXRoZXIgYSBuYW1lIGlzIG9uZSBvZiB0aGUgTVMtRE9TIGRldmljZSBuYW1lcyBXaW5kb3dzIHJlZnVzZXMuXG4gKlxuICogVHdvIHN0ZXBzIHRoZSBjYWxsZXIgd291bGQgb3RoZXJ3aXNlIGhhdmUgdG8ga25vdyBhYm91dCBoYXBwZW4gaGVyZTogdHJhaWxpbmcgZG90cyBhbmQgc3BhY2VzIGFyZVxuICogdHJpbW1lZCBCRUZPUkUgdGhlIHRlc3QsIGJlY2F1c2UgV2luZG93cyBzdHJpcHMgdGhlbSBiZWZvcmUgZGVjaWRpbmcgYW5kIGBDT04gYCBpcyB0aGVyZWZvcmUgYXNcbiAqIHJlc2VydmVkIGFzIGBDT05gOyBhbmQgdGhlIGV4dGVuc2lvbiBpcyBkcm9wcGVkLCBiZWNhdXNlIGBDT04ubWRgIGlzIHJlc2VydmVkIHRvby5cbiAqXG4gKiBgQ09OSU4kYCAvIGBDT05PVVQkYCBhbmQgdGhlIHN1cGVyc2NyaXB0IGBDT01cdTAwQjJgIGZvcm1zIGFyZSBkZWxpYmVyYXRlbHkgTk9UIHJlc2VydmVkOiB0aGV5IGFyZSBhY2NlcHRlZFxuICogYnkgZXZlcnkgV2luZG93cyB2ZXJzaW9uIHRoYXQgcnVucyBPYnNpZGlhbiwgYW5kIG1hdGNoaW5nIHRoZW0gd291bGQgcmVuYW1lIGZpbGVzIHRoYXQgd29yay5cbiAqXG4gKiBBbnN3ZXJzIGZvciBXaW5kb3dzIHJlZ2FyZGxlc3Mgb2YgdGhlIHBsYXRmb3JtIGluIHVzZTogYSB2YXVsdCBpcyBzeW5jZWQsIHNvIHRoZSBydWxlcyB0aGF0IG1hdHRlciBhcmVcbiAqIG5vdCBuZWNlc3NhcmlseSB0aG9zZSBvZiB0aGUgbWFjaGluZSBhc2tpbmcuXG4gKlxuICogQHBhcmFtIG5hbWUgLSBUaGUgbmFtZSB0byBjaGVjay4gQSBzaW5nbGUgcGF0aCBzZWdtZW50LCB3aXRoIG9yIHdpdGhvdXQgaXRzIGV4dGVuc2lvbi5cbiAqIEByZXR1cm5zIGB0cnVlYCBpZiB0aGUgbmFtZSBpcyByZXNlcnZlZCwgYGZhbHNlYCBvdGhlcndpc2UuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpc1dpbmRvd3NSZXNlcnZlZE5hbWUobmFtZTogc3RyaW5nKTogYm9vbGVhbiB7XG4gIGNvbnN0IHRyaW1tZWROYW1lID0gdHJpbVdpbmRvd3NUcmFpbGluZ0NoYXJzKG5hbWUpO1xuICByZXR1cm4gV0lORE9XU19SRVNFUlZFRF9OQU1FX1JFR19FWFAudGVzdChiYXNlbmFtZSh0cmltbWVkTmFtZSwgZXh0bmFtZSh0cmltbWVkTmFtZSkpKTtcbn1cblxuLyoqXG4gKiBSZW1vdmVzIHRoZSB0cmFpbGluZyBkb3RzIGFuZCBzcGFjZXMgV2luZG93cyByZWZ1c2VzIGZyb20gdGhlIGVuZCBvZiBhIG5hbWUuXG4gKlxuICogVHJpbSBiZWZvcmUgdGVzdGluZyBmb3IgYSByZXNlcnZlZCBuYW1lLCBuZXZlciBhZnRlcjogdHJpbW1pbmcgYWZ0ZXJ3YXJkcyB0dXJucyBhbiBhY2NlcHRlZCBgQ09OIGAgaW50b1xuICogYSByZWplY3RlZCBgQ09OYC4ge0BsaW5rIGlzV2luZG93c1Jlc2VydmVkTmFtZX0gYWxyZWFkeSBkb2VzIHRoaXMgaW50ZXJuYWxseS5cbiAqXG4gKiBAcGFyYW0gbmFtZSAtIFRoZSBuYW1lIHRvIHRyaW0uIEEgc2luZ2xlIHBhdGggc2VnbWVudCwgbm90IGEgcGF0aC5cbiAqIEByZXR1cm5zIFRoZSBuYW1lIHdpdGhvdXQgaXRzIHRyYWlsaW5nIGRvdHMgYW5kIHNwYWNlcywgd2hpY2ggbWF5IGJlIGVtcHR5LlxuICovXG5leHBvcnQgZnVuY3Rpb24gdHJpbVdpbmRvd3NUcmFpbGluZ0NoYXJzKG5hbWU6IHN0cmluZyk6IHN0cmluZyB7XG4gIHJldHVybiBuYW1lLnJlcGxhY2UoV0lORE9XU19UUkFJTElOR19DSEFSU19SRUdfRVhQLCAnJyk7XG59XG4iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQU1BO0FBQUEsRUFDRTtBQUFBLEVBQ0E7QUFBQSxPQUNLO0FBQ1AsU0FBUyxhQUFhO0FBQ3RCLFNBQVMsZ0JBQWdCO0FBa0JsQixTQUFTLDBCQUEwQixPQUFrRDtBQUMxRixTQUFRLE1BQTJDLHNCQUFzQjtBQUMzRTtBQUtPLE1BQU0saUNBQWlDO0FBS3ZDLE1BQU0sNEJBQTRCO0FBS2xDLE1BQU0seUJBQXlCO0FBV3RDLE1BQU0sZ0NBQWdDO0FBS3RDLE1BQU0saUNBQWlDO0FBVWhDLFNBQVMsc0NBQXNDLFdBQTZCO0FBQ2pGLFNBQU8sTUFBTTtBQUFBLElBQ1gsMkJBQTJCLFNBQVM7QUFBQSxJQUNwQztBQUFBLEVBQ0YsQ0FBQztBQUNIO0FBUU8sU0FBUywyQkFBMkIsV0FBNkI7QUFDdEUsZ0JBQWMsU0FBUztBQUN2QixTQUFPLFlBQVksNEJBQTRCO0FBQ2pEO0FBV08sU0FBUyx3QkFBd0IsTUFBdUI7QUFDN0QsU0FBTywrQkFBK0IsS0FBSyxJQUFJO0FBQ2pEO0FBa0JPLFNBQVMsc0JBQXNCLE1BQXVCO0FBQzNELFFBQU0sY0FBYyx5QkFBeUIsSUFBSTtBQUNqRCxTQUFPLDhCQUE4QixLQUFLLFNBQVMsYUFBYSxRQUFRLFdBQVcsQ0FBQyxDQUFDO0FBQ3ZGO0FBV08sU0FBUyx5QkFBeUIsTUFBc0I7QUFDN0QsU0FBTyxLQUFLLFFBQVEsZ0NBQWdDLEVBQUU7QUFDeEQ7IiwKICAibmFtZXMiOiBbXQp9Cg==
@@ -5,40 +5,32 @@ if you want to view the source, please visit the github repository of this plugi
5
5
 
6
6
  (function () {
7
7
  function ensureDisposeSymbols(symbolConstructor = Symbol) {
8
- symbolConstructor.asyncDispose ??= symbolConstructor.for('Symbol.asyncDispose');
9
- symbolConstructor.dispose ??= symbolConstructor.for('Symbol.dispose');
8
+ symbolConstructor.asyncDispose ??= symbolConstructor.for("Symbol.asyncDispose");
9
+ symbolConstructor.dispose ??= symbolConstructor.for("Symbol.dispose");
10
10
  }
11
11
 
12
12
  function ensureBrowserProcess() {
13
13
  const browserProcess = {
14
14
  browser: true,
15
15
  cwd() {
16
- return '/';
16
+ return "/";
17
17
  },
18
18
  env: {},
19
- platform: 'android'
19
+ platform: "android"
20
20
  };
21
-
22
- // eslint-disable-next-line obsidianmd/no-global-this, unicorn/no-unnecessary-global-this -- Must stay `globalThis`-qualified: in the emitted banner a bare `process` is a free identifier, so reading it where the host has none throws a ReferenceError instead of yielding `undefined`. That is the very case this function exists to handle.
23
21
  const existingProcess = globalThis.process;
24
-
25
22
  if (!existingProcess) {
26
- // eslint-disable-next-line obsidianmd/no-global-this -- Actively use globalThis.
27
23
  globalThis.process = browserProcess;
28
24
  return;
29
25
  }
30
-
31
26
  if (existingProcess.versions?.node) {
32
27
  return;
33
28
  }
34
-
35
29
  const existingProcessRecord = existingProcess;
36
-
37
30
  for (const [key, value] of Object.entries(browserProcess)) {
38
31
  existingProcessRecord[key] ??= value;
39
32
  }
40
-
41
- existingProcessRecord['browser'] = true;
33
+ existingProcessRecord["browser"] = true;
42
34
  }
43
35
 
44
36
  (function initEsm() {
@@ -137,4 +129,4 @@ export {
137
129
  DeleteIfNotUsedResult,
138
130
  deleteIfNotUsed
139
131
  };
140
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL3ZhdWx0LWRlbGV0ZS50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyoqXG4gKiBAZmlsZVxuICpcbiAqIFRoaXMgbW9kdWxlIHByb3ZpZGVzIGRlbGV0aW9uIHV0aWxpdGllcyB0aGF0IHJlcXVpcmUgbWV0YWRhdGEgY2FjaGUgYWNjZXNzLlxuICovXG5cbmltcG9ydCB0eXBlIHtcbiAgQXBwLFxuICBUQWJzdHJhY3RGaWxlLFxuICBURmlsZVxufSBmcm9tICdvYnNpZGlhbic7XG5cbmltcG9ydCB7IHByaW50RXJyb3IgfSBmcm9tICdAbW5hb3Vtb3YvdHlwZXNjcmlwdC1saWIvZXJyb3InO1xuaW1wb3J0IHsgbm9ybWFsaXplT3B0aW9uYWxQcm9wZXJ0aWVzIH0gZnJvbSAnQG1uYW91bW92L3R5cGVzY3JpcHQtbGliL29iamVjdC11dGlscyc7XG5cbmltcG9ydCB0eXBlIHsgUGx1Z2luTm90aWNlQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3BsdWdpbi1ub3RpY2UtY29tcG9uZW50LnRzJztcbmltcG9ydCB0eXBlIHsgUGF0aE9yQWJzdHJhY3RGaWxlIH0gZnJvbSAnLi9maWxlLXN5c3RlbS50cyc7XG5cbmltcG9ydCB7XG4gIGdldEFic3RyYWN0RmlsZU9yTnVsbCxcbiAgaXNGaWxlLFxuICBpc0ZvbGRlclxufSBmcm9tICcuL2ZpbGUtc3lzdGVtLnRzJztcbmltcG9ydCB7IHQgfSBmcm9tICcuL2kxOG4vaTE4bi50cyc7XG5pbXBvcnQgeyBnZXRCYWNrbGlua3NGb3JGaWxlU2FmZSB9IGZyb20gJy4vbWV0YWRhdGEtY2FjaGUudHMnO1xuaW1wb3J0IHtcbiAgaXNFbXB0eUZvbGRlcixcbiAgbGlzdFNhZmUsXG4gIHRyYXNoU2FmZVxufSBmcm9tICcuL3ZhdWx0LnRzJztcblxuLyoqXG4gKiBUaGUgcmVzdWx0IG9mIHtAbGluayBkZWxldGVJZk5vdFVzZWR9LlxuICovXG5leHBvcnQgZW51bSBEZWxldGVJZk5vdFVzZWRSZXN1bHQge1xuICAvKipcbiAgICogVGhlIGZpbGUvZm9sZGVyIHdhcyBkZWxldGVkLlxuICAgKi9cbiAgRGVsZXRlZCA9ICdkZWxldGVkJyxcblxuICAvKipcbiAgICogVGhlIGZpbGUvZm9sZGVyIHdhcyBub3QgZGVsZXRlZC5cbiAgICovXG4gIE5vdERlbGV0ZWQgPSAnbm90LWRlbGV0ZWQnLFxuXG4gIC8qKlxuICAgKiBUaGUgZmlsZSB3YXMgc3RpbGwgdXNlZCwgYW5kIHtAbGluayBEZWxldGVJZk5vdFVzZWRQYXJhbXMucmVzY3VlU3RpbGxVc2VkRmlsZX0gbW92ZWQgaXQgb3V0IG9mIHRoZSB3YXlcbiAgICogaW5zdGVhZCBvZiBpdCBiZWluZyBkZWxldGVkIG9yIGxlZnQgd2hlcmUgaXQgd2FzLlxuICAgKi9cbiAgUmVzY3VlZCA9ICdyZXNjdWVkJ1xufVxuXG4vKipcbiAqIFBhcmFtZXRlcnMgcGFzc2VkIHRvIHtAbGluayBEZWxldGVJZk5vdFVzZWRQYXJhbXMucmVzY3VlU3RpbGxVc2VkRmlsZX0uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUmVzY3VlU3RpbGxVc2VkRmlsZVBhcmFtcyB7XG4gIC8qKlxuICAgKiBUaGUgZmlsZSB0aGF0IGlzIGFib3V0IHRvIGJlIGtlcHQgYmVjYXVzZSBvdGhlciBub3RlcyBzdGlsbCByZWZlcmVuY2UgaXQuXG4gICAqL1xuICByZWFkb25seSBmaWxlOiBURmlsZTtcblxuICAvKipcbiAgICogVGhlIHBhdGhzIG9mIHRoZSBub3RlcyB0aGF0IHN0aWxsIHJlZmVyZW5jZSB0aGUgZmlsZSBvbmNlIGV2ZXJ5dGhpbmcgYmVpbmcgZGVsZXRlZCBhbG9uZ3NpZGUgaXQgaXNcbiAgICogZ29uZS4gTmV2ZXIgZW1wdHkuXG4gICAqL1xuICByZWFkb25seSBzdXJ2aXZpbmdOb3RlUGF0aHM6IHJlYWRvbmx5IHN0cmluZ1tdO1xufVxuXG5pbnRlcmZhY2UgRGVsZXRlSWZOb3RVc2VkUGFyYW1zIHtcbiAgcmVhZG9ubHkgYXBwOiBBcHA7XG4gIHJlYWRvbmx5IGRlbGV0ZUFic3RyYWN0RmlsZT86IChmaWxlOiBUQWJzdHJhY3RGaWxlKSA9PiBQcm9taXNlPHZvaWQ+O1xuICByZWFkb25seSBkZWxldGVkTm90ZVBhdGg/OiBzdHJpbmc7XG4gIHJlYWRvbmx5IGRlbGV0ZWROb3RlUGF0aHM/OiByZWFkb25seSBzdHJpbmdbXTtcbiAgcmVhZG9ubHkgcGF0aE9yRmlsZTogUGF0aE9yQWJzdHJhY3RGaWxlO1xuICByZWFkb25seSBwbHVnaW5Ob3RpY2VDb21wb25lbnQ/OiBQbHVnaW5Ob3RpY2VDb21wb25lbnQ7XG4gIHJlYWRvbmx5IHJlc2N1ZVN0aWxsVXNlZEZpbGU/OiAocGFyYW1zOiBSZXNjdWVTdGlsbFVzZWRGaWxlUGFyYW1zKSA9PiBQcm9taXNlPGJvb2xlYW4+O1xuICByZWFkb25seSBzaG91bGREZWxldGVFbXB0eUZvbGRlcnM/OiBib29sZWFuO1xuICByZWFkb25seSBzaG91bGRQcm90ZWN0SWZTdGlsbFVzZWQ/OiAoZmlsZTogVEZpbGUpID0+IGJvb2xlYW47XG59XG5cbi8qKlxuICogRGVsZXRlcyBhbiBhYnN0cmFjdCBmaWxlIHNhZmVseSBmcm9tIHRoZSB2YXVsdCwgYnV0IG9ubHkgaWYgaXQgaXMgbm90IHJlZmVyZW5jZWQgYnkgb3RoZXIgbm90ZXMuXG4gKlxuICogQmFja2xpbmtzIG9yaWdpbmF0aW5nIGZyb20ge0BsaW5rIERlbGV0ZUlmTm90VXNlZFBhcmFtcy5kZWxldGVkTm90ZVBhdGh9IGFuZFxuICoge0BsaW5rIERlbGV0ZUlmTm90VXNlZFBhcmFtcy5kZWxldGVkTm90ZVBhdGhzfSBhcmUgZGlzY291bnRlZCBiZWZvcmUgZGVjaWRpbmcgd2hldGhlciBhIGZpbGUgaXMgc3RpbGxcbiAqIHVzZWQgXHUyMDE0IGEgbm90ZSB0aGF0IGlzIGl0c2VsZiBnb2luZyBhd2F5IGNhbm5vdCBrZWVwIGFuIGF0dGFjaG1lbnQgYWxpdmUuIERlbGV0aW5nIGEgc2luZ2xlIG5vdGUgbmVlZHNcbiAqIG9ubHkgdGhlIGZvcm1lcjsgZGVsZXRpbmcgYSBmb2xkZXIgbmVlZHMgdGhlIGxhdHRlciwgYmVjYXVzZSBldmVyeSBub3RlIGluc2lkZSBpdCBkaXNhcHBlYXJzIGF0IG9uY2UuXG4gKlxuICoge0BsaW5rIERlbGV0ZUlmTm90VXNlZFBhcmFtcy5zaG91bGRQcm90ZWN0SWZTdGlsbFVzZWR9IG5hcnJvd3Mgd2hpY2ggZmlsZXMgdGhhdCBwcm90ZWN0aW9uIGNvdmVyczsgYSBmaWxlXG4gKiBpdCByZWplY3RzIGlzIGRlbGV0ZWQgbm8gbWF0dGVyIGhvdyBtYW55IG5vdGVzIGxpbmsgdG8gaXQuIERlbGV0aW5nIGEgd2hvbGUgZm9sZGVyIG9mIG5vdGVzIHVzZXMgdGhpcyB0b1xuICogZXhlbXB0IHRoZSBub3RlcyB0aGVtc2VsdmVzIFx1MjAxNCBsZWF2aW5nIGEgZGFuZ2xpbmcgbGluayBiZWhpbmQgaXMgd2hhdCBPYnNpZGlhbiBub3JtYWxseSBkb2VzLCBzbyBrZWVwaW5nXG4gKiBldmVyeSBsaW5rZWQtdG8gbm90ZSB3b3VsZCBtYWtlIGZvbGRlciBkZWxldGlvbiBpbXBvc3NpYmxlLiBCeSBkZWZhdWx0IGV2ZXJ5IHN0aWxsLXVzZWQgZmlsZSBpcyBrZXB0LlxuICpcbiAqIEEga2VwdCBmaWxlIGlzIHN0cmFuZGVkOiBpdCBzdXJ2aXZlcyBpbiBhIGZvbGRlciB3aG9zZSBvd25pbmcgbm90ZSBpcyBnb25lLCB3aGlsZSB0aGUgbm90ZSBzdGlsbFxuICogcmVmZXJlbmNpbmcgaXQgbGl2ZXMgZWxzZXdoZXJlLiB7QGxpbmsgRGVsZXRlSWZOb3RVc2VkUGFyYW1zLnJlc2N1ZVN0aWxsVXNlZEZpbGV9IGlzIHRoZSBzZWFtIHRoYXQgbGV0c1xuICogdGhlIGNhbGxlciByZWxvY2F0ZSBpdCBpbnN0ZWFkLCBzaW5jZSB3aGVyZSBpdCBiZWxvbmdzIGlzIHRoZSBjYWxsZXIncyBhdHRhY2htZW50LXBhdGggcG9saWN5LCBub3QgdGhpc1xuICogZnVuY3Rpb24ncy4gV2l0aG91dCB0aGF0IGNhbGxiYWNrIHRoZSBmaWxlIGlzIHNpbXBseSBrZXB0LCBleGFjdGx5IGFzIGJlZm9yZS5cbiAqXG4gKiBUaGUgYWN0dWFsIHJlbW92YWwgZ29lcyB0aHJvdWdoIHtAbGluayBEZWxldGVJZk5vdFVzZWRQYXJhbXMuZGVsZXRlQWJzdHJhY3RGaWxlfSB3aGVuIHN1cHBsaWVkLFxuICogb3RoZXJ3aXNlIHRocm91Z2gge0BsaW5rIHRyYXNoU2FmZX0uIEEgY2FsbGVyIHRoYXQgaW50ZXJjZXB0ZWQgYSBzcGVjaWZpYyBkZWxldGlvbiBwcmltaXRpdmUgcGFzc2VzIGl0c1xuICogdW5wYXRjaGVkIG9yaWdpbmFsIGhlcmUsIHNvIHRoZSB1c2VyJ3MgY2hvc2VuIHNlbWFudGljcyAocGVybWFuZW50IGRlbGV0ZSB2cyB0cmFzaCkgc3Vydml2ZSB0aGUgZGV0b3VyLlxuICpcbiAqIEBwYXJhbSBwYXJhbXMgLSBUaGUgcGFyYW1ldGVycyBmb3IgdGhlIGZ1bmN0aW9uLlxuICogQHJldHVybnMgQSB7QGxpbmsgUHJvbWlzZX0gdGhhdCByZXNvbHZlcyB0byB7QGxpbmsgRGVsZXRlSWZOb3RVc2VkUmVzdWx0LkRlbGV0ZWR9IGlmIHRoZSBhYnN0cmFjdCBmaWxlXG4gKiB3YXMgZGVsZXRlZCwge0BsaW5rIERlbGV0ZUlmTm90VXNlZFJlc3VsdC5SZXNjdWVkfSBpZiBpdCB3YXMgbW92ZWQgYXdheSBieVxuICoge0BsaW5rIERlbGV0ZUlmTm90VXNlZFBhcmFtcy5yZXNjdWVTdGlsbFVzZWRGaWxlfSwgb3Ige0BsaW5rIERlbGV0ZUlmTm90VXNlZFJlc3VsdC5Ob3REZWxldGVkfSBpZiBpdCB3YXNcbiAqIGtlcHQgd2hlcmUgaXQgd2FzLlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZGVsZXRlSWZOb3RVc2VkKHBhcmFtczogRGVsZXRlSWZOb3RVc2VkUGFyYW1zKTogUHJvbWlzZTxEZWxldGVJZk5vdFVzZWRSZXN1bHQ+IHtcbiAgY29uc3QgZmlsZSA9IGdldEFic3RyYWN0RmlsZU9yTnVsbCh7IGFwcDogcGFyYW1zLmFwcCwgcGF0aE9yRmlsZTogcGFyYW1zLnBhdGhPckZpbGUgfSk7XG5cbiAgaWYgKCFmaWxlKSB7XG4gICAgcmV0dXJuIERlbGV0ZUlmTm90VXNlZFJlc3VsdC5Ob3REZWxldGVkO1xuICB9XG5cbiAgbGV0IGNhbkRlbGV0ZSA9IGlzRmlsZShmaWxlKSB8fCAocGFyYW1zLnNob3VsZERlbGV0ZUVtcHR5Rm9sZGVycyA/PyB0cnVlKTtcblxuICAvKiB2OCBpZ25vcmUgc3RhcnQgLS0gVEFic3RyYWN0RmlsZSBpcyBhbHdheXMgVEZpbGUgb3IgVEZvbGRlciBpbiBPYnNpZGlhbjsgdGhlIGZhbHNlIGJyYW5jaCBvZiBpc0ZpbGUgbGVhZHMgdG8gaXNGb2xkZXIuICovXG4gIGlmIChpc0ZpbGUoZmlsZSkpIHtcbiAgICAvKiB2OCBpZ25vcmUgc3RvcCAqL1xuICAgIGNvbnN0IHN1cnZpdmluZ05vdGVQYXRocyA9IGF3YWl0IGdldFN1cnZpdmluZ05vdGVQYXRocyhwYXJhbXMsIGZpbGUpO1xuICAgIGlmIChzdXJ2aXZpbmdOb3RlUGF0aHMubGVuZ3RoID4gMCkge1xuICAgICAgaWYgKGF3YWl0IHBhcmFtcy5yZXNjdWVTdGlsbFVzZWRGaWxlPy4oeyBmaWxlLCBzdXJ2aXZpbmdOb3RlUGF0aHMgfSkpIHtcbiAgICAgICAgcmV0dXJuIERlbGV0ZUlmTm90VXNlZFJlc3VsdC5SZXNjdWVkO1xuICAgICAgfVxuXG4gICAgICBwYXJhbXMucGx1Z2luTm90aWNlQ29tcG9uZW50Py5zaG93Tm90aWNlKHQoKCQpID0+ICQub2JzaWRpYW5EZXZVdGlscy5ub3RpY2VzLmF0dGFjaG1lbnRJc1N0aWxsVXNlZCwgeyBhdHRhY2htZW50UGF0aDogZmlsZS5wYXRoIH0pKTtcbiAgICAgIGNhbkRlbGV0ZSA9IGZhbHNlO1xuICAgIH1cbiAgICAvKiB2OCBpZ25vcmUgc3RhcnQgLS0gVEFic3RyYWN0RmlsZSBpcyBhbHdheXMgVEZpbGUgb3IgVEZvbGRlciBpbiBPYnNpZGlhbjsgZGVmZW5zaXZlIGZhbGxiYWNrLiAqL1xuICB9IGVsc2UgaWYgKGlzRm9sZGVyKGZpbGUpKSB7XG4gICAgLyogdjggaWdub3JlIHN0b3AgKi9cbiAgICBjb25zdCBsaXN0ZWRGaWxlcyA9IGF3YWl0IGxpc3RTYWZlKHBhcmFtcy5hcHAsIGZpbGUpO1xuICAgIGZvciAoY29uc3QgY2hpbGQgb2YgWy4uLmxpc3RlZEZpbGVzLmZpbGVzLCAuLi5saXN0ZWRGaWxlcy5mb2xkZXJzXSkge1xuICAgICAgLy8gRXZlcnkgY2hpbGQgaXMgdmlzaXRlZCBldmVuIG9uY2UgdGhlIGZvbGRlciBpdHNlbGYgaXMga25vd24gdG8gc3RheTogYGNhbkRlbGV0ZSAmJj0gYXdhaXQgXHUyMDI2YCB3b3VsZCBza2lwIHRoZSBjYWxsLlxuICAgICAgY29uc3QgaXNDaGlsZEdvbmUgPSBpc0dvbmVGcm9tUGFyZW50KFxuICAgICAgICBhd2FpdCBkZWxldGVJZk5vdFVzZWQobm9ybWFsaXplT3B0aW9uYWxQcm9wZXJ0aWVzPERlbGV0ZUlmTm90VXNlZFBhcmFtcz4oe1xuICAgICAgICAgIGFwcDogcGFyYW1zLmFwcCxcbiAgICAgICAgICBkZWxldGVBYnN0cmFjdEZpbGU6IHBhcmFtcy5kZWxldGVBYnN0cmFjdEZpbGUsXG4gICAgICAgICAgZGVsZXRlZE5vdGVQYXRoOiBwYXJhbXMuZGVsZXRlZE5vdGVQYXRoLFxuICAgICAgICAgIGRlbGV0ZWROb3RlUGF0aHM6IHBhcmFtcy5kZWxldGVkTm90ZVBhdGhzLFxuICAgICAgICAgIHBhdGhPckZpbGU6IGNoaWxkLFxuICAgICAgICAgIHBsdWdpbk5vdGljZUNvbXBvbmVudDogcGFyYW1zLnBsdWdpbk5vdGljZUNvbXBvbmVudCxcbiAgICAgICAgICByZXNjdWVTdGlsbFVzZWRGaWxlOiBwYXJhbXMucmVzY3VlU3RpbGxVc2VkRmlsZSxcbiAgICAgICAgICBzaG91bGREZWxldGVFbXB0eUZvbGRlcnM6IHBhcmFtcy5zaG91bGREZWxldGVFbXB0eUZvbGRlcnMsXG4gICAgICAgICAgc2hvdWxkUHJvdGVjdElmU3RpbGxVc2VkOiBwYXJhbXMuc2hvdWxkUHJvdGVjdElmU3RpbGxVc2VkXG4gICAgICAgIH0pKVxuICAgICAgKTtcbiAgICAgIGNhbkRlbGV0ZSAmJj0gaXNDaGlsZEdvbmU7XG4gICAgfVxuXG4gICAgY2FuRGVsZXRlICYmPSBhd2FpdCBpc0VtcHR5Rm9sZGVyKHBhcmFtcy5hcHAsIGZpbGUpO1xuICB9XG5cbiAgaWYgKGNhbkRlbGV0ZSkge1xuICAgIHRyeSB7XG4gICAgICBpZiAocGFyYW1zLmRlbGV0ZUFic3RyYWN0RmlsZSkge1xuICAgICAgICBhd2FpdCBwYXJhbXMuZGVsZXRlQWJzdHJhY3RGaWxlKGZpbGUpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgYXdhaXQgdHJhc2hTYWZlKHBhcmFtcy5hcHAsIGZpbGUpO1xuICAgICAgfVxuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICBwcmludEVycm9yKG5ldyBFcnJvcihgRmFpbGVkIHRvIGRlbGV0ZSAke2ZpbGUucGF0aH1gLCB7IGNhdXNlOiBlcnJvciB9KSk7XG4gICAgICBjYW5EZWxldGUgPSBmYWxzZTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gY2FuRGVsZXRlID8gRGVsZXRlSWZOb3RVc2VkUmVzdWx0LkRlbGV0ZWQgOiBEZWxldGVJZk5vdFVzZWRSZXN1bHQuTm90RGVsZXRlZDtcbn1cblxuLyoqXG4gKiBMaXN0cyB0aGUgbm90ZXMgdGhhdCB3b3VsZCBzdGlsbCByZWZlcmVuY2UgYSBmaWxlIG9uY2UgZXZlcnl0aGluZyBiZWluZyBkZWxldGVkIGFsb25nc2lkZSBpdCBpcyBnb25lLlxuICpcbiAqIEBwYXJhbSBwYXJhbXMgLSBUaGUgcGFyYW1ldGVycyB7QGxpbmsgZGVsZXRlSWZOb3RVc2VkfSB3YXMgY2FsbGVkIHdpdGguXG4gKiBAcGFyYW0gZmlsZSAtIFRoZSBmaWxlIHdob3NlIHJlbWFpbmluZyByZWZlcmVuY2VzIGFyZSBjb3VudGVkLlxuICogQHJldHVybnMgQSB7QGxpbmsgUHJvbWlzZX0gdGhhdCByZXNvbHZlcyB0byB0aGUgcGF0aHMgb2YgdGhlIG5vdGVzIHRoYXQga2VlcCB0aGUgZmlsZSBhbGl2ZS4gRW1wdHkgbWVhbnNcbiAqIHRoZSBmaWxlIGlzIGZyZWUgdG8gZ28uXG4gKi9cbmFzeW5jIGZ1bmN0aW9uIGdldFN1cnZpdmluZ05vdGVQYXRocyhwYXJhbXM6IERlbGV0ZUlmTm90VXNlZFBhcmFtcywgZmlsZTogVEZpbGUpOiBQcm9taXNlPHJlYWRvbmx5IHN0cmluZ1tdPiB7XG4gIGlmICghKHBhcmFtcy5zaG91bGRQcm90ZWN0SWZTdGlsbFVzZWQ/LihmaWxlKSA/PyB0cnVlKSkge1xuICAgIHJldHVybiBbXTtcbiAgfVxuXG4gIGNvbnN0IGJhY2tsaW5rcyA9IGF3YWl0IGdldEJhY2tsaW5rc0ZvckZpbGVTYWZlKHsgYXBwOiBwYXJhbXMuYXBwLCBwYXRoT3JGaWxlOiBmaWxlIH0pO1xuICBjb25zdCBkZWxldGVkTm90ZVBhdGhzID0gbmV3IFNldChwYXJhbXMuZGVsZXRlZE5vdGVQYXRocyk7XG4gIGlmIChwYXJhbXMuZGVsZXRlZE5vdGVQYXRoKSB7XG4gICAgZGVsZXRlZE5vdGVQYXRocy5hZGQocGFyYW1zLmRlbGV0ZWROb3RlUGF0aCk7XG4gIH1cbiAgZm9yIChjb25zdCBkZWxldGVkTm90ZVBhdGggb2YgZGVsZXRlZE5vdGVQYXRocykge1xuICAgIGJhY2tsaW5rcy5jbGVhcihkZWxldGVkTm90ZVBhdGgpO1xuICB9XG5cbiAgcmV0dXJuIGJhY2tsaW5rcy5rZXlzKCk7XG59XG5cbi8qKlxuICogQ2hlY2tzIHdoZXRoZXIgYSBjaGlsZCBubyBsb25nZXIgc2l0cyBpbiB0aGUgZm9sZGVyIGJlaW5nIHdhbGtlZCBcdTIwMTQgZGVsZXRlZCBvdXRyaWdodCwgb3IgbW92ZWQgZWxzZXdoZXJlXG4gKiBieSBhIHJlc2N1ZS4gRWl0aGVyIHdheSB0aGUgZm9sZGVyIGhvbGRpbmcgaXQgY2FuIHN0aWxsIGJlIHJlbW92ZWQ7IG9ubHkgYSBjaGlsZCBrZXB0IGluIHBsYWNlIGJsb2NrcyBpdC5cbiAqXG4gKiBAcGFyYW0gcmVzdWx0IC0gVGhlIHJlc3VsdCBvZiBkZWxldGluZyB0aGUgY2hpbGQuXG4gKiBAcmV0dXJucyBgdHJ1ZWAgd2hlbiB0aGUgY2hpbGQgaXMgZ29uZSBmcm9tIGl0cyBwYXJlbnQgZm9sZGVyLlxuICovXG5mdW5jdGlvbiBpc0dvbmVGcm9tUGFyZW50KHJlc3VsdDogRGVsZXRlSWZOb3RVc2VkUmVzdWx0KTogYm9vbGVhbiB7XG4gIHJldHVybiByZXN1bHQgPT09IERlbGV0ZUlmTm90VXNlZFJlc3VsdC5EZWxldGVkIHx8IHJlc3VsdCA9PT0gRGVsZXRlSWZOb3RVc2VkUmVzdWx0LlJlc2N1ZWQ7XG59XG4iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBWUEsU0FBUyxrQkFBa0I7QUFDM0IsU0FBUyxtQ0FBbUM7QUFLNUM7QUFBQSxFQUNFO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxPQUNLO0FBQ1AsU0FBUyxTQUFTO0FBQ2xCLFNBQVMsK0JBQStCO0FBQ3hDO0FBQUEsRUFDRTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsT0FDSztBQUtBLElBQUssd0JBQUwsa0JBQUtBLDJCQUFMO0FBSUwsRUFBQUEsdUJBQUEsYUFBVTtBQUtWLEVBQUFBLHVCQUFBLGdCQUFhO0FBTWIsRUFBQUEsdUJBQUEsYUFBVTtBQWZBLFNBQUFBO0FBQUEsR0FBQTtBQTBFWixlQUFzQixnQkFBZ0IsUUFBK0Q7QUFDbkcsUUFBTSxPQUFPLHNCQUFzQixFQUFFLEtBQUssT0FBTyxLQUFLLFlBQVksT0FBTyxXQUFXLENBQUM7QUFFckYsTUFBSSxDQUFDLE1BQU07QUFDVCxXQUFPO0FBQUEsRUFDVDtBQUVBLE1BQUksWUFBWSxPQUFPLElBQUksTUFBTSxPQUFPLDRCQUE0QjtBQUdwRSxNQUFJLE9BQU8sSUFBSSxHQUFHO0FBRWhCLFVBQU0scUJBQXFCLE1BQU0sc0JBQXNCLFFBQVEsSUFBSTtBQUNuRSxRQUFJLG1CQUFtQixTQUFTLEdBQUc7QUFDakMsVUFBSSxNQUFNLE9BQU8sc0JBQXNCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQyxHQUFHO0FBQ3BFLGVBQU87QUFBQSxNQUNUO0FBRUEsYUFBTyx1QkFBdUIsV0FBVyxFQUFFLENBQUMsTUFBTSxFQUFFLGlCQUFpQixRQUFRLHVCQUF1QixFQUFFLGdCQUFnQixLQUFLLEtBQUssQ0FBQyxDQUFDO0FBQ2xJLGtCQUFZO0FBQUEsSUFDZDtBQUFBLEVBRUYsV0FBVyxTQUFTLElBQUksR0FBRztBQUV6QixVQUFNLGNBQWMsTUFBTSxTQUFTLE9BQU8sS0FBSyxJQUFJO0FBQ25ELGVBQVcsU0FBUyxDQUFDLEdBQUcsWUFBWSxPQUFPLEdBQUcsWUFBWSxPQUFPLEdBQUc7QUFFbEUsWUFBTSxjQUFjO0FBQUEsUUFDbEIsTUFBTSxnQkFBZ0IsNEJBQW1EO0FBQUEsVUFDdkUsS0FBSyxPQUFPO0FBQUEsVUFDWixvQkFBb0IsT0FBTztBQUFBLFVBQzNCLGlCQUFpQixPQUFPO0FBQUEsVUFDeEIsa0JBQWtCLE9BQU87QUFBQSxVQUN6QixZQUFZO0FBQUEsVUFDWix1QkFBdUIsT0FBTztBQUFBLFVBQzlCLHFCQUFxQixPQUFPO0FBQUEsVUFDNUIsMEJBQTBCLE9BQU87QUFBQSxVQUNqQywwQkFBMEIsT0FBTztBQUFBLFFBQ25DLENBQUMsQ0FBQztBQUFBLE1BQ0o7QUFDQSxvQkFBYztBQUFBLElBQ2hCO0FBRUEsa0JBQWMsTUFBTSxjQUFjLE9BQU8sS0FBSyxJQUFJO0FBQUEsRUFDcEQ7QUFFQSxNQUFJLFdBQVc7QUFDYixRQUFJO0FBQ0YsVUFBSSxPQUFPLG9CQUFvQjtBQUM3QixjQUFNLE9BQU8sbUJBQW1CLElBQUk7QUFBQSxNQUN0QyxPQUFPO0FBQ0wsY0FBTSxVQUFVLE9BQU8sS0FBSyxJQUFJO0FBQUEsTUFDbEM7QUFBQSxJQUNGLFNBQVMsT0FBTztBQUNkLGlCQUFXLElBQUksTUFBTSxvQkFBb0IsS0FBSyxJQUFJLElBQUksRUFBRSxPQUFPLE1BQU0sQ0FBQyxDQUFDO0FBQ3ZFLGtCQUFZO0FBQUEsSUFDZDtBQUFBLEVBQ0Y7QUFFQSxTQUFPLFlBQVksMEJBQWdDO0FBQ3JEO0FBVUEsZUFBZSxzQkFBc0IsUUFBK0IsTUFBeUM7QUFDM0csTUFBSSxFQUFFLE9BQU8sMkJBQTJCLElBQUksS0FBSyxPQUFPO0FBQ3RELFdBQU8sQ0FBQztBQUFBLEVBQ1Y7QUFFQSxRQUFNLFlBQVksTUFBTSx3QkFBd0IsRUFBRSxLQUFLLE9BQU8sS0FBSyxZQUFZLEtBQUssQ0FBQztBQUNyRixRQUFNLG1CQUFtQixJQUFJLElBQUksT0FBTyxnQkFBZ0I7QUFDeEQsTUFBSSxPQUFPLGlCQUFpQjtBQUMxQixxQkFBaUIsSUFBSSxPQUFPLGVBQWU7QUFBQSxFQUM3QztBQUNBLGFBQVcsbUJBQW1CLGtCQUFrQjtBQUM5QyxjQUFVLE1BQU0sZUFBZTtBQUFBLEVBQ2pDO0FBRUEsU0FBTyxVQUFVLEtBQUs7QUFDeEI7QUFTQSxTQUFTLGlCQUFpQixRQUF3QztBQUNoRSxTQUFPLFdBQVcsMkJBQWlDLFdBQVc7QUFDaEU7IiwKICAibmFtZXMiOiBbIkRlbGV0ZUlmTm90VXNlZFJlc3VsdCJdCn0K
132
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL3ZhdWx0LWRlbGV0ZS50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyoqXG4gKiBAZmlsZVxuICpcbiAqIFRoaXMgbW9kdWxlIHByb3ZpZGVzIGRlbGV0aW9uIHV0aWxpdGllcyB0aGF0IHJlcXVpcmUgbWV0YWRhdGEgY2FjaGUgYWNjZXNzLlxuICovXG5cbmltcG9ydCB0eXBlIHtcbiAgQXBwLFxuICBUQWJzdHJhY3RGaWxlLFxuICBURmlsZVxufSBmcm9tICdvYnNpZGlhbic7XG5cbmltcG9ydCB7IHByaW50RXJyb3IgfSBmcm9tICdAbW5hb3Vtb3YvdHlwZXNjcmlwdC1saWIvZXJyb3InO1xuaW1wb3J0IHsgbm9ybWFsaXplT3B0aW9uYWxQcm9wZXJ0aWVzIH0gZnJvbSAnQG1uYW91bW92L3R5cGVzY3JpcHQtbGliL29iamVjdC11dGlscyc7XG5cbmltcG9ydCB0eXBlIHsgUGx1Z2luTm90aWNlQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3BsdWdpbi1ub3RpY2UtY29tcG9uZW50LnRzJztcbmltcG9ydCB0eXBlIHsgUGF0aE9yQWJzdHJhY3RGaWxlIH0gZnJvbSAnLi9maWxlLXN5c3RlbS50cyc7XG5cbmltcG9ydCB7XG4gIGdldEFic3RyYWN0RmlsZU9yTnVsbCxcbiAgaXNGaWxlLFxuICBpc0ZvbGRlclxufSBmcm9tICcuL2ZpbGUtc3lzdGVtLnRzJztcbmltcG9ydCB7IHQgfSBmcm9tICcuL2kxOG4vaTE4bi50cyc7XG5pbXBvcnQgeyBnZXRCYWNrbGlua3NGb3JGaWxlU2FmZSB9IGZyb20gJy4vbWV0YWRhdGEtY2FjaGUudHMnO1xuaW1wb3J0IHtcbiAgaXNFbXB0eUZvbGRlcixcbiAgbGlzdFNhZmUsXG4gIHRyYXNoU2FmZVxufSBmcm9tICcuL3ZhdWx0LnRzJztcblxuLyoqXG4gKiBUaGUgcmVzdWx0IG9mIHtAbGluayBkZWxldGVJZk5vdFVzZWR9LlxuICovXG5leHBvcnQgZW51bSBEZWxldGVJZk5vdFVzZWRSZXN1bHQge1xuICAvKipcbiAgICogVGhlIGZpbGUvZm9sZGVyIHdhcyBkZWxldGVkLlxuICAgKi9cbiAgRGVsZXRlZCA9ICdkZWxldGVkJyxcblxuICAvKipcbiAgICogVGhlIGZpbGUvZm9sZGVyIHdhcyBub3QgZGVsZXRlZC5cbiAgICovXG4gIE5vdERlbGV0ZWQgPSAnbm90LWRlbGV0ZWQnLFxuXG4gIC8qKlxuICAgKiBUaGUgZmlsZSB3YXMgc3RpbGwgdXNlZCwgYW5kIHtAbGluayBEZWxldGVJZk5vdFVzZWRQYXJhbXMucmVzY3VlU3RpbGxVc2VkRmlsZX0gbW92ZWQgaXQgb3V0IG9mIHRoZSB3YXlcbiAgICogaW5zdGVhZCBvZiBpdCBiZWluZyBkZWxldGVkIG9yIGxlZnQgd2hlcmUgaXQgd2FzLlxuICAgKi9cbiAgUmVzY3VlZCA9ICdyZXNjdWVkJ1xufVxuXG4vKipcbiAqIFBhcmFtZXRlcnMgcGFzc2VkIHRvIHtAbGluayBEZWxldGVJZk5vdFVzZWRQYXJhbXMucmVzY3VlU3RpbGxVc2VkRmlsZX0uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUmVzY3VlU3RpbGxVc2VkRmlsZVBhcmFtcyB7XG4gIC8qKlxuICAgKiBUaGUgZmlsZSB0aGF0IGlzIGFib3V0IHRvIGJlIGtlcHQgYmVjYXVzZSBvdGhlciBub3RlcyBzdGlsbCByZWZlcmVuY2UgaXQuXG4gICAqL1xuICByZWFkb25seSBmaWxlOiBURmlsZTtcblxuICAvKipcbiAgICogVGhlIHBhdGhzIG9mIHRoZSBub3RlcyB0aGF0IHN0aWxsIHJlZmVyZW5jZSB0aGUgZmlsZSBvbmNlIGV2ZXJ5dGhpbmcgYmVpbmcgZGVsZXRlZCBhbG9uZ3NpZGUgaXQgaXNcbiAgICogZ29uZS4gTmV2ZXIgZW1wdHkuXG4gICAqL1xuICByZWFkb25seSBzdXJ2aXZpbmdOb3RlUGF0aHM6IHJlYWRvbmx5IHN0cmluZ1tdO1xufVxuXG5pbnRlcmZhY2UgRGVsZXRlSWZOb3RVc2VkUGFyYW1zIHtcbiAgcmVhZG9ubHkgYXBwOiBBcHA7XG4gIHJlYWRvbmx5IGRlbGV0ZUFic3RyYWN0RmlsZT86IChmaWxlOiBUQWJzdHJhY3RGaWxlKSA9PiBQcm9taXNlPHZvaWQ+O1xuICByZWFkb25seSBkZWxldGVkTm90ZVBhdGg/OiBzdHJpbmc7XG4gIHJlYWRvbmx5IGRlbGV0ZWROb3RlUGF0aHM/OiByZWFkb25seSBzdHJpbmdbXTtcbiAgcmVhZG9ubHkgcGF0aE9yRmlsZTogUGF0aE9yQWJzdHJhY3RGaWxlO1xuICByZWFkb25seSBwbHVnaW5Ob3RpY2VDb21wb25lbnQ/OiBQbHVnaW5Ob3RpY2VDb21wb25lbnQ7XG4gIHJlYWRvbmx5IHJlc2N1ZVN0aWxsVXNlZEZpbGU/OiAocGFyYW1zOiBSZXNjdWVTdGlsbFVzZWRGaWxlUGFyYW1zKSA9PiBQcm9taXNlPGJvb2xlYW4+O1xuICByZWFkb25seSBzaG91bGREZWxldGVFbXB0eUZvbGRlcnM/OiBib29sZWFuO1xuICByZWFkb25seSBzaG91bGRQcm90ZWN0SWZTdGlsbFVzZWQ/OiAoZmlsZTogVEZpbGUpID0+IGJvb2xlYW47XG59XG5cbi8qKlxuICogRGVsZXRlcyBhbiBhYnN0cmFjdCBmaWxlIHNhZmVseSBmcm9tIHRoZSB2YXVsdCwgYnV0IG9ubHkgaWYgaXQgaXMgbm90IHJlZmVyZW5jZWQgYnkgb3RoZXIgbm90ZXMuXG4gKlxuICogQmFja2xpbmtzIG9yaWdpbmF0aW5nIGZyb20ge0BsaW5rIERlbGV0ZUlmTm90VXNlZFBhcmFtcy5kZWxldGVkTm90ZVBhdGh9IGFuZFxuICoge0BsaW5rIERlbGV0ZUlmTm90VXNlZFBhcmFtcy5kZWxldGVkTm90ZVBhdGhzfSBhcmUgZGlzY291bnRlZCBiZWZvcmUgZGVjaWRpbmcgd2hldGhlciBhIGZpbGUgaXMgc3RpbGxcbiAqIHVzZWQgXHUyMDE0IGEgbm90ZSB0aGF0IGlzIGl0c2VsZiBnb2luZyBhd2F5IGNhbm5vdCBrZWVwIGFuIGF0dGFjaG1lbnQgYWxpdmUuIERlbGV0aW5nIGEgc2luZ2xlIG5vdGUgbmVlZHNcbiAqIG9ubHkgdGhlIGZvcm1lcjsgZGVsZXRpbmcgYSBmb2xkZXIgbmVlZHMgdGhlIGxhdHRlciwgYmVjYXVzZSBldmVyeSBub3RlIGluc2lkZSBpdCBkaXNhcHBlYXJzIGF0IG9uY2UuXG4gKlxuICoge0BsaW5rIERlbGV0ZUlmTm90VXNlZFBhcmFtcy5zaG91bGRQcm90ZWN0SWZTdGlsbFVzZWR9IG5hcnJvd3Mgd2hpY2ggZmlsZXMgdGhhdCBwcm90ZWN0aW9uIGNvdmVyczsgYSBmaWxlXG4gKiBpdCByZWplY3RzIGlzIGRlbGV0ZWQgbm8gbWF0dGVyIGhvdyBtYW55IG5vdGVzIGxpbmsgdG8gaXQuIERlbGV0aW5nIGEgd2hvbGUgZm9sZGVyIG9mIG5vdGVzIHVzZXMgdGhpcyB0b1xuICogZXhlbXB0IHRoZSBub3RlcyB0aGVtc2VsdmVzIFx1MjAxNCBsZWF2aW5nIGEgZGFuZ2xpbmcgbGluayBiZWhpbmQgaXMgd2hhdCBPYnNpZGlhbiBub3JtYWxseSBkb2VzLCBzbyBrZWVwaW5nXG4gKiBldmVyeSBsaW5rZWQtdG8gbm90ZSB3b3VsZCBtYWtlIGZvbGRlciBkZWxldGlvbiBpbXBvc3NpYmxlLiBCeSBkZWZhdWx0IGV2ZXJ5IHN0aWxsLXVzZWQgZmlsZSBpcyBrZXB0LlxuICpcbiAqIEEga2VwdCBmaWxlIGlzIHN0cmFuZGVkOiBpdCBzdXJ2aXZlcyBpbiBhIGZvbGRlciB3aG9zZSBvd25pbmcgbm90ZSBpcyBnb25lLCB3aGlsZSB0aGUgbm90ZSBzdGlsbFxuICogcmVmZXJlbmNpbmcgaXQgbGl2ZXMgZWxzZXdoZXJlLiB7QGxpbmsgRGVsZXRlSWZOb3RVc2VkUGFyYW1zLnJlc2N1ZVN0aWxsVXNlZEZpbGV9IGlzIHRoZSBzZWFtIHRoYXQgbGV0c1xuICogdGhlIGNhbGxlciByZWxvY2F0ZSBpdCBpbnN0ZWFkLCBzaW5jZSB3aGVyZSBpdCBiZWxvbmdzIGlzIHRoZSBjYWxsZXIncyBhdHRhY2htZW50LXBhdGggcG9saWN5LCBub3QgdGhpc1xuICogZnVuY3Rpb24ncy4gV2l0aG91dCB0aGF0IGNhbGxiYWNrIHRoZSBmaWxlIGlzIHNpbXBseSBrZXB0LCBleGFjdGx5IGFzIGJlZm9yZS5cbiAqXG4gKiBUaGUgYWN0dWFsIHJlbW92YWwgZ29lcyB0aHJvdWdoIHtAbGluayBEZWxldGVJZk5vdFVzZWRQYXJhbXMuZGVsZXRlQWJzdHJhY3RGaWxlfSB3aGVuIHN1cHBsaWVkLFxuICogb3RoZXJ3aXNlIHRocm91Z2gge0BsaW5rIHRyYXNoU2FmZX0uIEEgY2FsbGVyIHRoYXQgaW50ZXJjZXB0ZWQgYSBzcGVjaWZpYyBkZWxldGlvbiBwcmltaXRpdmUgcGFzc2VzIGl0c1xuICogdW5wYXRjaGVkIG9yaWdpbmFsIGhlcmUsIHNvIHRoZSB1c2VyJ3MgY2hvc2VuIHNlbWFudGljcyAocGVybWFuZW50IGRlbGV0ZSB2cyB0cmFzaCkgc3Vydml2ZSB0aGUgZGV0b3VyLlxuICpcbiAqIEBwYXJhbSBwYXJhbXMgLSBUaGUgcGFyYW1ldGVycyBmb3IgdGhlIGZ1bmN0aW9uLlxuICogQHJldHVybnMgQSB7QGxpbmsgUHJvbWlzZX0gdGhhdCByZXNvbHZlcyB0byB7QGxpbmsgRGVsZXRlSWZOb3RVc2VkUmVzdWx0LkRlbGV0ZWR9IGlmIHRoZSBhYnN0cmFjdCBmaWxlXG4gKiB3YXMgZGVsZXRlZCwge0BsaW5rIERlbGV0ZUlmTm90VXNlZFJlc3VsdC5SZXNjdWVkfSBpZiBpdCB3YXMgbW92ZWQgYXdheSBieVxuICoge0BsaW5rIERlbGV0ZUlmTm90VXNlZFBhcmFtcy5yZXNjdWVTdGlsbFVzZWRGaWxlfSwgb3Ige0BsaW5rIERlbGV0ZUlmTm90VXNlZFJlc3VsdC5Ob3REZWxldGVkfSBpZiBpdCB3YXNcbiAqIGtlcHQgd2hlcmUgaXQgd2FzLlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZGVsZXRlSWZOb3RVc2VkKHBhcmFtczogRGVsZXRlSWZOb3RVc2VkUGFyYW1zKTogUHJvbWlzZTxEZWxldGVJZk5vdFVzZWRSZXN1bHQ+IHtcbiAgY29uc3QgZmlsZSA9IGdldEFic3RyYWN0RmlsZU9yTnVsbCh7IGFwcDogcGFyYW1zLmFwcCwgcGF0aE9yRmlsZTogcGFyYW1zLnBhdGhPckZpbGUgfSk7XG5cbiAgaWYgKCFmaWxlKSB7XG4gICAgcmV0dXJuIERlbGV0ZUlmTm90VXNlZFJlc3VsdC5Ob3REZWxldGVkO1xuICB9XG5cbiAgbGV0IGNhbkRlbGV0ZSA9IGlzRmlsZShmaWxlKSB8fCAocGFyYW1zLnNob3VsZERlbGV0ZUVtcHR5Rm9sZGVycyA/PyB0cnVlKTtcblxuICAvKiB2OCBpZ25vcmUgc3RhcnQgLS0gVEFic3RyYWN0RmlsZSBpcyBhbHdheXMgVEZpbGUgb3IgVEZvbGRlciBpbiBPYnNpZGlhbjsgdGhlIGZhbHNlIGJyYW5jaCBvZiBpc0ZpbGUgbGVhZHMgdG8gaXNGb2xkZXIuICovXG4gIGlmIChpc0ZpbGUoZmlsZSkpIHtcbiAgICAvKiB2OCBpZ25vcmUgc3RvcCAqL1xuICAgIGNvbnN0IHN1cnZpdmluZ05vdGVQYXRocyA9IGF3YWl0IGdldFN1cnZpdmluZ05vdGVQYXRocyhwYXJhbXMsIGZpbGUpO1xuICAgIGlmIChzdXJ2aXZpbmdOb3RlUGF0aHMubGVuZ3RoID4gMCkge1xuICAgICAgaWYgKGF3YWl0IHBhcmFtcy5yZXNjdWVTdGlsbFVzZWRGaWxlPy4oeyBmaWxlLCBzdXJ2aXZpbmdOb3RlUGF0aHMgfSkpIHtcbiAgICAgICAgcmV0dXJuIERlbGV0ZUlmTm90VXNlZFJlc3VsdC5SZXNjdWVkO1xuICAgICAgfVxuXG4gICAgICBwYXJhbXMucGx1Z2luTm90aWNlQ29tcG9uZW50Py5zaG93Tm90aWNlKHQoKCQpID0+ICQub2JzaWRpYW5EZXZVdGlscy5ub3RpY2VzLmF0dGFjaG1lbnRJc1N0aWxsVXNlZCwgeyBhdHRhY2htZW50UGF0aDogZmlsZS5wYXRoIH0pKTtcbiAgICAgIGNhbkRlbGV0ZSA9IGZhbHNlO1xuICAgIH1cbiAgICAvKiB2OCBpZ25vcmUgc3RhcnQgLS0gVEFic3RyYWN0RmlsZSBpcyBhbHdheXMgVEZpbGUgb3IgVEZvbGRlciBpbiBPYnNpZGlhbjsgZGVmZW5zaXZlIGZhbGxiYWNrLiAqL1xuICB9IGVsc2UgaWYgKGlzRm9sZGVyKGZpbGUpKSB7XG4gICAgLyogdjggaWdub3JlIHN0b3AgKi9cbiAgICBjb25zdCBsaXN0ZWRGaWxlcyA9IGF3YWl0IGxpc3RTYWZlKHBhcmFtcy5hcHAsIGZpbGUpO1xuICAgIGZvciAoY29uc3QgY2hpbGQgb2YgWy4uLmxpc3RlZEZpbGVzLmZpbGVzLCAuLi5saXN0ZWRGaWxlcy5mb2xkZXJzXSkge1xuICAgICAgLy8gRXZlcnkgY2hpbGQgaXMgdmlzaXRlZCBldmVuIG9uY2UgdGhlIGZvbGRlciBpdHNlbGYgaXMga25vd24gdG8gc3RheTogYGNhbkRlbGV0ZSAmJj0gYXdhaXQgXHUyMDI2YCB3b3VsZCBza2lwIHRoZSBjYWxsLlxuICAgICAgY29uc3QgaXNDaGlsZEdvbmUgPSBpc0dvbmVGcm9tUGFyZW50KFxuICAgICAgICBhd2FpdCBkZWxldGVJZk5vdFVzZWQobm9ybWFsaXplT3B0aW9uYWxQcm9wZXJ0aWVzPERlbGV0ZUlmTm90VXNlZFBhcmFtcz4oe1xuICAgICAgICAgIGFwcDogcGFyYW1zLmFwcCxcbiAgICAgICAgICBkZWxldGVBYnN0cmFjdEZpbGU6IHBhcmFtcy5kZWxldGVBYnN0cmFjdEZpbGUsXG4gICAgICAgICAgZGVsZXRlZE5vdGVQYXRoOiBwYXJhbXMuZGVsZXRlZE5vdGVQYXRoLFxuICAgICAgICAgIGRlbGV0ZWROb3RlUGF0aHM6IHBhcmFtcy5kZWxldGVkTm90ZVBhdGhzLFxuICAgICAgICAgIHBhdGhPckZpbGU6IGNoaWxkLFxuICAgICAgICAgIHBsdWdpbk5vdGljZUNvbXBvbmVudDogcGFyYW1zLnBsdWdpbk5vdGljZUNvbXBvbmVudCxcbiAgICAgICAgICByZXNjdWVTdGlsbFVzZWRGaWxlOiBwYXJhbXMucmVzY3VlU3RpbGxVc2VkRmlsZSxcbiAgICAgICAgICBzaG91bGREZWxldGVFbXB0eUZvbGRlcnM6IHBhcmFtcy5zaG91bGREZWxldGVFbXB0eUZvbGRlcnMsXG4gICAgICAgICAgc2hvdWxkUHJvdGVjdElmU3RpbGxVc2VkOiBwYXJhbXMuc2hvdWxkUHJvdGVjdElmU3RpbGxVc2VkXG4gICAgICAgIH0pKVxuICAgICAgKTtcbiAgICAgIGNhbkRlbGV0ZSAmJj0gaXNDaGlsZEdvbmU7XG4gICAgfVxuXG4gICAgY2FuRGVsZXRlICYmPSBhd2FpdCBpc0VtcHR5Rm9sZGVyKHBhcmFtcy5hcHAsIGZpbGUpO1xuICB9XG5cbiAgaWYgKGNhbkRlbGV0ZSkge1xuICAgIHRyeSB7XG4gICAgICBpZiAocGFyYW1zLmRlbGV0ZUFic3RyYWN0RmlsZSkge1xuICAgICAgICBhd2FpdCBwYXJhbXMuZGVsZXRlQWJzdHJhY3RGaWxlKGZpbGUpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgYXdhaXQgdHJhc2hTYWZlKHBhcmFtcy5hcHAsIGZpbGUpO1xuICAgICAgfVxuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICBwcmludEVycm9yKG5ldyBFcnJvcihgRmFpbGVkIHRvIGRlbGV0ZSAke2ZpbGUucGF0aH1gLCB7IGNhdXNlOiBlcnJvciB9KSk7XG4gICAgICBjYW5EZWxldGUgPSBmYWxzZTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gY2FuRGVsZXRlID8gRGVsZXRlSWZOb3RVc2VkUmVzdWx0LkRlbGV0ZWQgOiBEZWxldGVJZk5vdFVzZWRSZXN1bHQuTm90RGVsZXRlZDtcbn1cblxuLyoqXG4gKiBMaXN0cyB0aGUgbm90ZXMgdGhhdCB3b3VsZCBzdGlsbCByZWZlcmVuY2UgYSBmaWxlIG9uY2UgZXZlcnl0aGluZyBiZWluZyBkZWxldGVkIGFsb25nc2lkZSBpdCBpcyBnb25lLlxuICpcbiAqIEBwYXJhbSBwYXJhbXMgLSBUaGUgcGFyYW1ldGVycyB7QGxpbmsgZGVsZXRlSWZOb3RVc2VkfSB3YXMgY2FsbGVkIHdpdGguXG4gKiBAcGFyYW0gZmlsZSAtIFRoZSBmaWxlIHdob3NlIHJlbWFpbmluZyByZWZlcmVuY2VzIGFyZSBjb3VudGVkLlxuICogQHJldHVybnMgQSB7QGxpbmsgUHJvbWlzZX0gdGhhdCByZXNvbHZlcyB0byB0aGUgcGF0aHMgb2YgdGhlIG5vdGVzIHRoYXQga2VlcCB0aGUgZmlsZSBhbGl2ZS4gRW1wdHkgbWVhbnNcbiAqIHRoZSBmaWxlIGlzIGZyZWUgdG8gZ28uXG4gKi9cbmFzeW5jIGZ1bmN0aW9uIGdldFN1cnZpdmluZ05vdGVQYXRocyhwYXJhbXM6IERlbGV0ZUlmTm90VXNlZFBhcmFtcywgZmlsZTogVEZpbGUpOiBQcm9taXNlPHJlYWRvbmx5IHN0cmluZ1tdPiB7XG4gIGlmICghKHBhcmFtcy5zaG91bGRQcm90ZWN0SWZTdGlsbFVzZWQ/LihmaWxlKSA/PyB0cnVlKSkge1xuICAgIHJldHVybiBbXTtcbiAgfVxuXG4gIGNvbnN0IGJhY2tsaW5rcyA9IGF3YWl0IGdldEJhY2tsaW5rc0ZvckZpbGVTYWZlKHsgYXBwOiBwYXJhbXMuYXBwLCBwYXRoT3JGaWxlOiBmaWxlIH0pO1xuICBjb25zdCBkZWxldGVkTm90ZVBhdGhzID0gbmV3IFNldChwYXJhbXMuZGVsZXRlZE5vdGVQYXRocyk7XG4gIGlmIChwYXJhbXMuZGVsZXRlZE5vdGVQYXRoKSB7XG4gICAgZGVsZXRlZE5vdGVQYXRocy5hZGQocGFyYW1zLmRlbGV0ZWROb3RlUGF0aCk7XG4gIH1cbiAgZm9yIChjb25zdCBkZWxldGVkTm90ZVBhdGggb2YgZGVsZXRlZE5vdGVQYXRocykge1xuICAgIGJhY2tsaW5rcy5jbGVhcihkZWxldGVkTm90ZVBhdGgpO1xuICB9XG5cbiAgcmV0dXJuIGJhY2tsaW5rcy5rZXlzKCk7XG59XG5cbi8qKlxuICogQ2hlY2tzIHdoZXRoZXIgYSBjaGlsZCBubyBsb25nZXIgc2l0cyBpbiB0aGUgZm9sZGVyIGJlaW5nIHdhbGtlZCBcdTIwMTQgZGVsZXRlZCBvdXRyaWdodCwgb3IgbW92ZWQgZWxzZXdoZXJlXG4gKiBieSBhIHJlc2N1ZS4gRWl0aGVyIHdheSB0aGUgZm9sZGVyIGhvbGRpbmcgaXQgY2FuIHN0aWxsIGJlIHJlbW92ZWQ7IG9ubHkgYSBjaGlsZCBrZXB0IGluIHBsYWNlIGJsb2NrcyBpdC5cbiAqXG4gKiBAcGFyYW0gcmVzdWx0IC0gVGhlIHJlc3VsdCBvZiBkZWxldGluZyB0aGUgY2hpbGQuXG4gKiBAcmV0dXJucyBgdHJ1ZWAgd2hlbiB0aGUgY2hpbGQgaXMgZ29uZSBmcm9tIGl0cyBwYXJlbnQgZm9sZGVyLlxuICovXG5mdW5jdGlvbiBpc0dvbmVGcm9tUGFyZW50KHJlc3VsdDogRGVsZXRlSWZOb3RVc2VkUmVzdWx0KTogYm9vbGVhbiB7XG4gIHJldHVybiByZXN1bHQgPT09IERlbGV0ZUlmTm90VXNlZFJlc3VsdC5EZWxldGVkIHx8IHJlc3VsdCA9PT0gRGVsZXRlSWZOb3RVc2VkUmVzdWx0LlJlc2N1ZWQ7XG59XG4iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQVlBLFNBQVMsa0JBQWtCO0FBQzNCLFNBQVMsbUNBQW1DO0FBSzVDO0FBQUEsRUFDRTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsT0FDSztBQUNQLFNBQVMsU0FBUztBQUNsQixTQUFTLCtCQUErQjtBQUN4QztBQUFBLEVBQ0U7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLE9BQ0s7QUFLQSxJQUFLLHdCQUFMLGtCQUFLQSwyQkFBTDtBQUlMLEVBQUFBLHVCQUFBLGFBQVU7QUFLVixFQUFBQSx1QkFBQSxnQkFBYTtBQU1iLEVBQUFBLHVCQUFBLGFBQVU7QUFmQSxTQUFBQTtBQUFBLEdBQUE7QUEwRVosZUFBc0IsZ0JBQWdCLFFBQStEO0FBQ25HLFFBQU0sT0FBTyxzQkFBc0IsRUFBRSxLQUFLLE9BQU8sS0FBSyxZQUFZLE9BQU8sV0FBVyxDQUFDO0FBRXJGLE1BQUksQ0FBQyxNQUFNO0FBQ1QsV0FBTztBQUFBLEVBQ1Q7QUFFQSxNQUFJLFlBQVksT0FBTyxJQUFJLE1BQU0sT0FBTyw0QkFBNEI7QUFHcEUsTUFBSSxPQUFPLElBQUksR0FBRztBQUVoQixVQUFNLHFCQUFxQixNQUFNLHNCQUFzQixRQUFRLElBQUk7QUFDbkUsUUFBSSxtQkFBbUIsU0FBUyxHQUFHO0FBQ2pDLFVBQUksTUFBTSxPQUFPLHNCQUFzQixFQUFFLE1BQU0sbUJBQW1CLENBQUMsR0FBRztBQUNwRSxlQUFPO0FBQUEsTUFDVDtBQUVBLGFBQU8sdUJBQXVCLFdBQVcsRUFBRSxDQUFDLE1BQU0sRUFBRSxpQkFBaUIsUUFBUSx1QkFBdUIsRUFBRSxnQkFBZ0IsS0FBSyxLQUFLLENBQUMsQ0FBQztBQUNsSSxrQkFBWTtBQUFBLElBQ2Q7QUFBQSxFQUVGLFdBQVcsU0FBUyxJQUFJLEdBQUc7QUFFekIsVUFBTSxjQUFjLE1BQU0sU0FBUyxPQUFPLEtBQUssSUFBSTtBQUNuRCxlQUFXLFNBQVMsQ0FBQyxHQUFHLFlBQVksT0FBTyxHQUFHLFlBQVksT0FBTyxHQUFHO0FBRWxFLFlBQU0sY0FBYztBQUFBLFFBQ2xCLE1BQU0sZ0JBQWdCLDRCQUFtRDtBQUFBLFVBQ3ZFLEtBQUssT0FBTztBQUFBLFVBQ1osb0JBQW9CLE9BQU87QUFBQSxVQUMzQixpQkFBaUIsT0FBTztBQUFBLFVBQ3hCLGtCQUFrQixPQUFPO0FBQUEsVUFDekIsWUFBWTtBQUFBLFVBQ1osdUJBQXVCLE9BQU87QUFBQSxVQUM5QixxQkFBcUIsT0FBTztBQUFBLFVBQzVCLDBCQUEwQixPQUFPO0FBQUEsVUFDakMsMEJBQTBCLE9BQU87QUFBQSxRQUNuQyxDQUFDLENBQUM7QUFBQSxNQUNKO0FBQ0Esb0JBQWM7QUFBQSxJQUNoQjtBQUVBLGtCQUFjLE1BQU0sY0FBYyxPQUFPLEtBQUssSUFBSTtBQUFBLEVBQ3BEO0FBRUEsTUFBSSxXQUFXO0FBQ2IsUUFBSTtBQUNGLFVBQUksT0FBTyxvQkFBb0I7QUFDN0IsY0FBTSxPQUFPLG1CQUFtQixJQUFJO0FBQUEsTUFDdEMsT0FBTztBQUNMLGNBQU0sVUFBVSxPQUFPLEtBQUssSUFBSTtBQUFBLE1BQ2xDO0FBQUEsSUFDRixTQUFTLE9BQU87QUFDZCxpQkFBVyxJQUFJLE1BQU0sb0JBQW9CLEtBQUssSUFBSSxJQUFJLEVBQUUsT0FBTyxNQUFNLENBQUMsQ0FBQztBQUN2RSxrQkFBWTtBQUFBLElBQ2Q7QUFBQSxFQUNGO0FBRUEsU0FBTyxZQUFZLDBCQUFnQztBQUNyRDtBQVVBLGVBQWUsc0JBQXNCLFFBQStCLE1BQXlDO0FBQzNHLE1BQUksRUFBRSxPQUFPLDJCQUEyQixJQUFJLEtBQUssT0FBTztBQUN0RCxXQUFPLENBQUM7QUFBQSxFQUNWO0FBRUEsUUFBTSxZQUFZLE1BQU0sd0JBQXdCLEVBQUUsS0FBSyxPQUFPLEtBQUssWUFBWSxLQUFLLENBQUM7QUFDckYsUUFBTSxtQkFBbUIsSUFBSSxJQUFJLE9BQU8sZ0JBQWdCO0FBQ3hELE1BQUksT0FBTyxpQkFBaUI7QUFDMUIscUJBQWlCLElBQUksT0FBTyxlQUFlO0FBQUEsRUFDN0M7QUFDQSxhQUFXLG1CQUFtQixrQkFBa0I7QUFDOUMsY0FBVSxNQUFNLGVBQWU7QUFBQSxFQUNqQztBQUVBLFNBQU8sVUFBVSxLQUFLO0FBQ3hCO0FBU0EsU0FBUyxpQkFBaUIsUUFBd0M7QUFDaEUsU0FBTyxXQUFXLDJCQUFpQyxXQUFXO0FBQ2hFOyIsCiAgIm5hbWVzIjogWyJEZWxldGVJZk5vdFVzZWRSZXN1bHQiXQp9Cg==