@payloadcms/richtext-lexical 0.7.0 → 3.0.0-alpha.19

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 (993) hide show
  1. package/README.md +1 -3
  2. package/components.d.ts +1 -1
  3. package/components.js +6 -33
  4. package/dist/cell/index.d.ts +4 -4
  5. package/dist/cell/index.d.ts.map +1 -1
  6. package/dist/cell/index.js +98 -79
  7. package/dist/exports/components.d.ts +1 -1
  8. package/dist/exports/components.d.ts.map +1 -1
  9. package/dist/exports/components.js +6 -33
  10. package/dist/field/Field.d.ts +8 -3
  11. package/dist/field/Field.d.ts.map +1 -1
  12. package/dist/field/Field.js +26 -98
  13. package/dist/field/features/align/feature.client.d.ts +3 -0
  14. package/dist/field/features/align/feature.client.d.ts.map +1 -0
  15. package/dist/field/features/align/feature.client.js +71 -0
  16. package/dist/field/features/align/feature.server.d.ts +3 -0
  17. package/dist/field/features/align/feature.server.d.ts.map +1 -0
  18. package/dist/field/features/align/feature.server.js +16 -0
  19. package/dist/field/features/align/floatingSelectToolbarAlignDropdownSection.d.ts.map +1 -1
  20. package/dist/field/features/align/floatingSelectToolbarAlignDropdownSection.js +6 -57
  21. package/dist/field/features/blockquote/feature.client.d.ts +3 -0
  22. package/dist/field/features/blockquote/feature.client.d.ts.map +1 -0
  23. package/dist/field/features/blockquote/feature.client.js +67 -0
  24. package/dist/field/features/blockquote/feature.server.d.ts +3 -0
  25. package/dist/field/features/blockquote/feature.server.d.ts.map +1 -0
  26. package/dist/field/features/blockquote/feature.server.js +46 -0
  27. package/dist/field/features/blockquote/markdownTransformer.d.ts.map +1 -0
  28. package/dist/field/features/blockquote/markdownTransformer.js +40 -0
  29. package/dist/field/features/blocks/component/BlockContent.d.ts +25 -0
  30. package/dist/field/features/blocks/component/BlockContent.d.ts.map +1 -0
  31. package/dist/field/features/blocks/component/BlockContent.js +163 -0
  32. package/dist/field/features/blocks/component/FormSavePlugin.d.ts +12 -0
  33. package/dist/field/features/blocks/component/FormSavePlugin.d.ts.map +1 -0
  34. package/dist/field/features/blocks/component/FormSavePlugin.js +24 -0
  35. package/dist/field/features/blocks/component/index.d.ts +16 -0
  36. package/dist/field/features/blocks/component/index.d.ts.map +1 -0
  37. package/dist/field/features/blocks/component/index.js +121 -0
  38. package/dist/field/features/blocks/component/index.scss +153 -0
  39. package/dist/field/features/blocks/drawer/index.d.ts.map +1 -0
  40. package/dist/field/features/blocks/drawer/index.js +78 -0
  41. package/dist/field/features/blocks/feature.client.d.ts +7 -0
  42. package/dist/field/features/blocks/feature.client.d.ts.map +1 -0
  43. package/dist/field/features/blocks/feature.client.js +61 -0
  44. package/dist/field/features/blocks/feature.server.d.ts +8 -0
  45. package/dist/field/features/blocks/feature.server.d.ts.map +1 -0
  46. package/dist/field/features/blocks/feature.server.js +86 -0
  47. package/dist/field/features/blocks/nodes/BlocksNode.d.ts.map +1 -0
  48. package/dist/field/features/blocks/nodes/BlocksNode.js +91 -0
  49. package/dist/field/features/blocks/plugin/commands.d.ts.map +1 -0
  50. package/dist/field/features/blocks/plugin/commands.js +4 -0
  51. package/dist/field/features/blocks/plugin/index.d.ts +5 -0
  52. package/dist/field/features/blocks/plugin/index.d.ts.map +1 -0
  53. package/dist/field/features/blocks/plugin/index.js +40 -0
  54. package/dist/field/features/blocks/populationPromise.d.ts +5 -0
  55. package/dist/field/features/blocks/populationPromise.d.ts.map +1 -0
  56. package/dist/field/features/blocks/populationPromise.js +45 -0
  57. package/dist/field/features/blocks/validate.d.ts +5 -0
  58. package/dist/field/features/blocks/validate.d.ts.map +1 -0
  59. package/dist/field/features/blocks/validate.js +49 -0
  60. package/dist/field/features/common/floatingSelectToolbarFeaturesButtonsSection/index.js +4 -14
  61. package/dist/field/features/common/floatingSelectToolbarTextDropdownSection/index.d.ts.map +1 -1
  62. package/dist/field/features/common/floatingSelectToolbarTextDropdownSection/index.js +6 -57
  63. package/dist/field/features/converters/html/converter/converters/linebreak.js +2 -12
  64. package/dist/field/features/converters/html/converter/converters/paragraph.d.ts.map +1 -1
  65. package/dist/field/features/converters/html/converter/converters/paragraph.js +7 -16
  66. package/dist/field/features/converters/html/converter/converters/text.js +10 -20
  67. package/dist/field/features/converters/html/converter/defaultConverters.js +8 -18
  68. package/dist/field/features/converters/html/converter/index.d.ts +11 -2
  69. package/dist/field/features/converters/html/converter/index.d.ts.map +1 -1
  70. package/dist/field/features/converters/html/converter/index.js +9 -24
  71. package/dist/field/features/converters/html/converter/types.d.ts +6 -1
  72. package/dist/field/features/converters/html/converter/types.d.ts.map +1 -1
  73. package/dist/field/features/converters/html/converter/types.js +2 -5
  74. package/dist/field/features/converters/html/feature.server.d.ts +9 -0
  75. package/dist/field/features/converters/html/feature.server.d.ts.map +1 -0
  76. package/dist/field/features/converters/html/feature.server.js +14 -0
  77. package/dist/field/features/converters/html/field/index.d.ts +2 -2
  78. package/dist/field/features/converters/html/field/index.d.ts.map +1 -1
  79. package/dist/field/features/converters/html/field/index.js +18 -31
  80. package/dist/field/features/createClientComponent.d.ts +7 -0
  81. package/dist/field/features/createClientComponent.d.ts.map +1 -0
  82. package/dist/field/features/createClientComponent.js +12 -0
  83. package/dist/field/features/createFeaturePropComponent.d.ts +6 -0
  84. package/dist/field/features/createFeaturePropComponent.d.ts.map +1 -0
  85. package/dist/field/features/createFeaturePropComponent.js +14 -0
  86. package/dist/field/features/debug/testrecorder/feature.client.d.ts +3 -0
  87. package/dist/field/features/debug/testrecorder/feature.client.d.ts.map +1 -0
  88. package/dist/field/features/debug/testrecorder/feature.client.js +20 -0
  89. package/dist/field/features/debug/testrecorder/feature.server.d.ts +3 -0
  90. package/dist/field/features/debug/testrecorder/feature.server.d.ts.map +1 -0
  91. package/dist/field/features/debug/testrecorder/feature.server.js +15 -0
  92. package/dist/field/features/debug/testrecorder/plugin/index.d.ts.map +1 -0
  93. package/dist/field/features/debug/testrecorder/plugin/index.js +446 -0
  94. package/dist/field/features/debug/testrecorder/plugin/index.scss +49 -0
  95. package/dist/field/features/debug/treeview/feature.client.d.ts +3 -0
  96. package/dist/field/features/debug/treeview/feature.client.d.ts.map +1 -0
  97. package/dist/field/features/debug/treeview/feature.client.js +20 -0
  98. package/dist/field/features/debug/treeview/feature.server.d.ts +3 -0
  99. package/dist/field/features/debug/treeview/feature.server.d.ts.map +1 -0
  100. package/dist/field/features/debug/treeview/feature.server.js +15 -0
  101. package/dist/field/features/debug/treeview/plugin/index.d.ts +4 -0
  102. package/dist/field/features/debug/treeview/plugin/index.d.ts.map +1 -0
  103. package/dist/field/features/debug/treeview/plugin/index.js +19 -0
  104. package/dist/field/features/format/bold/feature.client.d.ts +3 -0
  105. package/dist/field/features/format/bold/feature.client.d.ts.map +1 -0
  106. package/dist/field/features/format/bold/feature.client.js +47 -0
  107. package/dist/field/features/format/bold/feature.server.d.ts +3 -0
  108. package/dist/field/features/format/bold/feature.server.d.ts.map +1 -0
  109. package/dist/field/features/format/bold/feature.server.js +27 -0
  110. package/dist/field/features/format/bold/markdownTransformers.d.ts.map +1 -0
  111. package/dist/field/features/format/bold/markdownTransformers.js +34 -0
  112. package/dist/field/features/format/common/floatingSelectToolbarSection.js +4 -14
  113. package/dist/field/features/format/inlinecode/feature.client.d.ts +3 -0
  114. package/dist/field/features/format/inlinecode/feature.client.d.ts.map +1 -0
  115. package/dist/field/features/format/inlinecode/feature.client.js +42 -0
  116. package/dist/field/features/format/inlinecode/feature.server.d.ts +3 -0
  117. package/dist/field/features/format/inlinecode/feature.server.d.ts.map +1 -0
  118. package/dist/field/features/format/inlinecode/feature.server.js +19 -0
  119. package/dist/field/features/format/inlinecode/markdownTransformers.d.ts.map +1 -0
  120. package/dist/field/features/format/inlinecode/markdownTransformers.js +9 -0
  121. package/dist/field/features/format/italic/feature.client.d.ts +3 -0
  122. package/dist/field/features/format/italic/feature.client.d.ts.map +1 -0
  123. package/dist/field/features/format/italic/feature.client.js +43 -0
  124. package/dist/field/features/format/italic/feature.server.d.ts +3 -0
  125. package/dist/field/features/format/italic/feature.server.d.ts.map +1 -0
  126. package/dist/field/features/format/italic/feature.server.js +20 -0
  127. package/dist/field/features/format/italic/markdownTransformers.d.ts.map +1 -0
  128. package/dist/field/features/format/italic/markdownTransformers.js +17 -0
  129. package/dist/field/features/format/strikethrough/feature.client.d.ts +3 -0
  130. package/dist/field/features/format/strikethrough/feature.client.d.ts.map +1 -0
  131. package/dist/field/features/format/strikethrough/feature.client.js +42 -0
  132. package/dist/field/features/format/strikethrough/feature.server.d.ts +3 -0
  133. package/dist/field/features/format/strikethrough/feature.server.d.ts.map +1 -0
  134. package/dist/field/features/format/strikethrough/feature.server.js +19 -0
  135. package/dist/field/features/format/strikethrough/markdownTransformers.js +4 -14
  136. package/dist/field/features/format/subscript/feature.client.d.ts +3 -0
  137. package/dist/field/features/format/subscript/feature.client.d.ts.map +1 -0
  138. package/dist/field/features/format/subscript/feature.client.js +38 -0
  139. package/dist/field/features/format/subscript/feature.server.d.ts +3 -0
  140. package/dist/field/features/format/subscript/feature.server.d.ts.map +1 -0
  141. package/dist/field/features/format/subscript/feature.server.js +15 -0
  142. package/dist/field/features/format/superscript/feature.client.d.ts +3 -0
  143. package/dist/field/features/format/superscript/feature.client.d.ts.map +1 -0
  144. package/dist/field/features/format/superscript/feature.client.js +38 -0
  145. package/dist/field/features/format/superscript/feature.server.d.ts +3 -0
  146. package/dist/field/features/format/superscript/feature.server.d.ts.map +1 -0
  147. package/dist/field/features/format/superscript/feature.server.js +15 -0
  148. package/dist/field/features/format/underline/feature.client.d.ts +3 -0
  149. package/dist/field/features/format/underline/feature.client.d.ts.map +1 -0
  150. package/dist/field/features/format/underline/feature.client.js +38 -0
  151. package/dist/field/features/format/underline/feature.server.d.ts +3 -0
  152. package/dist/field/features/format/underline/feature.server.d.ts.map +1 -0
  153. package/dist/field/features/format/underline/feature.server.js +15 -0
  154. package/dist/field/features/heading/feature.client.d.ts +4 -0
  155. package/dist/field/features/heading/feature.client.d.ts.map +1 -0
  156. package/dist/field/features/heading/feature.client.js +95 -0
  157. package/dist/field/features/heading/feature.server.d.ts +7 -0
  158. package/dist/field/features/heading/feature.server.d.ts.map +1 -0
  159. package/dist/field/features/heading/feature.server.js +57 -0
  160. package/dist/field/features/heading/markdownTransformer.d.ts.map +1 -0
  161. package/dist/field/features/heading/markdownTransformer.js +29 -0
  162. package/dist/field/features/indent/feature.client.d.ts +3 -0
  163. package/dist/field/features/indent/feature.client.d.ts.map +1 -0
  164. package/dist/field/features/indent/feature.client.js +57 -0
  165. package/dist/field/features/indent/feature.server.d.ts +3 -0
  166. package/dist/field/features/indent/feature.server.d.ts.map +1 -0
  167. package/dist/field/features/indent/feature.server.js +16 -0
  168. package/dist/field/features/indent/floatingSelectToolbarIndentSection.js +4 -14
  169. package/dist/field/features/link/drawer/baseFields.d.ts.map +1 -0
  170. package/dist/field/features/link/drawer/baseFields.js +118 -0
  171. package/dist/field/features/link/drawer/index.d.ts.map +1 -0
  172. package/dist/field/features/link/drawer/index.js +83 -0
  173. package/dist/field/features/link/drawer/index.scss +50 -0
  174. package/dist/field/features/link/drawer/types.d.ts +8 -0
  175. package/dist/field/features/link/drawer/types.d.ts.map +1 -0
  176. package/dist/field/features/link/drawer/types.js +3 -0
  177. package/dist/field/features/link/feature.client.d.ts +5 -0
  178. package/dist/field/features/link/feature.client.d.ts.map +1 -0
  179. package/dist/field/features/link/feature.client.js +88 -0
  180. package/dist/field/features/link/feature.server.d.ts +33 -0
  181. package/dist/field/features/link/feature.server.d.ts.map +1 -0
  182. package/dist/field/features/link/feature.server.js +98 -0
  183. package/dist/field/features/link/nodes/AutoLinkNode.d.ts +16 -0
  184. package/dist/field/features/link/nodes/AutoLinkNode.d.ts.map +1 -0
  185. package/dist/field/features/link/nodes/AutoLinkNode.js +60 -0
  186. package/dist/field/features/link/nodes/LinkNode.d.ts +35 -0
  187. package/dist/field/features/link/nodes/LinkNode.d.ts.map +1 -0
  188. package/dist/field/features/link/nodes/LinkNode.js +299 -0
  189. package/dist/field/features/link/nodes/types.d.ts +19 -0
  190. package/dist/field/features/link/nodes/types.d.ts.map +1 -0
  191. package/dist/field/features/link/nodes/types.js +3 -0
  192. package/dist/field/features/link/plugins/autoLink/index.d.ts +19 -0
  193. package/dist/field/features/link/plugins/autoLink/index.d.ts.map +1 -0
  194. package/dist/field/features/link/plugins/autoLink/index.js +318 -0
  195. package/dist/field/features/link/plugins/clickableLink/index.d.ts.map +1 -0
  196. package/dist/field/features/link/plugins/clickableLink/index.js +8 -0
  197. package/dist/field/features/link/plugins/floatingLinkEditor/LinkEditor/commands.d.ts.map +1 -0
  198. package/dist/field/features/link/plugins/floatingLinkEditor/LinkEditor/commands.js +4 -0
  199. package/dist/field/features/link/plugins/floatingLinkEditor/LinkEditor/index.d.ts +5 -0
  200. package/dist/field/features/link/plugins/floatingLinkEditor/LinkEditor/index.d.ts.map +1 -0
  201. package/dist/field/features/link/plugins/floatingLinkEditor/LinkEditor/index.js +243 -0
  202. package/dist/field/features/link/plugins/floatingLinkEditor/index.d.ts +6 -0
  203. package/dist/field/features/link/plugins/floatingLinkEditor/index.d.ts.map +1 -0
  204. package/dist/field/features/link/plugins/floatingLinkEditor/index.js +13 -0
  205. package/dist/field/features/link/plugins/floatingLinkEditor/index.scss +78 -0
  206. package/dist/field/features/link/plugins/floatingLinkEditor/types.d.ts +13 -0
  207. package/dist/field/features/link/plugins/floatingLinkEditor/types.d.ts.map +1 -0
  208. package/dist/field/features/link/plugins/floatingLinkEditor/types.js +6 -0
  209. package/dist/field/features/link/plugins/floatingLinkEditor/utilities.d.ts +12 -0
  210. package/dist/field/features/link/plugins/floatingLinkEditor/utilities.d.ts.map +1 -0
  211. package/dist/field/features/link/plugins/floatingLinkEditor/utilities.js +37 -0
  212. package/dist/field/features/link/plugins/link/index.d.ts.map +1 -0
  213. package/dist/field/features/link/plugins/link/index.js +59 -0
  214. package/dist/field/features/link/populationPromise.d.ts +5 -0
  215. package/dist/field/features/link/populationPromise.d.ts.map +1 -0
  216. package/dist/field/features/link/populationPromise.js +46 -0
  217. package/dist/field/features/lists/checklist/feature.client.d.ts +3 -0
  218. package/dist/field/features/lists/checklist/feature.client.d.ts.map +1 -0
  219. package/dist/field/features/lists/checklist/feature.client.js +81 -0
  220. package/dist/field/features/lists/checklist/feature.server.d.ts +3 -0
  221. package/dist/field/features/lists/checklist/feature.server.d.ts.map +1 -0
  222. package/dist/field/features/lists/checklist/feature.server.js +35 -0
  223. package/dist/field/features/lists/checklist/markdownTransformers.d.ts.map +1 -0
  224. package/dist/field/features/lists/checklist/markdownTransformers.js +16 -0
  225. package/dist/field/features/lists/checklist/plugin/index.d.ts.map +1 -0
  226. package/dist/field/features/lists/checklist/plugin/index.js +8 -0
  227. package/dist/field/features/lists/common/markdown.js +10 -28
  228. package/dist/field/features/lists/htmlConverter.d.ts.map +1 -1
  229. package/dist/field/features/lists/htmlConverter.js +15 -31
  230. package/dist/field/features/lists/orderedlist/feature.client.d.ts +3 -0
  231. package/dist/field/features/lists/orderedlist/feature.client.d.ts.map +1 -0
  232. package/dist/field/features/lists/orderedlist/feature.client.js +71 -0
  233. package/dist/field/features/lists/orderedlist/feature.server.d.ts +3 -0
  234. package/dist/field/features/lists/orderedlist/feature.server.d.ts.map +1 -0
  235. package/dist/field/features/lists/orderedlist/feature.server.js +35 -0
  236. package/dist/field/features/lists/orderedlist/markdownTransformer.d.ts.map +1 -0
  237. package/dist/field/features/lists/orderedlist/markdownTransformer.js +16 -0
  238. package/dist/field/features/lists/plugin/index.js +5 -20
  239. package/dist/field/features/lists/unorderedlist/feature.client.d.ts +3 -0
  240. package/dist/field/features/lists/unorderedlist/feature.client.d.ts.map +1 -0
  241. package/dist/field/features/lists/unorderedlist/feature.client.js +71 -0
  242. package/dist/field/features/lists/unorderedlist/feature.server.d.ts +3 -0
  243. package/dist/field/features/lists/unorderedlist/feature.server.d.ts.map +1 -0
  244. package/dist/field/features/lists/unorderedlist/feature.server.js +35 -0
  245. package/dist/field/features/lists/unorderedlist/markdownTransformer.d.ts.map +1 -0
  246. package/dist/field/features/lists/unorderedlist/markdownTransformer.js +16 -0
  247. package/dist/field/features/migrations/lexicalPluginToLexical/converter/converters/heading/client.d.ts +6 -0
  248. package/dist/field/features/migrations/lexicalPluginToLexical/converter/converters/heading/client.d.ts.map +1 -0
  249. package/dist/field/features/migrations/lexicalPluginToLexical/converter/converters/heading/client.js +6 -0
  250. package/dist/field/features/migrations/lexicalPluginToLexical/converter/converters/heading/converter.d.ts +3 -0
  251. package/dist/field/features/migrations/lexicalPluginToLexical/converter/converters/heading/converter.d.ts.map +1 -0
  252. package/dist/field/features/migrations/lexicalPluginToLexical/converter/converters/heading/converter.js +20 -0
  253. package/dist/field/features/migrations/lexicalPluginToLexical/converter/converters/heading/index.d.ts +3 -0
  254. package/dist/field/features/migrations/lexicalPluginToLexical/converter/converters/heading/index.d.ts.map +1 -0
  255. package/dist/field/features/migrations/lexicalPluginToLexical/converter/converters/heading/index.js +8 -0
  256. package/dist/field/features/migrations/lexicalPluginToLexical/converter/converters/link/client.d.ts +6 -0
  257. package/dist/field/features/migrations/lexicalPluginToLexical/converter/converters/link/client.d.ts.map +1 -0
  258. package/dist/field/features/migrations/lexicalPluginToLexical/converter/converters/link/client.js +6 -0
  259. package/dist/field/features/migrations/lexicalPluginToLexical/converter/converters/link/converter.d.ts +3 -0
  260. package/dist/field/features/migrations/lexicalPluginToLexical/converter/converters/link/converter.d.ts.map +1 -0
  261. package/dist/field/features/migrations/lexicalPluginToLexical/converter/converters/link/converter.js +31 -0
  262. package/dist/field/features/migrations/lexicalPluginToLexical/converter/converters/link/index.d.ts +3 -0
  263. package/dist/field/features/migrations/lexicalPluginToLexical/converter/converters/link/index.d.ts.map +1 -0
  264. package/dist/field/features/migrations/lexicalPluginToLexical/converter/converters/link/index.js +8 -0
  265. package/dist/field/features/migrations/lexicalPluginToLexical/converter/converters/list/client.d.ts +6 -0
  266. package/dist/field/features/migrations/lexicalPluginToLexical/converter/converters/list/client.d.ts.map +1 -0
  267. package/dist/field/features/migrations/lexicalPluginToLexical/converter/converters/list/client.js +6 -0
  268. package/dist/field/features/migrations/lexicalPluginToLexical/converter/converters/list/converter.d.ts +3 -0
  269. package/dist/field/features/migrations/lexicalPluginToLexical/converter/converters/list/converter.d.ts.map +1 -0
  270. package/dist/field/features/migrations/lexicalPluginToLexical/converter/converters/list/converter.js +22 -0
  271. package/dist/field/features/migrations/lexicalPluginToLexical/converter/converters/list/index.d.ts +3 -0
  272. package/dist/field/features/migrations/lexicalPluginToLexical/converter/converters/list/index.d.ts.map +1 -0
  273. package/dist/field/features/migrations/lexicalPluginToLexical/converter/converters/list/index.js +8 -0
  274. package/dist/field/features/migrations/lexicalPluginToLexical/converter/converters/listItem/client.d.ts +6 -0
  275. package/dist/field/features/migrations/lexicalPluginToLexical/converter/converters/listItem/client.d.ts.map +1 -0
  276. package/dist/field/features/migrations/lexicalPluginToLexical/converter/converters/listItem/client.js +6 -0
  277. package/dist/field/features/migrations/lexicalPluginToLexical/converter/converters/listItem/converter.d.ts +3 -0
  278. package/dist/field/features/migrations/lexicalPluginToLexical/converter/converters/listItem/converter.d.ts.map +1 -0
  279. package/dist/field/features/migrations/lexicalPluginToLexical/converter/converters/listItem/converter.js +22 -0
  280. package/dist/field/features/migrations/lexicalPluginToLexical/converter/converters/listItem/index.d.ts +3 -0
  281. package/dist/field/features/migrations/lexicalPluginToLexical/converter/converters/listItem/index.d.ts.map +1 -0
  282. package/dist/field/features/migrations/lexicalPluginToLexical/converter/converters/listItem/index.js +8 -0
  283. package/dist/field/features/migrations/lexicalPluginToLexical/converter/converters/quote/client.d.ts +6 -0
  284. package/dist/field/features/migrations/lexicalPluginToLexical/converter/converters/quote/client.d.ts.map +1 -0
  285. package/dist/field/features/migrations/lexicalPluginToLexical/converter/converters/quote/client.js +6 -0
  286. package/dist/field/features/migrations/lexicalPluginToLexical/converter/converters/quote/converter.d.ts +3 -0
  287. package/dist/field/features/migrations/lexicalPluginToLexical/converter/converters/quote/converter.d.ts.map +1 -0
  288. package/dist/field/features/migrations/lexicalPluginToLexical/converter/converters/quote/converter.js +20 -0
  289. package/dist/field/features/migrations/lexicalPluginToLexical/converter/converters/quote/index.d.ts +3 -0
  290. package/dist/field/features/migrations/lexicalPluginToLexical/converter/converters/quote/index.d.ts.map +1 -0
  291. package/dist/field/features/migrations/lexicalPluginToLexical/converter/converters/quote/index.js +8 -0
  292. package/dist/field/features/migrations/lexicalPluginToLexical/converter/converters/unknown/client.d.ts +6 -0
  293. package/dist/field/features/migrations/lexicalPluginToLexical/converter/converters/unknown/client.d.ts.map +1 -0
  294. package/dist/field/features/migrations/lexicalPluginToLexical/converter/converters/unknown/client.js +6 -0
  295. package/dist/field/features/migrations/lexicalPluginToLexical/converter/converters/unknown/converter.d.ts +3 -0
  296. package/dist/field/features/migrations/lexicalPluginToLexical/converter/converters/unknown/converter.d.ts.map +1 -0
  297. package/dist/field/features/migrations/lexicalPluginToLexical/converter/converters/unknown/converter.js +26 -0
  298. package/dist/field/features/migrations/lexicalPluginToLexical/converter/converters/unknown/index.d.ts +3 -0
  299. package/dist/field/features/migrations/lexicalPluginToLexical/converter/converters/unknown/index.d.ts.map +1 -0
  300. package/dist/field/features/migrations/lexicalPluginToLexical/converter/converters/unknown/index.js +8 -0
  301. package/dist/field/features/migrations/lexicalPluginToLexical/converter/converters/upload/client.d.ts +6 -0
  302. package/dist/field/features/migrations/lexicalPluginToLexical/converter/converters/upload/client.d.ts.map +1 -0
  303. package/dist/field/features/migrations/lexicalPluginToLexical/converter/converters/upload/client.js +6 -0
  304. package/dist/field/features/migrations/lexicalPluginToLexical/converter/converters/upload/converter.d.ts +3 -0
  305. package/dist/field/features/migrations/lexicalPluginToLexical/converter/converters/upload/converter.d.ts.map +1 -0
  306. package/dist/field/features/migrations/lexicalPluginToLexical/converter/converters/upload/converter.js +25 -0
  307. package/dist/field/features/migrations/lexicalPluginToLexical/converter/converters/upload/index.d.ts +3 -0
  308. package/dist/field/features/migrations/lexicalPluginToLexical/converter/converters/upload/index.d.ts.map +1 -0
  309. package/dist/field/features/migrations/lexicalPluginToLexical/converter/converters/upload/index.js +8 -0
  310. package/dist/field/features/migrations/lexicalPluginToLexical/converter/defaultConverters.d.ts +3 -0
  311. package/dist/field/features/migrations/lexicalPluginToLexical/converter/defaultConverters.d.ts.map +1 -0
  312. package/dist/field/features/migrations/lexicalPluginToLexical/converter/defaultConverters.js +18 -0
  313. package/dist/field/features/migrations/lexicalPluginToLexical/converter/index.d.ts +17 -0
  314. package/dist/field/features/migrations/lexicalPluginToLexical/converter/index.d.ts.map +1 -0
  315. package/dist/field/features/migrations/lexicalPluginToLexical/converter/index.js +63 -0
  316. package/dist/field/features/migrations/lexicalPluginToLexical/converter/types.d.ts +31 -0
  317. package/dist/field/features/migrations/lexicalPluginToLexical/converter/types.d.ts.map +1 -0
  318. package/dist/field/features/migrations/lexicalPluginToLexical/converter/types.js +3 -0
  319. package/dist/field/features/migrations/lexicalPluginToLexical/feature.client.d.ts +3 -0
  320. package/dist/field/features/migrations/lexicalPluginToLexical/feature.client.d.ts.map +1 -0
  321. package/dist/field/features/migrations/lexicalPluginToLexical/feature.client.js +34 -0
  322. package/dist/field/features/migrations/lexicalPluginToLexical/feature.server.d.ts +9 -0
  323. package/dist/field/features/migrations/lexicalPluginToLexical/feature.server.d.ts.map +1 -0
  324. package/dist/field/features/migrations/lexicalPluginToLexical/feature.server.js +47 -0
  325. package/dist/field/features/migrations/lexicalPluginToLexical/nodes/unknownConvertedNode/Component.d.ts.map +1 -0
  326. package/dist/field/features/migrations/lexicalPluginToLexical/nodes/unknownConvertedNode/Component.js +8 -0
  327. package/dist/field/features/migrations/lexicalPluginToLexical/nodes/unknownConvertedNode/index.d.ts.map +1 -0
  328. package/dist/field/features/migrations/lexicalPluginToLexical/nodes/unknownConvertedNode/index.js +69 -0
  329. package/dist/field/features/migrations/lexicalPluginToLexical/nodes/unknownConvertedNode/index.scss +14 -0
  330. package/dist/field/features/migrations/slateToLexical/converter/converters/blockquote/client.d.ts +6 -0
  331. package/dist/field/features/migrations/slateToLexical/converter/converters/blockquote/client.d.ts.map +1 -0
  332. package/dist/field/features/migrations/slateToLexical/converter/converters/blockquote/client.js +6 -0
  333. package/dist/field/features/migrations/slateToLexical/converter/converters/blockquote/converter.d.ts +3 -0
  334. package/dist/field/features/migrations/slateToLexical/converter/converters/blockquote/converter.d.ts.map +1 -0
  335. package/dist/field/features/migrations/slateToLexical/converter/converters/blockquote/converter.js +23 -0
  336. package/dist/field/features/migrations/slateToLexical/converter/converters/blockquote/index.d.ts +3 -0
  337. package/dist/field/features/migrations/slateToLexical/converter/converters/blockquote/index.d.ts.map +1 -0
  338. package/dist/field/features/migrations/slateToLexical/converter/converters/blockquote/index.js +8 -0
  339. package/dist/field/features/migrations/slateToLexical/converter/converters/heading/client.d.ts +6 -0
  340. package/dist/field/features/migrations/slateToLexical/converter/converters/heading/client.d.ts.map +1 -0
  341. package/dist/field/features/migrations/slateToLexical/converter/converters/heading/client.js +6 -0
  342. package/dist/field/features/migrations/slateToLexical/converter/converters/heading/converter.d.ts +3 -0
  343. package/dist/field/features/migrations/slateToLexical/converter/converters/heading/converter.d.ts.map +1 -0
  344. package/dist/field/features/migrations/slateToLexical/converter/converters/heading/converter.js +29 -0
  345. package/dist/field/features/migrations/slateToLexical/converter/converters/heading/index.d.ts +3 -0
  346. package/dist/field/features/migrations/slateToLexical/converter/converters/heading/index.d.ts.map +1 -0
  347. package/dist/field/features/migrations/slateToLexical/converter/converters/heading/index.js +8 -0
  348. package/dist/field/features/migrations/slateToLexical/converter/converters/indent/client.d.ts +6 -0
  349. package/dist/field/features/migrations/slateToLexical/converter/converters/indent/client.d.ts.map +1 -0
  350. package/dist/field/features/migrations/slateToLexical/converter/converters/indent/client.js +6 -0
  351. package/dist/field/features/migrations/slateToLexical/converter/converters/indent/converter.d.ts +3 -0
  352. package/dist/field/features/migrations/slateToLexical/converter/converters/indent/converter.d.ts.map +1 -0
  353. package/dist/field/features/migrations/slateToLexical/converter/converters/indent/converter.js +35 -0
  354. package/dist/field/features/migrations/slateToLexical/converter/converters/indent/index.d.ts +3 -0
  355. package/dist/field/features/migrations/slateToLexical/converter/converters/indent/index.d.ts.map +1 -0
  356. package/dist/field/features/migrations/slateToLexical/converter/converters/indent/index.js +8 -0
  357. package/dist/field/features/migrations/slateToLexical/converter/converters/link/client.d.ts +6 -0
  358. package/dist/field/features/migrations/slateToLexical/converter/converters/link/client.d.ts.map +1 -0
  359. package/dist/field/features/migrations/slateToLexical/converter/converters/link/client.js +6 -0
  360. package/dist/field/features/migrations/slateToLexical/converter/converters/link/converter.d.ts +3 -0
  361. package/dist/field/features/migrations/slateToLexical/converter/converters/link/converter.d.ts.map +1 -0
  362. package/dist/field/features/migrations/slateToLexical/converter/converters/link/converter.js +30 -0
  363. package/dist/field/features/migrations/slateToLexical/converter/converters/link/index.d.ts +3 -0
  364. package/dist/field/features/migrations/slateToLexical/converter/converters/link/index.d.ts.map +1 -0
  365. package/dist/field/features/migrations/slateToLexical/converter/converters/link/index.js +8 -0
  366. package/dist/field/features/migrations/slateToLexical/converter/converters/listItem/client.d.ts +6 -0
  367. package/dist/field/features/migrations/slateToLexical/converter/converters/listItem/client.d.ts.map +1 -0
  368. package/dist/field/features/migrations/slateToLexical/converter/converters/listItem/client.js +6 -0
  369. package/dist/field/features/migrations/slateToLexical/converter/converters/listItem/converter.d.ts +3 -0
  370. package/dist/field/features/migrations/slateToLexical/converter/converters/listItem/converter.d.ts.map +1 -0
  371. package/dist/field/features/migrations/slateToLexical/converter/converters/listItem/converter.js +25 -0
  372. package/dist/field/features/migrations/slateToLexical/converter/converters/listItem/index.d.ts +3 -0
  373. package/dist/field/features/migrations/slateToLexical/converter/converters/listItem/index.d.ts.map +1 -0
  374. package/dist/field/features/migrations/slateToLexical/converter/converters/listItem/index.js +8 -0
  375. package/dist/field/features/migrations/slateToLexical/converter/converters/orderedList/client.d.ts +6 -0
  376. package/dist/field/features/migrations/slateToLexical/converter/converters/orderedList/client.d.ts.map +1 -0
  377. package/dist/field/features/migrations/slateToLexical/converter/converters/orderedList/client.js +6 -0
  378. package/dist/field/features/migrations/slateToLexical/converter/converters/orderedList/converter.d.ts +3 -0
  379. package/dist/field/features/migrations/slateToLexical/converter/converters/orderedList/converter.d.ts.map +1 -0
  380. package/dist/field/features/migrations/slateToLexical/converter/converters/orderedList/converter.js +26 -0
  381. package/dist/field/features/migrations/slateToLexical/converter/converters/orderedList/index.d.ts +3 -0
  382. package/dist/field/features/migrations/slateToLexical/converter/converters/orderedList/index.d.ts.map +1 -0
  383. package/dist/field/features/migrations/slateToLexical/converter/converters/orderedList/index.js +8 -0
  384. package/dist/field/features/migrations/slateToLexical/converter/converters/relationship/client.d.ts +6 -0
  385. package/dist/field/features/migrations/slateToLexical/converter/converters/relationship/client.d.ts.map +1 -0
  386. package/dist/field/features/migrations/slateToLexical/converter/converters/relationship/client.js +6 -0
  387. package/dist/field/features/migrations/slateToLexical/converter/converters/relationship/converter.d.ts +3 -0
  388. package/dist/field/features/migrations/slateToLexical/converter/converters/relationship/converter.d.ts.map +1 -0
  389. package/dist/field/features/migrations/slateToLexical/converter/converters/relationship/converter.js +18 -0
  390. package/dist/field/features/migrations/slateToLexical/converter/converters/relationship/index.d.ts +3 -0
  391. package/dist/field/features/migrations/slateToLexical/converter/converters/relationship/index.d.ts.map +1 -0
  392. package/dist/field/features/migrations/slateToLexical/converter/converters/relationship/index.js +8 -0
  393. package/dist/field/features/migrations/slateToLexical/converter/converters/unknown/client.d.ts +6 -0
  394. package/dist/field/features/migrations/slateToLexical/converter/converters/unknown/client.d.ts.map +1 -0
  395. package/dist/field/features/migrations/slateToLexical/converter/converters/unknown/client.js +6 -0
  396. package/dist/field/features/migrations/slateToLexical/converter/converters/unknown/converter.d.ts +3 -0
  397. package/dist/field/features/migrations/slateToLexical/converter/converters/unknown/converter.d.ts.map +1 -0
  398. package/dist/field/features/migrations/slateToLexical/converter/converters/unknown/converter.js +27 -0
  399. package/dist/field/features/migrations/slateToLexical/converter/converters/unknown/index.d.ts +3 -0
  400. package/dist/field/features/migrations/slateToLexical/converter/converters/unknown/index.d.ts.map +1 -0
  401. package/dist/field/features/migrations/slateToLexical/converter/converters/unknown/index.js +8 -0
  402. package/dist/field/features/migrations/slateToLexical/converter/converters/unorderedList/client.d.ts +6 -0
  403. package/dist/field/features/migrations/slateToLexical/converter/converters/unorderedList/client.d.ts.map +1 -0
  404. package/dist/field/features/migrations/slateToLexical/converter/converters/unorderedList/client.js +6 -0
  405. package/dist/field/features/migrations/slateToLexical/converter/converters/unorderedList/converter.d.ts +3 -0
  406. package/dist/field/features/migrations/slateToLexical/converter/converters/unorderedList/converter.d.ts.map +1 -0
  407. package/dist/field/features/migrations/slateToLexical/converter/converters/unorderedList/converter.js +26 -0
  408. package/dist/field/features/migrations/slateToLexical/converter/converters/unorderedList/index.d.ts +3 -0
  409. package/dist/field/features/migrations/slateToLexical/converter/converters/unorderedList/index.d.ts.map +1 -0
  410. package/dist/field/features/migrations/slateToLexical/converter/converters/unorderedList/index.js +8 -0
  411. package/dist/field/features/migrations/slateToLexical/converter/converters/upload/client.d.ts +6 -0
  412. package/dist/field/features/migrations/slateToLexical/converter/converters/upload/client.d.ts.map +1 -0
  413. package/dist/field/features/migrations/slateToLexical/converter/converters/upload/client.js +6 -0
  414. package/dist/field/features/migrations/slateToLexical/converter/converters/upload/converter.d.ts +3 -0
  415. package/dist/field/features/migrations/slateToLexical/converter/converters/upload/converter.d.ts.map +1 -0
  416. package/dist/field/features/migrations/slateToLexical/converter/converters/upload/converter.js +21 -0
  417. package/dist/field/features/migrations/slateToLexical/converter/converters/upload/index.d.ts +3 -0
  418. package/dist/field/features/migrations/slateToLexical/converter/converters/upload/index.d.ts.map +1 -0
  419. package/dist/field/features/migrations/slateToLexical/converter/converters/upload/index.js +8 -0
  420. package/dist/field/features/migrations/slateToLexical/converter/defaultConverters.d.ts +3 -0
  421. package/dist/field/features/migrations/slateToLexical/converter/defaultConverters.d.ts.map +1 -0
  422. package/dist/field/features/migrations/slateToLexical/converter/defaultConverters.js +24 -0
  423. package/dist/field/features/migrations/slateToLexical/converter/index.d.ts +19 -0
  424. package/dist/field/features/migrations/slateToLexical/converter/index.d.ts.map +1 -0
  425. package/dist/field/features/migrations/slateToLexical/converter/index.js +107 -0
  426. package/dist/field/features/migrations/slateToLexical/converter/types.d.ts +25 -0
  427. package/dist/field/features/migrations/slateToLexical/converter/types.d.ts.map +1 -0
  428. package/dist/field/features/migrations/slateToLexical/converter/types.js +3 -0
  429. package/dist/field/features/migrations/slateToLexical/feature.client.d.ts +3 -0
  430. package/dist/field/features/migrations/slateToLexical/feature.client.d.ts.map +1 -0
  431. package/dist/field/features/migrations/slateToLexical/feature.client.js +34 -0
  432. package/dist/field/features/migrations/slateToLexical/feature.server.d.ts +9 -0
  433. package/dist/field/features/migrations/slateToLexical/feature.server.d.ts.map +1 -0
  434. package/dist/field/features/migrations/slateToLexical/feature.server.js +47 -0
  435. package/dist/field/features/migrations/slateToLexical/nodes/unknownConvertedNode/Component.d.ts.map +1 -0
  436. package/dist/field/features/migrations/slateToLexical/nodes/unknownConvertedNode/Component.js +8 -0
  437. package/dist/field/features/migrations/slateToLexical/nodes/unknownConvertedNode/index.d.ts.map +1 -0
  438. package/dist/field/features/migrations/slateToLexical/nodes/unknownConvertedNode/index.js +69 -0
  439. package/dist/field/features/migrations/slateToLexical/nodes/unknownConvertedNode/index.scss +14 -0
  440. package/dist/field/features/paragraph/feature.client.d.ts +3 -0
  441. package/dist/field/features/paragraph/feature.client.d.ts.map +1 -0
  442. package/dist/field/features/paragraph/feature.client.js +63 -0
  443. package/dist/field/features/paragraph/feature.server.d.ts +3 -0
  444. package/dist/field/features/paragraph/feature.server.d.ts.map +1 -0
  445. package/dist/field/features/paragraph/feature.server.js +16 -0
  446. package/dist/field/features/relationship/drawer/commands.d.ts.map +1 -0
  447. package/dist/field/features/relationship/drawer/commands.js +4 -0
  448. package/dist/field/features/relationship/drawer/index.d.ts.map +1 -0
  449. package/dist/field/features/relationship/drawer/index.js +79 -0
  450. package/dist/field/features/relationship/feature.client.d.ts +4 -0
  451. package/dist/field/features/relationship/feature.client.d.ts.map +1 -0
  452. package/dist/field/features/relationship/feature.client.js +56 -0
  453. package/dist/field/features/relationship/feature.server.d.ts +18 -0
  454. package/dist/field/features/relationship/feature.server.d.ts.map +1 -0
  455. package/dist/field/features/relationship/feature.server.js +26 -0
  456. package/dist/field/features/relationship/nodes/RelationshipNode.d.ts.map +1 -0
  457. package/dist/field/features/relationship/nodes/RelationshipNode.js +110 -0
  458. package/dist/field/features/relationship/nodes/components/RelationshipComponent.d.ts.map +1 -0
  459. package/dist/field/features/relationship/nodes/components/RelationshipComponent.js +103 -0
  460. package/dist/field/features/relationship/nodes/components/index.scss +97 -0
  461. package/dist/field/features/relationship/plugins/index.d.ts +7 -0
  462. package/dist/field/features/relationship/plugins/index.d.ts.map +1 -0
  463. package/dist/field/features/relationship/plugins/index.js +49 -0
  464. package/dist/field/features/relationship/populationPromise.d.ts.map +1 -0
  465. package/dist/field/features/relationship/populationPromise.js +24 -0
  466. package/dist/field/features/relationship/utils/EnabledRelationshipsCondition.d.ts.map +1 -0
  467. package/dist/field/features/relationship/utils/EnabledRelationshipsCondition.js +33 -0
  468. package/dist/field/features/types.d.ts +139 -70
  469. package/dist/field/features/types.d.ts.map +1 -1
  470. package/dist/field/features/types.js +2 -5
  471. package/dist/field/features/upload/component/ExtraFieldsDrawer/index.d.ts.map +1 -0
  472. package/dist/field/features/upload/component/ExtraFieldsDrawer/index.js +110 -0
  473. package/dist/field/features/upload/component/index.d.ts.map +1 -0
  474. package/dist/field/features/upload/component/index.js +135 -0
  475. package/dist/field/features/upload/component/index.scss +152 -0
  476. package/dist/field/features/upload/drawer/commands.d.ts.map +1 -0
  477. package/dist/field/features/upload/drawer/commands.js +5 -0
  478. package/dist/field/features/upload/drawer/index.d.ts.map +1 -0
  479. package/dist/field/features/upload/drawer/index.js +76 -0
  480. package/dist/field/features/upload/feature.client.d.ts +10 -0
  481. package/dist/field/features/upload/feature.client.d.ts.map +1 -0
  482. package/dist/field/features/upload/feature.client.js +55 -0
  483. package/dist/field/features/upload/feature.server.d.ts +12 -0
  484. package/dist/field/features/upload/feature.server.d.ts.map +1 -0
  485. package/dist/field/features/upload/feature.server.js +103 -0
  486. package/dist/field/features/upload/nodes/UploadNode.d.ts +47 -0
  487. package/dist/field/features/upload/nodes/UploadNode.d.ts.map +1 -0
  488. package/dist/field/features/upload/nodes/UploadNode.js +98 -0
  489. package/dist/field/features/upload/plugin/index.d.ts.map +1 -0
  490. package/dist/field/features/upload/plugin/index.js +52 -0
  491. package/dist/field/features/upload/populationPromise.d.ts +5 -0
  492. package/dist/field/features/upload/populationPromise.d.ts.map +1 -0
  493. package/dist/field/features/upload/populationPromise.js +46 -0
  494. package/dist/field/features/upload/validate.d.ts.map +1 -0
  495. package/dist/field/features/upload/validate.js +19 -0
  496. package/dist/field/index.d.ts +7 -2
  497. package/dist/field/index.d.ts.map +1 -1
  498. package/dist/field/index.js +78 -57
  499. package/dist/field/index.scss +2 -2
  500. package/dist/field/lexical/EditorPlugin.d.ts.map +1 -1
  501. package/dist/field/lexical/EditorPlugin.js +6 -65
  502. package/dist/field/lexical/LexicalEditor.js +39 -94
  503. package/dist/field/lexical/LexicalEditor.scss +1 -3
  504. package/dist/field/lexical/LexicalProvider.d.ts +8 -4
  505. package/dist/field/lexical/LexicalProvider.d.ts.map +1 -1
  506. package/dist/field/lexical/LexicalProvider.js +30 -83
  507. package/dist/field/lexical/config/client/EditorConfigProvider.d.ts +24 -0
  508. package/dist/field/lexical/config/client/EditorConfigProvider.d.ts.map +1 -0
  509. package/dist/field/lexical/config/client/EditorConfigProvider.js +41 -0
  510. package/dist/field/lexical/config/client/default.d.ts +3 -0
  511. package/dist/field/lexical/config/client/default.d.ts.map +1 -0
  512. package/dist/field/lexical/config/client/default.js +8 -0
  513. package/dist/field/lexical/config/client/loader.d.ts +11 -0
  514. package/dist/field/lexical/config/client/loader.d.ts.map +1 -0
  515. package/dist/field/lexical/config/client/loader.js +46 -0
  516. package/dist/field/lexical/config/client/sanitize.d.ts +6 -0
  517. package/dist/field/lexical/config/client/sanitize.d.ts.map +1 -0
  518. package/dist/field/lexical/config/client/sanitize.js +126 -0
  519. package/dist/field/lexical/config/server/default.d.ts +8 -0
  520. package/dist/field/lexical/config/server/default.d.ts.map +1 -0
  521. package/dist/field/lexical/config/server/default.js +51 -0
  522. package/dist/field/lexical/config/server/loader.d.ts +7 -0
  523. package/dist/field/lexical/config/server/loader.d.ts.map +1 -0
  524. package/dist/field/lexical/config/server/loader.js +118 -0
  525. package/dist/field/lexical/config/server/sanitize.d.ts +5 -0
  526. package/dist/field/lexical/config/server/sanitize.d.ts.map +1 -0
  527. package/dist/field/lexical/config/server/sanitize.js +65 -0
  528. package/dist/field/lexical/config/types.d.ts +18 -9
  529. package/dist/field/lexical/config/types.d.ts.map +1 -1
  530. package/dist/field/lexical/config/types.js +2 -5
  531. package/dist/field/lexical/nodes/index.d.ts +2 -2
  532. package/dist/field/lexical/nodes/index.d.ts.map +1 -1
  533. package/dist/field/lexical/nodes/index.js +8 -13
  534. package/dist/field/lexical/plugins/FloatingSelectToolbar/ToolbarButton/index.js +19 -70
  535. package/dist/field/lexical/plugins/FloatingSelectToolbar/ToolbarButton/index.scss +0 -2
  536. package/dist/field/lexical/plugins/FloatingSelectToolbar/ToolbarDropdown/DropDown.d.ts +3 -3
  537. package/dist/field/lexical/plugins/FloatingSelectToolbar/ToolbarDropdown/DropDown.d.ts.map +1 -1
  538. package/dist/field/lexical/plugins/FloatingSelectToolbar/ToolbarDropdown/DropDown.js +40 -98
  539. package/dist/field/lexical/plugins/FloatingSelectToolbar/ToolbarDropdown/index.d.ts.map +1 -1
  540. package/dist/field/lexical/plugins/FloatingSelectToolbar/ToolbarDropdown/index.js +12 -85
  541. package/dist/field/lexical/plugins/FloatingSelectToolbar/ToolbarDropdown/index.scss +1 -1
  542. package/dist/field/lexical/plugins/FloatingSelectToolbar/index.d.ts.map +1 -1
  543. package/dist/field/lexical/plugins/FloatingSelectToolbar/index.js +57 -127
  544. package/dist/field/lexical/plugins/FloatingSelectToolbar/index.scss +1 -1
  545. package/dist/field/lexical/plugins/FloatingSelectToolbar/types.d.ts +4 -4
  546. package/dist/field/lexical/plugins/FloatingSelectToolbar/types.d.ts.map +1 -1
  547. package/dist/field/lexical/plugins/FloatingSelectToolbar/types.js +2 -5
  548. package/dist/field/lexical/plugins/MarkdownShortcut/index.js +7 -58
  549. package/dist/field/lexical/plugins/SlashMenu/LexicalTypeaheadMenuPlugin/LexicalMenu.js +39 -64
  550. package/dist/field/lexical/plugins/SlashMenu/LexicalTypeaheadMenuPlugin/index.d.ts +2 -2
  551. package/dist/field/lexical/plugins/SlashMenu/LexicalTypeaheadMenuPlugin/index.d.ts.map +1 -1
  552. package/dist/field/lexical/plugins/SlashMenu/LexicalTypeaheadMenuPlugin/index.js +32 -104
  553. package/dist/field/lexical/plugins/SlashMenu/LexicalTypeaheadMenuPlugin/types.d.ts +6 -6
  554. package/dist/field/lexical/plugins/SlashMenu/LexicalTypeaheadMenuPlugin/types.d.ts.map +1 -1
  555. package/dist/field/lexical/plugins/SlashMenu/LexicalTypeaheadMenuPlugin/types.js +3 -21
  556. package/dist/field/lexical/plugins/SlashMenu/index.d.ts.map +1 -1
  557. package/dist/field/lexical/plugins/SlashMenu/index.js +27 -84
  558. package/dist/field/lexical/plugins/SlashMenu/index.scss +1 -1
  559. package/dist/field/lexical/plugins/SlashMenu/useMenuTriggerMatch.js +8 -16
  560. package/dist/field/lexical/plugins/handles/AddBlockHandlePlugin/index.js +35 -84
  561. package/dist/field/lexical/plugins/handles/AddBlockHandlePlugin/index.scss +0 -2
  562. package/dist/field/lexical/plugins/handles/DraggableBlockPlugin/debounce.js +2 -12
  563. package/dist/field/lexical/plugins/handles/DraggableBlockPlugin/getBoundingRectWithoutTransform.js +2 -12
  564. package/dist/field/lexical/plugins/handles/DraggableBlockPlugin/getNodeCloseToPoint.js +18 -28
  565. package/dist/field/lexical/plugins/handles/DraggableBlockPlugin/highlightElemOriginalPosition.js +4 -14
  566. package/dist/field/lexical/plugins/handles/DraggableBlockPlugin/index.js +52 -102
  567. package/dist/field/lexical/plugins/handles/DraggableBlockPlugin/index.scss +0 -2
  568. package/dist/field/lexical/plugins/handles/DraggableBlockPlugin/setTargetLine.js +8 -18
  569. package/dist/field/lexical/plugins/handles/utils/getCollapsedMargins.js +2 -12
  570. package/dist/field/lexical/plugins/handles/utils/getTopLevelNodeKeys.js +4 -14
  571. package/dist/field/lexical/plugins/handles/utils/isOnHandleElement.js +2 -12
  572. package/dist/field/lexical/plugins/handles/utils/setHandlePosition.js +2 -12
  573. package/dist/field/lexical/theme/EditorTheme.js +3 -13
  574. package/dist/field/lexical/theme/EditorTheme.scss +0 -2
  575. package/dist/field/lexical/ui/ContentEditable.js +6 -57
  576. package/dist/field/lexical/ui/icons/AI/index.js +7 -22
  577. package/dist/field/lexical/ui/icons/AlignCenter/index.js +6 -21
  578. package/dist/field/lexical/ui/icons/AlignJustify/index.js +6 -21
  579. package/dist/field/lexical/ui/icons/AlignLeft/index.js +6 -21
  580. package/dist/field/lexical/ui/icons/AlignRight/index.js +6 -21
  581. package/dist/field/lexical/ui/icons/Block/index.js +6 -21
  582. package/dist/field/lexical/ui/icons/Blockquote/index.js +4 -19
  583. package/dist/field/lexical/ui/icons/Bold/index.js +4 -19
  584. package/dist/field/lexical/ui/icons/Checklist/index.js +5 -20
  585. package/dist/field/lexical/ui/icons/Code/index.js +5 -20
  586. package/dist/field/lexical/ui/icons/CodeBlock/index.js +5 -20
  587. package/dist/field/lexical/ui/icons/H1/index.js +4 -19
  588. package/dist/field/lexical/ui/icons/H2/index.js +4 -19
  589. package/dist/field/lexical/ui/icons/H3/index.js +4 -19
  590. package/dist/field/lexical/ui/icons/H4/index.js +4 -19
  591. package/dist/field/lexical/ui/icons/H5/index.js +4 -19
  592. package/dist/field/lexical/ui/icons/H6/index.js +4 -19
  593. package/dist/field/lexical/ui/icons/IndentDecrease/index.js +7 -22
  594. package/dist/field/lexical/ui/icons/IndentIncrease/index.js +7 -22
  595. package/dist/field/lexical/ui/icons/Italic/index.js +4 -19
  596. package/dist/field/lexical/ui/icons/Link/index.js +7 -22
  597. package/dist/field/lexical/ui/icons/OrderedList/index.js +8 -23
  598. package/dist/field/lexical/ui/icons/Relationship/index.js +7 -22
  599. package/dist/field/lexical/ui/icons/Strikethrough/index.js +5 -20
  600. package/dist/field/lexical/ui/icons/Subscript/index.js +4 -19
  601. package/dist/field/lexical/ui/icons/Superscript/index.js +4 -19
  602. package/dist/field/lexical/ui/icons/Text/index.js +4 -19
  603. package/dist/field/lexical/ui/icons/Underline/index.js +5 -20
  604. package/dist/field/lexical/ui/icons/UnorderedList/index.js +9 -24
  605. package/dist/field/lexical/ui/icons/Upload/index.js +6 -21
  606. package/dist/field/lexical/utils/canUseDOM.js +2 -12
  607. package/dist/field/lexical/utils/cloneDeep.js +2 -12
  608. package/dist/field/lexical/utils/environment.js +13 -51
  609. package/dist/field/lexical/utils/getDOMRangeRect.js +2 -12
  610. package/dist/field/lexical/utils/getSelectedNode.js +5 -15
  611. package/dist/field/lexical/utils/guard.js +2 -12
  612. package/dist/field/lexical/utils/invariant.js +2 -12
  613. package/dist/field/lexical/utils/joinClasses.js +2 -12
  614. package/dist/field/lexical/utils/markdown/createBlockNode.js +2 -12
  615. package/dist/field/lexical/utils/nodeFormat.js +17 -61
  616. package/dist/field/lexical/utils/point.js +3 -21
  617. package/dist/field/lexical/utils/rect.js +4 -14
  618. package/dist/field/lexical/utils/setFloatingElemPosition.js +5 -12
  619. package/dist/field/lexical/utils/setFloatingElemPositionForLinkEditor.js +2 -12
  620. package/dist/field/lexical/utils/swipe.js +5 -29
  621. package/dist/field/lexical/utils/url.js +3 -21
  622. package/dist/generateComponentMap.d.ts +6 -0
  623. package/dist/generateComponentMap.d.ts.map +1 -0
  624. package/dist/generateComponentMap.js +77 -0
  625. package/dist/generateSchemaMap.d.ts +6 -0
  626. package/dist/generateSchemaMap.d.ts.map +1 -0
  627. package/dist/generateSchemaMap.js +27 -0
  628. package/dist/index.d.ts +59 -56
  629. package/dist/index.d.ts.map +1 -1
  630. package/dist/index.js +130 -488
  631. package/dist/populate/defaultValue.js +8 -26
  632. package/dist/populate/populate.js +2 -12
  633. package/dist/populate/recurseNestedFields.d.ts.map +1 -1
  634. package/dist/populate/recurseNestedFields.js +6 -14
  635. package/dist/populate/richTextRelationshipPromise.js +4 -22
  636. package/dist/scss/app.scss +209 -0
  637. package/dist/scss/colors.scss +269 -0
  638. package/dist/scss/custom.css +1 -0
  639. package/dist/scss/fonts.scss +75 -0
  640. package/dist/scss/queries.scss +27 -0
  641. package/dist/scss/resets.scss +17 -0
  642. package/dist/scss/styles.scss +11 -0
  643. package/dist/scss/svg.scss +10 -0
  644. package/dist/scss/toastify.scss +58 -0
  645. package/dist/scss/type.scss +117 -0
  646. package/dist/scss/vars.scss +220 -0
  647. package/dist/scss/z-index.scss +9 -0
  648. package/dist/types.d.ts +8 -2
  649. package/dist/types.d.ts.map +1 -1
  650. package/dist/types.js +2 -5
  651. package/dist/useLexicalFeature.d.ts +3 -0
  652. package/dist/useLexicalFeature.d.ts.map +1 -0
  653. package/dist/useLexicalFeature.js +9 -0
  654. package/dist/validate/index.d.ts +4 -4
  655. package/dist/validate/index.d.ts.map +1 -1
  656. package/dist/validate/index.js +7 -18
  657. package/dist/validate/validateNodes.d.ts +2 -4
  658. package/dist/validate/validateNodes.d.ts.map +1 -1
  659. package/dist/validate/validateNodes.js +2 -14
  660. package/package.json +13 -7
  661. package/dist/field/features/BlockQuote/index.d.ts +0 -3
  662. package/dist/field/features/BlockQuote/index.d.ts.map +0 -1
  663. package/dist/field/features/BlockQuote/index.js +0 -140
  664. package/dist/field/features/BlockQuote/markdownTransformer.d.ts.map +0 -1
  665. package/dist/field/features/BlockQuote/markdownTransformer.js +0 -50
  666. package/dist/field/features/Blocks/component/BlockContent.d.ts +0 -20
  667. package/dist/field/features/Blocks/component/BlockContent.d.ts.map +0 -1
  668. package/dist/field/features/Blocks/component/BlockContent.js +0 -220
  669. package/dist/field/features/Blocks/component/FormSavePlugin.d.ts +0 -11
  670. package/dist/field/features/Blocks/component/FormSavePlugin.d.ts.map +0 -1
  671. package/dist/field/features/Blocks/component/FormSavePlugin.js +0 -34
  672. package/dist/field/features/Blocks/component/index.d.ts +0 -15
  673. package/dist/field/features/Blocks/component/index.d.ts.map +0 -1
  674. package/dist/field/features/Blocks/component/index.js +0 -150
  675. package/dist/field/features/Blocks/component/index.scss +0 -153
  676. package/dist/field/features/Blocks/drawer/index.d.ts.map +0 -1
  677. package/dist/field/features/Blocks/drawer/index.js +0 -140
  678. package/dist/field/features/Blocks/index.d.ts +0 -7
  679. package/dist/field/features/Blocks/index.d.ts.map +0 -1
  680. package/dist/field/features/Blocks/index.js +0 -147
  681. package/dist/field/features/Blocks/nodes/BlocksNode.d.ts.map +0 -1
  682. package/dist/field/features/Blocks/nodes/BlocksNode.js +0 -173
  683. package/dist/field/features/Blocks/plugin/commands.d.ts.map +0 -1
  684. package/dist/field/features/Blocks/plugin/commands.js +0 -14
  685. package/dist/field/features/Blocks/plugin/index.d.ts +0 -5
  686. package/dist/field/features/Blocks/plugin/index.d.ts.map +0 -1
  687. package/dist/field/features/Blocks/plugin/index.js +0 -91
  688. package/dist/field/features/Blocks/populationPromise.d.ts +0 -5
  689. package/dist/field/features/Blocks/populationPromise.d.ts.map +0 -1
  690. package/dist/field/features/Blocks/populationPromise.js +0 -55
  691. package/dist/field/features/Blocks/utils/transformInputFormData.d.ts +0 -11
  692. package/dist/field/features/Blocks/utils/transformInputFormData.d.ts.map +0 -1
  693. package/dist/field/features/Blocks/utils/transformInputFormData.js +0 -35
  694. package/dist/field/features/Blocks/utils/transformInputFormSchema.d.ts +0 -3
  695. package/dist/field/features/Blocks/utils/transformInputFormSchema.d.ts.map +0 -1
  696. package/dist/field/features/Blocks/utils/transformInputFormSchema.js +0 -43
  697. package/dist/field/features/Blocks/validate.d.ts +0 -5
  698. package/dist/field/features/Blocks/validate.d.ts.map +0 -1
  699. package/dist/field/features/Blocks/validate.js +0 -62
  700. package/dist/field/features/Heading/index.d.ts +0 -8
  701. package/dist/field/features/Heading/index.d.ts.map +0 -1
  702. package/dist/field/features/Heading/index.js +0 -164
  703. package/dist/field/features/Heading/markdownTransformer.d.ts.map +0 -1
  704. package/dist/field/features/Heading/markdownTransformer.js +0 -39
  705. package/dist/field/features/Link/drawer/baseFields.d.ts.map +0 -1
  706. package/dist/field/features/Link/drawer/baseFields.js +0 -128
  707. package/dist/field/features/Link/drawer/index.d.ts.map +0 -1
  708. package/dist/field/features/Link/drawer/index.js +0 -40
  709. package/dist/field/features/Link/drawer/index.scss +0 -50
  710. package/dist/field/features/Link/drawer/types.d.ts +0 -8
  711. package/dist/field/features/Link/drawer/types.d.ts.map +0 -1
  712. package/dist/field/features/Link/drawer/types.js +0 -6
  713. package/dist/field/features/Link/index.d.ts +0 -33
  714. package/dist/field/features/Link/index.d.ts.map +0 -1
  715. package/dist/field/features/Link/index.js +0 -201
  716. package/dist/field/features/Link/nodes/AutoLinkNode.d.ts +0 -16
  717. package/dist/field/features/Link/nodes/AutoLinkNode.d.ts.map +0 -1
  718. package/dist/field/features/Link/nodes/AutoLinkNode.js +0 -79
  719. package/dist/field/features/Link/nodes/LinkNode.d.ts +0 -50
  720. package/dist/field/features/Link/nodes/LinkNode.d.ts.map +0 -1
  721. package/dist/field/features/Link/nodes/LinkNode.js +0 -326
  722. package/dist/field/features/Link/plugins/autoLink/index.d.ts +0 -19
  723. package/dist/field/features/Link/plugins/autoLink/index.d.ts.map +0 -1
  724. package/dist/field/features/Link/plugins/autoLink/index.js +0 -336
  725. package/dist/field/features/Link/plugins/clickableLink/index.d.ts.map +0 -1
  726. package/dist/field/features/Link/plugins/clickableLink/index.js +0 -23
  727. package/dist/field/features/Link/plugins/floatingLinkEditor/LinkEditor/commands.d.ts.map +0 -1
  728. package/dist/field/features/Link/plugins/floatingLinkEditor/LinkEditor/commands.js +0 -14
  729. package/dist/field/features/Link/plugins/floatingLinkEditor/LinkEditor/index.d.ts +0 -6
  730. package/dist/field/features/Link/plugins/floatingLinkEditor/LinkEditor/index.d.ts.map +0 -1
  731. package/dist/field/features/Link/plugins/floatingLinkEditor/LinkEditor/index.js +0 -336
  732. package/dist/field/features/Link/plugins/floatingLinkEditor/index.d.ts +0 -7
  733. package/dist/field/features/Link/plugins/floatingLinkEditor/index.d.ts.map +0 -1
  734. package/dist/field/features/Link/plugins/floatingLinkEditor/index.js +0 -65
  735. package/dist/field/features/Link/plugins/floatingLinkEditor/index.scss +0 -78
  736. package/dist/field/features/Link/plugins/floatingLinkEditor/types.d.ts +0 -13
  737. package/dist/field/features/Link/plugins/floatingLinkEditor/types.d.ts.map +0 -1
  738. package/dist/field/features/Link/plugins/floatingLinkEditor/types.js +0 -6
  739. package/dist/field/features/Link/plugins/floatingLinkEditor/utilities.d.ts +0 -12
  740. package/dist/field/features/Link/plugins/floatingLinkEditor/utilities.d.ts.map +0 -1
  741. package/dist/field/features/Link/plugins/floatingLinkEditor/utilities.js +0 -45
  742. package/dist/field/features/Link/plugins/link/index.d.ts.map +0 -1
  743. package/dist/field/features/Link/plugins/link/index.js +0 -69
  744. package/dist/field/features/Link/populationPromise.d.ts +0 -5
  745. package/dist/field/features/Link/populationPromise.d.ts.map +0 -1
  746. package/dist/field/features/Link/populationPromise.js +0 -56
  747. package/dist/field/features/Paragraph/index.d.ts +0 -3
  748. package/dist/field/features/Paragraph/index.d.ts.map +0 -1
  749. package/dist/field/features/Paragraph/index.js +0 -114
  750. package/dist/field/features/Relationship/drawer/commands.d.ts.map +0 -1
  751. package/dist/field/features/Relationship/drawer/commands.js +0 -14
  752. package/dist/field/features/Relationship/drawer/index.d.ts.map +0 -1
  753. package/dist/field/features/Relationship/drawer/index.js +0 -130
  754. package/dist/field/features/Relationship/index.d.ts +0 -18
  755. package/dist/field/features/Relationship/index.d.ts.map +0 -1
  756. package/dist/field/features/Relationship/index.js +0 -115
  757. package/dist/field/features/Relationship/nodes/RelationshipNode.d.ts.map +0 -1
  758. package/dist/field/features/Relationship/nodes/RelationshipNode.js +0 -172
  759. package/dist/field/features/Relationship/nodes/components/RelationshipComponent.d.ts.map +0 -1
  760. package/dist/field/features/Relationship/nodes/components/RelationshipComponent.js +0 -161
  761. package/dist/field/features/Relationship/nodes/components/index.scss +0 -97
  762. package/dist/field/features/Relationship/plugins/index.d.ts +0 -7
  763. package/dist/field/features/Relationship/plugins/index.d.ts.map +0 -1
  764. package/dist/field/features/Relationship/plugins/index.js +0 -107
  765. package/dist/field/features/Relationship/populationPromise.d.ts.map +0 -1
  766. package/dist/field/features/Relationship/populationPromise.js +0 -34
  767. package/dist/field/features/Relationship/utils/EnabledRelationshipsCondition.d.ts.map +0 -1
  768. package/dist/field/features/Relationship/utils/EnabledRelationshipsCondition.js +0 -84
  769. package/dist/field/features/Upload/component/ExtraFieldsDrawer/index.d.ts.map +0 -1
  770. package/dist/field/features/Upload/component/ExtraFieldsDrawer/index.js +0 -148
  771. package/dist/field/features/Upload/component/index.d.ts.map +0 -1
  772. package/dist/field/features/Upload/component/index.js +0 -191
  773. package/dist/field/features/Upload/component/index.scss +0 -152
  774. package/dist/field/features/Upload/drawer/commands.d.ts.map +0 -1
  775. package/dist/field/features/Upload/drawer/commands.js +0 -14
  776. package/dist/field/features/Upload/drawer/index.d.ts.map +0 -1
  777. package/dist/field/features/Upload/drawer/index.js +0 -127
  778. package/dist/field/features/Upload/index.d.ts +0 -11
  779. package/dist/field/features/Upload/index.d.ts.map +0 -1
  780. package/dist/field/features/Upload/index.js +0 -168
  781. package/dist/field/features/Upload/nodes/UploadNode.d.ts +0 -47
  782. package/dist/field/features/Upload/nodes/UploadNode.d.ts.map +0 -1
  783. package/dist/field/features/Upload/nodes/UploadNode.js +0 -160
  784. package/dist/field/features/Upload/plugin/index.d.ts.map +0 -1
  785. package/dist/field/features/Upload/plugin/index.js +0 -111
  786. package/dist/field/features/Upload/populationPromise.d.ts +0 -5
  787. package/dist/field/features/Upload/populationPromise.d.ts.map +0 -1
  788. package/dist/field/features/Upload/populationPromise.js +0 -56
  789. package/dist/field/features/Upload/validate.d.ts.map +0 -1
  790. package/dist/field/features/Upload/validate.js +0 -29
  791. package/dist/field/features/align/index.d.ts +0 -3
  792. package/dist/field/features/align/index.d.ts.map +0 -1
  793. package/dist/field/features/align/index.js +0 -121
  794. package/dist/field/features/converters/html/index.d.ts +0 -13
  795. package/dist/field/features/converters/html/index.d.ts.map +0 -1
  796. package/dist/field/features/converters/html/index.js +0 -25
  797. package/dist/field/features/debug/TestRecorder/index.d.ts +0 -3
  798. package/dist/field/features/debug/TestRecorder/index.d.ts.map +0 -1
  799. package/dist/field/features/debug/TestRecorder/index.js +0 -70
  800. package/dist/field/features/debug/TestRecorder/plugin/index.d.ts.map +0 -1
  801. package/dist/field/features/debug/TestRecorder/plugin/index.js +0 -500
  802. package/dist/field/features/debug/TestRecorder/plugin/index.scss +0 -51
  803. package/dist/field/features/debug/TreeView/index.d.ts +0 -3
  804. package/dist/field/features/debug/TreeView/index.d.ts.map +0 -1
  805. package/dist/field/features/debug/TreeView/index.js +0 -70
  806. package/dist/field/features/debug/TreeView/plugin.d.ts +0 -4
  807. package/dist/field/features/debug/TreeView/plugin.d.ts.map +0 -1
  808. package/dist/field/features/debug/TreeView/plugin.js +0 -70
  809. package/dist/field/features/format/Bold/index.d.ts +0 -3
  810. package/dist/field/features/format/Bold/index.d.ts.map +0 -1
  811. package/dist/field/features/format/Bold/index.js +0 -98
  812. package/dist/field/features/format/Bold/markdownTransformers.d.ts.map +0 -1
  813. package/dist/field/features/format/Bold/markdownTransformers.js +0 -58
  814. package/dist/field/features/format/InlineCode/index.d.ts +0 -3
  815. package/dist/field/features/format/InlineCode/index.d.ts.map +0 -1
  816. package/dist/field/features/format/InlineCode/index.js +0 -90
  817. package/dist/field/features/format/InlineCode/markdownTransformers.d.ts.map +0 -1
  818. package/dist/field/features/format/InlineCode/markdownTransformers.js +0 -19
  819. package/dist/field/features/format/Italic/index.d.ts +0 -3
  820. package/dist/field/features/format/Italic/index.d.ts.map +0 -1
  821. package/dist/field/features/format/Italic/index.js +0 -91
  822. package/dist/field/features/format/Italic/markdownTransformers.d.ts.map +0 -1
  823. package/dist/field/features/format/Italic/markdownTransformers.js +0 -35
  824. package/dist/field/features/format/strikethrough/index.d.ts +0 -3
  825. package/dist/field/features/format/strikethrough/index.d.ts.map +0 -1
  826. package/dist/field/features/format/strikethrough/index.js +0 -90
  827. package/dist/field/features/format/subscript/index.d.ts +0 -3
  828. package/dist/field/features/format/subscript/index.d.ts.map +0 -1
  829. package/dist/field/features/format/subscript/index.js +0 -86
  830. package/dist/field/features/format/superscript/index.d.ts +0 -3
  831. package/dist/field/features/format/superscript/index.d.ts.map +0 -1
  832. package/dist/field/features/format/superscript/index.js +0 -86
  833. package/dist/field/features/format/underline/index.d.ts +0 -3
  834. package/dist/field/features/format/underline/index.d.ts.map +0 -1
  835. package/dist/field/features/format/underline/index.js +0 -86
  836. package/dist/field/features/indent/index.d.ts +0 -3
  837. package/dist/field/features/indent/index.d.ts.map +0 -1
  838. package/dist/field/features/indent/index.js +0 -114
  839. package/dist/field/features/indent/plugin.d.ts +0 -3
  840. package/dist/field/features/indent/plugin.d.ts.map +0 -1
  841. package/dist/field/features/indent/plugin.js +0 -17
  842. package/dist/field/features/lists/CheckList/index.d.ts +0 -3
  843. package/dist/field/features/lists/CheckList/index.d.ts.map +0 -1
  844. package/dist/field/features/lists/CheckList/index.js +0 -135
  845. package/dist/field/features/lists/CheckList/markdownTransformers.d.ts.map +0 -1
  846. package/dist/field/features/lists/CheckList/markdownTransformers.js +0 -26
  847. package/dist/field/features/lists/CheckList/plugin/index.d.ts.map +0 -1
  848. package/dist/field/features/lists/CheckList/plugin/index.js +0 -23
  849. package/dist/field/features/lists/OrderedList/index.d.ts +0 -3
  850. package/dist/field/features/lists/OrderedList/index.d.ts.map +0 -1
  851. package/dist/field/features/lists/OrderedList/index.js +0 -133
  852. package/dist/field/features/lists/OrderedList/markdownTransformer.d.ts.map +0 -1
  853. package/dist/field/features/lists/OrderedList/markdownTransformer.js +0 -26
  854. package/dist/field/features/lists/UnorderedList/index.d.ts +0 -3
  855. package/dist/field/features/lists/UnorderedList/index.d.ts.map +0 -1
  856. package/dist/field/features/lists/UnorderedList/index.js +0 -133
  857. package/dist/field/features/lists/UnorderedList/markdownTransformer.d.ts.map +0 -1
  858. package/dist/field/features/lists/UnorderedList/markdownTransformer.js +0 -26
  859. package/dist/field/features/migrations/LexicalPluginToLexical/converter/converters/heading.d.ts +0 -3
  860. package/dist/field/features/migrations/LexicalPluginToLexical/converter/converters/heading.d.ts.map +0 -1
  861. package/dist/field/features/migrations/LexicalPluginToLexical/converter/converters/heading.js +0 -30
  862. package/dist/field/features/migrations/LexicalPluginToLexical/converter/converters/link.d.ts +0 -3
  863. package/dist/field/features/migrations/LexicalPluginToLexical/converter/converters/link.d.ts.map +0 -1
  864. package/dist/field/features/migrations/LexicalPluginToLexical/converter/converters/link.js +0 -41
  865. package/dist/field/features/migrations/LexicalPluginToLexical/converter/converters/list.d.ts +0 -3
  866. package/dist/field/features/migrations/LexicalPluginToLexical/converter/converters/list.d.ts.map +0 -1
  867. package/dist/field/features/migrations/LexicalPluginToLexical/converter/converters/list.js +0 -32
  868. package/dist/field/features/migrations/LexicalPluginToLexical/converter/converters/listItem.d.ts +0 -3
  869. package/dist/field/features/migrations/LexicalPluginToLexical/converter/converters/listItem.d.ts.map +0 -1
  870. package/dist/field/features/migrations/LexicalPluginToLexical/converter/converters/listItem.js +0 -32
  871. package/dist/field/features/migrations/LexicalPluginToLexical/converter/converters/quote.d.ts +0 -3
  872. package/dist/field/features/migrations/LexicalPluginToLexical/converter/converters/quote.d.ts.map +0 -1
  873. package/dist/field/features/migrations/LexicalPluginToLexical/converter/converters/quote.js +0 -30
  874. package/dist/field/features/migrations/LexicalPluginToLexical/converter/converters/unknown.d.ts +0 -3
  875. package/dist/field/features/migrations/LexicalPluginToLexical/converter/converters/unknown.d.ts.map +0 -1
  876. package/dist/field/features/migrations/LexicalPluginToLexical/converter/converters/unknown.js +0 -36
  877. package/dist/field/features/migrations/LexicalPluginToLexical/converter/converters/upload.d.ts +0 -3
  878. package/dist/field/features/migrations/LexicalPluginToLexical/converter/converters/upload.d.ts.map +0 -1
  879. package/dist/field/features/migrations/LexicalPluginToLexical/converter/converters/upload.js +0 -35
  880. package/dist/field/features/migrations/LexicalPluginToLexical/converter/defaultConverters.d.ts +0 -3
  881. package/dist/field/features/migrations/LexicalPluginToLexical/converter/defaultConverters.d.ts.map +0 -1
  882. package/dist/field/features/migrations/LexicalPluginToLexical/converter/defaultConverters.js +0 -28
  883. package/dist/field/features/migrations/LexicalPluginToLexical/converter/index.d.ts +0 -18
  884. package/dist/field/features/migrations/LexicalPluginToLexical/converter/index.d.ts.map +0 -1
  885. package/dist/field/features/migrations/LexicalPluginToLexical/converter/index.js +0 -90
  886. package/dist/field/features/migrations/LexicalPluginToLexical/converter/types.d.ts +0 -20
  887. package/dist/field/features/migrations/LexicalPluginToLexical/converter/types.d.ts.map +0 -1
  888. package/dist/field/features/migrations/LexicalPluginToLexical/converter/types.js +0 -6
  889. package/dist/field/features/migrations/LexicalPluginToLexical/index.d.ts +0 -10
  890. package/dist/field/features/migrations/LexicalPluginToLexical/index.d.ts.map +0 -1
  891. package/dist/field/features/migrations/LexicalPluginToLexical/index.js +0 -50
  892. package/dist/field/features/migrations/LexicalPluginToLexical/nodes/unknownConvertedNode/Component.d.ts.map +0 -1
  893. package/dist/field/features/migrations/LexicalPluginToLexical/nodes/unknownConvertedNode/Component.js +0 -23
  894. package/dist/field/features/migrations/LexicalPluginToLexical/nodes/unknownConvertedNode/index.d.ts.map +0 -1
  895. package/dist/field/features/migrations/LexicalPluginToLexical/nodes/unknownConvertedNode/index.js +0 -131
  896. package/dist/field/features/migrations/LexicalPluginToLexical/nodes/unknownConvertedNode/index.scss +0 -16
  897. package/dist/field/features/migrations/SlateToLexical/converter/converters/blockquote.d.ts +0 -3
  898. package/dist/field/features/migrations/SlateToLexical/converter/converters/blockquote.d.ts.map +0 -1
  899. package/dist/field/features/migrations/SlateToLexical/converter/converters/blockquote.js +0 -33
  900. package/dist/field/features/migrations/SlateToLexical/converter/converters/heading.d.ts +0 -3
  901. package/dist/field/features/migrations/SlateToLexical/converter/converters/heading.d.ts.map +0 -1
  902. package/dist/field/features/migrations/SlateToLexical/converter/converters/heading.js +0 -39
  903. package/dist/field/features/migrations/SlateToLexical/converter/converters/indent.d.ts +0 -3
  904. package/dist/field/features/migrations/SlateToLexical/converter/converters/indent.d.ts.map +0 -1
  905. package/dist/field/features/migrations/SlateToLexical/converter/converters/indent.js +0 -57
  906. package/dist/field/features/migrations/SlateToLexical/converter/converters/link.d.ts +0 -3
  907. package/dist/field/features/migrations/SlateToLexical/converter/converters/link.d.ts.map +0 -1
  908. package/dist/field/features/migrations/SlateToLexical/converter/converters/link.js +0 -40
  909. package/dist/field/features/migrations/SlateToLexical/converter/converters/listItem.d.ts +0 -3
  910. package/dist/field/features/migrations/SlateToLexical/converter/converters/listItem.d.ts.map +0 -1
  911. package/dist/field/features/migrations/SlateToLexical/converter/converters/listItem.js +0 -35
  912. package/dist/field/features/migrations/SlateToLexical/converter/converters/orderedList.d.ts +0 -3
  913. package/dist/field/features/migrations/SlateToLexical/converter/converters/orderedList.d.ts.map +0 -1
  914. package/dist/field/features/migrations/SlateToLexical/converter/converters/orderedList.js +0 -36
  915. package/dist/field/features/migrations/SlateToLexical/converter/converters/relationship.d.ts +0 -3
  916. package/dist/field/features/migrations/SlateToLexical/converter/converters/relationship.d.ts.map +0 -1
  917. package/dist/field/features/migrations/SlateToLexical/converter/converters/relationship.js +0 -28
  918. package/dist/field/features/migrations/SlateToLexical/converter/converters/unknown.d.ts +0 -3
  919. package/dist/field/features/migrations/SlateToLexical/converter/converters/unknown.d.ts.map +0 -1
  920. package/dist/field/features/migrations/SlateToLexical/converter/converters/unknown.js +0 -37
  921. package/dist/field/features/migrations/SlateToLexical/converter/converters/unorderedList.d.ts +0 -3
  922. package/dist/field/features/migrations/SlateToLexical/converter/converters/unorderedList.d.ts.map +0 -1
  923. package/dist/field/features/migrations/SlateToLexical/converter/converters/unorderedList.js +0 -36
  924. package/dist/field/features/migrations/SlateToLexical/converter/converters/upload.d.ts +0 -3
  925. package/dist/field/features/migrations/SlateToLexical/converter/converters/upload.d.ts.map +0 -1
  926. package/dist/field/features/migrations/SlateToLexical/converter/converters/upload.js +0 -31
  927. package/dist/field/features/migrations/SlateToLexical/converter/defaultConverters.d.ts +0 -3
  928. package/dist/field/features/migrations/SlateToLexical/converter/defaultConverters.d.ts.map +0 -1
  929. package/dist/field/features/migrations/SlateToLexical/converter/defaultConverters.js +0 -34
  930. package/dist/field/features/migrations/SlateToLexical/converter/index.d.ts +0 -19
  931. package/dist/field/features/migrations/SlateToLexical/converter/index.d.ts.map +0 -1
  932. package/dist/field/features/migrations/SlateToLexical/converter/index.js +0 -131
  933. package/dist/field/features/migrations/SlateToLexical/converter/types.d.ts +0 -16
  934. package/dist/field/features/migrations/SlateToLexical/converter/types.d.ts.map +0 -1
  935. package/dist/field/features/migrations/SlateToLexical/converter/types.js +0 -6
  936. package/dist/field/features/migrations/SlateToLexical/index.d.ts +0 -10
  937. package/dist/field/features/migrations/SlateToLexical/index.d.ts.map +0 -1
  938. package/dist/field/features/migrations/SlateToLexical/index.js +0 -50
  939. package/dist/field/features/migrations/SlateToLexical/nodes/unknownConvertedNode/Component.d.ts.map +0 -1
  940. package/dist/field/features/migrations/SlateToLexical/nodes/unknownConvertedNode/Component.js +0 -23
  941. package/dist/field/features/migrations/SlateToLexical/nodes/unknownConvertedNode/index.d.ts.map +0 -1
  942. package/dist/field/features/migrations/SlateToLexical/nodes/unknownConvertedNode/index.js +0 -131
  943. package/dist/field/features/migrations/SlateToLexical/nodes/unknownConvertedNode/index.scss +0 -16
  944. package/dist/field/lexical/config/EditorConfigProvider.d.ts +0 -16
  945. package/dist/field/lexical/config/EditorConfigProvider.d.ts.map +0 -1
  946. package/dist/field/lexical/config/EditorConfigProvider.js +0 -99
  947. package/dist/field/lexical/config/default.d.ts +0 -6
  948. package/dist/field/lexical/config/default.d.ts.map +0 -1
  949. package/dist/field/lexical/config/default.js +0 -112
  950. package/dist/field/lexical/config/defaultClient.d.ts +0 -3
  951. package/dist/field/lexical/config/defaultClient.d.ts.map +0 -1
  952. package/dist/field/lexical/config/defaultClient.js +0 -17
  953. package/dist/field/lexical/config/loader.d.ts +0 -7
  954. package/dist/field/lexical/config/loader.d.ts.map +0 -1
  955. package/dist/field/lexical/config/loader.js +0 -133
  956. package/dist/field/lexical/config/sanitize.d.ts +0 -5
  957. package/dist/field/lexical/config/sanitize.d.ts.map +0 -1
  958. package/dist/field/lexical/config/sanitize.js +0 -170
  959. /package/dist/field/features/{BlockQuote → blockquote}/markdownTransformer.d.ts +0 -0
  960. /package/dist/field/features/{Blocks → blocks}/drawer/index.d.ts +0 -0
  961. /package/dist/field/features/{Blocks → blocks}/nodes/BlocksNode.d.ts +0 -0
  962. /package/dist/field/features/{Blocks → blocks}/plugin/commands.d.ts +0 -0
  963. /package/dist/field/features/debug/{TestRecorder → testrecorder}/plugin/index.d.ts +0 -0
  964. /package/dist/field/features/debug/{TreeView → treeview/plugin}/index.scss +0 -0
  965. /package/dist/field/features/format/{Bold → bold}/markdownTransformers.d.ts +0 -0
  966. /package/dist/field/features/format/{InlineCode → inlinecode}/markdownTransformers.d.ts +0 -0
  967. /package/dist/field/features/format/{Italic → italic}/markdownTransformers.d.ts +0 -0
  968. /package/dist/field/features/{Heading → heading}/markdownTransformer.d.ts +0 -0
  969. /package/dist/field/features/{Link → link}/drawer/baseFields.d.ts +0 -0
  970. /package/dist/field/features/{Link → link}/drawer/index.d.ts +0 -0
  971. /package/dist/field/features/{Link → link}/plugins/clickableLink/index.d.ts +0 -0
  972. /package/dist/field/features/{Link → link}/plugins/floatingLinkEditor/LinkEditor/commands.d.ts +0 -0
  973. /package/dist/field/features/{Link → link}/plugins/link/index.d.ts +0 -0
  974. /package/dist/field/features/lists/{CheckList → checklist}/markdownTransformers.d.ts +0 -0
  975. /package/dist/field/features/lists/{CheckList → checklist}/plugin/index.d.ts +0 -0
  976. /package/dist/field/features/lists/{OrderedList → orderedlist}/markdownTransformer.d.ts +0 -0
  977. /package/dist/field/features/lists/{UnorderedList → unorderedlist}/markdownTransformer.d.ts +0 -0
  978. /package/dist/field/features/migrations/{LexicalPluginToLexical → lexicalPluginToLexical}/nodes/unknownConvertedNode/Component.d.ts +0 -0
  979. /package/dist/field/features/migrations/{LexicalPluginToLexical → lexicalPluginToLexical}/nodes/unknownConvertedNode/index.d.ts +0 -0
  980. /package/dist/field/features/migrations/{SlateToLexical → slateToLexical}/nodes/unknownConvertedNode/Component.d.ts +0 -0
  981. /package/dist/field/features/migrations/{SlateToLexical → slateToLexical}/nodes/unknownConvertedNode/index.d.ts +0 -0
  982. /package/dist/field/features/{Relationship → relationship}/drawer/commands.d.ts +0 -0
  983. /package/dist/field/features/{Relationship → relationship}/drawer/index.d.ts +0 -0
  984. /package/dist/field/features/{Relationship → relationship}/nodes/RelationshipNode.d.ts +0 -0
  985. /package/dist/field/features/{Relationship → relationship}/nodes/components/RelationshipComponent.d.ts +0 -0
  986. /package/dist/field/features/{Relationship → relationship}/populationPromise.d.ts +0 -0
  987. /package/dist/field/features/{Relationship → relationship}/utils/EnabledRelationshipsCondition.d.ts +0 -0
  988. /package/dist/field/features/{Upload → upload}/component/ExtraFieldsDrawer/index.d.ts +0 -0
  989. /package/dist/field/features/{Upload → upload}/component/index.d.ts +0 -0
  990. /package/dist/field/features/{Upload → upload}/drawer/commands.d.ts +0 -0
  991. /package/dist/field/features/{Upload → upload}/drawer/index.d.ts +0 -0
  992. /package/dist/field/features/{Upload → upload}/plugin/index.d.ts +0 -0
  993. /package/dist/field/features/{Upload → upload}/validate.d.ts +0 -0
@@ -1,66 +1,16 @@
1
1
  'use client';
2
- "use strict";
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- Object.defineProperty(exports, "SlashMenuPlugin", {
7
- enumerable: true,
8
- get: function() {
9
- return SlashMenuPlugin;
10
- }
11
- });
12
- const _LexicalComposerContext = require("@lexical/react/LexicalComposerContext");
13
- const _react = /*#__PURE__*/ _interop_require_wildcard(require("react"));
14
- const _reactdom = /*#__PURE__*/ _interop_require_wildcard(require("react-dom"));
15
- const _reacti18next = require("react-i18next");
16
- const _EditorConfigProvider = require("../../config/EditorConfigProvider");
17
- const _LexicalTypeaheadMenuPlugin = require("./LexicalTypeaheadMenuPlugin");
18
- require("./index.scss");
19
- const _useMenuTriggerMatch = require("./useMenuTriggerMatch");
20
- function _getRequireWildcardCache(nodeInterop) {
21
- if (typeof WeakMap !== "function") return null;
22
- var cacheBabelInterop = new WeakMap();
23
- var cacheNodeInterop = new WeakMap();
24
- return (_getRequireWildcardCache = function(nodeInterop) {
25
- return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
26
- })(nodeInterop);
27
- }
28
- function _interop_require_wildcard(obj, nodeInterop) {
29
- if (!nodeInterop && obj && obj.__esModule) {
30
- return obj;
31
- }
32
- if (obj === null || typeof obj !== "object" && typeof obj !== "function") {
33
- return {
34
- default: obj
35
- };
36
- }
37
- var cache = _getRequireWildcardCache(nodeInterop);
38
- if (cache && cache.has(obj)) {
39
- return cache.get(obj);
40
- }
41
- var newObj = {
42
- __proto__: null
43
- };
44
- var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
45
- for(var key in obj){
46
- if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
47
- var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;
48
- if (desc && (desc.get || desc.set)) {
49
- Object.defineProperty(newObj, key, desc);
50
- } else {
51
- newObj[key] = obj[key];
52
- }
53
- }
54
- }
55
- newObj.default = obj;
56
- if (cache) {
57
- cache.set(obj, newObj);
58
- }
59
- return newObj;
60
- }
2
+ import { useLexicalComposerContext } from '@lexical/react/LexicalComposerContext';
3
+ import { useTranslation } from '@payloadcms/ui';
4
+ import { useCallback, useMemo, useState } from 'react';
5
+ import * as React from 'react';
6
+ import * as ReactDOM from 'react-dom';
7
+ import { useEditorConfigContext } from '../../config/client/EditorConfigProvider';
8
+ import { LexicalTypeaheadMenuPlugin } from './LexicalTypeaheadMenuPlugin';
9
+ import './index.scss';
10
+ import { useMenuTriggerMatch } from './useMenuTriggerMatch';
61
11
  const baseClass = 'slash-menu-popup';
62
12
  function SlashMenuItem({ isSelected, onClick, onMouseEnter, option }) {
63
- const { i18n } = (0, _reacti18next.useTranslation)('fields');
13
+ const { i18n } = useTranslation();
64
14
  let className = `${baseClass}__item ${baseClass}__item-${option.key}`;
65
15
  if (isSelected) {
66
16
  className += ` ${baseClass}__item--selected`;
@@ -75,14 +25,7 @@ function SlashMenuItem({ isSelected, onClick, onMouseEnter, option }) {
75
25
  if (title.length > 25) {
76
26
  title = title.substring(0, 25) + '...';
77
27
  }
78
- const LazyIcon = (0, _react.useMemo)(()=>{
79
- return option?.Icon ? /*#__PURE__*/ _react.lazy(()=>option.Icon().then((resolvedIcon)=>({
80
- default: resolvedIcon
81
- }))) : null;
82
- }, [
83
- option
84
- ]);
85
- return /*#__PURE__*/ _react.createElement("button", {
28
+ return /*#__PURE__*/ React.createElement("button", {
86
29
  "aria-selected": isSelected,
87
30
  className: className,
88
31
  id: baseClass + '__item-' + option.key,
@@ -93,19 +36,19 @@ function SlashMenuItem({ isSelected, onClick, onMouseEnter, option }) {
93
36
  role: "option",
94
37
  tabIndex: -1,
95
38
  type: "button"
96
- }, LazyIcon && /*#__PURE__*/ _react.createElement(_react.Suspense, null, /*#__PURE__*/ _react.createElement(LazyIcon, null)), /*#__PURE__*/ _react.createElement("span", {
39
+ }, option?.Icon && /*#__PURE__*/ React.createElement(option.Icon, null), /*#__PURE__*/ React.createElement("span", {
97
40
  className: `${baseClass}__item-text`
98
41
  }, title));
99
42
  }
100
- function SlashMenuPlugin({ anchorElem = document.body }) {
101
- const [editor] = (0, _LexicalComposerContext.useLexicalComposerContext)();
102
- const [queryString, setQueryString] = (0, _react.useState)(null);
103
- const { editorConfig } = (0, _EditorConfigProvider.useEditorConfigContext)();
104
- const { i18n } = (0, _reacti18next.useTranslation)('fields');
105
- const checkForTriggerMatch = (0, _useMenuTriggerMatch.useMenuTriggerMatch)('/', {
43
+ export function SlashMenuPlugin({ anchorElem = document.body }) {
44
+ const [editor] = useLexicalComposerContext();
45
+ const [queryString, setQueryString] = useState(null);
46
+ const { editorConfig } = useEditorConfigContext();
47
+ const { i18n } = useTranslation();
48
+ const checkForTriggerMatch = useMenuTriggerMatch('/', {
106
49
  minLength: 0
107
50
  });
108
- const getDynamicOptions = (0, _react.useCallback)(()=>{
51
+ const getDynamicOptions = useCallback(()=>{
109
52
  let groupWithOptions = [];
110
53
  for (const dynamicOption of editorConfig.features.slashMenu.dynamicOptions){
111
54
  const dynamicGroupWithOptions = dynamicOption({
@@ -120,7 +63,7 @@ function SlashMenuPlugin({ anchorElem = document.body }) {
120
63
  queryString,
121
64
  editorConfig?.features
122
65
  ]);
123
- const groups = (0, _react.useMemo)(()=>{
66
+ const groups = useMemo(()=>{
124
67
  let groupsWithOptions = [];
125
68
  for (const groupWithOption of editorConfig?.features.slashMenu.groupsWithOptions ?? []){
126
69
  groupsWithOptions.push(groupWithOption);
@@ -174,7 +117,7 @@ function SlashMenuPlugin({ anchorElem = document.body }) {
174
117
  editorConfig?.features,
175
118
  i18n
176
119
  ]);
177
- const onSelectOption = (0, _react.useCallback)((selectedOption, nodeToRemove, closeMenu, matchingString)=>{
120
+ const onSelectOption = useCallback((selectedOption, nodeToRemove, closeMenu, matchingString)=>{
178
121
  editor.update(()=>{
179
122
  if (nodeToRemove) {
180
123
  nodeToRemove.remove();
@@ -188,10 +131,10 @@ function SlashMenuPlugin({ anchorElem = document.body }) {
188
131
  }, [
189
132
  editor
190
133
  ]);
191
- return /*#__PURE__*/ _react.createElement(_react.Fragment, null, /*#__PURE__*/ _react.createElement(_LexicalTypeaheadMenuPlugin.LexicalTypeaheadMenuPlugin, {
134
+ return /*#__PURE__*/ React.createElement(React.Fragment, null, /*#__PURE__*/ React.createElement(LexicalTypeaheadMenuPlugin, {
192
135
  anchorElem: anchorElem,
193
136
  groupsWithOptions: groups,
194
- menuRenderFn: (anchorElementRef, { selectOptionAndCleanUp, selectedOptionKey, setSelectedOptionKey })=>anchorElementRef.current && groups.length ? /*#__PURE__*/ _reactdom.createPortal(/*#__PURE__*/ _react.createElement("div", {
137
+ menuRenderFn: (anchorElementRef, { selectOptionAndCleanUp, selectedOptionKey, setSelectedOptionKey })=>anchorElementRef.current && groups.length ? /*#__PURE__*/ ReactDOM.createPortal(/*#__PURE__*/ React.createElement("div", {
195
138
  className: baseClass
196
139
  }, groups.map((group)=>{
197
140
  let groupTitle = group.key;
@@ -200,12 +143,12 @@ function SlashMenuPlugin({ anchorElem = document.body }) {
200
143
  i18n
201
144
  }) : group.displayName;
202
145
  }
203
- return /*#__PURE__*/ _react.createElement("div", {
146
+ return /*#__PURE__*/ React.createElement("div", {
204
147
  className: `${baseClass}__group ${baseClass}__group-${group.key}`,
205
148
  key: group.key
206
- }, /*#__PURE__*/ _react.createElement("div", {
149
+ }, /*#__PURE__*/ React.createElement("div", {
207
150
  className: `${baseClass}__group-title`
208
- }, groupTitle), group.options.map((option, oi)=>/*#__PURE__*/ _react.createElement(SlashMenuItem, {
151
+ }, groupTitle), group.options.map((option, oi)=>/*#__PURE__*/ React.createElement(SlashMenuItem, {
209
152
  index: oi,
210
153
  isSelected: selectedOptionKey === option.key,
211
154
  key: option.key,
@@ -225,4 +168,4 @@ function SlashMenuPlugin({ anchorElem = document.body }) {
225
168
  }));
226
169
  }
227
170
 
228
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9maWVsZC9sZXhpY2FsL3BsdWdpbnMvU2xhc2hNZW51L2luZGV4LnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIGNsaWVudCdcbmltcG9ydCB0eXBlIHsgVGV4dE5vZGUgfSBmcm9tICdsZXhpY2FsJ1xuXG5pbXBvcnQgeyB1c2VMZXhpY2FsQ29tcG9zZXJDb250ZXh0IH0gZnJvbSAnQGxleGljYWwvcmVhY3QvTGV4aWNhbENvbXBvc2VyQ29udGV4dCdcbmltcG9ydCB7IHVzZUNhbGxiYWNrLCB1c2VNZW1vLCB1c2VTdGF0ZSB9IGZyb20gJ3JlYWN0J1xuaW1wb3J0ICogYXMgUmVhY3QgZnJvbSAncmVhY3QnXG5pbXBvcnQgKiBhcyBSZWFjdERPTSBmcm9tICdyZWFjdC1kb20nXG5pbXBvcnQgeyB1c2VUcmFuc2xhdGlvbiB9IGZyb20gJ3JlYWN0LWkxOG5leHQnXG5cbmltcG9ydCB0eXBlIHsgU2xhc2hNZW51R3JvdXAsIFNsYXNoTWVudU9wdGlvbiB9IGZyb20gJy4vTGV4aWNhbFR5cGVhaGVhZE1lbnVQbHVnaW4vdHlwZXMnXG5cbmltcG9ydCB7IHVzZUVkaXRvckNvbmZpZ0NvbnRleHQgfSBmcm9tICcuLi8uLi9jb25maWcvRWRpdG9yQ29uZmlnUHJvdmlkZXInXG5pbXBvcnQgeyBMZXhpY2FsVHlwZWFoZWFkTWVudVBsdWdpbiB9IGZyb20gJy4vTGV4aWNhbFR5cGVhaGVhZE1lbnVQbHVnaW4nXG5pbXBvcnQgJy4vaW5kZXguc2NzcydcbmltcG9ydCB7IHVzZU1lbnVUcmlnZ2VyTWF0Y2ggfSBmcm9tICcuL3VzZU1lbnVUcmlnZ2VyTWF0Y2gnXG5cbmNvbnN0IGJhc2VDbGFzcyA9ICdzbGFzaC1tZW51LXBvcHVwJ1xuXG5mdW5jdGlvbiBTbGFzaE1lbnVJdGVtKHtcbiAgaXNTZWxlY3RlZCxcbiAgb25DbGljayxcbiAgb25Nb3VzZUVudGVyLFxuICBvcHRpb24sXG59OiB7XG4gIGluZGV4OiBudW1iZXJcbiAgaXNTZWxlY3RlZDogYm9vbGVhblxuICBvbkNsaWNrOiAoKSA9PiB2b2lkXG4gIG9uTW91c2VFbnRlcjogKCkgPT4gdm9pZFxuICBvcHRpb246IFNsYXNoTWVudU9wdGlvblxufSkge1xuICBjb25zdCB7IGkxOG4gfSA9IHVzZVRyYW5zbGF0aW9uKCdmaWVsZHMnKVxuXG4gIGxldCBjbGFzc05hbWUgPSBgJHtiYXNlQ2xhc3N9X19pdGVtICR7YmFzZUNsYXNzfV9faXRlbS0ke29wdGlvbi5rZXl9YFxuICBpZiAoaXNTZWxlY3RlZCkge1xuICAgIGNsYXNzTmFtZSArPSBgICR7YmFzZUNsYXNzfV9faXRlbS0tc2VsZWN0ZWRgXG4gIH1cblxuICBsZXQgdGl0bGUgPSBvcHRpb24ua2V5XG4gIGlmIChvcHRpb24uZGlzcGxheU5hbWUpIHtcbiAgICB0aXRsZSA9XG4gICAgICB0eXBlb2Ygb3B0aW9uLmRpc3BsYXlOYW1lID09PSAnZnVuY3Rpb24nID8gb3B0aW9uLmRpc3BsYXlOYW1lKHsgaTE4biB9KSA6IG9wdGlvbi5kaXNwbGF5TmFtZVxuICB9XG4gIC8vIENyb3AgdGl0bGUgdG8gbWF4LiA1MCBjaGFyYWN0ZXJzXG4gIGlmICh0aXRsZS5sZW5ndGggPiAyNSkge1xuICAgIHRpdGxlID0gdGl0bGUuc3Vic3RyaW5nKDAsIDI1KSArICcuLi4nXG4gIH1cblxuICBjb25zdCBMYXp5SWNvbiA9IHVzZU1lbW8oKCkgPT4ge1xuICAgIHJldHVybiBvcHRpb24/Lkljb25cbiAgICAgID8gUmVhY3QubGF6eSgoKSA9PlxuICAgICAgICAgIG9wdGlvbi5JY29uKCkudGhlbigocmVzb2x2ZWRJY29uKSA9PiAoe1xuICAgICAgICAgICAgZGVmYXVsdDogcmVzb2x2ZWRJY29uLFxuICAgICAgICAgIH0pKSxcbiAgICAgICAgKVxuICAgICAgOiBudWxsXG4gIH0sIFtvcHRpb25dKVxuXG4gIHJldHVybiAoXG4gICAgPGJ1dHRvblxuICAgICAgYXJpYS1zZWxlY3RlZD17aXNTZWxlY3RlZH1cbiAgICAgIGNsYXNzTmFtZT17Y2xhc3NOYW1lfVxuICAgICAgaWQ9e2Jhc2VDbGFzcyArICdfX2l0ZW0tJyArIG9wdGlvbi5rZXl9XG4gICAgICBrZXk9e29wdGlvbi5rZXl9XG4gICAgICBvbkNsaWNrPXtvbkNsaWNrfVxuICAgICAgb25Nb3VzZUVudGVyPXtvbk1vdXNlRW50ZXJ9XG4gICAgICByZWY9e29wdGlvbi5zZXRSZWZFbGVtZW50fVxuICAgICAgcm9sZT1cIm9wdGlvblwiXG4gICAgICB0YWJJbmRleD17LTF9XG4gICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICA+XG4gICAgICB7TGF6eUljb24gJiYgKFxuICAgICAgICA8UmVhY3QuU3VzcGVuc2U+XG4gICAgICAgICAgPExhenlJY29uIC8+XG4gICAgICAgIDwvUmVhY3QuU3VzcGVuc2U+XG4gICAgICApfVxuXG4gICAgICA8c3BhbiBjbGFzc05hbWU9e2Ake2Jhc2VDbGFzc31fX2l0ZW0tdGV4dGB9Pnt0aXRsZX08L3NwYW4+XG4gICAgPC9idXR0b24+XG4gIClcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIFNsYXNoTWVudVBsdWdpbih7XG4gIGFuY2hvckVsZW0gPSBkb2N1bWVudC5ib2R5LFxufToge1xuICBhbmNob3JFbGVtPzogSFRNTEVsZW1lbnRcbn0pOiBKU1guRWxlbWVudCB7XG4gIGNvbnN0IFtlZGl0b3JdID0gdXNlTGV4aWNhbENvbXBvc2VyQ29udGV4dCgpXG4gIGNvbnN0IFtxdWVyeVN0cmluZywgc2V0UXVlcnlTdHJpbmddID0gdXNlU3RhdGU8bnVsbCB8IHN0cmluZz4obnVsbClcbiAgY29uc3QgeyBlZGl0b3JDb25maWcgfSA9IHVzZUVkaXRvckNvbmZpZ0NvbnRleHQoKVxuICBjb25zdCB7IGkxOG4gfSA9IHVzZVRyYW5zbGF0aW9uKCdmaWVsZHMnKVxuXG4gIGNvbnN0IGNoZWNrRm9yVHJpZ2dlck1hdGNoID0gdXNlTWVudVRyaWdnZXJNYXRjaCgnLycsIHtcbiAgICBtaW5MZW5ndGg6IDAsXG4gIH0pXG5cbiAgY29uc3QgZ2V0RHluYW1pY09wdGlvbnMgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgbGV0IGdyb3VwV2l0aE9wdGlvbnM6IEFycmF5PFNsYXNoTWVudUdyb3VwPiA9IFtdXG5cbiAgICBmb3IgKGNvbnN0IGR5bmFtaWNPcHRpb24gb2YgZWRpdG9yQ29uZmlnLmZlYXR1cmVzLnNsYXNoTWVudS5keW5hbWljT3B0aW9ucykge1xuICAgICAgY29uc3QgZHluYW1pY0dyb3VwV2l0aE9wdGlvbnMgPSBkeW5hbWljT3B0aW9uKHtcbiAgICAgICAgZWRpdG9yLFxuICAgICAgICBxdWVyeVN0cmluZyxcbiAgICAgIH0pXG4gICAgICBncm91cFdpdGhPcHRpb25zID0gZ3JvdXBXaXRoT3B0aW9ucy5jb25jYXQoZHluYW1pY0dyb3VwV2l0aE9wdGlvbnMpXG4gICAgfVxuXG4gICAgcmV0dXJuIGdyb3VwV2l0aE9wdGlvbnNcbiAgfSwgW2VkaXRvciwgcXVlcnlTdHJpbmcsIGVkaXRvckNvbmZpZz8uZmVhdHVyZXNdKVxuXG4gIGNvbnN0IGdyb3VwczogU2xhc2hNZW51R3JvdXBbXSA9IHVzZU1lbW8oKCkgPT4ge1xuICAgIGxldCBncm91cHNXaXRoT3B0aW9uczogU2xhc2hNZW51R3JvdXBbXSA9IFtdXG4gICAgZm9yIChjb25zdCBncm91cFdpdGhPcHRpb24gb2YgZWRpdG9yQ29uZmlnPy5mZWF0dXJlcy5zbGFzaE1lbnUuZ3JvdXBzV2l0aE9wdGlvbnMgPz8gW10pIHtcbiAgICAgIGdyb3Vwc1dpdGhPcHRpb25zLnB1c2goZ3JvdXBXaXRoT3B0aW9uKVxuICAgIH1cblxuICAgIGlmIChxdWVyeVN0cmluZykge1xuICAgICAgLy8gRmlsdGVyIGN1cnJlbnQgZ3JvdXBzIGZpcnN0XG4gICAgICBncm91cHNXaXRoT3B0aW9ucyA9IGdyb3Vwc1dpdGhPcHRpb25zLm1hcCgoZ3JvdXApID0+IHtcbiAgICAgICAgY29uc3QgZmlsdGVyZWRPcHRpb25zID0gZ3JvdXAub3B0aW9ucy5maWx0ZXIoKG9wdGlvbikgPT4ge1xuICAgICAgICAgIGxldCBvcHRpb25UaXRsZSA9IG9wdGlvbi5rZXlcbiAgICAgICAgICBpZiAob3B0aW9uLmRpc3BsYXlOYW1lKSB7XG4gICAgICAgICAgICBvcHRpb25UaXRsZSA9XG4gICAgICAgICAgICAgIHR5cGVvZiBvcHRpb24uZGlzcGxheU5hbWUgPT09ICdmdW5jdGlvbidcbiAgICAgICAgICAgICAgICA/IG9wdGlvbi5kaXNwbGF5TmFtZSh7IGkxOG4gfSlcbiAgICAgICAgICAgICAgICA6IG9wdGlvbi5kaXNwbGF5TmFtZVxuICAgICAgICAgIH1cblxuICAgICAgICAgIHJldHVybiBuZXcgUmVnRXhwKHF1ZXJ5U3RyaW5nLCAnZ2knKS5leGVjKG9wdGlvblRpdGxlKSB8fCBvcHRpb24ua2V5d29yZHMgIT0gbnVsbFxuICAgICAgICAgICAgPyBvcHRpb24ua2V5d29yZHMuc29tZSgoa2V5d29yZCkgPT4gbmV3IFJlZ0V4cChxdWVyeVN0cmluZywgJ2dpJykuZXhlYyhrZXl3b3JkKSlcbiAgICAgICAgICAgIDogZmFsc2VcbiAgICAgICAgfSlcbiAgICAgICAgaWYgKGZpbHRlcmVkT3B0aW9ucy5sZW5ndGgpIHtcbiAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgLi4uZ3JvdXAsXG4gICAgICAgICAgICBvcHRpb25zOiBmaWx0ZXJlZE9wdGlvbnMsXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiBudWxsXG4gICAgICB9KVxuXG4gICAgICBncm91cHNXaXRoT3B0aW9ucyA9IGdyb3Vwc1dpdGhPcHRpb25zLmZpbHRlcigoZ3JvdXApID0+IGdyb3VwICE9IG51bGwpXG5cbiAgICAgIC8vIE5vdyBhZGQgZHluYW1pYyBncm91cHNcbiAgICAgIGNvbnN0IGR5bmFtaWNPcHRpb25Hcm91cHMgPSBnZXREeW5hbWljT3B0aW9ucygpXG5cbiAgICAgIC8vIG1lcmdlIGR5bmFtaWMgb3B0aW9ucyBpbnRvIGdyb3Vwc1xuICAgICAgZm9yIChjb25zdCBkeW5hbWljR3JvdXAgb2YgZHluYW1pY09wdGlvbkdyb3Vwcykge1xuICAgICAgICAvLyAxLiBmaW5kIHRoZSBncm91cCB3aXRoIHRoZSBzYW1lIG5hbWUgb3IgY3JlYXRlIG5ldyBvbmVcbiAgICAgICAgbGV0IGdyb3VwID0gZ3JvdXBzV2l0aE9wdGlvbnMuZmluZCgoZ3JvdXApID0+IGdyb3VwLmtleSA9PT0gZHluYW1pY0dyb3VwLmtleSlcbiAgICAgICAgaWYgKCFncm91cCkge1xuICAgICAgICAgIGdyb3VwID0ge1xuICAgICAgICAgICAgLi4uZHluYW1pY0dyb3VwLFxuICAgICAgICAgICAgb3B0aW9uczogW10sXG4gICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGdyb3Vwc1dpdGhPcHRpb25zID0gZ3JvdXBzV2l0aE9wdGlvbnMuZmlsdGVyKChncm91cCkgPT4gZ3JvdXAua2V5ICE9PSBkeW5hbWljR3JvdXAua2V5KVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gMi4gQWRkIG9wdGlvbnMgdG8gZ3JvdXAgb3B0aW9ucyBhcnJheSBhbmQgYWRkIHRvIHNhbml0aXplZC5zbGFzaE1lbnUuZ3JvdXBzV2l0aE9wdGlvbnNcbiAgICAgICAgaWYgKGdyb3VwPy5vcHRpb25zPy5sZW5ndGgpIHtcbiAgICAgICAgICBncm91cC5vcHRpb25zID0gZ3JvdXAub3B0aW9ucy5jb25jYXQoZ3JvdXAub3B0aW9ucylcbiAgICAgICAgfVxuICAgICAgICBncm91cHNXaXRoT3B0aW9ucy5wdXNoKGdyb3VwKVxuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBncm91cHNXaXRoT3B0aW9uc1xuICB9LCBbZ2V0RHluYW1pY09wdGlvbnMsIHF1ZXJ5U3RyaW5nLCBlZGl0b3JDb25maWc/LmZlYXR1cmVzLCBpMThuXSlcblxuICBjb25zdCBvblNlbGVjdE9wdGlvbiA9IHVzZUNhbGxiYWNrKFxuICAgIChcbiAgICAgIHNlbGVjdGVkT3B0aW9uOiBTbGFzaE1lbnVPcHRpb24sXG4gICAgICBub2RlVG9SZW1vdmU6IFRleHROb2RlIHwgbnVsbCxcbiAgICAgIGNsb3NlTWVudTogKCkgPT4gdm9pZCxcbiAgICAgIG1hdGNoaW5nU3RyaW5nOiBzdHJpbmcsXG4gICAgKSA9PiB7XG4gICAgICBlZGl0b3IudXBkYXRlKCgpID0+IHtcbiAgICAgICAgaWYgKG5vZGVUb1JlbW92ZSkge1xuICAgICAgICAgIG5vZGVUb1JlbW92ZS5yZW1vdmUoKVxuICAgICAgICB9XG4gICAgICAgIHNlbGVjdGVkT3B0aW9uLm9uU2VsZWN0KHsgZWRpdG9yLCBxdWVyeVN0cmluZzogbWF0Y2hpbmdTdHJpbmcgfSlcbiAgICAgICAgY2xvc2VNZW51KClcbiAgICAgIH0pXG4gICAgfSxcbiAgICBbZWRpdG9yXSxcbiAgKVxuXG4gIHJldHVybiAoXG4gICAgPFJlYWN0LkZyYWdtZW50PlxuICAgICAgPExleGljYWxUeXBlYWhlYWRNZW51UGx1Z2luXG4gICAgICAgIGFuY2hvckVsZW09e2FuY2hvckVsZW19XG4gICAgICAgIGdyb3Vwc1dpdGhPcHRpb25zPXtncm91cHN9XG4gICAgICAgIG1lbnVSZW5kZXJGbj17KFxuICAgICAgICAgIGFuY2hvckVsZW1lbnRSZWYsXG4gICAgICAgICAgeyBzZWxlY3RPcHRpb25BbmRDbGVhblVwLCBzZWxlY3RlZE9wdGlvbktleSwgc2V0U2VsZWN0ZWRPcHRpb25LZXkgfSxcbiAgICAgICAgKSA9PlxuICAgICAgICAgIGFuY2hvckVsZW1lbnRSZWYuY3VycmVudCAmJiBncm91cHMubGVuZ3RoXG4gICAgICAgICAgICA/IFJlYWN0RE9NLmNyZWF0ZVBvcnRhbChcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17YmFzZUNsYXNzfT5cbiAgICAgICAgICAgICAgICAgIHtncm91cHMubWFwKChncm91cCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBsZXQgZ3JvdXBUaXRsZSA9IGdyb3VwLmtleVxuICAgICAgICAgICAgICAgICAgICBpZiAoZ3JvdXAuZGlzcGxheU5hbWUpIHtcbiAgICAgICAgICAgICAgICAgICAgICBncm91cFRpdGxlID1cbiAgICAgICAgICAgICAgICAgICAgICAgIHR5cGVvZiBncm91cC5kaXNwbGF5TmFtZSA9PT0gJ2Z1bmN0aW9uJ1xuICAgICAgICAgICAgICAgICAgICAgICAgICA/IGdyb3VwLmRpc3BsYXlOYW1lKHsgaTE4biB9KVxuICAgICAgICAgICAgICAgICAgICAgICAgICA6IGdyb3VwLmRpc3BsYXlOYW1lXG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17YCR7YmFzZUNsYXNzfV9fZ3JvdXAgJHtiYXNlQ2xhc3N9X19ncm91cC0ke2dyb3VwLmtleX1gfVxuICAgICAgICAgICAgICAgICAgICAgICAga2V5PXtncm91cC5rZXl9XG4gICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9e2Ake2Jhc2VDbGFzc31fX2dyb3VwLXRpdGxlYH0+e2dyb3VwVGl0bGV9PC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICB7Z3JvdXAub3B0aW9ucy5tYXAoKG9wdGlvbiwgb2k6IG51bWJlcikgPT4gKFxuICAgICAgICAgICAgICAgICAgICAgICAgICA8U2xhc2hNZW51SXRlbVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluZGV4PXtvaX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpc1NlbGVjdGVkPXtzZWxlY3RlZE9wdGlvbktleSA9PT0gb3B0aW9uLmtleX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBrZXk9e29wdGlvbi5rZXl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2V0U2VsZWN0ZWRPcHRpb25LZXkob3B0aW9uLmtleSlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGVjdE9wdGlvbkFuZENsZWFuVXAob3B0aW9uKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb25Nb3VzZUVudGVyPXsoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXRTZWxlY3RlZE9wdGlvbktleShvcHRpb24ua2V5KVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb3B0aW9uPXtvcHRpb259XG4gICAgICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICApKX1cbiAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgfSl9XG4gICAgICAgICAgICAgICAgPC9kaXY+LFxuICAgICAgICAgICAgICAgIGFuY2hvckVsZW1lbnRSZWYuY3VycmVudCxcbiAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgOiBudWxsXG4gICAgICAgIH1cbiAgICAgICAgb25RdWVyeUNoYW5nZT17c2V0UXVlcnlTdHJpbmd9XG4gICAgICAgIG9uU2VsZWN0T3B0aW9uPXtvblNlbGVjdE9wdGlvbn1cbiAgICAgICAgdHJpZ2dlckZuPXtjaGVja0ZvclRyaWdnZXJNYXRjaH1cbiAgICAgIC8+XG4gICAgPC9SZWFjdC5GcmFnbWVudD5cbiAgKVxufVxuIl0sIm5hbWVzIjpbIlNsYXNoTWVudVBsdWdpbiIsImJhc2VDbGFzcyIsIlNsYXNoTWVudUl0ZW0iLCJpc1NlbGVjdGVkIiwib25DbGljayIsIm9uTW91c2VFbnRlciIsIm9wdGlvbiIsImkxOG4iLCJ1c2VUcmFuc2xhdGlvbiIsImNsYXNzTmFtZSIsImtleSIsInRpdGxlIiwiZGlzcGxheU5hbWUiLCJsZW5ndGgiLCJzdWJzdHJpbmciLCJMYXp5SWNvbiIsInVzZU1lbW8iLCJJY29uIiwiUmVhY3QiLCJsYXp5IiwidGhlbiIsInJlc29sdmVkSWNvbiIsImRlZmF1bHQiLCJidXR0b24iLCJhcmlhLXNlbGVjdGVkIiwiaWQiLCJyZWYiLCJzZXRSZWZFbGVtZW50Iiwicm9sZSIsInRhYkluZGV4IiwidHlwZSIsIlN1c3BlbnNlIiwic3BhbiIsImFuY2hvckVsZW0iLCJkb2N1bWVudCIsImJvZHkiLCJlZGl0b3IiLCJ1c2VMZXhpY2FsQ29tcG9zZXJDb250ZXh0IiwicXVlcnlTdHJpbmciLCJzZXRRdWVyeVN0cmluZyIsInVzZVN0YXRlIiwiZWRpdG9yQ29uZmlnIiwidXNlRWRpdG9yQ29uZmlnQ29udGV4dCIsImNoZWNrRm9yVHJpZ2dlck1hdGNoIiwidXNlTWVudVRyaWdnZXJNYXRjaCIsIm1pbkxlbmd0aCIsImdldER5bmFtaWNPcHRpb25zIiwidXNlQ2FsbGJhY2siLCJncm91cFdpdGhPcHRpb25zIiwiZHluYW1pY09wdGlvbiIsImZlYXR1cmVzIiwic2xhc2hNZW51IiwiZHluYW1pY09wdGlvbnMiLCJkeW5hbWljR3JvdXBXaXRoT3B0aW9ucyIsImNvbmNhdCIsImdyb3VwcyIsImdyb3Vwc1dpdGhPcHRpb25zIiwiZ3JvdXBXaXRoT3B0aW9uIiwicHVzaCIsIm1hcCIsImdyb3VwIiwiZmlsdGVyZWRPcHRpb25zIiwib3B0aW9ucyIsImZpbHRlciIsIm9wdGlvblRpdGxlIiwiUmVnRXhwIiwiZXhlYyIsImtleXdvcmRzIiwic29tZSIsImtleXdvcmQiLCJkeW5hbWljT3B0aW9uR3JvdXBzIiwiZHluYW1pY0dyb3VwIiwiZmluZCIsIm9uU2VsZWN0T3B0aW9uIiwic2VsZWN0ZWRPcHRpb24iLCJub2RlVG9SZW1vdmUiLCJjbG9zZU1lbnUiLCJtYXRjaGluZ1N0cmluZyIsInVwZGF0ZSIsInJlbW92ZSIsIm9uU2VsZWN0IiwiRnJhZ21lbnQiLCJMZXhpY2FsVHlwZWFoZWFkTWVudVBsdWdpbiIsIm1lbnVSZW5kZXJGbiIsImFuY2hvckVsZW1lbnRSZWYiLCJzZWxlY3RPcHRpb25BbmRDbGVhblVwIiwic2VsZWN0ZWRPcHRpb25LZXkiLCJzZXRTZWxlY3RlZE9wdGlvbktleSIsImN1cnJlbnQiLCJSZWFjdERPTSIsImNyZWF0ZVBvcnRhbCIsImRpdiIsImdyb3VwVGl0bGUiLCJvaSIsImluZGV4Iiwib25RdWVyeUNoYW5nZSIsInRyaWdnZXJGbiJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7OytCQWlGZ0JBOzs7ZUFBQUE7Ozt3Q0E5RTBCOytEQUNLO2tFQUVyQjs4QkFDSztzQ0FJUTs0Q0FDSTtRQUNwQztxQ0FDNkI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUVwQyxNQUFNQyxZQUFZO0FBRWxCLFNBQVNDLGNBQWMsRUFDckJDLFVBQVUsRUFDVkMsT0FBTyxFQUNQQyxZQUFZLEVBQ1pDLE1BQU0sRUFPUDtJQUNDLE1BQU0sRUFBRUMsSUFBSSxFQUFFLEdBQUdDLElBQUFBLDRCQUFjLEVBQUM7SUFFaEMsSUFBSUMsWUFBWSxDQUFDLEVBQUVSLFVBQVUsT0FBTyxFQUFFQSxVQUFVLE9BQU8sRUFBRUssT0FBT0ksR0FBRyxDQUFDLENBQUM7SUFDckUsSUFBSVAsWUFBWTtRQUNkTSxhQUFhLENBQUMsQ0FBQyxFQUFFUixVQUFVLGdCQUFnQixDQUFDO0lBQzlDO0lBRUEsSUFBSVUsUUFBUUwsT0FBT0ksR0FBRztJQUN0QixJQUFJSixPQUFPTSxXQUFXLEVBQUU7UUFDdEJELFFBQ0UsT0FBT0wsT0FBT00sV0FBVyxLQUFLLGFBQWFOLE9BQU9NLFdBQVcsQ0FBQztZQUFFTDtRQUFLLEtBQUtELE9BQU9NLFdBQVc7SUFDaEc7SUFDQSxtQ0FBbUM7SUFDbkMsSUFBSUQsTUFBTUUsTUFBTSxHQUFHLElBQUk7UUFDckJGLFFBQVFBLE1BQU1HLFNBQVMsQ0FBQyxHQUFHLE1BQU07SUFDbkM7SUFFQSxNQUFNQyxXQUFXQyxJQUFBQSxjQUFPLEVBQUM7UUFDdkIsT0FBT1YsUUFBUVcscUJBQ1hDLE9BQU1DLElBQUksQ0FBQyxJQUNUYixPQUFPVyxJQUFJ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
171
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9maWVsZC9sZXhpY2FsL3BsdWdpbnMvU2xhc2hNZW51L2luZGV4LnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIGNsaWVudCdcbmltcG9ydCB0eXBlIHsgVGV4dE5vZGUgfSBmcm9tICdsZXhpY2FsJ1xuXG5pbXBvcnQgeyB1c2VMZXhpY2FsQ29tcG9zZXJDb250ZXh0IH0gZnJvbSAnQGxleGljYWwvcmVhY3QvTGV4aWNhbENvbXBvc2VyQ29udGV4dCdcbmltcG9ydCB7IHVzZVRyYW5zbGF0aW9uIH0gZnJvbSAnQHBheWxvYWRjbXMvdWknXG5pbXBvcnQgeyB1c2VDYWxsYmFjaywgdXNlTWVtbywgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCdcbmltcG9ydCAqIGFzIFJlYWN0IGZyb20gJ3JlYWN0J1xuaW1wb3J0ICogYXMgUmVhY3RET00gZnJvbSAncmVhY3QtZG9tJ1xuXG5pbXBvcnQgdHlwZSB7IFNsYXNoTWVudUdyb3VwLCBTbGFzaE1lbnVPcHRpb24gfSBmcm9tICcuL0xleGljYWxUeXBlYWhlYWRNZW51UGx1Z2luL3R5cGVzJ1xuXG5pbXBvcnQgeyB1c2VFZGl0b3JDb25maWdDb250ZXh0IH0gZnJvbSAnLi4vLi4vY29uZmlnL2NsaWVudC9FZGl0b3JDb25maWdQcm92aWRlcidcbmltcG9ydCB7IExleGljYWxUeXBlYWhlYWRNZW51UGx1Z2luIH0gZnJvbSAnLi9MZXhpY2FsVHlwZWFoZWFkTWVudVBsdWdpbidcbmltcG9ydCAnLi9pbmRleC5zY3NzJ1xuaW1wb3J0IHsgdXNlTWVudVRyaWdnZXJNYXRjaCB9IGZyb20gJy4vdXNlTWVudVRyaWdnZXJNYXRjaCdcblxuY29uc3QgYmFzZUNsYXNzID0gJ3NsYXNoLW1lbnUtcG9wdXAnXG5cbmZ1bmN0aW9uIFNsYXNoTWVudUl0ZW0oe1xuICBpc1NlbGVjdGVkLFxuICBvbkNsaWNrLFxuICBvbk1vdXNlRW50ZXIsXG4gIG9wdGlvbixcbn06IHtcbiAgaW5kZXg6IG51bWJlclxuICBpc1NlbGVjdGVkOiBib29sZWFuXG4gIG9uQ2xpY2s6ICgpID0+IHZvaWRcbiAgb25Nb3VzZUVudGVyOiAoKSA9PiB2b2lkXG4gIG9wdGlvbjogU2xhc2hNZW51T3B0aW9uXG59KSB7XG4gIGNvbnN0IHsgaTE4biB9ID0gdXNlVHJhbnNsYXRpb24oKVxuXG4gIGxldCBjbGFzc05hbWUgPSBgJHtiYXNlQ2xhc3N9X19pdGVtICR7YmFzZUNsYXNzfV9faXRlbS0ke29wdGlvbi5rZXl9YFxuICBpZiAoaXNTZWxlY3RlZCkge1xuICAgIGNsYXNzTmFtZSArPSBgICR7YmFzZUNsYXNzfV9faXRlbS0tc2VsZWN0ZWRgXG4gIH1cblxuICBsZXQgdGl0bGUgPSBvcHRpb24ua2V5XG4gIGlmIChvcHRpb24uZGlzcGxheU5hbWUpIHtcbiAgICB0aXRsZSA9XG4gICAgICB0eXBlb2Ygb3B0aW9uLmRpc3BsYXlOYW1lID09PSAnZnVuY3Rpb24nID8gb3B0aW9uLmRpc3BsYXlOYW1lKHsgaTE4biB9KSA6IG9wdGlvbi5kaXNwbGF5TmFtZVxuICB9XG4gIC8vIENyb3AgdGl0bGUgdG8gbWF4LiA1MCBjaGFyYWN0ZXJzXG4gIGlmICh0aXRsZS5sZW5ndGggPiAyNSkge1xuICAgIHRpdGxlID0gdGl0bGUuc3Vic3RyaW5nKDAsIDI1KSArICcuLi4nXG4gIH1cblxuICByZXR1cm4gKFxuICAgIDxidXR0b25cbiAgICAgIGFyaWEtc2VsZWN0ZWQ9e2lzU2VsZWN0ZWR9XG4gICAgICBjbGFzc05hbWU9e2NsYXNzTmFtZX1cbiAgICAgIGlkPXtiYXNlQ2xhc3MgKyAnX19pdGVtLScgKyBvcHRpb24ua2V5fVxuICAgICAga2V5PXtvcHRpb24ua2V5fVxuICAgICAgb25DbGljaz17b25DbGlja31cbiAgICAgIG9uTW91c2VFbnRlcj17b25Nb3VzZUVudGVyfVxuICAgICAgcmVmPXtvcHRpb24uc2V0UmVmRWxlbWVudH1cbiAgICAgIHJvbGU9XCJvcHRpb25cIlxuICAgICAgdGFiSW5kZXg9ey0xfVxuICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgPlxuICAgICAge29wdGlvbj8uSWNvbiAmJiA8b3B0aW9uLkljb24gLz59XG5cbiAgICAgIDxzcGFuIGNsYXNzTmFtZT17YCR7YmFzZUNsYXNzfV9faXRlbS10ZXh0YH0+e3RpdGxlfTwvc3Bhbj5cbiAgICA8L2J1dHRvbj5cbiAgKVxufVxuXG5leHBvcnQgZnVuY3Rpb24gU2xhc2hNZW51UGx1Z2luKHtcbiAgYW5jaG9yRWxlbSA9IGRvY3VtZW50LmJvZHksXG59OiB7XG4gIGFuY2hvckVsZW0/OiBIVE1MRWxlbWVudFxufSk6IEpTWC5FbGVtZW50IHtcbiAgY29uc3QgW2VkaXRvcl0gPSB1c2VMZXhpY2FsQ29tcG9zZXJDb250ZXh0KClcbiAgY29uc3QgW3F1ZXJ5U3RyaW5nLCBzZXRRdWVyeVN0cmluZ10gPSB1c2VTdGF0ZTxudWxsIHwgc3RyaW5nPihudWxsKVxuICBjb25zdCB7IGVkaXRvckNvbmZpZyB9ID0gdXNlRWRpdG9yQ29uZmlnQ29udGV4dCgpXG4gIGNvbnN0IHsgaTE4biB9ID0gdXNlVHJhbnNsYXRpb24oKVxuXG4gIGNvbnN0IGNoZWNrRm9yVHJpZ2dlck1hdGNoID0gdXNlTWVudVRyaWdnZXJNYXRjaCgnLycsIHtcbiAgICBtaW5MZW5ndGg6IDAsXG4gIH0pXG5cbiAgY29uc3QgZ2V0RHluYW1pY09wdGlvbnMgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgbGV0IGdyb3VwV2l0aE9wdGlvbnM6IEFycmF5PFNsYXNoTWVudUdyb3VwPiA9IFtdXG5cbiAgICBmb3IgKGNvbnN0IGR5bmFtaWNPcHRpb24gb2YgZWRpdG9yQ29uZmlnLmZlYXR1cmVzLnNsYXNoTWVudS5keW5hbWljT3B0aW9ucykge1xuICAgICAgY29uc3QgZHluYW1pY0dyb3VwV2l0aE9wdGlvbnMgPSBkeW5hbWljT3B0aW9uKHtcbiAgICAgICAgZWRpdG9yLFxuICAgICAgICBxdWVyeVN0cmluZyxcbiAgICAgIH0pXG4gICAgICBncm91cFdpdGhPcHRpb25zID0gZ3JvdXBXaXRoT3B0aW9ucy5jb25jYXQoZHluYW1pY0dyb3VwV2l0aE9wdGlvbnMpXG4gICAgfVxuXG4gICAgcmV0dXJuIGdyb3VwV2l0aE9wdGlvbnNcbiAgfSwgW2VkaXRvciwgcXVlcnlTdHJpbmcsIGVkaXRvckNvbmZpZz8uZmVhdHVyZXNdKVxuXG4gIGNvbnN0IGdyb3VwczogU2xhc2hNZW51R3JvdXBbXSA9IHVzZU1lbW8oKCkgPT4ge1xuICAgIGxldCBncm91cHNXaXRoT3B0aW9uczogU2xhc2hNZW51R3JvdXBbXSA9IFtdXG4gICAgZm9yIChjb25zdCBncm91cFdpdGhPcHRpb24gb2YgZWRpdG9yQ29uZmlnPy5mZWF0dXJlcy5zbGFzaE1lbnUuZ3JvdXBzV2l0aE9wdGlvbnMgPz8gW10pIHtcbiAgICAgIGdyb3Vwc1dpdGhPcHRpb25zLnB1c2goZ3JvdXBXaXRoT3B0aW9uKVxuICAgIH1cblxuICAgIGlmIChxdWVyeVN0cmluZykge1xuICAgICAgLy8gRmlsdGVyIGN1cnJlbnQgZ3JvdXBzIGZpcnN0XG4gICAgICBncm91cHNXaXRoT3B0aW9ucyA9IGdyb3Vwc1dpdGhPcHRpb25zLm1hcCgoZ3JvdXApID0+IHtcbiAgICAgICAgY29uc3QgZmlsdGVyZWRPcHRpb25zID0gZ3JvdXAub3B0aW9ucy5maWx0ZXIoKG9wdGlvbikgPT4ge1xuICAgICAgICAgIGxldCBvcHRpb25UaXRsZSA9IG9wdGlvbi5rZXlcbiAgICAgICAgICBpZiAob3B0aW9uLmRpc3BsYXlOYW1lKSB7XG4gICAgICAgICAgICBvcHRpb25UaXRsZSA9XG4gICAgICAgICAgICAgIHR5cGVvZiBvcHRpb24uZGlzcGxheU5hbWUgPT09ICdmdW5jdGlvbidcbiAgICAgICAgICAgICAgICA/IG9wdGlvbi5kaXNwbGF5TmFtZSh7IGkxOG4gfSlcbiAgICAgICAgICAgICAgICA6IG9wdGlvbi5kaXNwbGF5TmFtZVxuICAgICAgICAgIH1cblxuICAgICAgICAgIHJldHVybiBuZXcgUmVnRXhwKHF1ZXJ5U3RyaW5nLCAnZ2knKS5leGVjKG9wdGlvblRpdGxlKSB8fCBvcHRpb24ua2V5d29yZHMgIT0gbnVsbFxuICAgICAgICAgICAgPyBvcHRpb24ua2V5d29yZHMuc29tZSgoa2V5d29yZCkgPT4gbmV3IFJlZ0V4cChxdWVyeVN0cmluZywgJ2dpJykuZXhlYyhrZXl3b3JkKSlcbiAgICAgICAgICAgIDogZmFsc2VcbiAgICAgICAgfSlcbiAgICAgICAgaWYgKGZpbHRlcmVkT3B0aW9ucy5sZW5ndGgpIHtcbiAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgLi4uZ3JvdXAsXG4gICAgICAgICAgICBvcHRpb25zOiBmaWx0ZXJlZE9wdGlvbnMsXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiBudWxsXG4gICAgICB9KVxuXG4gICAgICBncm91cHNXaXRoT3B0aW9ucyA9IGdyb3Vwc1dpdGhPcHRpb25zLmZpbHRlcigoZ3JvdXApID0+IGdyb3VwICE9IG51bGwpXG5cbiAgICAgIC8vIE5vdyBhZGQgZHluYW1pYyBncm91cHNcbiAgICAgIGNvbnN0IGR5bmFtaWNPcHRpb25Hcm91cHMgPSBnZXREeW5hbWljT3B0aW9ucygpXG5cbiAgICAgIC8vIG1lcmdlIGR5bmFtaWMgb3B0aW9ucyBpbnRvIGdyb3Vwc1xuICAgICAgZm9yIChjb25zdCBkeW5hbWljR3JvdXAgb2YgZHluYW1pY09wdGlvbkdyb3Vwcykge1xuICAgICAgICAvLyAxLiBmaW5kIHRoZSBncm91cCB3aXRoIHRoZSBzYW1lIG5hbWUgb3IgY3JlYXRlIG5ldyBvbmVcbiAgICAgICAgbGV0IGdyb3VwID0gZ3JvdXBzV2l0aE9wdGlvbnMuZmluZCgoZ3JvdXApID0+IGdyb3VwLmtleSA9PT0gZHluYW1pY0dyb3VwLmtleSlcbiAgICAgICAgaWYgKCFncm91cCkge1xuICAgICAgICAgIGdyb3VwID0ge1xuICAgICAgICAgICAgLi4uZHluYW1pY0dyb3VwLFxuICAgICAgICAgICAgb3B0aW9uczogW10sXG4gICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGdyb3Vwc1dpdGhPcHRpb25zID0gZ3JvdXBzV2l0aE9wdGlvbnMuZmlsdGVyKChncm91cCkgPT4gZ3JvdXAua2V5ICE9PSBkeW5hbWljR3JvdXAua2V5KVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gMi4gQWRkIG9wdGlvbnMgdG8gZ3JvdXAgb3B0aW9ucyBhcnJheSBhbmQgYWRkIHRvIHNhbml0aXplZC5zbGFzaE1lbnUuZ3JvdXBzV2l0aE9wdGlvbnNcbiAgICAgICAgaWYgKGdyb3VwPy5vcHRpb25zPy5sZW5ndGgpIHtcbiAgICAgICAgICBncm91cC5vcHRpb25zID0gZ3JvdXAub3B0aW9ucy5jb25jYXQoZ3JvdXAub3B0aW9ucylcbiAgICAgICAgfVxuICAgICAgICBncm91cHNXaXRoT3B0aW9ucy5wdXNoKGdyb3VwKVxuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBncm91cHNXaXRoT3B0aW9uc1xuICB9LCBbZ2V0RHluYW1pY09wdGlvbnMsIHF1ZXJ5U3RyaW5nLCBlZGl0b3JDb25maWc/LmZlYXR1cmVzLCBpMThuXSlcblxuICBjb25zdCBvblNlbGVjdE9wdGlvbiA9IHVzZUNhbGxiYWNrKFxuICAgIChcbiAgICAgIHNlbGVjdGVkT3B0aW9uOiBTbGFzaE1lbnVPcHRpb24sXG4gICAgICBub2RlVG9SZW1vdmU6IFRleHROb2RlIHwgbnVsbCxcbiAgICAgIGNsb3NlTWVudTogKCkgPT4gdm9pZCxcbiAgICAgIG1hdGNoaW5nU3RyaW5nOiBzdHJpbmcsXG4gICAgKSA9PiB7XG4gICAgICBlZGl0b3IudXBkYXRlKCgpID0+IHtcbiAgICAgICAgaWYgKG5vZGVUb1JlbW92ZSkge1xuICAgICAgICAgIG5vZGVUb1JlbW92ZS5yZW1vdmUoKVxuICAgICAgICB9XG4gICAgICAgIHNlbGVjdGVkT3B0aW9uLm9uU2VsZWN0KHsgZWRpdG9yLCBxdWVyeVN0cmluZzogbWF0Y2hpbmdTdHJpbmcgfSlcbiAgICAgICAgY2xvc2VNZW51KClcbiAgICAgIH0pXG4gICAgfSxcbiAgICBbZWRpdG9yXSxcbiAgKVxuXG4gIHJldHVybiAoXG4gICAgPFJlYWN0LkZyYWdtZW50PlxuICAgICAgPExleGljYWxUeXBlYWhlYWRNZW51UGx1Z2luXG4gICAgICAgIGFuY2hvckVsZW09e2FuY2hvckVsZW19XG4gICAgICAgIGdyb3Vwc1dpdGhPcHRpb25zPXtncm91cHN9XG4gICAgICAgIG1lbnVSZW5kZXJGbj17KFxuICAgICAgICAgIGFuY2hvckVsZW1lbnRSZWYsXG4gICAgICAgICAgeyBzZWxlY3RPcHRpb25BbmRDbGVhblVwLCBzZWxlY3RlZE9wdGlvbktleSwgc2V0U2VsZWN0ZWRPcHRpb25LZXkgfSxcbiAgICAgICAgKSA9PlxuICAgICAgICAgIGFuY2hvckVsZW1lbnRSZWYuY3VycmVudCAmJiBncm91cHMubGVuZ3RoXG4gICAgICAgICAgICA/IFJlYWN0RE9NLmNyZWF0ZVBvcnRhbChcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17YmFzZUNsYXNzfT5cbiAgICAgICAgICAgICAgICAgIHtncm91cHMubWFwKChncm91cCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBsZXQgZ3JvdXBUaXRsZSA9IGdyb3VwLmtleVxuICAgICAgICAgICAgICAgICAgICBpZiAoZ3JvdXAuZGlzcGxheU5hbWUpIHtcbiAgICAgICAgICAgICAgICAgICAgICBncm91cFRpdGxlID1cbiAgICAgICAgICAgICAgICAgICAgICAgIHR5cGVvZiBncm91cC5kaXNwbGF5TmFtZSA9PT0gJ2Z1bmN0aW9uJ1xuICAgICAgICAgICAgICAgICAgICAgICAgICA/IGdyb3VwLmRpc3BsYXlOYW1lKHsgaTE4biB9KVxuICAgICAgICAgICAgICAgICAgICAgICAgICA6IGdyb3VwLmRpc3BsYXlOYW1lXG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17YCR7YmFzZUNsYXNzfV9fZ3JvdXAgJHtiYXNlQ2xhc3N9X19ncm91cC0ke2dyb3VwLmtleX1gfVxuICAgICAgICAgICAgICAgICAgICAgICAga2V5PXtncm91cC5rZXl9XG4gICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9e2Ake2Jhc2VDbGFzc31fX2dyb3VwLXRpdGxlYH0+e2dyb3VwVGl0bGV9PC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICB7Z3JvdXAub3B0aW9ucy5tYXAoKG9wdGlvbiwgb2k6IG51bWJlcikgPT4gKFxuICAgICAgICAgICAgICAgICAgICAgICAgICA8U2xhc2hNZW51SXRlbVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluZGV4PXtvaX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpc1NlbGVjdGVkPXtzZWxlY3RlZE9wdGlvbktleSA9PT0gb3B0aW9uLmtleX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBrZXk9e29wdGlvbi5rZXl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2V0U2VsZWN0ZWRPcHRpb25LZXkob3B0aW9uLmtleSlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGVjdE9wdGlvbkFuZENsZWFuVXAob3B0aW9uKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb25Nb3VzZUVudGVyPXsoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXRTZWxlY3RlZE9wdGlvbktleShvcHRpb24ua2V5KVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb3B0aW9uPXtvcHRpb259XG4gICAgICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICApKX1cbiAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgfSl9XG4gICAgICAgICAgICAgICAgPC9kaXY+LFxuICAgICAgICAgICAgICAgIGFuY2hvckVsZW1lbnRSZWYuY3VycmVudCxcbiAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgOiBudWxsXG4gICAgICAgIH1cbiAgICAgICAgb25RdWVyeUNoYW5nZT17c2V0UXVlcnlTdHJpbmd9XG4gICAgICAgIG9uU2VsZWN0T3B0aW9uPXtvblNlbGVjdE9wdGlvbn1cbiAgICAgICAgdHJpZ2dlckZuPXtjaGVja0ZvclRyaWdnZXJNYXRjaH1cbiAgICAgIC8+XG4gICAgPC9SZWFjdC5GcmFnbWVudD5cbiAgKVxufVxuIl0sIm5hbWVzIjpbInVzZUxleGljYWxDb21wb3NlckNvbnRleHQiLCJ1c2VUcmFuc2xhdGlvbiIsInVzZUNhbGxiYWNrIiwidXNlTWVtbyIsInVzZVN0YXRlIiwiUmVhY3QiLCJSZWFjdERPTSIsInVzZUVkaXRvckNvbmZpZ0NvbnRleHQiLCJMZXhpY2FsVHlwZWFoZWFkTWVudVBsdWdpbiIsInVzZU1lbnVUcmlnZ2VyTWF0Y2giLCJiYXNlQ2xhc3MiLCJTbGFzaE1lbnVJdGVtIiwiaXNTZWxlY3RlZCIsIm9uQ2xpY2siLCJvbk1vdXNlRW50ZXIiLCJvcHRpb24iLCJpMThuIiwiY2xhc3NOYW1lIiwia2V5IiwidGl0bGUiLCJkaXNwbGF5TmFtZSIsImxlbmd0aCIsInN1YnN0cmluZyIsImJ1dHRvbiIsImFyaWEtc2VsZWN0ZWQiLCJpZCIsInJlZiIsInNldFJlZkVsZW1lbnQiLCJyb2xlIiwidGFiSW5kZXgiLCJ0eXBlIiwiSWNvbiIsInNwYW4iLCJTbGFzaE1lbnVQbHVnaW4iLCJhbmNob3JFbGVtIiwiZG9jdW1lbnQiLCJib2R5IiwiZWRpdG9yIiwicXVlcnlTdHJpbmciLCJzZXRRdWVyeVN0cmluZyIsImVkaXRvckNvbmZpZyIsImNoZWNrRm9yVHJpZ2dlck1hdGNoIiwibWluTGVuZ3RoIiwiZ2V0RHluYW1pY09wdGlvbnMiLCJncm91cFdpdGhPcHRpb25zIiwiZHluYW1pY09wdGlvbiIsImZlYXR1cmVzIiwic2xhc2hNZW51IiwiZHluYW1pY09wdGlvbnMiLCJkeW5hbWljR3JvdXBXaXRoT3B0aW9ucyIsImNvbmNhdCIsImdyb3VwcyIsImdyb3Vwc1dpdGhPcHRpb25zIiwiZ3JvdXBXaXRoT3B0aW9uIiwicHVzaCIsIm1hcCIsImdyb3VwIiwiZmlsdGVyZWRPcHRpb25zIiwib3B0aW9ucyIsImZpbHRlciIsIm9wdGlvblRpdGxlIiwiUmVnRXhwIiwiZXhlYyIsImtleXdvcmRzIiwic29tZSIsImtleXdvcmQiLCJkeW5hbWljT3B0aW9uR3JvdXBzIiwiZHluYW1pY0dyb3VwIiwiZmluZCIsIm9uU2VsZWN0T3B0aW9uIiwic2VsZWN0ZWRPcHRpb24iLCJub2RlVG9SZW1vdmUiLCJjbG9zZU1lbnUiLCJtYXRjaGluZ1N0cmluZyIsInVwZGF0ZSIsInJlbW92ZSIsIm9uU2VsZWN0IiwiRnJhZ21lbnQiLCJtZW51UmVuZGVyRm4iLCJhbmNob3JFbGVtZW50UmVmIiwic2VsZWN0T3B0aW9uQW5kQ2xlYW5VcCIsInNlbGVjdGVkT3B0aW9uS2V5Iiwic2V0U2VsZWN0ZWRPcHRpb25LZXkiLCJjdXJyZW50IiwiY3JlYXRlUG9ydGFsIiwiZGl2IiwiZ3JvdXBUaXRsZSIsIm9pIiwiaW5kZXgiLCJvblF1ZXJ5Q2hhbmdlIiwidHJpZ2dlckZuIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUdBLFNBQVNBLHlCQUF5QixRQUFRLHdDQUF1QztBQUNqRixTQUFTQyxjQUFjLFFBQVEsaUJBQWdCO0FBQy9DLFNBQVNDLFdBQVcsRUFBRUMsT0FBTyxFQUFFQyxRQUFRLFFBQVEsUUFBTztBQUN0RCxZQUFZQyxXQUFXLFFBQU87QUFDOUIsWUFBWUMsY0FBYyxZQUFXO0FBSXJDLFNBQVNDLHNCQUFzQixRQUFRLDJDQUEwQztBQUNqRixTQUFT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
@@ -1,4 +1,4 @@
1
- @import 'payload/scss';
1
+ @import '../../../../scss/styles.scss';
2
2
 
3
3
  html[data-theme='light'] {
4
4
  .slash-menu-popup {
@@ -1,20 +1,12 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
5
- Object.defineProperty(exports, "useMenuTriggerMatch", {
6
- enumerable: true,
7
- get: function() {
8
- return useMenuTriggerMatch;
9
- }
10
- });
11
- const _react = require("react");
12
- const _LexicalTypeaheadMenuPlugin = require("./LexicalTypeaheadMenuPlugin");
13
- function useMenuTriggerMatch(/**
1
+ import { useCallback } from 'react';
2
+ import { PUNCTUATION } from './LexicalTypeaheadMenuPlugin';
3
+ /**
4
+ * Returns a function which checks if the trigger (e.g. '/') is present in the query and, if so, returns the matching string (text after the trigger)
5
+ */ export function useMenuTriggerMatch(/**
14
6
  * Text which triggers the menu. Everything after this text will be used as the query.
15
7
  */ trigger, { maxLength = 75, minLength = 1 }) {
16
- return (0, _react.useCallback)(({ query })=>{
17
- const validChars = '[^' + trigger + _LexicalTypeaheadMenuPlugin.PUNCTUATION + '\\s]';
8
+ return useCallback(({ query })=>{
9
+ const validChars = '[^' + trigger + PUNCTUATION + '\\s]';
18
10
  const TypeaheadTriggerRegex = new RegExp('(^|\\s|\\()(' + '[' + trigger + ']' + '((?:' + validChars + '){0,' + maxLength + '})' + ')$');
19
11
  const match = TypeaheadTriggerRegex.exec(query);
20
12
  if (match !== null) {
@@ -38,4 +30,4 @@ function useMenuTriggerMatch(/**
38
30
  ]);
39
31
  }
40
32
 
41
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9maWVsZC9sZXhpY2FsL3BsdWdpbnMvU2xhc2hNZW51L3VzZU1lbnVUcmlnZ2VyTWF0Y2gudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBMZXhpY2FsRWRpdG9yIH0gZnJvbSAnbGV4aWNhbCdcblxuaW1wb3J0IHsgdXNlQ2FsbGJhY2sgfSBmcm9tICdyZWFjdCdcblxuaW1wb3J0IHsgUFVOQ1RVQVRJT04gfSBmcm9tICcuL0xleGljYWxUeXBlYWhlYWRNZW51UGx1Z2luJ1xuXG5leHBvcnQgdHlwZSBUcmlnZ2VyRm4gPSAoe1xuICBlZGl0b3IsXG4gIHF1ZXJ5LFxufToge1xuICBlZGl0b3I6IExleGljYWxFZGl0b3JcbiAgLyoqIFRoZSBxdWVyeSBzdHJpbmcgaXMgdGhlIFBPVEVOVElBTCB0cmlnZ2VyIEFORCB0aGUgdGV4dCBhZnRlciB0aGUgdHJpZ2dlciB0ZXh0LiAqL1xuICBxdWVyeTogc3RyaW5nXG59KSA9PiBNZW51VGV4dE1hdGNoIHwgbnVsbFxuXG5leHBvcnQgdHlwZSBNZW51VGV4dE1hdGNoID0ge1xuICBsZWFkT2Zmc2V0OiBudW1iZXJcbiAgbWF0Y2hpbmdTdHJpbmc6IHN0cmluZ1xuICByZXBsYWNlYWJsZVN0cmluZzogc3RyaW5nXG59XG5cbi8qKlxuICogUmV0dXJucyBhIGZ1bmN0aW9uIHdoaWNoIGNoZWNrcyBpZiB0aGUgdHJpZ2dlciAoZS5nLiAnLycpIGlzIHByZXNlbnQgaW4gdGhlIHF1ZXJ5IGFuZCwgaWYgc28sIHJldHVybnMgdGhlIG1hdGNoaW5nIHN0cmluZyAodGV4dCBhZnRlciB0aGUgdHJpZ2dlcilcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHVzZU1lbnVUcmlnZ2VyTWF0Y2goXG4gIC8qKlxuICAgKiBUZXh0IHdoaWNoIHRyaWdnZXJzIHRoZSBtZW51LiBFdmVyeXRoaW5nIGFmdGVyIHRoaXMgdGV4dCB3aWxsIGJlIHVzZWQgYXMgdGhlIHF1ZXJ5LlxuICAgKi9cbiAgdHJpZ2dlcjogc3RyaW5nLFxuICB7IG1heExlbmd0aCA9IDc1LCBtaW5MZW5ndGggPSAxIH06IHsgbWF4TGVuZ3RoPzogbnVtYmVyOyBtaW5MZW5ndGg/OiBudW1iZXIgfSxcbik6IFRyaWdnZXJGbiB7XG4gIHJldHVybiB1c2VDYWxsYmFjayhcbiAgICAoeyBxdWVyeSB9KSA9PiB7XG4gICAgICBjb25zdCB2YWxpZENoYXJzID0gJ1teJyArIHRyaWdnZXIgKyBQVU5DVFVBVElPTiArICdcXFxcc10nXG4gICAgICBjb25zdCBUeXBlYWhlYWRUcmlnZ2VyUmVnZXggPSBuZXcgUmVnRXhwKFxuICAgICAgICAnKF58XFxcXHN8XFxcXCgpKCcgK1xuICAgICAgICAgICdbJyArXG4gICAgICAgICAgdHJpZ2dlciArXG4gICAgICAgICAgJ10nICtcbiAgICAgICAgICAnKCg/OicgK1xuICAgICAgICAgIHZhbGlkQ2hhcnMgK1xuICAgICAgICAgICcpezAsJyArXG4gICAgICAgICAgbWF4TGVuZ3RoICtcbiAgICAgICAgICAnfSknICtcbiAgICAgICAgICAnKSQnLFxuICAgICAgKVxuICAgICAgY29uc3QgbWF0Y2ggPSBUeXBlYWhlYWRUcmlnZ2VyUmVnZXguZXhlYyhxdWVyeSlcbiAgICAgIGlmIChtYXRjaCAhPT0gbnVsbCkge1xuICAgICAgICBjb25zdCBtYXliZUxlYWRpbmdXaGl0ZXNwYWNlID0gbWF0Y2hbMV1cblxuICAgICAgICAvKipcbiAgICAgICAgICogbWF0Y2hpbmdTdHJpbmcgaXMgb25seSB0aGUgdGV4dCBBRlRFUiB0aGUgdHJpZ2dlciB0ZXh0LiAoU28gZXZlcnl0aGluZyBhZnRlciB0aGUgLylcbiAgICAgICAgICovXG4gICAgICAgIGNvbnN0IG1hdGNoaW5nU3RyaW5nID0gbWF0Y2hbM11cblxuICAgICAgICBpZiAobWF0Y2hpbmdTdHJpbmcubGVuZ3RoID49IG1pbkxlbmd0aCkge1xuICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBsZWFkT2Zmc2V0OiBtYXRjaC5pbmRleCArIG1heWJlTGVhZGluZ1doaXRlc3BhY2UubGVuZ3RoLFxuICAgICAgICAgICAgbWF0Y2hpbmdTdHJpbmcsXG4gICAgICAgICAgICByZXBsYWNlYWJsZVN0cmluZzogbWF0Y2hbMl0sIC8vIHJlcGxhY2VhYmxlU3RyaW5nIGlzIHRoZSB0cmlnZ2VyIHRleHQgKyB0aGUgbWF0Y2hpbmcgc3RyaW5nXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICByZXR1cm4gbnVsbFxuICAgIH0sXG4gICAgW21heExlbmd0aCwgbWluTGVuZ3RoLCB0cmlnZ2VyXSxcbiAgKVxufVxuIl0sIm5hbWVzIjpbInVzZU1lbnVUcmlnZ2VyTWF0Y2giLCJ0cmlnZ2VyIiwibWF4TGVuZ3RoIiwibWluTGVuZ3RoIiwidXNlQ2FsbGJhY2siLCJxdWVyeSIsInZhbGlkQ2hhcnMiLCJQVU5DVFVBVElPTiIsIlR5cGVhaGVhZFRyaWdnZXJSZWdleCIsIlJlZ0V4cCIsIm1hdGNoIiwiZXhlYyIsIm1heWJlTGVhZGluZ1doaXRlc3BhY2UiLCJtYXRjaGluZ1N0cmluZyIsImxlbmd0aCIsImxlYWRPZmZzZXQiLCJpbmRleCIsInJlcGxhY2VhYmxlU3RyaW5nIl0sIm1hcHBpbmdzIjoiOzs7OytCQXdCZ0JBOzs7ZUFBQUE7Ozt1QkF0Qlk7NENBRUE7QUFvQnJCLFNBQVNBLG9CQUNkOztHQUVDLEdBQ0RDLE9BQWUsRUFDZixFQUFFQyxZQUFZLEVBQUUsRUFBRUMsWUFBWSxDQUFDLEVBQThDO0lBRTdFLE9BQU9DLElBQUFBLGtCQUFXLEVBQ2hCLENBQUMsRUFBRUMsS0FBSyxFQUFFO1FBQ1IsTUFBTUMsYUFBYSxPQUFPTCxVQUFVTSx1Q0FBVyxHQUFHO1FBQ2xELE1BQU1DLHdCQUF3QixJQUFJQyxPQUNoQyxpQkFDRSxNQUNBUixVQUNBLE1BQ0EsU0FDQUssYUFDQSxTQUNBSixZQUNBLE9BQ0E7UUFFSixNQUFNUSxRQUFRRixzQkFBc0JHLElBQUksQ0FBQ047UUFDekMsSUFBSUssVUFBVSxNQUFNO1lBQ2xCLE1BQU1FLHlCQUF5QkYsS0FBSyxDQUFDLEVBQUU7WUFFdkM7O1NBRUMsR0FDRCxNQUFNRyxpQkFBaUJILEtBQUssQ0FBQyxFQUFFO1lBRS9CLElBQUlHLGVBQWVDLE1BQU0sSUFBSVgsV0FBVztnQkFDdEMsT0FBTztvQkFDTFksWUFBWUwsTUFBTU0sS0FBSyxHQUFHSix1QkFBdUJFLE1BQU07b0JBQ3ZERDtvQkFDQUksbUJBQW1CUCxLQUFLLENBQUMsRUFBRTtnQkFDN0I7WUFDRjtRQUNGO1FBQ0EsT0FBTztJQUNULEdBQ0E7UUFBQ1I7UUFBV0M7UUFBV0Y7S0FBUTtBQUVuQyJ9
33
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9maWVsZC9sZXhpY2FsL3BsdWdpbnMvU2xhc2hNZW51L3VzZU1lbnVUcmlnZ2VyTWF0Y2gudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBMZXhpY2FsRWRpdG9yIH0gZnJvbSAnbGV4aWNhbCdcblxuaW1wb3J0IHsgdXNlQ2FsbGJhY2sgfSBmcm9tICdyZWFjdCdcblxuaW1wb3J0IHsgUFVOQ1RVQVRJT04gfSBmcm9tICcuL0xleGljYWxUeXBlYWhlYWRNZW51UGx1Z2luJ1xuXG5leHBvcnQgdHlwZSBUcmlnZ2VyRm4gPSAoe1xuICBlZGl0b3IsXG4gIHF1ZXJ5LFxufToge1xuICBlZGl0b3I6IExleGljYWxFZGl0b3JcbiAgLyoqIFRoZSBxdWVyeSBzdHJpbmcgaXMgdGhlIFBPVEVOVElBTCB0cmlnZ2VyIEFORCB0aGUgdGV4dCBhZnRlciB0aGUgdHJpZ2dlciB0ZXh0LiAqL1xuICBxdWVyeTogc3RyaW5nXG59KSA9PiBNZW51VGV4dE1hdGNoIHwgbnVsbFxuXG5leHBvcnQgdHlwZSBNZW51VGV4dE1hdGNoID0ge1xuICBsZWFkT2Zmc2V0OiBudW1iZXJcbiAgbWF0Y2hpbmdTdHJpbmc6IHN0cmluZ1xuICByZXBsYWNlYWJsZVN0cmluZzogc3RyaW5nXG59XG5cbi8qKlxuICogUmV0dXJucyBhIGZ1bmN0aW9uIHdoaWNoIGNoZWNrcyBpZiB0aGUgdHJpZ2dlciAoZS5nLiAnLycpIGlzIHByZXNlbnQgaW4gdGhlIHF1ZXJ5IGFuZCwgaWYgc28sIHJldHVybnMgdGhlIG1hdGNoaW5nIHN0cmluZyAodGV4dCBhZnRlciB0aGUgdHJpZ2dlcilcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHVzZU1lbnVUcmlnZ2VyTWF0Y2goXG4gIC8qKlxuICAgKiBUZXh0IHdoaWNoIHRyaWdnZXJzIHRoZSBtZW51LiBFdmVyeXRoaW5nIGFmdGVyIHRoaXMgdGV4dCB3aWxsIGJlIHVzZWQgYXMgdGhlIHF1ZXJ5LlxuICAgKi9cbiAgdHJpZ2dlcjogc3RyaW5nLFxuICB7IG1heExlbmd0aCA9IDc1LCBtaW5MZW5ndGggPSAxIH06IHsgbWF4TGVuZ3RoPzogbnVtYmVyOyBtaW5MZW5ndGg/OiBudW1iZXIgfSxcbik6IFRyaWdnZXJGbiB7XG4gIHJldHVybiB1c2VDYWxsYmFjayhcbiAgICAoeyBxdWVyeSB9KSA9PiB7XG4gICAgICBjb25zdCB2YWxpZENoYXJzID0gJ1teJyArIHRyaWdnZXIgKyBQVU5DVFVBVElPTiArICdcXFxcc10nXG4gICAgICBjb25zdCBUeXBlYWhlYWRUcmlnZ2VyUmVnZXggPSBuZXcgUmVnRXhwKFxuICAgICAgICAnKF58XFxcXHN8XFxcXCgpKCcgK1xuICAgICAgICAgICdbJyArXG4gICAgICAgICAgdHJpZ2dlciArXG4gICAgICAgICAgJ10nICtcbiAgICAgICAgICAnKCg/OicgK1xuICAgICAgICAgIHZhbGlkQ2hhcnMgK1xuICAgICAgICAgICcpezAsJyArXG4gICAgICAgICAgbWF4TGVuZ3RoICtcbiAgICAgICAgICAnfSknICtcbiAgICAgICAgICAnKSQnLFxuICAgICAgKVxuICAgICAgY29uc3QgbWF0Y2ggPSBUeXBlYWhlYWRUcmlnZ2VyUmVnZXguZXhlYyhxdWVyeSlcbiAgICAgIGlmIChtYXRjaCAhPT0gbnVsbCkge1xuICAgICAgICBjb25zdCBtYXliZUxlYWRpbmdXaGl0ZXNwYWNlID0gbWF0Y2hbMV1cblxuICAgICAgICAvKipcbiAgICAgICAgICogbWF0Y2hpbmdTdHJpbmcgaXMgb25seSB0aGUgdGV4dCBBRlRFUiB0aGUgdHJpZ2dlciB0ZXh0LiAoU28gZXZlcnl0aGluZyBhZnRlciB0aGUgLylcbiAgICAgICAgICovXG4gICAgICAgIGNvbnN0IG1hdGNoaW5nU3RyaW5nID0gbWF0Y2hbM11cblxuICAgICAgICBpZiAobWF0Y2hpbmdTdHJpbmcubGVuZ3RoID49IG1pbkxlbmd0aCkge1xuICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBsZWFkT2Zmc2V0OiBtYXRjaC5pbmRleCArIG1heWJlTGVhZGluZ1doaXRlc3BhY2UubGVuZ3RoLFxuICAgICAgICAgICAgbWF0Y2hpbmdTdHJpbmcsXG4gICAgICAgICAgICByZXBsYWNlYWJsZVN0cmluZzogbWF0Y2hbMl0sIC8vIHJlcGxhY2VhYmxlU3RyaW5nIGlzIHRoZSB0cmlnZ2VyIHRleHQgKyB0aGUgbWF0Y2hpbmcgc3RyaW5nXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICByZXR1cm4gbnVsbFxuICAgIH0sXG4gICAgW21heExlbmd0aCwgbWluTGVuZ3RoLCB0cmlnZ2VyXSxcbiAgKVxufVxuIl0sIm5hbWVzIjpbInVzZUNhbGxiYWNrIiwiUFVOQ1RVQVRJT04iLCJ1c2VNZW51VHJpZ2dlck1hdGNoIiwidHJpZ2dlciIsIm1heExlbmd0aCIsIm1pbkxlbmd0aCIsInF1ZXJ5IiwidmFsaWRDaGFycyIsIlR5cGVhaGVhZFRyaWdnZXJSZWdleCIsIlJlZ0V4cCIsIm1hdGNoIiwiZXhlYyIsIm1heWJlTGVhZGluZ1doaXRlc3BhY2UiLCJtYXRjaGluZ1N0cmluZyIsImxlbmd0aCIsImxlYWRPZmZzZXQiLCJpbmRleCIsInJlcGxhY2VhYmxlU3RyaW5nIl0sIm1hcHBpbmdzIjoiQUFFQSxTQUFTQSxXQUFXLFFBQVEsUUFBTztBQUVuQyxTQUFTQyxXQUFXLFFBQVEsK0JBQThCO0FBaUIxRDs7Q0FFQyxHQUNELE9BQU8sU0FBU0Msb0JBQ2Q7O0dBRUMsR0FDREMsT0FBZSxFQUNmLEVBQUVDLFlBQVksRUFBRSxFQUFFQyxZQUFZLENBQUMsRUFBOEM7SUFFN0UsT0FBT0wsWUFDTCxDQUFDLEVBQUVNLEtBQUssRUFBRTtRQUNSLE1BQU1DLGFBQWEsT0FBT0osVUFBVUYsY0FBYztRQUNsRCxNQUFNTyx3QkFBd0IsSUFBSUMsT0FDaEMsaUJBQ0UsTUFDQU4sVUFDQSxNQUNBLFNBQ0FJLGFBQ0EsU0FDQUgsWUFDQSxPQUNBO1FBRUosTUFBTU0sUUFBUUYsc0JBQXNCRyxJQUFJLENBQUNMO1FBQ3pDLElBQUlJLFVBQVUsTUFBTTtZQUNsQixNQUFNRSx5QkFBeUJGLEtBQUssQ0FBQyxFQUFFO1lBRXZDOztTQUVDLEdBQ0QsTUFBTUcsaUJBQWlCSCxLQUFLLENBQUMsRUFBRTtZQUUvQixJQUFJRyxlQUFlQyxNQUFNLElBQUlULFdBQVc7Z0JBQ3RDLE9BQU87b0JBQ0xVLFlBQVlMLE1BQU1NLEtBQUssR0FBR0osdUJBQXVCRSxNQUFNO29CQUN2REQ7b0JBQ0FJLG1CQUFtQlAsS0FBSyxDQUFDLEVBQUU7Z0JBQzdCO1lBQ0Y7UUFDRjtRQUNBLE9BQU87SUFDVCxHQUNBO1FBQUNOO1FBQVdDO1FBQVdGO0tBQVE7QUFFbkMifQ==
@@ -1,68 +1,19 @@
1
1
  'use client';
2
- "use strict";
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- Object.defineProperty(exports, "AddBlockHandlePlugin", {
7
- enumerable: true,
8
- get: function() {
9
- return AddBlockHandlePlugin;
10
- }
11
- });
12
- const _LexicalComposerContext = require("@lexical/react/LexicalComposerContext");
13
- const _lexical = require("lexical");
14
- const _react = /*#__PURE__*/ _interop_require_wildcard(require("react"));
15
- const _reactdom = require("react-dom");
16
- const _guard = require("../../../utils/guard");
17
- const _point = require("../../../utils/point");
18
- const _rect = require("../../../utils/rect");
19
- const _LexicalTypeaheadMenuPlugin = require("../../SlashMenu/LexicalTypeaheadMenuPlugin");
20
- const _getCollapsedMargins = require("../utils/getCollapsedMargins");
21
- const _getTopLevelNodeKeys = require("../utils/getTopLevelNodeKeys");
22
- const _isOnHandleElement = require("../utils/isOnHandleElement");
23
- const _setHandlePosition = require("../utils/setHandlePosition");
24
- require("./index.scss");
25
- function _getRequireWildcardCache(nodeInterop) {
26
- if (typeof WeakMap !== "function") return null;
27
- var cacheBabelInterop = new WeakMap();
28
- var cacheNodeInterop = new WeakMap();
29
- return (_getRequireWildcardCache = function(nodeInterop) {
30
- return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
31
- })(nodeInterop);
32
- }
33
- function _interop_require_wildcard(obj, nodeInterop) {
34
- if (!nodeInterop && obj && obj.__esModule) {
35
- return obj;
36
- }
37
- if (obj === null || typeof obj !== "object" && typeof obj !== "function") {
38
- return {
39
- default: obj
40
- };
41
- }
42
- var cache = _getRequireWildcardCache(nodeInterop);
43
- if (cache && cache.has(obj)) {
44
- return cache.get(obj);
45
- }
46
- var newObj = {
47
- __proto__: null
48
- };
49
- var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
50
- for(var key in obj){
51
- if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
52
- var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;
53
- if (desc && (desc.get || desc.set)) {
54
- Object.defineProperty(newObj, key, desc);
55
- } else {
56
- newObj[key] = obj[key];
57
- }
58
- }
59
- }
60
- newObj.default = obj;
61
- if (cache) {
62
- cache.set(obj, newObj);
63
- }
64
- return newObj;
65
- }
2
+ import { useLexicalComposerContext } from '@lexical/react/LexicalComposerContext';
3
+ import { $createParagraphNode } from 'lexical';
4
+ import { $getNodeByKey } from 'lexical';
5
+ import * as React from 'react';
6
+ import { useCallback, useEffect, useRef, useState } from 'react';
7
+ import { createPortal } from 'react-dom';
8
+ import { isHTMLElement } from '../../../utils/guard';
9
+ import { Point } from '../../../utils/point';
10
+ import { Rect } from '../../../utils/rect';
11
+ import { ENABLE_SLASH_MENU_COMMAND } from '../../SlashMenu/LexicalTypeaheadMenuPlugin';
12
+ import { getCollapsedMargins } from '../utils/getCollapsedMargins';
13
+ import { getTopLevelNodeKeys } from '../utils/getTopLevelNodeKeys';
14
+ import { isOnHandleElement } from '../utils/isOnHandleElement';
15
+ import { setHandlePosition } from '../utils/setHandlePosition';
16
+ import './index.scss';
66
17
  const SPACE = -24;
67
18
  const ADD_BLOCK_MENU_CLASSNAME = 'add-block-menu';
68
19
  const Downward = 1;
@@ -80,7 +31,7 @@ function getCurrentIndex(keysLength) {
80
31
  }
81
32
  function getBlockElement(anchorElem, editor, event, useEdgeAsDefault = false, horizontalOffset = 0) {
82
33
  const anchorElementRect = anchorElem.getBoundingClientRect();
83
- const topLevelNodeKeys = (0, _getTopLevelNodeKeys.getTopLevelNodeKeys)(editor);
34
+ const topLevelNodeKeys = getTopLevelNodeKeys(editor);
84
35
  let blockElem = null;
85
36
  let blockNode = null;
86
37
  // Return null if matching block element is the first or last node
@@ -116,9 +67,9 @@ function getBlockElement(anchorElem, editor, event, useEdgeAsDefault = false, ho
116
67
  if (elem === null) {
117
68
  break;
118
69
  }
119
- const point = new _point.Point(event.x + horizontalOffset, event.y);
120
- const domRect = _rect.Rect.fromDOM(elem);
121
- const { marginBottom, marginTop } = (0, _getCollapsedMargins.getCollapsedMargins)(elem);
70
+ const point = new Point(event.x + horizontalOffset, event.y);
71
+ const domRect = Rect.fromDOM(elem);
72
+ const { marginBottom, marginTop } = getCollapsedMargins(elem);
122
73
  const rect = domRect.generateNewRect({
123
74
  bottom: domRect.bottom + marginBottom,
124
75
  left: anchorElementRect.left,
@@ -128,7 +79,7 @@ function getBlockElement(anchorElem, editor, event, useEdgeAsDefault = false, ho
128
79
  const { reason: { isOnBottomSide, isOnTopSide }, result } = rect.contains(point);
129
80
  if (result) {
130
81
  blockElem = elem;
131
- blockNode = (0, _lexical.$getNodeByKey)(key);
82
+ blockNode = $getNodeByKey(key);
132
83
  prevIndex = index;
133
84
  break;
134
85
  }
@@ -152,12 +103,12 @@ function getBlockElement(anchorElem, editor, event, useEdgeAsDefault = false, ho
152
103
  }
153
104
  function useAddBlockHandle(editor, anchorElem, isEditable) {
154
105
  const scrollerElem = anchorElem.parentElement;
155
- const menuRef = (0, _react.useRef)(null);
156
- const [hoveredElement, setHoveredElement] = (0, _react.useState)(null);
157
- (0, _react.useEffect)(()=>{
106
+ const menuRef = useRef(null);
107
+ const [hoveredElement, setHoveredElement] = useState(null);
108
+ useEffect(()=>{
158
109
  function onDocumentMouseMove(event) {
159
110
  const target = event.target;
160
- if (!(0, _guard.isHTMLElement)(target)) {
111
+ if (!isHTMLElement(target)) {
161
112
  return;
162
113
  }
163
114
  let distanceFromScrollerElem = 0;
@@ -179,7 +130,7 @@ function useAddBlockHandle(editor, anchorElem, isEditable) {
179
130
  distanceFromScrollerElem = pageX < left ? pageX - left : pageX - right;
180
131
  }
181
132
  }
182
- if ((0, _isOnHandleElement.isOnHandleElement)(target, ADD_BLOCK_MENU_CLASSNAME)) {
133
+ if (isOnHandleElement(target, ADD_BLOCK_MENU_CLASSNAME)) {
183
134
  return;
184
135
  }
185
136
  const { blockElem: _emptyBlockElem, blockNode } = getBlockElement(anchorElem, editor, event, false, -distanceFromScrollerElem);
@@ -203,7 +154,7 @@ function useAddBlockHandle(editor, anchorElem, isEditable) {
203
154
  anchorElem,
204
155
  editor
205
156
  ]);
206
- (0, _react.useEffect)(()=>{
157
+ useEffect(()=>{
207
158
  if (menuRef.current && hoveredElement?.node) {
208
159
  editor.getEditorState().read(()=>{
209
160
  // Check if blockNode is an empty text node
@@ -211,7 +162,7 @@ function useAddBlockHandle(editor, anchorElem, isEditable) {
211
162
  if (hoveredElement.node.getType() !== 'paragraph' || hoveredElement.node.getTextContent() !== '') {
212
163
  isEmptyParagraph = false;
213
164
  }
214
- (0, _setHandlePosition.setHandlePosition)(hoveredElement?.elem, menuRef.current, anchorElem, isEmptyParagraph ? SPACE : SPACE - 20);
165
+ setHandlePosition(hoveredElement?.elem, menuRef.current, anchorElem, isEmptyParagraph ? SPACE : SPACE - 20);
215
166
  });
216
167
  }
217
168
  }, [
@@ -219,7 +170,7 @@ function useAddBlockHandle(editor, anchorElem, isEditable) {
219
170
  hoveredElement,
220
171
  editor
221
172
  ]);
222
- const handleAddClick = (0, _react.useCallback)((event)=>{
173
+ const handleAddClick = useCallback((event)=>{
223
174
  let hoveredElementToUse = hoveredElement;
224
175
  if (!hoveredElementToUse?.node) {
225
176
  return;
@@ -232,7 +183,7 @@ function useAddBlockHandle(editor, anchorElem, isEditable) {
232
183
  isEmptyParagraph = false;
233
184
  }
234
185
  if (!isEmptyParagraph) {
235
- const newParagraph = (0, _lexical.$createParagraphNode)();
186
+ const newParagraph = $createParagraphNode();
236
187
  hoveredElementToUse.node.insertAfter(newParagraph);
237
188
  setTimeout(()=>{
238
189
  hoveredElementToUse = {
@@ -255,7 +206,7 @@ function useAddBlockHandle(editor, anchorElem, isEditable) {
255
206
  // Make sure this is called AFTER the focusing has been processed by the browser
256
207
  // Otherwise, this won't work
257
208
  setTimeout(()=>{
258
- editor.dispatchCommand(_LexicalTypeaheadMenuPlugin.ENABLE_SLASH_MENU_COMMAND, {
209
+ editor.dispatchCommand(ENABLE_SLASH_MENU_COMMAND, {
259
210
  node: hoveredElementToUse.node
260
211
  });
261
212
  }, 2);
@@ -265,20 +216,20 @@ function useAddBlockHandle(editor, anchorElem, isEditable) {
265
216
  editor,
266
217
  hoveredElement
267
218
  ]);
268
- return /*#__PURE__*/ (0, _reactdom.createPortal)(/*#__PURE__*/ _react.createElement(_react.Fragment, null, /*#__PURE__*/ _react.createElement("button", {
219
+ return /*#__PURE__*/ createPortal(/*#__PURE__*/ React.createElement(React.Fragment, null, /*#__PURE__*/ React.createElement("button", {
269
220
  className: "icon add-block-menu",
270
221
  onClick: (event)=>{
271
222
  handleAddClick(event);
272
223
  },
273
224
  ref: menuRef,
274
225
  type: "button"
275
- }, /*#__PURE__*/ _react.createElement("div", {
226
+ }, /*#__PURE__*/ React.createElement("div", {
276
227
  className: isEditable ? 'icon' : ''
277
228
  }))), anchorElem);
278
229
  }
279
- function AddBlockHandlePlugin({ anchorElem = document.body }) {
280
- const [editor] = (0, _LexicalComposerContext.useLexicalComposerContext)();
230
+ export function AddBlockHandlePlugin({ anchorElem = document.body }) {
231
+ const [editor] = useLexicalComposerContext();
281
232
  return useAddBlockHandle(editor, anchorElem, editor._editable);
282
233
  }
283
234
 
284
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9maWVsZC9sZXhpY2FsL3BsdWdpbnMvaGFuZGxlcy9BZGRCbG9ja0hhbmRsZVBsdWdpbi9pbmRleC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiJ3VzZSBjbGllbnQnXG5pbXBvcnQgdHlwZSB7IFBhcmFncmFwaE5vZGUgfSBmcm9tICdsZXhpY2FsJ1xuXG5pbXBvcnQgeyB1c2VMZXhpY2FsQ29tcG9zZXJDb250ZXh0IH0gZnJvbSAnQGxleGljYWwvcmVhY3QvTGV4aWNhbENvbXBvc2VyQ29udGV4dCdcbmltcG9ydCB7ICRjcmVhdGVQYXJhZ3JhcGhOb2RlIH0gZnJvbSAnbGV4aWNhbCdcbmltcG9ydCB7ICRnZXROb2RlQnlLZXksIHR5cGUgTGV4aWNhbEVkaXRvciwgdHlwZSBMZXhpY2FsTm9kZSB9IGZyb20gJ2xleGljYWwnXG5pbXBvcnQgKiBhcyBSZWFjdCBmcm9tICdyZWFjdCdcbmltcG9ydCB7IHVzZUNhbGxiYWNrLCB1c2VFZmZlY3QsIHVzZVJlZiwgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCdcbmltcG9ydCB7IGNyZWF0ZVBvcnRhbCB9IGZyb20gJ3JlYWN0LWRvbSdcblxuaW1wb3J0IHsgaXNIVE1MRWxlbWVudCB9IGZyb20gJy4uLy4uLy4uL3V0aWxzL2d1YXJkJ1xuaW1wb3J0IHsgUG9pbnQgfSBmcm9tICcuLi8uLi8uLi91dGlscy9wb2ludCdcbmltcG9ydCB7IFJlY3QgfSBmcm9tICcuLi8uLi8uLi91dGlscy9yZWN0J1xuaW1wb3J0IHsgRU5BQkxFX1NMQVNIX01FTlVfQ09NTUFORCB9IGZyb20gJy4uLy4uL1NsYXNoTWVudS9MZXhpY2FsVHlwZWFoZWFkTWVudVBsdWdpbidcbmltcG9ydCB7IGdldENvbGxhcHNlZE1hcmdpbnMgfSBmcm9tICcuLi91dGlscy9nZXRDb2xsYXBzZWRNYXJnaW5zJ1xuaW1wb3J0IHsgZ2V0VG9wTGV2ZWxOb2RlS2V5cyB9IGZyb20gJy4uL3V0aWxzL2dldFRvcExldmVsTm9kZUtleXMnXG5pbXBvcnQgeyBpc09uSGFuZGxlRWxlbWVudCB9IGZyb20gJy4uL3V0aWxzL2lzT25IYW5kbGVFbGVtZW50J1xuaW1wb3J0IHsgc2V0SGFuZGxlUG9zaXRpb24gfSBmcm9tICcuLi91dGlscy9zZXRIYW5kbGVQb3NpdGlvbidcbmltcG9ydCAnLi9pbmRleC5zY3NzJ1xuXG5jb25zdCBTUEFDRSA9IC0yNFxuY29uc3QgQUREX0JMT0NLX01FTlVfQ0xBU1NOQU1FID0gJ2FkZC1ibG9jay1tZW51J1xuXG5jb25zdCBEb3dud2FyZCA9IDFcbmNvbnN0IFVwd2FyZCA9IC0xXG5jb25zdCBJbmRldGVybWluYXRlID0gMFxuXG5sZXQgcHJldkluZGV4ID0gSW5maW5pdHlcblxuZnVuY3Rpb24gZ2V0Q3VycmVudEluZGV4KGtleXNMZW5ndGg6IG51bWJlcik6IG51bWJlciB7XG4gIGlmIChrZXlzTGVuZ3RoID09PSAwKSB7XG4gICAgcmV0dXJuIEluZmluaXR5XG4gIH1cbiAgaWYgKHByZXZJbmRleCA+PSAwICYmIHByZXZJbmRleCA8IGtleXNMZW5ndGgpIHtcbiAgICByZXR1cm4gcHJldkluZGV4XG4gIH1cblxuICByZXR1cm4gTWF0aC5mbG9vcihrZXlzTGVuZ3RoIC8gMilcbn1cblxuZnVuY3Rpb24gZ2V0QmxvY2tFbGVtZW50KFxuICBhbmNob3JFbGVtOiBIVE1MRWxlbWVudCxcbiAgZWRpdG9yOiBMZXhpY2FsRWRpdG9yLFxuICBldmVudDogTW91c2VFdmVudCxcbiAgdXNlRWRnZUFzRGVmYXVsdCA9IGZhbHNlLFxuICBob3Jpem9udGFsT2Zmc2V0ID0gMCxcbik6IHtcbiAgYmxvY2tFbGVtOiBIVE1MRWxlbWVudCB8IG51bGxcbiAgYmxvY2tOb2RlOiBMZXhpY2FsTm9kZSB8IG51bGxcbn0ge1xuICBjb25zdCBhbmNob3JFbGVtZW50UmVjdCA9IGFuY2hvckVsZW0uZ2V0Qm91bmRpbmdDbGllbnRSZWN0KClcbiAgY29uc3QgdG9wTGV2ZWxOb2RlS2V5cyA9IGdldFRvcExldmVsTm9kZUtleXMoZWRpdG9yKVxuXG4gIGxldCBibG9ja0VsZW06IEhUTUxFbGVtZW50IHwgbnVsbCA9IG51bGxcbiAgbGV0IGJsb2NrTm9kZTogTGV4aWNhbE5vZGUgfCBudWxsID0gbnVsbFxuXG4gIC8vIFJldHVybiBudWxsIGlmIG1hdGNoaW5nIGJsb2NrIGVsZW1lbnQgaXMgdGhlIGZpcnN0IG9yIGxhc3Qgbm9kZVxuICBlZGl0b3IuZ2V0RWRpdG9yU3RhdGUoKS5yZWFkKCgpID0+IHtcbiAgICBpZiAodXNlRWRnZUFzRGVmYXVsdCkge1xuICAgICAgY29uc3QgW2ZpcnN0Tm9kZSwgbGFzdE5vZGVdID0gW1xuICAgICAgICBlZGl0b3IuZ2V0RWxlbWVudEJ5S2V5KHRvcExldmVsTm9kZUtleXNbMF0pLFxuICAgICAgICBlZGl0b3IuZ2V0RWxlbWVudEJ5S2V5KHRvcExldmVsTm9kZUtleXNbdG9wTGV2ZWxOb2RlS2V5cy5sZW5ndGggLSAxXSksXG4gICAgICBdXG5cbiAgICAgIGNvbnN0IFtmaXJzdE5vZGVSZWN0LCBsYXN0Tm9kZVJlY3RdID0gW1xuICAgICAgICBmaXJzdE5vZGU/LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLFxuICAgICAgICBsYXN0Tm9kZT8uZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCksXG4gICAgICBdXG5cbiAgICAgIGlmIChmaXJzdE5vZGVSZWN0ICYmIGxhc3ROb2RlUmVjdCkge1xuICAgICAgICBpZiAoZXZlbnQueSA8IGZpcnN0Tm9kZVJlY3QudG9wKSB7XG4gICAgICAgICAgYmxvY2tFbGVtID0gZmlyc3ROb2RlXG4gICAgICAgIH0gZWxzZSBpZiAoZXZlbnQueSA+IGxhc3ROb2RlUmVjdC5ib3R0b20pIHtcbiAgICAgICAgICBibG9ja0VsZW0gPSBsYXN0Tm9kZVxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGJsb2NrRWxlbSkge1xuICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBibG9ja0VsZW06IG51bGwsXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gRmluZCBtYXRjaGluZyBibG9jayBlbGVtZW50XG4gICAgbGV0IGluZGV4ID0gZ2V0Q3VycmVudEluZGV4KHRvcExldmVsTm9kZUtleXMubGVuZ3RoKVxuICAgIGxldCBkaXJlY3Rpb24gPSBJbmRldGVybWluYXRlXG5cbiAgICB3aGlsZSAoaW5kZXggPj0gMCAmJiBpbmRleCA8IHRvcExldmVsTm9kZUtleXMubGVuZ3RoKSB7XG4gICAgICBjb25zdCBrZXkgPSB0b3BMZXZlbE5vZGVLZXlzW2luZGV4XVxuICAgICAgY29uc3QgZWxlbSA9IGVkaXRvci5nZXRFbGVtZW50QnlLZXkoa2V5KVxuICAgICAgaWYgKGVsZW0gPT09IG51bGwpIHtcbiAgICAgICAgYnJlYWtcbiAgICAgIH1cbiAgICAgIGNvbnN0IHBvaW50ID0gbmV3IFBvaW50KGV2ZW50LnggKyBob3Jpem9udGFsT2Zmc2V0LCBldmVudC55KVxuICAgICAgY29uc3QgZG9tUmVjdCA9IFJlY3QuZnJvbURPTShlbGVtKVxuICAgICAgY29uc3QgeyBtYXJnaW5Cb3R0b20sIG1hcmdpblRvcCB9ID0gZ2V0Q29sbGFwc2VkTWFyZ2lucyhlbGVtKVxuXG4gICAgICBjb25zdCByZWN0ID0gZG9tUmVjdC5nZW5lcmF0ZU5ld1JlY3Qoe1xuICAgICAgICBib3R0b206IGRvbVJlY3QuYm90dG9tICsgbWFyZ2luQm90dG9tLFxuICAgICAgICBsZWZ0OiBhbmNob3JFbGVtZW50UmVjdC5sZWZ0LFxuICAgICAgICByaWdodDogYW5jaG9yRWxlbWVudFJlY3QucmlnaHQsXG4gICAgICAgIHRvcDogZG9tUmVjdC50b3AgLSBtYXJnaW5Ub3AsXG4gICAgICB9KVxuXG4gICAgICBjb25zdCB7XG4gICAgICAgIHJlYXNvbjogeyBpc09uQm90dG9tU2lkZSwgaXNPblRvcFNpZGUgfSxcbiAgICAgICAgcmVzdWx0LFxuICAgICAgfSA9IHJlY3QuY29udGFpbnMocG9pbnQpXG5cbiAgICAgIGlmIChyZXN1bHQpIHtcbiAgICAgICAgYmxvY2tFbGVtID0gZWxlbVxuICAgICAgICBibG9ja05vZGUgPSAkZ2V0Tm9kZUJ5S2V5KGtleSlcbiAgICAgICAgcHJldkluZGV4ID0gaW5kZXhcbiAgICAgICAgYnJlYWtcbiAgICAgIH1cblxuICAgICAgaWYgKGRpcmVjdGlvbiA9PT0gSW5kZXRlcm1pbmF0ZSkge1xuICAgICAgICBpZiAoaXNPblRvcFNpZGUpIHtcbiAgICAgICAgICBkaXJlY3Rpb24gPSBVcHdhcmRcbiAgICAgICAgfSBlbHNlIGlmIChpc09uQm90dG9tU2lkZSkge1xuICAgICAgICAgIGRpcmVjdGlvbiA9IERvd253YXJkXG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgLy8gc3RvcCBzZWFyY2ggYmxvY2sgZWxlbWVudFxuICAgICAgICAgIGRpcmVjdGlvbiA9IEluZmluaXR5XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgaW5kZXggKz0gZGlyZWN0aW9uXG4gICAgfVxuICB9KVxuXG4gIHJldHVybiB7XG4gICAgYmxvY2tFbGVtLFxuICAgIGJsb2NrTm9kZSxcbiAgfVxufVxuXG5mdW5jdGlvbiB1c2VBZGRCbG9ja0hhbmRsZShcbiAgZWRpdG9yOiBMZXhpY2FsRWRpdG9yLFxuICBhbmNob3JFbGVtOiBIVE1MRWxlbWVudCxcbiAgaXNFZGl0YWJsZTogYm9vbGVhbixcbik6IEpTWC5FbGVtZW50IHtcbiAgY29uc3Qgc2Nyb2xsZXJFbGVtID0gYW5jaG9yRWxlbS5wYXJlbnRFbGVtZW50XG5cbiAgY29uc3QgbWVudVJlZiA9IHVzZVJlZjxIVE1MQnV0dG9uRWxlbWVudD4obnVsbClcbiAgY29uc3QgW2hvdmVyZWRFbGVtZW50LCBzZXRIb3ZlcmVkRWxlbWVudF0gPSB1c2VTdGF0ZTx7XG4gICAgZWxlbTogSFRNTEVsZW1lbnRcbiAgICBub2RlOiBMZXhpY2FsTm9kZVxuICB9IHwgbnVsbD4obnVsbClcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGZ1bmN0aW9uIG9uRG9jdW1lbnRNb3VzZU1vdmUoZXZlbnQ6IE1vdXNlRXZlbnQpIHtcbiAgICAgIGNvbnN0IHRhcmdldCA9IGV2ZW50LnRhcmdldFxuICAgICAgaWYgKCFpc0hUTUxFbGVtZW50KHRhcmdldCkpIHtcbiAgICAgICAgcmV0dXJuXG4gICAgICB9XG5cbiAgICAgIGxldCBkaXN0YW5jZUZyb21TY3JvbGxlckVsZW0gPSAwXG4gICAgICAvLyBDYWxjdWxhdGUgZGlzdGFuY2UgYmV0d2VlbiBzY3JvbGxlckVsZW0gYW5kIHRhcmdldCBpZiB0YXJnZXQgaXMgbm90IGluIHNjcm9sbGVyRWxlbVxuICAgICAgaWYgKHNjcm9sbGVyRWxlbSAmJiAhc2Nyb2xsZXJFbGVtLmNvbnRhaW5zKHRhcmdldCkpIHtcbiAgICAgICAgY29uc3QgeyBib3R0b20sIGxlZnQsIHJpZ2h0LCB0b3AgfSA9IHNjcm9sbGVyRWxlbS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKVxuICAgICAgICBjb25zdCB7IHBhZ2VYLCBwYWdlWSB9ID0gZXZlbnRcbiAgICAgICAgY29uc3QgaG9yaXpvbnRhbEJ1ZmZlciA9IDUwXG4gICAgICAgIGNvbnN0IHZlcnRpY2FsQnVmZmVyID0gMjVcbiAgICAgICAgY29uc3QgYWRqdXN0ZWRUb3AgPSB0b3AgKyB3aW5kb3cuc2Nyb2xsWVxuICAgICAgICBjb25zdCBhZGp1c3RlZEJvdHRvbSA9IGJvdHRvbSArIHdpbmRvdy5zY3JvbGxZXG5cbiAgICAgICAgaWYgKFxuICAgICAgICAgIHBhZ2VZIDwgYWRqdXN0ZWRUb3AgLSB2ZXJ0aWNhbEJ1ZmZlciB8fFxuICAgICAgICAgIHBhZ2VZID4gYWRqdXN0ZWRCb3R0b20gKyB2ZXJ0aWNhbEJ1ZmZlciB8fFxuICAgICAgICAgIHBhZ2VYIDwgbGVmdCAtIGhvcml6b250YWxCdWZmZXIgfHxcbiAgICAgICAgICBwYWdlWCA+IHJpZ2h0ICsgaG9yaXpvbnRhbEJ1ZmZlclxuICAgICAgICApIHtcbiAgICAgICAgICBzZXRIb3ZlcmVkRWxlbWVudChudWxsKVxuICAgICAgICAgIHJldHVyblxuICAgICAgICB9XG5cbiAgICAgICAgLy8gVGhpcyBpcyB1c2VkIHRvIGFsbG93IHRoZSBfZW1wdHlCbG9ja0VsZW0gdG8gYmUgZm91bmQgd2hlbiB0aGUgbW91c2UgaXMgaW4gdGhlXG4gICAgICAgIC8vIGJ1ZmZlciB6b25lIGFyb3VuZCB0aGUgc2Nyb2xsZXJFbGVtLlxuICAgICAgICBpZiAocGFnZVggPCBsZWZ0IHx8IHBhZ2VYID4gcmlnaHQpIHtcbiAgICAgICAgICBkaXN0YW5jZUZyb21TY3JvbGxlckVsZW0gPSBwYWdlWCA8IGxlZnQgPyBwYWdlWCAtIGxlZnQgOiBwYWdlWCAtIHJpZ2h0XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgaWYgKGlzT25IYW5kbGVFbGVtZW50KHRhcmdldCwgQUREX0JMT0NLX01FTlVfQ0xBU1NOQU1FKSkge1xuICAgICAgICByZXR1cm5cbiAgICAgIH1cbiAgICAgIGNvbnN0IHsgYmxvY2tFbGVtOiBfZW1wdHlCbG9ja0VsZW0sIGJsb2NrTm9kZSB9ID0gZ2V0QmxvY2tFbGVtZW50KFxuICAgICAgICBhbmNob3JFbGVtLFxuICAgICAgICBlZGl0b3IsXG4gICAgICAgIGV2ZW50LFxuICAgICAgICBmYWxzZSxcbiAgICAgICAgLWRpc3RhbmNlRnJvbVNjcm9sbGVyRWxlbSxcbiAgICAgIClcbiAgICAgIGlmICghX2VtcHR5QmxvY2tFbGVtKSB7XG4gICAgICAgIHJldHVyblxuICAgICAgfVxuICAgICAgc2V0SG92ZXJlZEVsZW1lbnQoe1xuICAgICAgICBlbGVtOiBfZW1wdHlCbG9ja0VsZW0sXG4gICAgICAgIG5vZGU6IGJsb2NrTm9kZSxcbiAgICAgIH0pXG4gICAgfVxuXG4gICAgLy8gU2luY2UgdGhlIGRyYWdnYWJsZUJsb2NrRWxlbSBpcyBvdXRzaWRlIHRoZSBhY3R1YWwgZWRpdG9yLCB3ZSBuZWVkIHRvIGxpc3RlbiB0byB0aGUgZG9jdW1lbnRcbiAgICAvLyB0byBiZSBhYmxlIHRvIGRldGVjdCB3aGVuIHRoZSBtb3VzZSBpcyBvdXRzaWRlIHRoZSBlZGl0b3IgYW5kIHJlc3BlY3QgYSBidWZmZXIgYXJvdW5kXG4gICAgLy8gdGhlIHNjcm9sbGVyRWxlbSB0byBhdm9pZCB0aGUgZHJhZ2dhYmxlQmxvY2tFbGVtIGRpc2FwcGVhcmluZyB0b28gZWFybHkuXG4gICAgZG9jdW1lbnQ/LmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNlbW92ZScsIG9uRG9jdW1lbnRNb3VzZU1vdmUpXG5cbiAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgZG9jdW1lbnQ/LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ21vdXNlbW92ZScsIG9uRG9jdW1lbnRNb3VzZU1vdmUpXG4gICAgfVxuICB9LCBbc2Nyb2xsZXJFbGVtLCBhbmNob3JFbGVtLCBlZGl0b3JdKVxuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKG1lbnVSZWYuY3VycmVudCAmJiBob3ZlcmVkRWxlbWVudD8ubm9kZSkge1xuICAgICAgZWRpdG9yLmdldEVkaXRvclN0YXRlKCkucmVhZCgoKSA9PiB7XG4gICAgICAgIC8vIENoZWNrIGlmIGJsb2NrTm9kZSBpcyBhbiBlbXB0eSB0ZXh0IG5vZGVcbiAgICAgICAgbGV0IGlzRW1wdHlQYXJhZ3JhcGggPSB0cnVlXG4gICAgICAgIGlmIChcbiAgICAgICAgICBob3ZlcmVkRWxlbWVudC5ub2RlLmdldFR5cGUoKSAhPT0gJ3BhcmFncmFwaCcgfHxcbiAgICAgICAgICBob3ZlcmVkRWxlbWVudC5ub2RlLmdldFRleHRDb250ZW50KCkgIT09ICcnXG4gICAgICAgICkge1xuICAgICAgICAgIGlzRW1wdHlQYXJhZ3JhcGggPSBmYWxzZVxuICAgICAgICB9XG5cbiAgICAgICAgc2V0SGFuZGxlUG9zaXRpb24oXG4gICAgICAgICAgaG92ZXJlZEVsZW1lbnQ/LmVsZW0sXG4gICAgICAgICAgbWVudVJlZi5jdXJyZW50LFxuICAgICAgICAgIGFuY2hvckVsZW0sXG4gICAgICAgICAgaXNFbXB0eVBhcmFncmFwaCA/IFNQQUNFIDogU1BBQ0UgLSAyMCxcbiAgICAgICAgKVxuICAgICAgfSlcbiAgICB9XG4gIH0sIFthbmNob3JFbGVtLCBob3ZlcmVkRWxlbWVudCwgZWRpdG9yXSlcblxuICBjb25zdCBoYW5kbGVBZGRDbGljayA9IHVzZUNhbGxiYWNrKFxuICAgIChldmVudCkgPT4ge1xuICAgICAgbGV0IGhvdmVyZWRFbGVtZW50VG9Vc2UgPSBob3ZlcmVkRWxlbWVudFxuICAgICAgaWYgKCFob3ZlcmVkRWxlbWVudFRvVXNlPy5ub2RlKSB7XG4gICAgICAgIHJldHVyblxuICAgICAgfVxuXG4gICAgICAvLyAxLiBVcGRhdGUgaG92ZXJlZEVsZW1lbnQubm9kZSB0byBhIG5ldyBwYXJhZ3JhcGggbm9kZSBpZiB0aGUgaG92ZXJlZEVsZW1lbnQubm9kZSBpcyBub3QgYSBwYXJhZ3JhcGggbm9kZVxuICAgICAgZWRpdG9yLnVwZGF0ZSgoKSA9PiB7XG4gICAgICAgIC8vIENoZWNrIGlmIGJsb2NrTm9kZSBpcyBhbiBlbXB0eSB0ZXh0IG5vZGVcbiAgICAgICAgbGV0IGlzRW1wdHlQYXJhZ3JhcGggPSB0cnVlXG4gICAgICAgIGlmIChcbiAgICAgICAgICBob3ZlcmVkRWxlbWVudFRvVXNlLm5vZGUuZ2V0VHlwZSgpICE9PSAncGFyYWdyYXBoJyB8fFxuICAgICAgICAgIGhvdmVyZWRFbGVtZW50VG9Vc2Uubm9kZS5nZXRUZXh0Q29udGVudCgpICE9PSAnJ1xuICAgICAgICApIHtcbiAgICAgICAgICBpc0VtcHR5UGFyYWdyYXBoID0gZmFsc2VcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICghaXNFbXB0eVBhcmFncmFwaCkge1xuICAgICAgICAgIGNvbnN0IG5ld1BhcmFncmFwaCA9ICRjcmVhdGVQYXJhZ3JhcGhOb2RlKClcbiAgICAgICAgICBob3ZlcmVkRWxlbWVudFRvVXNlLm5vZGUuaW5zZXJ0QWZ0ZXIobmV3UGFyYWdyYXBoKVxuXG4gICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICBob3ZlcmVkRWxlbWVudFRvVXNlID0ge1xuICAgICAgICAgICAgICBlbGVtOiBlZGl0b3IuZ2V0RWxlbWVudEJ5S2V5KG5ld1BhcmFncmFwaC5nZXRLZXkoKSksXG4gICAgICAgICAgICAgIG5vZGU6IG5ld1BhcmFncmFwaCxcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHNldEhvdmVyZWRFbGVtZW50KGhvdmVyZWRFbGVtZW50VG9Vc2UpXG4gICAgICAgICAgfSwgMClcbiAgICAgICAgfVxuICAgICAgfSlcblxuICAgICAgLy8gMi4gRm9jdXMgb24gdGhlIG5ldyBwYXJhZ3JhcGggbm9kZVxuICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgIGVkaXRvci51cGRhdGUoKCkgPT4ge1xuICAgICAgICAgIGVkaXRvci5mb2N1cygpXG5cbiAgICAgICAgICBpZiAoXG4gICAgICAgICAgICBob3ZlcmVkRWxlbWVudFRvVXNlLm5vZGUgJiZcbiAgICAgICAgICAgICdzZWxlY3QnIGluIGhvdmVyZWRFbGVtZW50VG9Vc2Uubm9kZSAmJlxuICAgICAgICAgICAgdHlwZW9mIGhvdmVyZWRFbGVtZW50VG9Vc2Uubm9kZS5zZWxlY3QgPT09ICdmdW5jdGlvbidcbiAgICAgICAgICApIHtcbiAgICAgICAgICAgIGhvdmVyZWRFbGVtZW50VG9Vc2Uubm9kZS5zZWxlY3QoKVxuICAgICAgICAgIH1cbiAgICAgICAgfSlcbiAgICAgIH0sIDEpXG5cbiAgICAgIC8vIE1ha2Ugc3VyZSB0aGlzIGlzIGNhbGxlZCBBRlRFUiB0aGUgZm9jdXNpbmcgaGFzIGJlZW4gcHJvY2Vzc2VkIGJ5IHRoZSBicm93c2VyXG4gICAgICAvLyBPdGhlcndpc2UsIHRoaXMgd29uJ3Qgd29ya1xuICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgIGVkaXRvci5kaXNwYXRjaENvbW1hbmQoRU5BQkxFX1NMQVNIX01FTlVfQ09NTUFORCwge1xuICAgICAgICAgIG5vZGU6IGhvdmVyZWRFbGVtZW50VG9Vc2Uubm9kZSBhcyBQYXJhZ3JhcGhOb2RlLFxuICAgICAgICB9KVxuICAgICAgfSwgMilcblxuICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcbiAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KClcbiAgICB9LFxuICAgIFtlZGl0b3IsIGhvdmVyZWRFbGVtZW50XSxcbiAgKVxuXG4gIHJldHVybiBjcmVhdGVQb3J0YWwoXG4gICAgPFJlYWN0LkZyYWdtZW50PlxuICAgICAgPGJ1dHRvblxuICAgICAgICBjbGFzc05hbWU9XCJpY29uIGFkZC1ibG9jay1tZW51XCJcbiAgICAgICAgb25DbGljaz17KGV2ZW50KSA9PiB7XG4gICAgICAgICAgaGFuZGxlQWRkQ2xpY2soZXZlbnQpXG4gICAgICAgIH19XG4gICAgICAgIHJlZj17bWVudVJlZn1cbiAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICA+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPXtpc0VkaXRhYmxlID8gJ2ljb24nIDogJyd9IC8+XG4gICAgICA8L2J1dHRvbj5cbiAgICA8L1JlYWN0LkZyYWdtZW50PixcbiAgICBhbmNob3JFbGVtLFxuICApXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBBZGRCbG9ja0hhbmRsZVBsdWdpbih7XG4gIGFuY2hvckVsZW0gPSBkb2N1bWVudC5ib2R5LFxufToge1xuICBhbmNob3JFbGVtPzogSFRNTEVsZW1lbnRcbn0pOiBKU1guRWxlbWVudCB7XG4gIGNvbnN0IFtlZGl0b3JdID0gdXNlTGV4aWNhbENvbXBvc2VyQ29udGV4dCgpXG4gIHJldHVybiB1c2VBZGRCbG9ja0hhbmRsZShlZGl0b3IsIGFuY2hvckVsZW0sIGVkaXRvci5fZWRpdGFibGUpXG59XG4iXSwibmFtZXMiOlsiQWRkQmxvY2tIYW5kbGVQbHVnaW4iLCJTUEFDRSIsIkFERF9CTE9DS19NRU5VX0NMQVNTTkFNRSIsIkRvd253YXJkIiwiVXB3YXJkIiwiSW5kZXRlcm1pbmF0ZSIsInByZXZJbmRleCIsIkluZmluaXR5IiwiZ2V0Q3VycmVudEluZGV4Iiwia2V5c0xlbmd0aCIsIk1hdGgiLCJmbG9vciIsImdldEJsb2NrRWxlbWVudCIsImFuY2hvckVsZW0iLCJlZGl0b3IiLCJldmVudCIsInVzZUVkZ2VBc0RlZmF1bHQiLCJob3Jpem9udGFsT2Zmc2V0IiwiYW5jaG9yRWxlbWVudFJlY3QiLCJnZXRCb3VuZGluZ0NsaWVudFJlY3QiLCJ0b3BMZXZlbE5vZGVLZXlzIiwiZ2V0VG9wTGV2ZWxOb2RlS2V5cyIsImJsb2NrRWxlbSIsImJsb2NrTm9kZSIsImdldEVkaXRvclN0YXRlIiwicmVhZCIsImZpcnN0Tm9kZSIsImxhc3ROb2RlIiwiZ2V0RWxlbWVudEJ5S2V5IiwibGVuZ3RoIiwiZmlyc3ROb2RlUmVjdCIsImxhc3ROb2RlUmVjdCIsInkiLCJ0b3AiLCJib3R0b20iLCJpbmRleCIsImRpcmVjdGlvbiIsImtleSIsImVsZW0iLCJwb2ludCIsIlBvaW50IiwieCIsImRvbVJlY3QiLCJSZWN0IiwiZnJvbURPTSIsIm1hcmdpbkJvdHRvbSIsIm1hcmdpblRvcCIsImdldENvbGxhcHNlZE1hcmdpbnMiLCJyZWN0IiwiZ2VuZXJhdGVOZXdSZWN0IiwibGVmdCIsInJpZ2h0IiwicmVhc29uIiwiaXNPbkJvdHRvbVNpZGUiLCJpc09uVG9wU2lkZSIsInJlc3VsdCIsImNvbnRhaW5zIiwiJGdldE5vZGVCeUtleSIsInVzZUFkZEJsb2NrSGFuZGxlIiwiaXNFZGl0YWJsZSIsInNjcm9sbGVyRWxlbSIsInBhcmVudEVsZW1lbnQiLCJtZW51UmVmIiwidXNlUmVmIiwiaG92ZXJlZEVsZW1lbnQiLCJzZXRIb3ZlcmVkRWxlbWVudCIsInVzZVN0YXRlIiwidXNlRWZmZWN0Iiwib25Eb2N1bWVudE1vdXNlTW92ZSIsInRhcmdldCIsImlzSFRNTEVsZW1lbnQiLCJkaXN0YW5jZUZyb21TY3JvbGxlckVsZW0iLCJwYWdlWCIsInBhZ2VZIiwiaG9yaXpvbnRhbEJ1ZmZlciIsInZlcnRpY2FsQnVmZmVyIiwiYWRqdXN0ZWRUb3AiLCJ3aW5kb3ciLCJzY3JvbGxZIiwiYWRqdXN0ZWRCb3R0b20iLCJpc09uSGFuZGxlRWxlbWVudCIsIl9lbXB0eUJsb2NrRWxlbSIsIm5vZGUiLCJkb2N1bWVudCIsImFkZEV2ZW50TGlzdGVuZXIiLCJyZW1vdmVFdmVudExpc3RlbmVyIiwiY3VycmVudCIsImlzRW1wdHlQYXJhZ3JhcGgiLCJnZXRUeXBlIiwiZ2V0VGV4dENvbnRlbnQiLCJzZXRIYW5kbGVQb3NpdGlvbiIsImhhbmRsZUFkZENsaWNrIiwidXNlQ2FsbGJhY2siLCJob3ZlcmVkRWxlbWVudFRvVXNlIiwidXBkYXRlIiwibmV3UGFyYWdyYXBoIiwiJGNyZWF0ZVBhcmFncmFwaE5vZGUiLCJpbnNlcnRBZnRlciIsInNldFRpbWVvdXQiLCJnZXRLZXkiLCJmb2N1cyIsInNlbGVjdCIsImRpc3BhdGNoQ29tbWFuZCIsIkVOQUJMRV9TTEFTSF9NRU5VX0NPTU1BTkQiLCJzdG9wUHJvcGFnYXRpb24iLCJwcmV2ZW50RGVmYXVsdCIsImNyZWF0ZVBvcnRhbCIsIlJlYWN0IiwiRnJhZ21lbnQiLCJidXR0b24iLCJjbGFzc05hbWUiLCJvbkNsaWNrIiwicmVmIiwidHlwZSIsImRpdiIsImJvZHkiLCJ1c2VMZXhpY2FsQ29tcG9zZXJDb250ZXh0IiwiX2VkaXRhYmxlIl0sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7K0JBMFRnQkE7OztlQUFBQTs7O3dDQXZUMEI7eUJBQ0w7K0RBRWQ7MEJBRU07dUJBRUM7dUJBQ1I7c0JBQ0Q7NENBQ3FCO3FDQUNOO3FDQUNBO21DQUNGO21DQUNBO1FBQzNCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFUCxNQUFNQyxRQUFRLENBQUM7QUFDZixNQUFNQywyQkFBMkI7QUFFakMsTUFBTUMsV0FBVztBQUNqQixNQUFNQyxTQUFTLENBQUM7QUFDaEIsTUFBTUMsZ0JBQWdCO0FBRXRCLElBQUlDLFlBQVlDO0FBRWhCLFNBQVNDLGdCQUFnQkMsVUFBa0I7SUFDekMsSUFBSUEsZUFBZSxHQUFHO1FBQ3BCLE9BQU9GO0lBQ1Q7SUFDQSxJQUFJRCxhQUFhLEtBQUtBLFlBQVlHLFlBQVk7UUFDNUMsT0FBT0g7SUFDVDtJQUVBLE9B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
235
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9maWVsZC9sZXhpY2FsL3BsdWdpbnMvaGFuZGxlcy9BZGRCbG9ja0hhbmRsZVBsdWdpbi9pbmRleC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiJ3VzZSBjbGllbnQnXG5pbXBvcnQgdHlwZSB7IFBhcmFncmFwaE5vZGUgfSBmcm9tICdsZXhpY2FsJ1xuXG5pbXBvcnQgeyB1c2VMZXhpY2FsQ29tcG9zZXJDb250ZXh0IH0gZnJvbSAnQGxleGljYWwvcmVhY3QvTGV4aWNhbENvbXBvc2VyQ29udGV4dCdcbmltcG9ydCB7ICRjcmVhdGVQYXJhZ3JhcGhOb2RlIH0gZnJvbSAnbGV4aWNhbCdcbmltcG9ydCB7ICRnZXROb2RlQnlLZXksIHR5cGUgTGV4aWNhbEVkaXRvciwgdHlwZSBMZXhpY2FsTm9kZSB9IGZyb20gJ2xleGljYWwnXG5pbXBvcnQgKiBhcyBSZWFjdCBmcm9tICdyZWFjdCdcbmltcG9ydCB7IHVzZUNhbGxiYWNrLCB1c2VFZmZlY3QsIHVzZVJlZiwgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCdcbmltcG9ydCB7IGNyZWF0ZVBvcnRhbCB9IGZyb20gJ3JlYWN0LWRvbSdcblxuaW1wb3J0IHsgaXNIVE1MRWxlbWVudCB9IGZyb20gJy4uLy4uLy4uL3V0aWxzL2d1YXJkJ1xuaW1wb3J0IHsgUG9pbnQgfSBmcm9tICcuLi8uLi8uLi91dGlscy9wb2ludCdcbmltcG9ydCB7IFJlY3QgfSBmcm9tICcuLi8uLi8uLi91dGlscy9yZWN0J1xuaW1wb3J0IHsgRU5BQkxFX1NMQVNIX01FTlVfQ09NTUFORCB9IGZyb20gJy4uLy4uL1NsYXNoTWVudS9MZXhpY2FsVHlwZWFoZWFkTWVudVBsdWdpbidcbmltcG9ydCB7IGdldENvbGxhcHNlZE1hcmdpbnMgfSBmcm9tICcuLi91dGlscy9nZXRDb2xsYXBzZWRNYXJnaW5zJ1xuaW1wb3J0IHsgZ2V0VG9wTGV2ZWxOb2RlS2V5cyB9IGZyb20gJy4uL3V0aWxzL2dldFRvcExldmVsTm9kZUtleXMnXG5pbXBvcnQgeyBpc09uSGFuZGxlRWxlbWVudCB9IGZyb20gJy4uL3V0aWxzL2lzT25IYW5kbGVFbGVtZW50J1xuaW1wb3J0IHsgc2V0SGFuZGxlUG9zaXRpb24gfSBmcm9tICcuLi91dGlscy9zZXRIYW5kbGVQb3NpdGlvbidcbmltcG9ydCAnLi9pbmRleC5zY3NzJ1xuXG5jb25zdCBTUEFDRSA9IC0yNFxuY29uc3QgQUREX0JMT0NLX01FTlVfQ0xBU1NOQU1FID0gJ2FkZC1ibG9jay1tZW51J1xuXG5jb25zdCBEb3dud2FyZCA9IDFcbmNvbnN0IFVwd2FyZCA9IC0xXG5jb25zdCBJbmRldGVybWluYXRlID0gMFxuXG5sZXQgcHJldkluZGV4ID0gSW5maW5pdHlcblxuZnVuY3Rpb24gZ2V0Q3VycmVudEluZGV4KGtleXNMZW5ndGg6IG51bWJlcik6IG51bWJlciB7XG4gIGlmIChrZXlzTGVuZ3RoID09PSAwKSB7XG4gICAgcmV0dXJuIEluZmluaXR5XG4gIH1cbiAgaWYgKHByZXZJbmRleCA+PSAwICYmIHByZXZJbmRleCA8IGtleXNMZW5ndGgpIHtcbiAgICByZXR1cm4gcHJldkluZGV4XG4gIH1cblxuICByZXR1cm4gTWF0aC5mbG9vcihrZXlzTGVuZ3RoIC8gMilcbn1cblxuZnVuY3Rpb24gZ2V0QmxvY2tFbGVtZW50KFxuICBhbmNob3JFbGVtOiBIVE1MRWxlbWVudCxcbiAgZWRpdG9yOiBMZXhpY2FsRWRpdG9yLFxuICBldmVudDogTW91c2VFdmVudCxcbiAgdXNlRWRnZUFzRGVmYXVsdCA9IGZhbHNlLFxuICBob3Jpem9udGFsT2Zmc2V0ID0gMCxcbik6IHtcbiAgYmxvY2tFbGVtOiBIVE1MRWxlbWVudCB8IG51bGxcbiAgYmxvY2tOb2RlOiBMZXhpY2FsTm9kZSB8IG51bGxcbn0ge1xuICBjb25zdCBhbmNob3JFbGVtZW50UmVjdCA9IGFuY2hvckVsZW0uZ2V0Qm91bmRpbmdDbGllbnRSZWN0KClcbiAgY29uc3QgdG9wTGV2ZWxOb2RlS2V5cyA9IGdldFRvcExldmVsTm9kZUtleXMoZWRpdG9yKVxuXG4gIGxldCBibG9ja0VsZW06IEhUTUxFbGVtZW50IHwgbnVsbCA9IG51bGxcbiAgbGV0IGJsb2NrTm9kZTogTGV4aWNhbE5vZGUgfCBudWxsID0gbnVsbFxuXG4gIC8vIFJldHVybiBudWxsIGlmIG1hdGNoaW5nIGJsb2NrIGVsZW1lbnQgaXMgdGhlIGZpcnN0IG9yIGxhc3Qgbm9kZVxuICBlZGl0b3IuZ2V0RWRpdG9yU3RhdGUoKS5yZWFkKCgpID0+IHtcbiAgICBpZiAodXNlRWRnZUFzRGVmYXVsdCkge1xuICAgICAgY29uc3QgW2ZpcnN0Tm9kZSwgbGFzdE5vZGVdID0gW1xuICAgICAgICBlZGl0b3IuZ2V0RWxlbWVudEJ5S2V5KHRvcExldmVsTm9kZUtleXNbMF0pLFxuICAgICAgICBlZGl0b3IuZ2V0RWxlbWVudEJ5S2V5KHRvcExldmVsTm9kZUtleXNbdG9wTGV2ZWxOb2RlS2V5cy5sZW5ndGggLSAxXSksXG4gICAgICBdXG5cbiAgICAgIGNvbnN0IFtmaXJzdE5vZGVSZWN0LCBsYXN0Tm9kZVJlY3RdID0gW1xuICAgICAgICBmaXJzdE5vZGU/LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLFxuICAgICAgICBsYXN0Tm9kZT8uZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCksXG4gICAgICBdXG5cbiAgICAgIGlmIChmaXJzdE5vZGVSZWN0ICYmIGxhc3ROb2RlUmVjdCkge1xuICAgICAgICBpZiAoZXZlbnQueSA8IGZpcnN0Tm9kZVJlY3QudG9wKSB7XG4gICAgICAgICAgYmxvY2tFbGVtID0gZmlyc3ROb2RlXG4gICAgICAgIH0gZWxzZSBpZiAoZXZlbnQueSA+IGxhc3ROb2RlUmVjdC5ib3R0b20pIHtcbiAgICAgICAgICBibG9ja0VsZW0gPSBsYXN0Tm9kZVxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGJsb2NrRWxlbSkge1xuICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBibG9ja0VsZW06IG51bGwsXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gRmluZCBtYXRjaGluZyBibG9jayBlbGVtZW50XG4gICAgbGV0IGluZGV4ID0gZ2V0Q3VycmVudEluZGV4KHRvcExldmVsTm9kZUtleXMubGVuZ3RoKVxuICAgIGxldCBkaXJlY3Rpb24gPSBJbmRldGVybWluYXRlXG5cbiAgICB3aGlsZSAoaW5kZXggPj0gMCAmJiBpbmRleCA8IHRvcExldmVsTm9kZUtleXMubGVuZ3RoKSB7XG4gICAgICBjb25zdCBrZXkgPSB0b3BMZXZlbE5vZGVLZXlzW2luZGV4XVxuICAgICAgY29uc3QgZWxlbSA9IGVkaXRvci5nZXRFbGVtZW50QnlLZXkoa2V5KVxuICAgICAgaWYgKGVsZW0gPT09IG51bGwpIHtcbiAgICAgICAgYnJlYWtcbiAgICAgIH1cbiAgICAgIGNvbnN0IHBvaW50ID0gbmV3IFBvaW50KGV2ZW50LnggKyBob3Jpem9udGFsT2Zmc2V0LCBldmVudC55KVxuICAgICAgY29uc3QgZG9tUmVjdCA9IFJlY3QuZnJvbURPTShlbGVtKVxuICAgICAgY29uc3QgeyBtYXJnaW5Cb3R0b20sIG1hcmdpblRvcCB9ID0gZ2V0Q29sbGFwc2VkTWFyZ2lucyhlbGVtKVxuXG4gICAgICBjb25zdCByZWN0ID0gZG9tUmVjdC5nZW5lcmF0ZU5ld1JlY3Qoe1xuICAgICAgICBib3R0b206IGRvbVJlY3QuYm90dG9tICsgbWFyZ2luQm90dG9tLFxuICAgICAgICBsZWZ0OiBhbmNob3JFbGVtZW50UmVjdC5sZWZ0LFxuICAgICAgICByaWdodDogYW5jaG9yRWxlbWVudFJlY3QucmlnaHQsXG4gICAgICAgIHRvcDogZG9tUmVjdC50b3AgLSBtYXJnaW5Ub3AsXG4gICAgICB9KVxuXG4gICAgICBjb25zdCB7XG4gICAgICAgIHJlYXNvbjogeyBpc09uQm90dG9tU2lkZSwgaXNPblRvcFNpZGUgfSxcbiAgICAgICAgcmVzdWx0LFxuICAgICAgfSA9IHJlY3QuY29udGFpbnMocG9pbnQpXG5cbiAgICAgIGlmIChyZXN1bHQpIHtcbiAgICAgICAgYmxvY2tFbGVtID0gZWxlbVxuICAgICAgICBibG9ja05vZGUgPSAkZ2V0Tm9kZUJ5S2V5KGtleSlcbiAgICAgICAgcHJldkluZGV4ID0gaW5kZXhcbiAgICAgICAgYnJlYWtcbiAgICAgIH1cblxuICAgICAgaWYgKGRpcmVjdGlvbiA9PT0gSW5kZXRlcm1pbmF0ZSkge1xuICAgICAgICBpZiAoaXNPblRvcFNpZGUpIHtcbiAgICAgICAgICBkaXJlY3Rpb24gPSBVcHdhcmRcbiAgICAgICAgfSBlbHNlIGlmIChpc09uQm90dG9tU2lkZSkge1xuICAgICAgICAgIGRpcmVjdGlvbiA9IERvd253YXJkXG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgLy8gc3RvcCBzZWFyY2ggYmxvY2sgZWxlbWVudFxuICAgICAgICAgIGRpcmVjdGlvbiA9IEluZmluaXR5XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgaW5kZXggKz0gZGlyZWN0aW9uXG4gICAgfVxuICB9KVxuXG4gIHJldHVybiB7XG4gICAgYmxvY2tFbGVtLFxuICAgIGJsb2NrTm9kZSxcbiAgfVxufVxuXG5mdW5jdGlvbiB1c2VBZGRCbG9ja0hhbmRsZShcbiAgZWRpdG9yOiBMZXhpY2FsRWRpdG9yLFxuICBhbmNob3JFbGVtOiBIVE1MRWxlbWVudCxcbiAgaXNFZGl0YWJsZTogYm9vbGVhbixcbik6IEpTWC5FbGVtZW50IHtcbiAgY29uc3Qgc2Nyb2xsZXJFbGVtID0gYW5jaG9yRWxlbS5wYXJlbnRFbGVtZW50XG5cbiAgY29uc3QgbWVudVJlZiA9IHVzZVJlZjxIVE1MQnV0dG9uRWxlbWVudD4obnVsbClcbiAgY29uc3QgW2hvdmVyZWRFbGVtZW50LCBzZXRIb3ZlcmVkRWxlbWVudF0gPSB1c2VTdGF0ZTx7XG4gICAgZWxlbTogSFRNTEVsZW1lbnRcbiAgICBub2RlOiBMZXhpY2FsTm9kZVxuICB9IHwgbnVsbD4obnVsbClcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGZ1bmN0aW9uIG9uRG9jdW1lbnRNb3VzZU1vdmUoZXZlbnQ6IE1vdXNlRXZlbnQpIHtcbiAgICAgIGNvbnN0IHRhcmdldCA9IGV2ZW50LnRhcmdldFxuICAgICAgaWYgKCFpc0hUTUxFbGVtZW50KHRhcmdldCkpIHtcbiAgICAgICAgcmV0dXJuXG4gICAgICB9XG5cbiAgICAgIGxldCBkaXN0YW5jZUZyb21TY3JvbGxlckVsZW0gPSAwXG4gICAgICAvLyBDYWxjdWxhdGUgZGlzdGFuY2UgYmV0d2VlbiBzY3JvbGxlckVsZW0gYW5kIHRhcmdldCBpZiB0YXJnZXQgaXMgbm90IGluIHNjcm9sbGVyRWxlbVxuICAgICAgaWYgKHNjcm9sbGVyRWxlbSAmJiAhc2Nyb2xsZXJFbGVtLmNvbnRhaW5zKHRhcmdldCkpIHtcbiAgICAgICAgY29uc3QgeyBib3R0b20sIGxlZnQsIHJpZ2h0LCB0b3AgfSA9IHNjcm9sbGVyRWxlbS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKVxuICAgICAgICBjb25zdCB7IHBhZ2VYLCBwYWdlWSB9ID0gZXZlbnRcbiAgICAgICAgY29uc3QgaG9yaXpvbnRhbEJ1ZmZlciA9IDUwXG4gICAgICAgIGNvbnN0IHZlcnRpY2FsQnVmZmVyID0gMjVcbiAgICAgICAgY29uc3QgYWRqdXN0ZWRUb3AgPSB0b3AgKyB3aW5kb3cuc2Nyb2xsWVxuICAgICAgICBjb25zdCBhZGp1c3RlZEJvdHRvbSA9IGJvdHRvbSArIHdpbmRvdy5zY3JvbGxZXG5cbiAgICAgICAgaWYgKFxuICAgICAgICAgIHBhZ2VZIDwgYWRqdXN0ZWRUb3AgLSB2ZXJ0aWNhbEJ1ZmZlciB8fFxuICAgICAgICAgIHBhZ2VZID4gYWRqdXN0ZWRCb3R0b20gKyB2ZXJ0aWNhbEJ1ZmZlciB8fFxuICAgICAgICAgIHBhZ2VYIDwgbGVmdCAtIGhvcml6b250YWxCdWZmZXIgfHxcbiAgICAgICAgICBwYWdlWCA+IHJpZ2h0ICsgaG9yaXpvbnRhbEJ1ZmZlclxuICAgICAgICApIHtcbiAgICAgICAgICBzZXRIb3ZlcmVkRWxlbWVudChudWxsKVxuICAgICAgICAgIHJldHVyblxuICAgICAgICB9XG5cbiAgICAgICAgLy8gVGhpcyBpcyB1c2VkIHRvIGFsbG93IHRoZSBfZW1wdHlCbG9ja0VsZW0gdG8gYmUgZm91bmQgd2hlbiB0aGUgbW91c2UgaXMgaW4gdGhlXG4gICAgICAgIC8vIGJ1ZmZlciB6b25lIGFyb3VuZCB0aGUgc2Nyb2xsZXJFbGVtLlxuICAgICAgICBpZiAocGFnZVggPCBsZWZ0IHx8IHBhZ2VYID4gcmlnaHQpIHtcbiAgICAgICAgICBkaXN0YW5jZUZyb21TY3JvbGxlckVsZW0gPSBwYWdlWCA8IGxlZnQgPyBwYWdlWCAtIGxlZnQgOiBwYWdlWCAtIHJpZ2h0XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgaWYgKGlzT25IYW5kbGVFbGVtZW50KHRhcmdldCwgQUREX0JMT0NLX01FTlVfQ0xBU1NOQU1FKSkge1xuICAgICAgICByZXR1cm5cbiAgICAgIH1cbiAgICAgIGNvbnN0IHsgYmxvY2tFbGVtOiBfZW1wdHlCbG9ja0VsZW0sIGJsb2NrTm9kZSB9ID0gZ2V0QmxvY2tFbGVtZW50KFxuICAgICAgICBhbmNob3JFbGVtLFxuICAgICAgICBlZGl0b3IsXG4gICAgICAgIGV2ZW50LFxuICAgICAgICBmYWxzZSxcbiAgICAgICAgLWRpc3RhbmNlRnJvbVNjcm9sbGVyRWxlbSxcbiAgICAgIClcbiAgICAgIGlmICghX2VtcHR5QmxvY2tFbGVtKSB7XG4gICAgICAgIHJldHVyblxuICAgICAgfVxuICAgICAgc2V0SG92ZXJlZEVsZW1lbnQoe1xuICAgICAgICBlbGVtOiBfZW1wdHlCbG9ja0VsZW0sXG4gICAgICAgIG5vZGU6IGJsb2NrTm9kZSxcbiAgICAgIH0pXG4gICAgfVxuXG4gICAgLy8gU2luY2UgdGhlIGRyYWdnYWJsZUJsb2NrRWxlbSBpcyBvdXRzaWRlIHRoZSBhY3R1YWwgZWRpdG9yLCB3ZSBuZWVkIHRvIGxpc3RlbiB0byB0aGUgZG9jdW1lbnRcbiAgICAvLyB0byBiZSBhYmxlIHRvIGRldGVjdCB3aGVuIHRoZSBtb3VzZSBpcyBvdXRzaWRlIHRoZSBlZGl0b3IgYW5kIHJlc3BlY3QgYSBidWZmZXIgYXJvdW5kXG4gICAgLy8gdGhlIHNjcm9sbGVyRWxlbSB0byBhdm9pZCB0aGUgZHJhZ2dhYmxlQmxvY2tFbGVtIGRpc2FwcGVhcmluZyB0b28gZWFybHkuXG4gICAgZG9jdW1lbnQ/LmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNlbW92ZScsIG9uRG9jdW1lbnRNb3VzZU1vdmUpXG5cbiAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgZG9jdW1lbnQ/LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ21vdXNlbW92ZScsIG9uRG9jdW1lbnRNb3VzZU1vdmUpXG4gICAgfVxuICB9LCBbc2Nyb2xsZXJFbGVtLCBhbmNob3JFbGVtLCBlZGl0b3JdKVxuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKG1lbnVSZWYuY3VycmVudCAmJiBob3ZlcmVkRWxlbWVudD8ubm9kZSkge1xuICAgICAgZWRpdG9yLmdldEVkaXRvclN0YXRlKCkucmVhZCgoKSA9PiB7XG4gICAgICAgIC8vIENoZWNrIGlmIGJsb2NrTm9kZSBpcyBhbiBlbXB0eSB0ZXh0IG5vZGVcbiAgICAgICAgbGV0IGlzRW1wdHlQYXJhZ3JhcGggPSB0cnVlXG4gICAgICAgIGlmIChcbiAgICAgICAgICBob3ZlcmVkRWxlbWVudC5ub2RlLmdldFR5cGUoKSAhPT0gJ3BhcmFncmFwaCcgfHxcbiAgICAgICAgICBob3ZlcmVkRWxlbWVudC5ub2RlLmdldFRleHRDb250ZW50KCkgIT09ICcnXG4gICAgICAgICkge1xuICAgICAgICAgIGlzRW1wdHlQYXJhZ3JhcGggPSBmYWxzZVxuICAgICAgICB9XG5cbiAgICAgICAgc2V0SGFuZGxlUG9zaXRpb24oXG4gICAgICAgICAgaG92ZXJlZEVsZW1lbnQ/LmVsZW0sXG4gICAgICAgICAgbWVudVJlZi5jdXJyZW50LFxuICAgICAgICAgIGFuY2hvckVsZW0sXG4gICAgICAgICAgaXNFbXB0eVBhcmFncmFwaCA/IFNQQUNFIDogU1BBQ0UgLSAyMCxcbiAgICAgICAgKVxuICAgICAgfSlcbiAgICB9XG4gIH0sIFthbmNob3JFbGVtLCBob3ZlcmVkRWxlbWVudCwgZWRpdG9yXSlcblxuICBjb25zdCBoYW5kbGVBZGRDbGljayA9IHVzZUNhbGxiYWNrKFxuICAgIChldmVudCkgPT4ge1xuICAgICAgbGV0IGhvdmVyZWRFbGVtZW50VG9Vc2UgPSBob3ZlcmVkRWxlbWVudFxuICAgICAgaWYgKCFob3ZlcmVkRWxlbWVudFRvVXNlPy5ub2RlKSB7XG4gICAgICAgIHJldHVyblxuICAgICAgfVxuXG4gICAgICAvLyAxLiBVcGRhdGUgaG92ZXJlZEVsZW1lbnQubm9kZSB0byBhIG5ldyBwYXJhZ3JhcGggbm9kZSBpZiB0aGUgaG92ZXJlZEVsZW1lbnQubm9kZSBpcyBub3QgYSBwYXJhZ3JhcGggbm9kZVxuICAgICAgZWRpdG9yLnVwZGF0ZSgoKSA9PiB7XG4gICAgICAgIC8vIENoZWNrIGlmIGJsb2NrTm9kZSBpcyBhbiBlbXB0eSB0ZXh0IG5vZGVcbiAgICAgICAgbGV0IGlzRW1wdHlQYXJhZ3JhcGggPSB0cnVlXG4gICAgICAgIGlmIChcbiAgICAgICAgICBob3ZlcmVkRWxlbWVudFRvVXNlLm5vZGUuZ2V0VHlwZSgpICE9PSAncGFyYWdyYXBoJyB8fFxuICAgICAgICAgIGhvdmVyZWRFbGVtZW50VG9Vc2Uubm9kZS5nZXRUZXh0Q29udGVudCgpICE9PSAnJ1xuICAgICAgICApIHtcbiAgICAgICAgICBpc0VtcHR5UGFyYWdyYXBoID0gZmFsc2VcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICghaXNFbXB0eVBhcmFncmFwaCkge1xuICAgICAgICAgIGNvbnN0IG5ld1BhcmFncmFwaCA9ICRjcmVhdGVQYXJhZ3JhcGhOb2RlKClcbiAgICAgICAgICBob3ZlcmVkRWxlbWVudFRvVXNlLm5vZGUuaW5zZXJ0QWZ0ZXIobmV3UGFyYWdyYXBoKVxuXG4gICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICBob3ZlcmVkRWxlbWVudFRvVXNlID0ge1xuICAgICAgICAgICAgICBlbGVtOiBlZGl0b3IuZ2V0RWxlbWVudEJ5S2V5KG5ld1BhcmFncmFwaC5nZXRLZXkoKSksXG4gICAgICAgICAgICAgIG5vZGU6IG5ld1BhcmFncmFwaCxcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHNldEhvdmVyZWRFbGVtZW50KGhvdmVyZWRFbGVtZW50VG9Vc2UpXG4gICAgICAgICAgfSwgMClcbiAgICAgICAgfVxuICAgICAgfSlcblxuICAgICAgLy8gMi4gRm9jdXMgb24gdGhlIG5ldyBwYXJhZ3JhcGggbm9kZVxuICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgIGVkaXRvci51cGRhdGUoKCkgPT4ge1xuICAgICAgICAgIGVkaXRvci5mb2N1cygpXG5cbiAgICAgICAgICBpZiAoXG4gICAgICAgICAgICBob3ZlcmVkRWxlbWVudFRvVXNlLm5vZGUgJiZcbiAgICAgICAgICAgICdzZWxlY3QnIGluIGhvdmVyZWRFbGVtZW50VG9Vc2Uubm9kZSAmJlxuICAgICAgICAgICAgdHlwZW9mIGhvdmVyZWRFbGVtZW50VG9Vc2Uubm9kZS5zZWxlY3QgPT09ICdmdW5jdGlvbidcbiAgICAgICAgICApIHtcbiAgICAgICAgICAgIGhvdmVyZWRFbGVtZW50VG9Vc2Uubm9kZS5zZWxlY3QoKVxuICAgICAgICAgIH1cbiAgICAgICAgfSlcbiAgICAgIH0sIDEpXG5cbiAgICAgIC8vIE1ha2Ugc3VyZSB0aGlzIGlzIGNhbGxlZCBBRlRFUiB0aGUgZm9jdXNpbmcgaGFzIGJlZW4gcHJvY2Vzc2VkIGJ5IHRoZSBicm93c2VyXG4gICAgICAvLyBPdGhlcndpc2UsIHRoaXMgd29uJ3Qgd29ya1xuICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgIGVkaXRvci5kaXNwYXRjaENvbW1hbmQoRU5BQkxFX1NMQVNIX01FTlVfQ09NTUFORCwge1xuICAgICAgICAgIG5vZGU6IGhvdmVyZWRFbGVtZW50VG9Vc2Uubm9kZSBhcyBQYXJhZ3JhcGhOb2RlLFxuICAgICAgICB9KVxuICAgICAgfSwgMilcblxuICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcbiAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KClcbiAgICB9LFxuICAgIFtlZGl0b3IsIGhvdmVyZWRFbGVtZW50XSxcbiAgKVxuXG4gIHJldHVybiBjcmVhdGVQb3J0YWwoXG4gICAgPFJlYWN0LkZyYWdtZW50PlxuICAgICAgPGJ1dHRvblxuICAgICAgICBjbGFzc05hbWU9XCJpY29uIGFkZC1ibG9jay1tZW51XCJcbiAgICAgICAgb25DbGljaz17KGV2ZW50KSA9PiB7XG4gICAgICAgICAgaGFuZGxlQWRkQ2xpY2soZXZlbnQpXG4gICAgICAgIH19XG4gICAgICAgIHJlZj17bWVudVJlZn1cbiAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICA+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPXtpc0VkaXRhYmxlID8gJ2ljb24nIDogJyd9IC8+XG4gICAgICA8L2J1dHRvbj5cbiAgICA8L1JlYWN0LkZyYWdtZW50PixcbiAgICBhbmNob3JFbGVtLFxuICApXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBBZGRCbG9ja0hhbmRsZVBsdWdpbih7XG4gIGFuY2hvckVsZW0gPSBkb2N1bWVudC5ib2R5LFxufToge1xuICBhbmNob3JFbGVtPzogSFRNTEVsZW1lbnRcbn0pOiBKU1guRWxlbWVudCB7XG4gIGNvbnN0IFtlZGl0b3JdID0gdXNlTGV4aWNhbENvbXBvc2VyQ29udGV4dCgpXG4gIHJldHVybiB1c2VBZGRCbG9ja0hhbmRsZShlZGl0b3IsIGFuY2hvckVsZW0sIGVkaXRvci5fZWRpdGFibGUpXG59XG4iXSwibmFtZXMiOlsidXNlTGV4aWNhbENvbXBvc2VyQ29udGV4dCIsIiRjcmVhdGVQYXJhZ3JhcGhOb2RlIiwiJGdldE5vZGVCeUtleSIsIlJlYWN0IiwidXNlQ2FsbGJhY2siLCJ1c2VFZmZlY3QiLCJ1c2VSZWYiLCJ1c2VTdGF0ZSIsImNyZWF0ZVBvcnRhbCIsImlzSFRNTEVsZW1lbnQiLCJQb2ludCIsIlJlY3QiLCJFTkFCTEVfU0xBU0hfTUVOVV9DT01NQU5EIiwiZ2V0Q29sbGFwc2VkTWFyZ2lucyIsImdldFRvcExldmVsTm9kZUtleXMiLCJpc09uSGFuZGxlRWxlbWVudCIsInNldEhhbmRsZVBvc2l0aW9uIiwiU1BBQ0UiLCJBRERfQkxPQ0tfTUVOVV9DTEFTU05BTUUiLCJEb3dud2FyZCIsIlVwd2FyZCIsIkluZGV0ZXJtaW5hdGUiLCJwcmV2SW5kZXgiLCJJbmZpbml0eSIsImdldEN1cnJlbnRJbmRleCIsImtleXNMZW5ndGgiLCJNYXRoIiwiZmxvb3IiLCJnZXRCbG9ja0VsZW1lbnQiLCJhbmNob3JFbGVtIiwiZWRpdG9yIiwiZXZlbnQiLCJ1c2VFZGdlQXNEZWZhdWx0IiwiaG9yaXpvbnRhbE9mZnNldCIsImFuY2hvckVsZW1lbnRSZWN0IiwiZ2V0Qm91bmRpbmdDbGllbnRSZWN0IiwidG9wTGV2ZWxOb2RlS2V5cyIsImJsb2NrRWxlbSIsImJsb2NrTm9kZSIsImdldEVkaXRvclN0YXRlIiwicmVhZCIsImZpcnN0Tm9kZSIsImxhc3ROb2RlIiwiZ2V0RWxlbWVudEJ5S2V5IiwibGVuZ3RoIiwiZmlyc3ROb2RlUmVjdCIsImxhc3ROb2RlUmVjdCIsInkiLCJ0b3AiLCJib3R0b20iLCJpbmRleCIsImRpcmVjdGlvbiIsImtleSIsImVsZW0iLCJwb2ludCIsIngiLCJkb21SZWN0IiwiZnJvbURPTSIsIm1hcmdpbkJvdHRvbSIsIm1hcmdpblRvcCIsInJlY3QiLCJnZW5lcmF0ZU5ld1JlY3QiLCJsZWZ0IiwicmlnaHQiLCJyZWFzb24iLCJpc09uQm90dG9tU2lkZSIsImlzT25Ub3BTaWRlIiwicmVzdWx0IiwiY29udGFpbnMiLCJ1c2VBZGRCbG9ja0hhbmRsZSIsImlzRWRpdGFibGUiLCJzY3JvbGxlckVsZW0iLCJwYXJlbnRFbGVtZW50IiwibWVudVJlZiIsImhvdmVyZWRFbGVtZW50Iiwic2V0SG92ZXJlZEVsZW1lbnQiLCJvbkRvY3VtZW50TW91c2VNb3ZlIiwidGFyZ2V0IiwiZGlzdGFuY2VGcm9tU2Nyb2xsZXJFbGVtIiwicGFnZVgiLCJwYWdlWSIsImhvcml6b250YWxCdWZmZXIiLCJ2ZXJ0aWNhbEJ1ZmZlciIsImFkanVzdGVkVG9wIiwid2luZG93Iiwic2Nyb2xsWSIsImFkanVzdGVkQm90dG9tIiwiX2VtcHR5QmxvY2tFbGVtIiwibm9kZSIsImRvY3VtZW50IiwiYWRkRXZlbnRMaXN0ZW5lciIsInJlbW92ZUV2ZW50TGlzdGVuZXIiLCJjdXJyZW50IiwiaXNFbXB0eVBhcmFncmFwaCIsImdldFR5cGUiLCJnZXRUZXh0Q29udGVudCIsImhhbmRsZUFkZENsaWNrIiwiaG92ZXJlZEVsZW1lbnRUb1VzZSIsInVwZGF0ZSIsIm5ld1BhcmFncmFwaCIsImluc2VydEFmdGVyIiwic2V0VGltZW91dCIsImdldEtleSIsImZvY3VzIiwic2VsZWN0IiwiZGlzcGF0Y2hDb21tYW5kIiwic3RvcFByb3BhZ2F0aW9uIiwicHJldmVudERlZmF1bHQiLCJGcmFnbWVudCIsImJ1dHRvbiIsImNsYXNzTmFtZSIsIm9uQ2xpY2siLCJyZWYiLCJ0eXBlIiwiZGl2IiwiQWRkQmxvY2tIYW5kbGVQbHVnaW4iLCJib2R5IiwiX2VkaXRhYmxlIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUdBLFNBQVNBLHlCQUF5QixRQUFRLHdDQUF1QztBQUNqRixTQUFTQyxvQkFBb0IsUUFBUSxVQUFTO0FBQzlDLFNBQVNDLGFBQWEsUUFBOEMsVUFBUztBQUM3RSxZQUFZQyxXQUFXLFFBQU87QUFDOUIsU0FBU0MsV0FBVyxFQUFFQyxTQUFTLEVBQUVDLE1BQU0sRUFBRUMsUUFBUSxRQUFRLFFBQU87QUFDaEUsU0FBU0MsWUFBWSxRQUFRLFlBQVc7QUFFeEMsU0FBU0MsYUFBYSxRQUFRLHVCQUFzQjtBQUNwRCxTQUFTQyxLQUFLLFFBQVEsdUJBQXNCO0FBQzVDLFNBQVNDLElBQUksUUFBUSxzQkFBcUI7QUFDMUMsU0FBU0MseUJBQXlCLFFBQVEsNkNBQTRDO0FBQ3RGLFNBQVNDLG1CQUFtQixRQUFRLCtCQUE4QjtBQUNsRSxTQUFTQyxtQkFBbUIsUUFBUSwrQkFBOEI7QUFDbEUsU0FBU0MsaUJBQWlCLFFBQVEsNkJBQTRCO0FBQzlELFNBQVNDLGlCQUFpQixRQUFRLDZCQUE0QjtBQUM5RCxPQUFPLGVBQWM7QUFFckIsTUFBTUMsUUFBUSxDQUFDO0FBQ2YsTUFBTUMsMkJBQTJCO0FBRWpDLE1BQU1DLFdBQVc7QUFDakIsTUFBTUMsU0FBUyxDQUFDO0FBQ2hCLE1BQU1DLGdCQUFnQjtBQUV0QixJQUFJQyxZQUFZQztBQUVoQixTQUFTQyxnQkFBZ0JDLFVBQWtCO0lBQ3pDLElBQUlBLGVBQWUsR0FBRztRQUNwQixPQUFPRjtJQUNUO0lBQ0EsSUFBSUQsYUFBYSxLQUFLQSxZQUFZRyxZQUFZO1FBQzVDLE9BQU9IO0lBQ1Q7SUFFQSxPQUFPSSxLQUFLQyxLQUFLLENBQUNGLGFBQWE7QUFDakM7QUFFQSxTQUFTRyxnQkFDUEMsVUFBdUIsRUFDdkJDLE1BQXFCLEVBQ3JCQyxLQUFpQixFQUNqQkMsbUJBQW1CLEtBQUssRUFDeEJDLG1CQUFtQixDQUFDO0lBS3BCLE1BQU1DLG9CQUFvQkwsV0FBV00scUJBQXFCO0lBQzFELE1BQU1DLG1CQUFtQnRCLG9CQUFvQmdCO0lBRTdDLElBQUlPLFlBQWdDO0lBQ3BDLElBQUlDLFlBQWdDO0lBRXBDLGtFQUFrRTtJQUNsRVIsT0FBT1MsY0FBYyxHQUFHQyxJQUFJLENBQUM7UUFDM0IsSUFBSVIsa0JBQWtCO1lBQ3BCLE1BQU0sQ0FBQ1MsV0FBV0MsU0FBUyxHQUFHO2dCQUM1QlosT0FBT2EsZUFBZSxDQUFDUCxnQkFBZ0IsQ0FBQyxFQUFFO2dCQUMxQ04sT0FBT2EsZUFBZSxDQUFDUCxnQkFBZ0IsQ0FBQ0EsaUJBQWlCUSxNQUFNLEdBQUcsRUFBRTthQUNyRTtZQUVELE1BQU0sQ0FBQ0MsZUFBZUMsYUFBYSxHQUFHO2dCQUNwQ0wsV0FBV047Z0JBQ1hPLFVBQVVQO2FBQ1g7WUFFRCxJQUFJVSxpQkFBaUJDLGNBQWM7Z0JBQ2pDLElBQUlmLE1BQU1nQixDQUFDLEdBQUdGLGNBQWNHLEdBQUcsRUFBRTtvQkFDL0JYLFlBQVlJO2dCQUNkLE9BQU8sSUFBSVYsTUFBTWdCLENBQUMsR0FBR0QsYUFBYUcsTUFBTSxFQUFFO29CQUN4Q1osWUFBWUs7Z0JBQ2Q7Z0JBRUEsSUFBSUwsV0FBVztvQkFDYixPQUFPO3dCQUNMQSxXQUFXO29CQUNiO2dCQUNGO1lBQ0Y7UUFDRjtRQUVBLDhCQUE4QjtRQUM5QixJQUFJYSxRQUFRMUIsZ0JBQWdCWSxpQkFBaUJRLE1BQU07UUFDbkQsSUFBSU8sWUFBWTlCO1FBRWhCLE1BQU82QixTQUFTLEtBQUtBLFFBQVFkLGlCQUFpQlEsTUFBTSxDQUFFO1lBQ3BELE1BQU1RLE1BQU1oQixnQkFBZ0IsQ0FBQ2MsTUFBTTtZQUNuQyxNQUFNRyxPQUFPdkIsT0FBT2EsZUFBZSxDQUFDUztZQUNwQyxJQUFJQyxTQUFTLE1BQU07Z0JBQ2pCO1lBQ0Y7WUFDQSxNQUFNQyxRQUFRLElBQUk1QyxNQUFNcUIsTUFBTXdCLENBQUMsR0FBR3RCLGtCQUFrQkYsTUFBTWdCLENBQUM7WUFDM0QsTUFBTVMsVUFBVTdDLEtBQUs4QyxPQUFPLENBQUNKO1lBQzdCLE1BQU0sRUFBRUssWUFBWSxFQUFFQyxTQUFTLEVBQUUsR0FBRzlDLG9CQUFvQndDO1lBRXhELE1BQU1PLE9BQU9KLFFBQVFLLGVBQWUsQ0FBQztnQkFDbkNaLFFBQVFPLFFBQVFQLE1BQU0sR0FBR1M7Z0JBQ3pCSSxNQUFNNUIsa0JBQWtCNEIsSUFBSTtnQkFDNUJDLE9BQU83QixrQkFBa0I2QixLQUFLO2dCQUM5QmYsS0FBS1EsUUFBUVIsR0FBRyxHQUFHVztZQUNyQjtZQUVBLE1BQU0sRUFDSkssUUFBUSxFQUFFQyxjQUFjLEVBQUVDLFdBQVcsRUFBRSxFQUN2Q0MsTUFBTSxFQUNQLEdBQUdQLEtBQUtRLFFBQVEsQ0FBQ2Q7WUFFbEIsSUFBSWEsUUFBUTtnQkFDVjlCLFlBQVlnQjtnQkFDWmYsWUFBWXBDLGNBQWNrRDtnQkFDMUI5QixZQUFZNEI7Z0JBQ1o7WUFDRjtZQUVBLElBQUlDLGNBQWM5QixlQUFlO2dCQUMvQixJQUFJNkMsYUFBYTtvQkFDZmYsWUFBWS9CO2dCQUNkLE9BQU8sSUFBSTZDLGdCQUFnQjtvQkFDekJkLFlBQVloQztnQkFDZCxPQUFPO29CQUNMLDRCQUE0QjtvQkFDNUJnQyxZQUFZNUI7Z0JBQ2Q7WUFDRjtZQUVBMkIsU0FBU0M7UUFDWDtJQUNGO0lBRUEsT0FBTztRQUNMZDtRQUNBQztJQUNGO0FBQ0Y7QUFFQSxTQUFTK0Isa0JBQ1B2QyxNQUFxQixFQUNyQkQsVUFBdUIsRUFDdkJ5QyxVQUFtQjtJQUVuQixNQUFNQyxlQUFlMUMsV0FBVzJDLGFBQWE7SUFFN0MsTUFBTUMsVUFBVW5FLE9BQTBCO0lBQzFDLE1BQU0sQ0FBQ29FLGdCQUFnQkMsa0JBQWtCLEdBQUdwRSxTQUdsQztJQUVWRixVQUFVO1FBQ1IsU0FBU3VFLG9CQUFvQjdDLEtBQWlCO1lBQzVDLE1BQU04QyxTQUFTOUMsTUFBTThDLE1BQU07WUFDM0IsSUFBSSxDQUFDcEUsY0FBY29FLFNBQVM7Z0JBQzFCO1lBQ0Y7WUFFQSxJQUFJQywyQkFBMkI7WUFDL0Isc0ZBQXNGO1lBQ3RGLElBQUlQLGdCQUFnQixDQUFDQSxhQUFhSCxRQUFRLENBQUNTLFNBQVM7Z0JBQ2xELE1BQU0sRUFBRTVCLE1BQU0sRUFBRWEsSUFBSSxFQUFFQyxLQUFLLEVBQUVmLEdBQUcsRUFBRSxHQUFHdUIsYUFBYXBDLHFCQUFxQjtnQkFDdkUsTUFBTSxFQUFFNEMsS0FBSyxFQUFFQyxLQUFLLEVBQUUsR0FBR2pEO2dCQUN6QixNQUFNa0QsbUJBQW1CO2dCQUN6QixNQUFNQyxpQkFBaUI7Z0JBQ3ZCLE1BQU1DLGNBQWNuQyxNQUFNb0MsT0FBT0MsT0FBTztnQkFDeEMsTUFBTUMsaUJBQWlCckMsU0FBU21DLE9BQU9DLE9BQU87Z0JBRTlDLElBQ0VMLFFBQVFHLGNBQWNELGtCQUN0QkYsUUFBUU0saUJBQWlCSixrQkFDekJILFFBQVFqQixPQUFPbUIsb0JBQ2ZGLFFBQVFoQixRQUFRa0Isa0JBQ2hCO29CQUNBTixrQkFBa0I7b0JBQ2xCO2dCQUNGO2dCQUVBLGlGQUFpRjtnQkFDakYsdUNBQXVDO2dCQUN2QyxJQUFJSSxRQUFRakIsUUFBUWlCLFFBQVFoQixPQUFPO29CQUNqQ2UsMkJBQTJCQyxRQUFRakIsT0FBT2lCLFFBQVFqQixPQUFPaUIsUUFBUWhCO2dCQUNuRTtZQUNGO1lBRUEsSUFBSWhELGtCQUFrQjhELFFBQVEzRCwyQkFBMkI7Z0JBQ3ZEO1lBQ0Y7WUFDQSxNQUFNLEVBQUVtQixXQUFXa0QsZUFBZSxFQUFFakQsU0FBUyxFQUFFLEdBQUdWLGdCQUNoREMsWUFDQUMsUUFDQUMsT0FDQSxPQUNBLENBQUMrQztZQUVILElBQUksQ0FBQ1MsaUJBQWlCO2dCQUNwQjtZQUNGO1lBQ0FaLGtCQUFrQjtnQkFDaEJ0QixNQUFNa0M7Z0JBQ05DLE1BQU1sRDtZQUNSO1FBQ0Y7UUFFQSwrRkFBK0Y7UUFDL0Ysd0ZBQXdGO1FBQ3hGLDJFQUEyRTtRQUMzRW1ELFVBQVVDLGlCQUFpQixhQUFhZDtRQUV4QyxPQUFPO1lBQ0xhLFVBQVVFLG9CQUFvQixhQUFhZjtRQUM3QztJQUNGLEdBQUc7UUFBQ0w7UUFBYzFDO1FBQVlDO0tBQU87SUFFckN6QixVQUFVO1FBQ1IsSUFBSW9FLFFBQVFtQixPQUFPLElBQUlsQixnQkFBZ0JjLE1BQU07WUFDM0MxRCxPQUFPUyxjQUFjLEdBQUdDLElBQUksQ0FBQztnQkFDM0IsMkNBQTJDO2dCQUMzQyxJQUFJcUQsbUJBQW1CO2dCQUN2QixJQUNFbkIsZUFBZWMsSUFBSSxDQUFDTSxPQUFPLE9BQU8sZUFDbENwQixlQUFlYyxJQUFJLENBQUNPLGNBQWMsT0FBTyxJQUN6QztvQkFDQUYsbUJBQW1CO2dCQUNyQjtnQkFFQTdFLGtCQUNFMEQsZ0JBQWdCckIsTUFDaEJvQixRQUFRbUIsT0FBTyxFQUNmL0QsWUFDQWdFLG1CQUFtQjVFLFFBQVFBLFFBQVE7WUFFdkM7UUFDRjtJQUNGLEdBQUc7UUFBQ1k7UUFBWTZDO1FBQWdCNUM7S0FBTztJQUV2QyxNQUFNa0UsaUJBQWlCNUYsWUFDckIsQ0FBQzJCO1FBQ0MsSUFBSWtFLHNCQUFzQnZCO1FBQzFCLElBQUksQ0FBQ3VCLHFCQUFxQlQsTUFBTTtZQUM5QjtRQUNGO1FBRUEsMkdBQTJHO1FBQzNHMUQsT0FBT29FLE1BQU0sQ0FBQztZQUNaLDJDQUEyQztZQUMzQyxJQUFJTCxtQkFBbUI7WUFDdkIsSUFDRUksb0JBQW9CVCxJQUFJLENBQUNNLE9BQU8sT0FBTyxlQUN2Q0csb0JBQW9CVCxJQUFJLENBQUNPLGNBQWMsT0FBTyxJQUM5QztnQkFDQUYsbUJBQW1CO1lBQ3JCO1lBRUEsSUFBSSxDQUFDQSxrQkFBa0I7Z0JBQ3JCLE1BQU1NLGVBQWVsRztnQkFDckJnRyxvQkFBb0JULElBQUksQ0FBQ1ksV0FBVyxDQUFDRDtnQkFFckNFLFdBQVc7b0JBQ1RKLHNCQUFzQjt3QkFDcEI1QyxNQUFNdkIsT0FBT2EsZUFBZSxDQUFDd0QsYUFBYUcsTUFBTTt3QkFDaERkLE1BQU1XO29CQUNSO29CQUNBeEIsa0JBQWtCc0I7Z0JBQ3BCLEdBQUc7WUFDTDtRQUNGO1FBRUEscUNBQXFDO1FBQ3JDSSxXQUFXO1lBQ1R2RSxPQUFPb0UsTUFBTSxDQUFDO2dCQUNacEUsT0FBT3lFLEtBQUs7Z0JBRVosSUFDRU4sb0JBQW9CVCxJQUFJLElBQ3hCLFlBQVlTLG9CQUFvQlQsSUFBSSxJQUNwQyxPQUFPUyxvQkFBb0JULElBQUksQ0FBQ2dCLE1BQU0sS0FBSyxZQUMzQztvQkFDQVAsb0JBQW9CVCxJQUFJLENBQUNnQixNQUFNO2dCQUNqQztZQUNGO1FBQ0YsR0FBRztRQUVILGdGQUFnRjtRQUNoRiw2QkFBNkI7UUFDN0JILFdBQVc7WUFDVHZFLE9BQU8yRSxlQUFlLENBQUM3RiwyQkFBMkI7Z0JBQ2hENEUsTUFBTVMsb0JBQW9CVCxJQUFJO1lBQ2hDO1FBQ0YsR0FBRztRQUVIekQsTUFBTTJFLGVBQWU7UUFDckIzRSxNQUFNNEUsY0FBYztJQUN0QixHQUNBO1FBQUM3RTtRQUFRNEM7S0FBZTtJQUcxQixxQkFBT2xFLDJCQUNMLG9CQUFDTCxNQUFNeUcsUUFBUSxzQkFDYixvQkFBQ0M7UUFDQ0MsV0FBVTtRQUNWQyxTQUFTLENBQUNoRjtZQUNSaUUsZUFBZWpFO1FBQ2pCO1FBQ0FpRixLQUFLdkM7UUFDTHdDLE1BQUs7cUJBRUwsb0JBQUNDO1FBQUlKLFdBQVd4QyxhQUFhLFNBQVM7VUFHMUN6QztBQUVKO0FBRUEsT0FBTyxTQUFTc0YscUJBQXFCLEVBQ25DdEYsYUFBYTRELFNBQVMyQixJQUFJLEVBRzNCO0lBQ0MsTUFBTSxDQUFDdEYsT0FBTyxHQUFHOUI7SUFDakIsT0FBT3FFLGtCQUFrQnZDLFFBQVFELFlBQVlDLE9BQU91RixTQUFTO0FBQy9EIn0=
@@ -1,5 +1,3 @@
1
- @import 'payload/scss';
2
-
3
1
  .add-block-menu {
4
2
  all: unset; // reset all default button styles
5
3
  border-radius: 4px;