@payloadcms/richtext-lexical 3.0.0-alpha.18 → 3.0.0-alpha.20
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.
- package/components.js +6 -33
- package/dist/cell/index.js +29 -80
- package/dist/exports/components.js +6 -33
- package/dist/field/Field.js +15 -66
- package/dist/field/features/align/feature.client.js +21 -31
- package/dist/field/features/align/feature.server.js +4 -14
- package/dist/field/features/align/floatingSelectToolbarAlignDropdownSection.js +4 -14
- package/dist/field/features/blockquote/feature.client.js +20 -30
- package/dist/field/features/blockquote/feature.server.js +11 -21
- package/dist/field/features/blockquote/markdownTransformer.js +9 -19
- package/dist/field/features/blocks/component/BlockContent.js +34 -85
- package/dist/field/features/blocks/component/FormSavePlugin.js +7 -17
- package/dist/field/features/blocks/component/index.js +25 -76
- package/dist/field/features/blocks/drawer/index.js +25 -84
- package/dist/field/features/blocks/feature.client.js +15 -25
- package/dist/field/features/blocks/feature.server.js +16 -26
- package/dist/field/features/blocks/nodes/BlocksNode.d.ts.map +1 -1
- package/dist/field/features/blocks/nodes/BlocksNode.js +11 -78
- package/dist/field/features/blocks/plugin/commands.js +3 -13
- package/dist/field/features/blocks/plugin/index.js +20 -71
- package/dist/field/features/blocks/populationPromise.js +6 -16
- package/dist/field/features/blocks/validate.js +4 -14
- package/dist/field/features/common/floatingSelectToolbarFeaturesButtonsSection/index.js +2 -12
- package/dist/field/features/common/floatingSelectToolbarTextDropdownSection/index.js +4 -14
- package/dist/field/features/converters/html/converter/converters/linebreak.js +2 -12
- package/dist/field/features/converters/html/converter/converters/paragraph.js +4 -14
- package/dist/field/features/converters/html/converter/converters/text.js +10 -20
- package/dist/field/features/converters/html/converter/defaultConverters.js +8 -18
- package/dist/field/features/converters/html/converter/index.js +3 -21
- package/dist/field/features/converters/html/converter/types.js +2 -5
- package/dist/field/features/converters/html/feature.server.js +2 -12
- package/dist/field/features/converters/html/field/index.js +11 -25
- package/dist/field/features/createClientComponent.js +6 -14
- package/dist/field/features/createFeaturePropComponent.js +5 -15
- package/dist/field/features/debug/testrecorder/feature.client.js +5 -15
- package/dist/field/features/debug/testrecorder/feature.server.js +4 -14
- package/dist/field/features/debug/testrecorder/plugin/index.js +41 -99
- package/dist/field/features/debug/treeview/feature.client.js +5 -15
- package/dist/field/features/debug/treeview/feature.server.js +4 -14
- package/dist/field/features/debug/treeview/plugin/index.js +8 -59
- package/dist/field/features/format/bold/feature.client.js +14 -24
- package/dist/field/features/format/bold/feature.server.js +8 -18
- package/dist/field/features/format/bold/markdownTransformers.js +5 -29
- package/dist/field/features/format/common/floatingSelectToolbarSection.js +2 -12
- package/dist/field/features/format/inlinecode/feature.client.js +12 -22
- package/dist/field/features/format/inlinecode/feature.server.js +6 -16
- package/dist/field/features/format/inlinecode/markdownTransformers.js +2 -12
- package/dist/field/features/format/italic/feature.client.js +13 -23
- package/dist/field/features/format/italic/feature.server.js +7 -17
- package/dist/field/features/format/italic/markdownTransformers.js +3 -21
- package/dist/field/features/format/strikethrough/feature.client.js +12 -22
- package/dist/field/features/format/strikethrough/feature.server.js +6 -16
- package/dist/field/features/format/strikethrough/markdownTransformers.js +2 -12
- package/dist/field/features/format/subscript/feature.client.js +10 -20
- package/dist/field/features/format/subscript/feature.server.js +4 -14
- package/dist/field/features/format/superscript/feature.client.js +10 -20
- package/dist/field/features/format/superscript/feature.server.js +4 -14
- package/dist/field/features/format/underline/feature.client.js +10 -20
- package/dist/field/features/format/underline/feature.server.js +4 -14
- package/dist/field/features/heading/feature.client.js +28 -37
- package/dist/field/features/heading/feature.server.js +12 -22
- package/dist/field/features/heading/markdownTransformer.js +8 -18
- package/dist/field/features/indent/feature.client.js +13 -23
- package/dist/field/features/indent/feature.server.js +4 -14
- package/dist/field/features/indent/floatingSelectToolbarIndentSection.js +2 -12
- package/dist/field/features/link/drawer/baseFields.js +6 -16
- package/dist/field/features/link/drawer/index.js +24 -74
- package/dist/field/features/link/drawer/types.js +2 -5
- package/dist/field/features/link/feature.client.js +29 -39
- package/dist/field/features/link/feature.server.js +22 -32
- package/dist/field/features/link/nodes/AutoLinkNode.js +10 -29
- package/dist/field/features/link/nodes/LinkNode.js +18 -45
- package/dist/field/features/link/nodes/types.js +2 -5
- package/dist/field/features/link/plugins/autoLink/index.js +33 -51
- package/dist/field/features/link/plugins/clickableLink/index.js +5 -20
- package/dist/field/features/link/plugins/floatingLinkEditor/LinkEditor/commands.js +3 -13
- package/dist/field/features/link/plugins/floatingLinkEditor/LinkEditor/index.js +64 -114
- package/dist/field/features/link/plugins/floatingLinkEditor/index.js +7 -58
- package/dist/field/features/link/plugins/floatingLinkEditor/types.js +5 -5
- package/dist/field/features/link/plugins/floatingLinkEditor/utilities.js +6 -14
- package/dist/field/features/link/plugins/link/index.js +21 -31
- package/dist/field/features/link/populationPromise.js +6 -16
- package/dist/field/features/lists/checklist/feature.client.js +21 -31
- package/dist/field/features/lists/checklist/feature.server.js +12 -22
- package/dist/field/features/lists/checklist/markdownTransformers.js +8 -18
- package/dist/field/features/lists/checklist/plugin/index.js +5 -20
- package/dist/field/features/lists/common/markdown.js +10 -28
- package/dist/field/features/lists/htmlConverter.js +9 -27
- package/dist/field/features/lists/orderedlist/feature.client.js +19 -29
- package/dist/field/features/lists/orderedlist/feature.server.js +12 -22
- package/dist/field/features/lists/orderedlist/markdownTransformer.js +8 -18
- package/dist/field/features/lists/plugin/index.js +5 -20
- package/dist/field/features/lists/unorderedlist/feature.client.js +19 -29
- package/dist/field/features/lists/unorderedlist/feature.server.js +12 -22
- package/dist/field/features/lists/unorderedlist/markdownTransformer.js +8 -18
- package/dist/field/features/migrations/lexicalPluginToLexical/converter/converters/heading/client.js +4 -14
- package/dist/field/features/migrations/lexicalPluginToLexical/converter/converters/heading/converter.js +4 -14
- package/dist/field/features/migrations/lexicalPluginToLexical/converter/converters/heading/index.js +6 -16
- package/dist/field/features/migrations/lexicalPluginToLexical/converter/converters/link/client.js +4 -14
- package/dist/field/features/migrations/lexicalPluginToLexical/converter/converters/link/converter.js +4 -14
- package/dist/field/features/migrations/lexicalPluginToLexical/converter/converters/link/index.js +6 -16
- package/dist/field/features/migrations/lexicalPluginToLexical/converter/converters/list/client.js +4 -14
- package/dist/field/features/migrations/lexicalPluginToLexical/converter/converters/list/converter.js +4 -14
- package/dist/field/features/migrations/lexicalPluginToLexical/converter/converters/list/index.js +6 -16
- package/dist/field/features/migrations/lexicalPluginToLexical/converter/converters/listItem/client.js +4 -14
- package/dist/field/features/migrations/lexicalPluginToLexical/converter/converters/listItem/converter.js +4 -14
- package/dist/field/features/migrations/lexicalPluginToLexical/converter/converters/listItem/index.js +6 -16
- package/dist/field/features/migrations/lexicalPluginToLexical/converter/converters/quote/client.js +4 -14
- package/dist/field/features/migrations/lexicalPluginToLexical/converter/converters/quote/converter.js +4 -14
- package/dist/field/features/migrations/lexicalPluginToLexical/converter/converters/quote/index.js +6 -16
- package/dist/field/features/migrations/lexicalPluginToLexical/converter/converters/unknown/client.js +4 -14
- package/dist/field/features/migrations/lexicalPluginToLexical/converter/converters/unknown/converter.js +4 -14
- package/dist/field/features/migrations/lexicalPluginToLexical/converter/converters/unknown/index.js +6 -16
- package/dist/field/features/migrations/lexicalPluginToLexical/converter/converters/upload/client.js +4 -14
- package/dist/field/features/migrations/lexicalPluginToLexical/converter/converters/upload/converter.js +2 -12
- package/dist/field/features/migrations/lexicalPluginToLexical/converter/converters/upload/index.js +6 -16
- package/dist/field/features/migrations/lexicalPluginToLexical/converter/defaultConverters.js +16 -26
- package/dist/field/features/migrations/lexicalPluginToLexical/converter/index.js +5 -29
- package/dist/field/features/migrations/lexicalPluginToLexical/converter/types.js +2 -5
- package/dist/field/features/migrations/lexicalPluginToLexical/feature.client.js +7 -17
- package/dist/field/features/migrations/lexicalPluginToLexical/feature.server.js +9 -19
- package/dist/field/features/migrations/lexicalPluginToLexical/nodes/unknownConvertedNode/Component.js +5 -20
- package/dist/field/features/migrations/lexicalPluginToLexical/nodes/unknownConvertedNode/index.d.ts.map +1 -1
- package/dist/field/features/migrations/lexicalPluginToLexical/nodes/unknownConvertedNode/index.js +10 -73
- package/dist/field/features/migrations/slateToLexical/converter/converters/blockquote/client.js +4 -14
- package/dist/field/features/migrations/slateToLexical/converter/converters/blockquote/converter.js +4 -14
- package/dist/field/features/migrations/slateToLexical/converter/converters/blockquote/index.js +6 -16
- package/dist/field/features/migrations/slateToLexical/converter/converters/heading/client.js +4 -14
- package/dist/field/features/migrations/slateToLexical/converter/converters/heading/converter.js +4 -14
- package/dist/field/features/migrations/slateToLexical/converter/converters/heading/index.js +6 -16
- package/dist/field/features/migrations/slateToLexical/converter/converters/indent/client.js +4 -14
- package/dist/field/features/migrations/slateToLexical/converter/converters/indent/converter.js +4 -14
- package/dist/field/features/migrations/slateToLexical/converter/converters/indent/index.js +6 -16
- package/dist/field/features/migrations/slateToLexical/converter/converters/link/client.js +4 -14
- package/dist/field/features/migrations/slateToLexical/converter/converters/link/converter.js +4 -14
- package/dist/field/features/migrations/slateToLexical/converter/converters/link/index.js +6 -16
- package/dist/field/features/migrations/slateToLexical/converter/converters/listItem/client.js +4 -14
- package/dist/field/features/migrations/slateToLexical/converter/converters/listItem/converter.js +4 -14
- package/dist/field/features/migrations/slateToLexical/converter/converters/listItem/index.js +6 -16
- package/dist/field/features/migrations/slateToLexical/converter/converters/orderedList/client.js +4 -14
- package/dist/field/features/migrations/slateToLexical/converter/converters/orderedList/converter.js +4 -14
- package/dist/field/features/migrations/slateToLexical/converter/converters/orderedList/index.js +6 -16
- package/dist/field/features/migrations/slateToLexical/converter/converters/relationship/client.js +4 -14
- package/dist/field/features/migrations/slateToLexical/converter/converters/relationship/converter.js +2 -12
- package/dist/field/features/migrations/slateToLexical/converter/converters/relationship/index.js +6 -16
- package/dist/field/features/migrations/slateToLexical/converter/converters/unknown/client.js +4 -14
- package/dist/field/features/migrations/slateToLexical/converter/converters/unknown/converter.js +4 -14
- package/dist/field/features/migrations/slateToLexical/converter/converters/unknown/index.js +6 -16
- package/dist/field/features/migrations/slateToLexical/converter/converters/unorderedList/client.js +4 -14
- package/dist/field/features/migrations/slateToLexical/converter/converters/unorderedList/converter.js +4 -14
- package/dist/field/features/migrations/slateToLexical/converter/converters/unorderedList/index.js +6 -16
- package/dist/field/features/migrations/slateToLexical/converter/converters/upload/client.js +4 -14
- package/dist/field/features/migrations/slateToLexical/converter/converters/upload/converter.js +2 -12
- package/dist/field/features/migrations/slateToLexical/converter/converters/upload/index.js +6 -16
- package/dist/field/features/migrations/slateToLexical/converter/defaultConverters.js +22 -32
- package/dist/field/features/migrations/slateToLexical/converter/index.js +14 -41
- package/dist/field/features/migrations/slateToLexical/converter/types.js +2 -5
- package/dist/field/features/migrations/slateToLexical/feature.client.js +7 -17
- package/dist/field/features/migrations/slateToLexical/feature.server.js +9 -19
- package/dist/field/features/migrations/slateToLexical/nodes/unknownConvertedNode/Component.js +5 -20
- package/dist/field/features/migrations/slateToLexical/nodes/unknownConvertedNode/index.d.ts.map +1 -1
- package/dist/field/features/migrations/slateToLexical/nodes/unknownConvertedNode/index.js +10 -73
- package/dist/field/features/paragraph/feature.client.js +16 -26
- package/dist/field/features/paragraph/feature.server.js +4 -14
- package/dist/field/features/relationship/drawer/commands.js +3 -13
- package/dist/field/features/relationship/drawer/index.js +24 -75
- package/dist/field/features/relationship/feature.client.js +15 -25
- package/dist/field/features/relationship/feature.server.js +8 -18
- package/dist/field/features/relationship/nodes/RelationshipNode.d.ts.map +1 -1
- package/dist/field/features/relationship/nodes/RelationshipNode.js +8 -71
- package/dist/field/features/relationship/nodes/components/RelationshipComponent.js +35 -86
- package/dist/field/features/relationship/plugins/index.js +22 -80
- package/dist/field/features/relationship/populationPromise.js +4 -14
- package/dist/field/features/relationship/utils/EnabledRelationshipsCondition.js +8 -59
- package/dist/field/features/types.js +2 -5
- package/dist/field/features/upload/component/ExtraFieldsDrawer/index.js +36 -84
- package/dist/field/features/upload/component/index.js +47 -98
- package/dist/field/features/upload/drawer/commands.js +3 -13
- package/dist/field/features/upload/drawer/index.js +23 -74
- package/dist/field/features/upload/feature.client.js +13 -23
- package/dist/field/features/upload/feature.server.js +11 -21
- package/dist/field/features/upload/nodes/UploadNode.d.ts.map +1 -1
- package/dist/field/features/upload/nodes/UploadNode.js +11 -73
- package/dist/field/features/upload/plugin/index.js +22 -81
- package/dist/field/features/upload/populationPromise.js +6 -16
- package/dist/field/features/upload/validate.js +9 -19
- package/dist/field/index.d.ts.map +1 -1
- package/dist/field/index.js +23 -75
- package/dist/field/lexical/EditorPlugin.js +5 -56
- package/dist/field/lexical/LexicalEditor.js +39 -94
- package/dist/field/lexical/LexicalProvider.js +15 -66
- package/dist/field/lexical/config/client/EditorConfigProvider.js +11 -69
- package/dist/field/lexical/config/client/default.js +4 -14
- package/dist/field/lexical/config/client/loader.js +5 -12
- package/dist/field/lexical/config/client/sanitize.js +3 -21
- package/dist/field/lexical/config/server/default.js +44 -68
- package/dist/field/lexical/config/server/loader.js +3 -21
- package/dist/field/lexical/config/server/sanitize.js +5 -23
- package/dist/field/lexical/config/types.js +2 -5
- package/dist/field/lexical/nodes/index.js +2 -12
- package/dist/field/lexical/plugins/FloatingSelectToolbar/ToolbarButton/index.js +19 -70
- package/dist/field/lexical/plugins/FloatingSelectToolbar/ToolbarDropdown/DropDown.js +40 -98
- package/dist/field/lexical/plugins/FloatingSelectToolbar/ToolbarDropdown/index.js +11 -34
- package/dist/field/lexical/plugins/FloatingSelectToolbar/index.js +55 -105
- package/dist/field/lexical/plugins/FloatingSelectToolbar/types.js +2 -5
- package/dist/field/lexical/plugins/MarkdownShortcut/index.js +7 -58
- package/dist/field/lexical/plugins/SlashMenu/LexicalTypeaheadMenuPlugin/LexicalMenu.js +39 -64
- package/dist/field/lexical/plugins/SlashMenu/LexicalTypeaheadMenuPlugin/index.js +32 -97
- package/dist/field/lexical/plugins/SlashMenu/LexicalTypeaheadMenuPlugin/types.js +3 -21
- package/dist/field/lexical/plugins/SlashMenu/index.js +27 -77
- package/dist/field/lexical/plugins/SlashMenu/useMenuTriggerMatch.js +8 -16
- package/dist/field/lexical/plugins/handles/AddBlockHandlePlugin/index.js +35 -84
- package/dist/field/lexical/plugins/handles/DraggableBlockPlugin/debounce.js +2 -12
- package/dist/field/lexical/plugins/handles/DraggableBlockPlugin/getBoundingRectWithoutTransform.js +2 -12
- package/dist/field/lexical/plugins/handles/DraggableBlockPlugin/getNodeCloseToPoint.js +18 -28
- package/dist/field/lexical/plugins/handles/DraggableBlockPlugin/highlightElemOriginalPosition.js +4 -14
- package/dist/field/lexical/plugins/handles/DraggableBlockPlugin/index.js +52 -102
- package/dist/field/lexical/plugins/handles/DraggableBlockPlugin/setTargetLine.js +8 -18
- package/dist/field/lexical/plugins/handles/utils/getCollapsedMargins.js +2 -12
- package/dist/field/lexical/plugins/handles/utils/getTopLevelNodeKeys.js +4 -14
- package/dist/field/lexical/plugins/handles/utils/isOnHandleElement.js +2 -12
- package/dist/field/lexical/plugins/handles/utils/setHandlePosition.js +2 -12
- package/dist/field/lexical/theme/EditorTheme.js +3 -13
- package/dist/field/lexical/ui/ContentEditable.js +6 -57
- package/dist/field/lexical/ui/icons/AI/index.js +7 -22
- package/dist/field/lexical/ui/icons/AlignCenter/index.js +6 -21
- package/dist/field/lexical/ui/icons/AlignJustify/index.js +6 -21
- package/dist/field/lexical/ui/icons/AlignLeft/index.js +6 -21
- package/dist/field/lexical/ui/icons/AlignRight/index.js +6 -21
- package/dist/field/lexical/ui/icons/Block/index.js +6 -21
- package/dist/field/lexical/ui/icons/Blockquote/index.js +4 -19
- package/dist/field/lexical/ui/icons/Bold/index.js +4 -19
- package/dist/field/lexical/ui/icons/Checklist/index.js +5 -20
- package/dist/field/lexical/ui/icons/Code/index.js +5 -20
- package/dist/field/lexical/ui/icons/CodeBlock/index.js +5 -20
- package/dist/field/lexical/ui/icons/H1/index.js +4 -19
- package/dist/field/lexical/ui/icons/H2/index.js +4 -19
- package/dist/field/lexical/ui/icons/H3/index.js +4 -19
- package/dist/field/lexical/ui/icons/H4/index.js +4 -19
- package/dist/field/lexical/ui/icons/H5/index.js +4 -19
- package/dist/field/lexical/ui/icons/H6/index.js +4 -19
- package/dist/field/lexical/ui/icons/IndentDecrease/index.js +7 -22
- package/dist/field/lexical/ui/icons/IndentIncrease/index.js +7 -22
- package/dist/field/lexical/ui/icons/Italic/index.js +4 -19
- package/dist/field/lexical/ui/icons/Link/index.js +7 -22
- package/dist/field/lexical/ui/icons/OrderedList/index.js +8 -23
- package/dist/field/lexical/ui/icons/Relationship/index.js +7 -22
- package/dist/field/lexical/ui/icons/Strikethrough/index.js +5 -20
- package/dist/field/lexical/ui/icons/Subscript/index.js +4 -19
- package/dist/field/lexical/ui/icons/Superscript/index.js +4 -19
- package/dist/field/lexical/ui/icons/Text/index.js +4 -19
- package/dist/field/lexical/ui/icons/Underline/index.js +5 -20
- package/dist/field/lexical/ui/icons/UnorderedList/index.js +9 -24
- package/dist/field/lexical/ui/icons/Upload/index.js +6 -21
- package/dist/field/lexical/utils/canUseDOM.js +2 -12
- package/dist/field/lexical/utils/cloneDeep.js +2 -12
- package/dist/field/lexical/utils/environment.js +13 -51
- package/dist/field/lexical/utils/getDOMRangeRect.js +2 -12
- package/dist/field/lexical/utils/getSelectedNode.js +5 -15
- package/dist/field/lexical/utils/guard.js +2 -12
- package/dist/field/lexical/utils/invariant.js +2 -12
- package/dist/field/lexical/utils/joinClasses.js +2 -12
- package/dist/field/lexical/utils/markdown/createBlockNode.js +2 -12
- package/dist/field/lexical/utils/nodeFormat.js +17 -61
- package/dist/field/lexical/utils/point.js +3 -21
- package/dist/field/lexical/utils/rect.js +4 -14
- package/dist/field/lexical/utils/setFloatingElemPosition.js +5 -12
- package/dist/field/lexical/utils/setFloatingElemPositionForLinkEditor.js +2 -12
- package/dist/field/lexical/utils/swipe.js +5 -29
- package/dist/field/lexical/utils/url.js +3 -21
- package/dist/generateComponentMap.js +10 -25
- package/dist/generateSchemaMap.js +4 -14
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +102 -490
- package/dist/populate/defaultValue.js +3 -21
- package/dist/populate/populate.js +2 -12
- package/dist/populate/recurseNestedFields.js +4 -14
- package/dist/populate/richTextRelationshipPromise.js +3 -21
- package/dist/types.js +2 -5
- package/dist/useLexicalFeature.js +6 -16
- package/dist/validate/index.js +6 -16
- package/dist/validate/validateNodes.js +2 -12
- package/package.json +9 -8
package/dist/index.js
CHANGED
|
@@ -1,516 +1,53 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
}
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
_export(exports, {
|
|
12
|
-
$createAutoLinkNode: function() {
|
|
13
|
-
return _AutoLinkNode.$createAutoLinkNode;
|
|
14
|
-
},
|
|
15
|
-
$createBlockNode: function() {
|
|
16
|
-
return _BlocksNode.$createBlockNode;
|
|
17
|
-
},
|
|
18
|
-
$createLinkNode: function() {
|
|
19
|
-
return _LinkNode.$createLinkNode;
|
|
20
|
-
},
|
|
21
|
-
$createRelationshipNode: function() {
|
|
22
|
-
return _RelationshipNode.$createRelationshipNode;
|
|
23
|
-
},
|
|
24
|
-
$createUploadNode: function() {
|
|
25
|
-
return _UploadNode.$createUploadNode;
|
|
26
|
-
},
|
|
27
|
-
$isAutoLinkNode: function() {
|
|
28
|
-
return _AutoLinkNode.$isAutoLinkNode;
|
|
29
|
-
},
|
|
30
|
-
$isBlockNode: function() {
|
|
31
|
-
return _BlocksNode.$isBlockNode;
|
|
32
|
-
},
|
|
33
|
-
$isLinkNode: function() {
|
|
34
|
-
return _LinkNode.$isLinkNode;
|
|
35
|
-
},
|
|
36
|
-
$isRelationshipNode: function() {
|
|
37
|
-
return _RelationshipNode.$isRelationshipNode;
|
|
38
|
-
},
|
|
39
|
-
$isUploadNode: function() {
|
|
40
|
-
return _UploadNode.$isUploadNode;
|
|
41
|
-
},
|
|
42
|
-
AlignFeature: function() {
|
|
43
|
-
return _featureserver.AlignFeature;
|
|
44
|
-
},
|
|
45
|
-
AutoLinkNode: function() {
|
|
46
|
-
return _AutoLinkNode.AutoLinkNode;
|
|
47
|
-
},
|
|
48
|
-
BlockNode: function() {
|
|
49
|
-
return _BlocksNode.BlockNode;
|
|
50
|
-
},
|
|
51
|
-
BlockQuoteFeature: function() {
|
|
52
|
-
return _featureserver1.BlockQuoteFeature;
|
|
53
|
-
},
|
|
54
|
-
BlocksFeature: function() {
|
|
55
|
-
return _featureserver2.BlocksFeature;
|
|
56
|
-
},
|
|
57
|
-
BoldFeature: function() {
|
|
58
|
-
return _featureserver6.BoldFeature;
|
|
59
|
-
},
|
|
60
|
-
CAN_USE_DOM: function() {
|
|
61
|
-
return _canUseDOM.CAN_USE_DOM;
|
|
62
|
-
},
|
|
63
|
-
CheckListFeature: function() {
|
|
64
|
-
return _featureserver16.CheckListFeature;
|
|
65
|
-
},
|
|
66
|
-
DETAIL_TYPE_TO_DETAIL: function() {
|
|
67
|
-
return _nodeFormat.DETAIL_TYPE_TO_DETAIL;
|
|
68
|
-
},
|
|
69
|
-
DOUBLE_LINE_BREAK: function() {
|
|
70
|
-
return _nodeFormat.DOUBLE_LINE_BREAK;
|
|
71
|
-
},
|
|
72
|
-
ELEMENT_FORMAT_TO_TYPE: function() {
|
|
73
|
-
return _nodeFormat.ELEMENT_FORMAT_TO_TYPE;
|
|
74
|
-
},
|
|
75
|
-
ELEMENT_TYPE_TO_FORMAT: function() {
|
|
76
|
-
return _nodeFormat.ELEMENT_TYPE_TO_FORMAT;
|
|
77
|
-
},
|
|
78
|
-
ENABLE_SLASH_MENU_COMMAND: function() {
|
|
79
|
-
return _index1.ENABLE_SLASH_MENU_COMMAND;
|
|
80
|
-
},
|
|
81
|
-
EditorConfigProvider: function() {
|
|
82
|
-
return _EditorConfigProvider.EditorConfigProvider;
|
|
83
|
-
},
|
|
84
|
-
FormatSectionWithEntries: function() {
|
|
85
|
-
return _floatingSelectToolbarSection.SectionWithEntries;
|
|
86
|
-
},
|
|
87
|
-
HTMLConverterFeature: function() {
|
|
88
|
-
return _featureserver3.HTMLConverterFeature;
|
|
89
|
-
},
|
|
90
|
-
HeadingFeature: function() {
|
|
91
|
-
return _featureserver13.HeadingFeature;
|
|
92
|
-
},
|
|
93
|
-
IS_ALL_FORMATTING: function() {
|
|
94
|
-
return _nodeFormat.IS_ALL_FORMATTING;
|
|
95
|
-
},
|
|
96
|
-
IndentFeature: function() {
|
|
97
|
-
return _featureserver14.IndentFeature;
|
|
98
|
-
},
|
|
99
|
-
InlineCodeFeature: function() {
|
|
100
|
-
return _featureserver7.InlineCodeFeature;
|
|
101
|
-
},
|
|
102
|
-
ItalicFeature: function() {
|
|
103
|
-
return _featureserver8.ItalicFeature;
|
|
104
|
-
},
|
|
105
|
-
LTR_REGEX: function() {
|
|
106
|
-
return _nodeFormat.LTR_REGEX;
|
|
107
|
-
},
|
|
108
|
-
LexicalPluginToLexicalFeature: function() {
|
|
109
|
-
return _featureserver19.LexicalPluginToLexicalFeature;
|
|
110
|
-
},
|
|
111
|
-
LinebreakHTMLConverter: function() {
|
|
112
|
-
return _linebreak.LinebreakHTMLConverter;
|
|
113
|
-
},
|
|
114
|
-
LinkFeature: function() {
|
|
115
|
-
return _featureserver15.LinkFeature;
|
|
116
|
-
},
|
|
117
|
-
LinkNode: function() {
|
|
118
|
-
return _LinkNode.LinkNode;
|
|
119
|
-
},
|
|
120
|
-
NON_BREAKING_SPACE: function() {
|
|
121
|
-
return _nodeFormat.NON_BREAKING_SPACE;
|
|
122
|
-
},
|
|
123
|
-
NodeFormat: function() {
|
|
124
|
-
return _nodeFormat.NodeFormat;
|
|
125
|
-
},
|
|
126
|
-
OrderedListFeature: function() {
|
|
127
|
-
return _featureserver17.OrderedListFeature;
|
|
128
|
-
},
|
|
129
|
-
ParagraphFeature: function() {
|
|
130
|
-
return _featureserver21.ParagraphFeature;
|
|
131
|
-
},
|
|
132
|
-
ParagraphHTMLConverter: function() {
|
|
133
|
-
return _paragraph.ParagraphHTMLConverter;
|
|
134
|
-
},
|
|
135
|
-
Point: function() {
|
|
136
|
-
return _point.Point;
|
|
137
|
-
},
|
|
138
|
-
RTL_REGEX: function() {
|
|
139
|
-
return _nodeFormat.RTL_REGEX;
|
|
140
|
-
},
|
|
141
|
-
Rect: function() {
|
|
142
|
-
return _rect.Rect;
|
|
143
|
-
},
|
|
144
|
-
RelationshipFeature: function() {
|
|
145
|
-
return _featureserver22.RelationshipFeature;
|
|
146
|
-
},
|
|
147
|
-
RelationshipNode: function() {
|
|
148
|
-
return _RelationshipNode.RelationshipNode;
|
|
149
|
-
},
|
|
150
|
-
SlashMenuGroup: function() {
|
|
151
|
-
return _types.SlashMenuGroup;
|
|
152
|
-
},
|
|
153
|
-
SlashMenuOption: function() {
|
|
154
|
-
return _types.SlashMenuOption;
|
|
155
|
-
},
|
|
156
|
-
SlateBlockquoteConverter: function() {
|
|
157
|
-
return _blockquote.SlateBlockquoteConverter;
|
|
158
|
-
},
|
|
159
|
-
SlateHeadingConverter: function() {
|
|
160
|
-
return _heading.SlateHeadingConverter;
|
|
161
|
-
},
|
|
162
|
-
SlateIndentConverter: function() {
|
|
163
|
-
return _indent.SlateIndentConverter;
|
|
164
|
-
},
|
|
165
|
-
SlateLinkConverter: function() {
|
|
166
|
-
return _link.SlateLinkConverter;
|
|
167
|
-
},
|
|
168
|
-
SlateListItemConverter: function() {
|
|
169
|
-
return _listItem.SlateListItemConverter;
|
|
170
|
-
},
|
|
171
|
-
SlateOrderedListConverter: function() {
|
|
172
|
-
return _orderedList.SlateOrderedListConverter;
|
|
173
|
-
},
|
|
174
|
-
SlateRelationshipConverter: function() {
|
|
175
|
-
return _relationship.SlateRelationshipConverter;
|
|
176
|
-
},
|
|
177
|
-
SlateToLexicalFeature: function() {
|
|
178
|
-
return _featureserver20.SlateToLexicalFeature;
|
|
179
|
-
},
|
|
180
|
-
SlateUnknownConverter: function() {
|
|
181
|
-
return _unknown.SlateUnknownConverter;
|
|
182
|
-
},
|
|
183
|
-
SlateUnorderedListConverter: function() {
|
|
184
|
-
return _unorderedList.SlateUnorderedListConverter;
|
|
185
|
-
},
|
|
186
|
-
SlateUploadConverter: function() {
|
|
187
|
-
return _upload.SlateUploadConverter;
|
|
188
|
-
},
|
|
189
|
-
StrikethroughFeature: function() {
|
|
190
|
-
return _featureserver9.StrikethroughFeature;
|
|
191
|
-
},
|
|
192
|
-
SubscriptFeature: function() {
|
|
193
|
-
return _featureserver10.SubscriptFeature;
|
|
194
|
-
},
|
|
195
|
-
SuperscriptFeature: function() {
|
|
196
|
-
return _featureserver11.SuperscriptFeature;
|
|
197
|
-
},
|
|
198
|
-
TEXT_MODE_TO_TYPE: function() {
|
|
199
|
-
return _nodeFormat.TEXT_MODE_TO_TYPE;
|
|
200
|
-
},
|
|
201
|
-
TEXT_TYPE_TO_FORMAT: function() {
|
|
202
|
-
return _nodeFormat.TEXT_TYPE_TO_FORMAT;
|
|
203
|
-
},
|
|
204
|
-
TEXT_TYPE_TO_MODE: function() {
|
|
205
|
-
return _nodeFormat.TEXT_TYPE_TO_MODE;
|
|
206
|
-
},
|
|
207
|
-
TOGGLE_LINK_COMMAND: function() {
|
|
208
|
-
return _LinkNode.TOGGLE_LINK_COMMAND;
|
|
209
|
-
},
|
|
210
|
-
TestRecorderFeature: function() {
|
|
211
|
-
return _featureserver4.TestRecorderFeature;
|
|
212
|
-
},
|
|
213
|
-
TextDropdownSectionWithEntries: function() {
|
|
214
|
-
return _floatingSelectToolbarTextDropdownSection.TextDropdownSectionWithEntries;
|
|
215
|
-
},
|
|
216
|
-
TextHTMLConverter: function() {
|
|
217
|
-
return _text.TextHTMLConverter;
|
|
218
|
-
},
|
|
219
|
-
TreeViewFeature: function() {
|
|
220
|
-
return _featureserver5.TreeViewFeature;
|
|
221
|
-
},
|
|
222
|
-
UnderlineFeature: function() {
|
|
223
|
-
return _featureserver12.UnderlineFeature;
|
|
224
|
-
},
|
|
225
|
-
UnorderedListFeature: function() {
|
|
226
|
-
return _featureserver18.UnorderedListFeature;
|
|
227
|
-
},
|
|
228
|
-
UploadFeature: function() {
|
|
229
|
-
return _featureserver23.UploadFeature;
|
|
230
|
-
},
|
|
231
|
-
UploadNode: function() {
|
|
232
|
-
return _UploadNode.UploadNode;
|
|
233
|
-
},
|
|
234
|
-
addSwipeDownListener: function() {
|
|
235
|
-
return _swipe.addSwipeDownListener;
|
|
236
|
-
},
|
|
237
|
-
addSwipeLeftListener: function() {
|
|
238
|
-
return _swipe.addSwipeLeftListener;
|
|
239
|
-
},
|
|
240
|
-
addSwipeRightListener: function() {
|
|
241
|
-
return _swipe.addSwipeRightListener;
|
|
242
|
-
},
|
|
243
|
-
addSwipeUpListener: function() {
|
|
244
|
-
return _swipe.addSwipeUpListener;
|
|
245
|
-
},
|
|
246
|
-
cloneDeep: function() {
|
|
247
|
-
return _cloneDeep.cloneDeep;
|
|
248
|
-
},
|
|
249
|
-
consolidateHTMLConverters: function() {
|
|
250
|
-
return _field.consolidateHTMLConverters;
|
|
251
|
-
},
|
|
252
|
-
convertLexicalNodesToHTML: function() {
|
|
253
|
-
return _converter.convertLexicalNodesToHTML;
|
|
254
|
-
},
|
|
255
|
-
convertLexicalToHTML: function() {
|
|
256
|
-
return _converter.convertLexicalToHTML;
|
|
257
|
-
},
|
|
258
|
-
convertSlateNodesToLexical: function() {
|
|
259
|
-
return _index.convertSlateNodesToLexical;
|
|
260
|
-
},
|
|
261
|
-
convertSlateToLexical: function() {
|
|
262
|
-
return _index.convertSlateToLexical;
|
|
263
|
-
},
|
|
264
|
-
createBlockNode: function() {
|
|
265
|
-
return _createBlockNode.createBlockNode;
|
|
266
|
-
},
|
|
267
|
-
createClientComponent: function() {
|
|
268
|
-
return _createClientComponent.createClientComponent;
|
|
269
|
-
},
|
|
270
|
-
defaultEditorConfig: function() {
|
|
271
|
-
return _default.defaultEditorConfig;
|
|
272
|
-
},
|
|
273
|
-
defaultEditorFeatures: function() {
|
|
274
|
-
return _default.defaultEditorFeatures;
|
|
275
|
-
},
|
|
276
|
-
defaultEditorLexicalConfig: function() {
|
|
277
|
-
return _default.defaultEditorLexicalConfig;
|
|
278
|
-
},
|
|
279
|
-
defaultHTMLConverters: function() {
|
|
280
|
-
return _defaultConverters.defaultHTMLConverters;
|
|
281
|
-
},
|
|
282
|
-
defaultRichTextValue: function() {
|
|
283
|
-
return _defaultValue.defaultRichTextValue;
|
|
284
|
-
},
|
|
285
|
-
defaultSanitizedServerEditorConfig: function() {
|
|
286
|
-
return _default.defaultSanitizedServerEditorConfig;
|
|
287
|
-
},
|
|
288
|
-
defaultSlateConverters: function() {
|
|
289
|
-
return _defaultConverters1.defaultSlateConverters;
|
|
290
|
-
},
|
|
291
|
-
getDOMRangeRect: function() {
|
|
292
|
-
return _getDOMRangeRect.getDOMRangeRect;
|
|
293
|
-
},
|
|
294
|
-
getEnabledNodes: function() {
|
|
295
|
-
return _nodes.getEnabledNodes;
|
|
296
|
-
},
|
|
297
|
-
getSelectedNode: function() {
|
|
298
|
-
return _getSelectedNode.getSelectedNode;
|
|
299
|
-
},
|
|
300
|
-
invariant: function() {
|
|
301
|
-
return _invariant.invariant;
|
|
302
|
-
},
|
|
303
|
-
isHTMLElement: function() {
|
|
304
|
-
return _guard.isHTMLElement;
|
|
305
|
-
},
|
|
306
|
-
isPoint: function() {
|
|
307
|
-
return _point.isPoint;
|
|
308
|
-
},
|
|
309
|
-
joinClasses: function() {
|
|
310
|
-
return _joinClasses.joinClasses;
|
|
311
|
-
},
|
|
312
|
-
lexicalEditor: function() {
|
|
313
|
-
return lexicalEditor;
|
|
314
|
-
},
|
|
315
|
-
lexicalHTML: function() {
|
|
316
|
-
return _field.lexicalHTML;
|
|
317
|
-
},
|
|
318
|
-
loadFeatures: function() {
|
|
319
|
-
return _loader.loadFeatures;
|
|
320
|
-
},
|
|
321
|
-
sanitizeClientEditorConfig: function() {
|
|
322
|
-
return _sanitize1.sanitizeClientEditorConfig;
|
|
323
|
-
},
|
|
324
|
-
sanitizeClientFeatures: function() {
|
|
325
|
-
return _sanitize1.sanitizeClientFeatures;
|
|
326
|
-
},
|
|
327
|
-
sanitizeServerEditorConfig: function() {
|
|
328
|
-
return _sanitize.sanitizeServerEditorConfig;
|
|
329
|
-
},
|
|
330
|
-
sanitizeServerFeatures: function() {
|
|
331
|
-
return _sanitize.sanitizeServerFeatures;
|
|
332
|
-
},
|
|
333
|
-
sanitizeUrl: function() {
|
|
334
|
-
return _url.sanitizeUrl;
|
|
335
|
-
},
|
|
336
|
-
setFloatingElemPosition: function() {
|
|
337
|
-
return _setFloatingElemPosition.setFloatingElemPosition;
|
|
338
|
-
},
|
|
339
|
-
setFloatingElemPositionForLinkEditor: function() {
|
|
340
|
-
return _setFloatingElemPositionForLinkEditor.setFloatingElemPositionForLinkEditor;
|
|
341
|
-
},
|
|
342
|
-
sortFeaturesForOptimalLoading: function() {
|
|
343
|
-
return _loader.sortFeaturesForOptimalLoading;
|
|
344
|
-
},
|
|
345
|
-
useEditorConfigContext: function() {
|
|
346
|
-
return _EditorConfigProvider.useEditorConfigContext;
|
|
347
|
-
},
|
|
348
|
-
validateUrl: function() {
|
|
349
|
-
return _url.validateUrl;
|
|
350
|
-
}
|
|
351
|
-
});
|
|
352
|
-
const _utilities = require("payload/utilities");
|
|
353
|
-
const _default = require("./field/lexical/config/server/default");
|
|
354
|
-
const _loader = require("./field/lexical/config/server/loader");
|
|
355
|
-
const _sanitize = require("./field/lexical/config/server/sanitize");
|
|
356
|
-
const _cloneDeep = require("./field/lexical/utils/cloneDeep");
|
|
357
|
-
const _generateComponentMap = require("./generateComponentMap");
|
|
358
|
-
const _generateSchemaMap = require("./generateSchemaMap");
|
|
359
|
-
const _richTextRelationshipPromise = require("./populate/richTextRelationshipPromise");
|
|
360
|
-
const _validate = require("./validate");
|
|
361
|
-
const _featureserver = require("./field/features/align/feature.server");
|
|
362
|
-
const _featureserver1 = require("./field/features/blockquote/feature.server");
|
|
363
|
-
const _featureserver2 = require("./field/features/blocks/feature.server");
|
|
364
|
-
const _BlocksNode = require("./field/features/blocks/nodes/BlocksNode");
|
|
365
|
-
const _floatingSelectToolbarTextDropdownSection = require("./field/features/common/floatingSelectToolbarTextDropdownSection");
|
|
366
|
-
const _converter = require("./field/features/converters/html/converter");
|
|
367
|
-
const _linebreak = require("./field/features/converters/html/converter/converters/linebreak");
|
|
368
|
-
const _paragraph = require("./field/features/converters/html/converter/converters/paragraph");
|
|
369
|
-
const _text = require("./field/features/converters/html/converter/converters/text");
|
|
370
|
-
const _defaultConverters = require("./field/features/converters/html/converter/defaultConverters");
|
|
371
|
-
const _featureserver3 = require("./field/features/converters/html/feature.server");
|
|
372
|
-
const _field = require("./field/features/converters/html/field");
|
|
373
|
-
const _createClientComponent = require("./field/features/createClientComponent");
|
|
374
|
-
const _featureserver4 = require("./field/features/debug/testrecorder/feature.server");
|
|
375
|
-
const _featureserver5 = require("./field/features/debug/treeview/feature.server");
|
|
376
|
-
const _featureserver6 = require("./field/features/format/bold/feature.server");
|
|
377
|
-
const _floatingSelectToolbarSection = require("./field/features/format/common/floatingSelectToolbarSection");
|
|
378
|
-
const _featureserver7 = require("./field/features/format/inlinecode/feature.server");
|
|
379
|
-
const _featureserver8 = require("./field/features/format/italic/feature.server");
|
|
380
|
-
const _featureserver9 = require("./field/features/format/strikethrough/feature.server");
|
|
381
|
-
const _featureserver10 = require("./field/features/format/subscript/feature.server");
|
|
382
|
-
const _featureserver11 = require("./field/features/format/superscript/feature.server");
|
|
383
|
-
const _featureserver12 = require("./field/features/format/underline/feature.server");
|
|
384
|
-
const _featureserver13 = require("./field/features/heading/feature.server");
|
|
385
|
-
const _featureserver14 = require("./field/features/indent/feature.server");
|
|
386
|
-
const _featureserver15 = require("./field/features/link/feature.server");
|
|
387
|
-
const _AutoLinkNode = require("./field/features/link/nodes/AutoLinkNode");
|
|
388
|
-
const _LinkNode = require("./field/features/link/nodes/LinkNode");
|
|
389
|
-
const _featureserver16 = require("./field/features/lists/checklist/feature.server");
|
|
390
|
-
const _featureserver17 = require("./field/features/lists/orderedlist/feature.server");
|
|
391
|
-
const _featureserver18 = require("./field/features/lists/unorderedlist/feature.server");
|
|
392
|
-
const _featureserver19 = require("./field/features/migrations/lexicalPluginToLexical/feature.server");
|
|
393
|
-
const _blockquote = require("./field/features/migrations/slateToLexical/converter/converters/blockquote");
|
|
394
|
-
const _heading = require("./field/features/migrations/slateToLexical/converter/converters/heading");
|
|
395
|
-
const _indent = require("./field/features/migrations/slateToLexical/converter/converters/indent");
|
|
396
|
-
const _link = require("./field/features/migrations/slateToLexical/converter/converters/link");
|
|
397
|
-
const _listItem = require("./field/features/migrations/slateToLexical/converter/converters/listItem");
|
|
398
|
-
const _orderedList = require("./field/features/migrations/slateToLexical/converter/converters/orderedList");
|
|
399
|
-
const _relationship = require("./field/features/migrations/slateToLexical/converter/converters/relationship");
|
|
400
|
-
const _unknown = require("./field/features/migrations/slateToLexical/converter/converters/unknown");
|
|
401
|
-
const _unorderedList = require("./field/features/migrations/slateToLexical/converter/converters/unorderedList");
|
|
402
|
-
const _upload = require("./field/features/migrations/slateToLexical/converter/converters/upload");
|
|
403
|
-
const _defaultConverters1 = require("./field/features/migrations/slateToLexical/converter/defaultConverters");
|
|
404
|
-
const _index = require("./field/features/migrations/slateToLexical/converter/index");
|
|
405
|
-
const _featureserver20 = require("./field/features/migrations/slateToLexical/feature.server");
|
|
406
|
-
const _featureserver21 = require("./field/features/paragraph/feature.server");
|
|
407
|
-
const _featureserver22 = require("./field/features/relationship/feature.server");
|
|
408
|
-
const _RelationshipNode = require("./field/features/relationship/nodes/RelationshipNode");
|
|
409
|
-
const _featureserver23 = require("./field/features/upload/feature.server");
|
|
410
|
-
const _UploadNode = require("./field/features/upload/nodes/UploadNode");
|
|
411
|
-
const _EditorConfigProvider = require("./field/lexical/config/client/EditorConfigProvider");
|
|
412
|
-
const _sanitize1 = require("./field/lexical/config/client/sanitize");
|
|
413
|
-
const _nodes = require("./field/lexical/nodes");
|
|
414
|
-
const _index1 = require("./field/lexical/plugins/SlashMenu/LexicalTypeaheadMenuPlugin/index");
|
|
415
|
-
const _types = require("./field/lexical/plugins/SlashMenu/LexicalTypeaheadMenuPlugin/types");
|
|
416
|
-
const _canUseDOM = require("./field/lexical/utils/canUseDOM");
|
|
417
|
-
const _getDOMRangeRect = require("./field/lexical/utils/getDOMRangeRect");
|
|
418
|
-
const _getSelectedNode = require("./field/lexical/utils/getSelectedNode");
|
|
419
|
-
const _guard = require("./field/lexical/utils/guard");
|
|
420
|
-
const _invariant = require("./field/lexical/utils/invariant");
|
|
421
|
-
const _joinClasses = require("./field/lexical/utils/joinClasses");
|
|
422
|
-
const _createBlockNode = require("./field/lexical/utils/markdown/createBlockNode");
|
|
423
|
-
const _nodeFormat = require("./field/lexical/utils/nodeFormat");
|
|
424
|
-
const _point = require("./field/lexical/utils/point");
|
|
425
|
-
const _rect = require("./field/lexical/utils/rect");
|
|
426
|
-
const _setFloatingElemPosition = require("./field/lexical/utils/setFloatingElemPosition");
|
|
427
|
-
const _setFloatingElemPositionForLinkEditor = require("./field/lexical/utils/setFloatingElemPositionForLinkEditor");
|
|
428
|
-
const _swipe = require("./field/lexical/utils/swipe");
|
|
429
|
-
const _url = require("./field/lexical/utils/url");
|
|
430
|
-
const _defaultValue = require("./populate/defaultValue");
|
|
431
|
-
function _getRequireWildcardCache(nodeInterop) {
|
|
432
|
-
if (typeof WeakMap !== "function") return null;
|
|
433
|
-
var cacheBabelInterop = new WeakMap();
|
|
434
|
-
var cacheNodeInterop = new WeakMap();
|
|
435
|
-
return (_getRequireWildcardCache = function(nodeInterop) {
|
|
436
|
-
return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
|
|
437
|
-
})(nodeInterop);
|
|
438
|
-
}
|
|
439
|
-
function _interop_require_wildcard(obj, nodeInterop) {
|
|
440
|
-
if (!nodeInterop && obj && obj.__esModule) {
|
|
441
|
-
return obj;
|
|
442
|
-
}
|
|
443
|
-
if (obj === null || typeof obj !== "object" && typeof obj !== "function") {
|
|
444
|
-
return {
|
|
445
|
-
default: obj
|
|
446
|
-
};
|
|
447
|
-
}
|
|
448
|
-
var cache = _getRequireWildcardCache(nodeInterop);
|
|
449
|
-
if (cache && cache.has(obj)) {
|
|
450
|
-
return cache.get(obj);
|
|
451
|
-
}
|
|
452
|
-
var newObj = {
|
|
453
|
-
__proto__: null
|
|
454
|
-
};
|
|
455
|
-
var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
|
|
456
|
-
for(var key in obj){
|
|
457
|
-
if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
|
|
458
|
-
var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;
|
|
459
|
-
if (desc && (desc.get || desc.set)) {
|
|
460
|
-
Object.defineProperty(newObj, key, desc);
|
|
461
|
-
} else {
|
|
462
|
-
newObj[key] = obj[key];
|
|
463
|
-
}
|
|
464
|
-
}
|
|
465
|
-
}
|
|
466
|
-
newObj.default = obj;
|
|
467
|
-
if (cache) {
|
|
468
|
-
cache.set(obj, newObj);
|
|
469
|
-
}
|
|
470
|
-
return newObj;
|
|
471
|
-
}
|
|
472
|
-
function lexicalEditor(props) {
|
|
1
|
+
import { withNullableJSONSchemaType } from 'payload/utilities';
|
|
2
|
+
import { defaultEditorConfig, defaultEditorFeatures, defaultSanitizedServerEditorConfig } from './field/lexical/config/server/default';
|
|
3
|
+
import { loadFeatures } from './field/lexical/config/server/loader';
|
|
4
|
+
import { sanitizeServerFeatures } from './field/lexical/config/server/sanitize';
|
|
5
|
+
import { cloneDeep } from './field/lexical/utils/cloneDeep';
|
|
6
|
+
import { getGenerateComponentMap } from './generateComponentMap';
|
|
7
|
+
import { getGenerateSchemaMap } from './generateSchemaMap';
|
|
8
|
+
import { richTextRelationshipPromise } from './populate/richTextRelationshipPromise';
|
|
9
|
+
import { richTextValidateHOC } from './validate';
|
|
10
|
+
export function lexicalEditor(props) {
|
|
473
11
|
let resolvedFeatureMap = null;
|
|
474
12
|
let finalSanitizedEditorConfig// For server only
|
|
475
13
|
;
|
|
476
14
|
if (!props || !props.features && !props.lexical) {
|
|
477
|
-
finalSanitizedEditorConfig =
|
|
15
|
+
finalSanitizedEditorConfig = cloneDeep(defaultSanitizedServerEditorConfig);
|
|
478
16
|
resolvedFeatureMap = finalSanitizedEditorConfig.resolvedFeatureMap;
|
|
479
17
|
} else {
|
|
480
18
|
let features = props.features && typeof props.features === 'function' ? props.features({
|
|
481
|
-
defaultFeatures:
|
|
19
|
+
defaultFeatures: cloneDeep(defaultEditorFeatures)
|
|
482
20
|
}) : props.features;
|
|
483
21
|
if (!features) {
|
|
484
|
-
features =
|
|
22
|
+
features = cloneDeep(defaultEditorFeatures);
|
|
485
23
|
}
|
|
486
24
|
const lexical = props.lexical;
|
|
487
|
-
resolvedFeatureMap =
|
|
25
|
+
resolvedFeatureMap = loadFeatures({
|
|
488
26
|
unSanitizedEditorConfig: {
|
|
489
27
|
features,
|
|
490
|
-
lexical: lexical ? lexical :
|
|
28
|
+
lexical: lexical ? lexical : defaultEditorConfig.lexical
|
|
491
29
|
}
|
|
492
30
|
});
|
|
493
31
|
finalSanitizedEditorConfig = {
|
|
494
|
-
features:
|
|
495
|
-
lexical: lexical ? lexical :
|
|
32
|
+
features: sanitizeServerFeatures(resolvedFeatureMap),
|
|
33
|
+
lexical: lexical ? lexical : defaultEditorConfig.lexical,
|
|
496
34
|
resolvedFeatureMap
|
|
497
35
|
};
|
|
498
36
|
}
|
|
499
37
|
return {
|
|
500
38
|
LazyCellComponent: ()=>// @ts-expect-error
|
|
501
|
-
|
|
39
|
+
import('./cell').then((module)=>{
|
|
502
40
|
const RichTextCell = module.RichTextCell;
|
|
503
|
-
return
|
|
41
|
+
return import('@payloadcms/ui').then((module2)=>module2.withMergedProps({
|
|
504
42
|
Component: RichTextCell,
|
|
505
43
|
toMergeIntoProps: {
|
|
506
44
|
lexicalEditorConfig: finalSanitizedEditorConfig.lexical
|
|
507
45
|
}
|
|
508
46
|
}));
|
|
509
47
|
}),
|
|
510
|
-
LazyFieldComponent: ()
|
|
511
|
-
Promise.resolve().then(()=>/*#__PURE__*/ _interop_require_wildcard(require("./field"))).then((module)=>{
|
|
48
|
+
LazyFieldComponent: ()=>import('./field').then((module)=>{
|
|
512
49
|
const RichTextField = module.RichTextField;
|
|
513
|
-
return
|
|
50
|
+
return import('@payloadcms/ui').then((module2)=>module2.withMergedProps({
|
|
514
51
|
Component: RichTextField,
|
|
515
52
|
toMergeIntoProps: {
|
|
516
53
|
lexicalEditorConfig: finalSanitizedEditorConfig.lexical
|
|
@@ -536,10 +73,10 @@ function lexicalEditor(props) {
|
|
|
536
73
|
});
|
|
537
74
|
},
|
|
538
75
|
editorConfig: finalSanitizedEditorConfig,
|
|
539
|
-
generateComponentMap:
|
|
76
|
+
generateComponentMap: getGenerateComponentMap({
|
|
540
77
|
resolvedFeatureMap
|
|
541
78
|
}),
|
|
542
|
-
generateSchemaMap:
|
|
79
|
+
generateSchemaMap: getGenerateSchemaMap({
|
|
543
80
|
resolvedFeatureMap
|
|
544
81
|
}),
|
|
545
82
|
outputSchema: ({ field, interfaceNameDefinitions, isRequired })=>{
|
|
@@ -548,7 +85,7 @@ function lexicalEditor(props) {
|
|
|
548
85
|
// In the future, we should
|
|
549
86
|
// 1) allow recursive children
|
|
550
87
|
// 2) Pass in all the different types for every node added to the editorconfig. This can be done with refs in the schema.
|
|
551
|
-
type:
|
|
88
|
+
type: withNullableJSONSchemaType('object', isRequired),
|
|
552
89
|
properties: {
|
|
553
90
|
root: {
|
|
554
91
|
type: 'object',
|
|
@@ -635,7 +172,7 @@ function lexicalEditor(props) {
|
|
|
635
172
|
populationPromise ({ context, currentDepth, depth, field, findMany, flattenLocales, overrideAccess, populationPromises, req, showHiddenFields, siblingDoc }) {
|
|
636
173
|
// check if there are any features with nodes which have populationPromises for this field
|
|
637
174
|
if (finalSanitizedEditorConfig?.features?.populationPromises?.size) {
|
|
638
|
-
return
|
|
175
|
+
return richTextRelationshipPromise({
|
|
639
176
|
context,
|
|
640
177
|
currentDepth,
|
|
641
178
|
depth,
|
|
@@ -652,10 +189,85 @@ function lexicalEditor(props) {
|
|
|
652
189
|
}
|
|
653
190
|
return null;
|
|
654
191
|
},
|
|
655
|
-
validate:
|
|
192
|
+
validate: richTextValidateHOC({
|
|
656
193
|
editorConfig: finalSanitizedEditorConfig
|
|
657
194
|
})
|
|
658
195
|
};
|
|
659
196
|
}
|
|
197
|
+
export { AlignFeature } from './field/features/align/feature.server';
|
|
198
|
+
export { BlockQuoteFeature } from './field/features/blockquote/feature.server';
|
|
199
|
+
export { BlocksFeature } from './field/features/blocks/feature.server';
|
|
200
|
+
export { $createBlockNode, $isBlockNode, BlockNode } from './field/features/blocks/nodes/BlocksNode';
|
|
201
|
+
export { TextDropdownSectionWithEntries } from './field/features/common/floatingSelectToolbarTextDropdownSection';
|
|
202
|
+
export { convertLexicalNodesToHTML, convertLexicalToHTML } from './field/features/converters/html/converter';
|
|
203
|
+
export { LinebreakHTMLConverter } from './field/features/converters/html/converter/converters/linebreak';
|
|
204
|
+
export { ParagraphHTMLConverter } from './field/features/converters/html/converter/converters/paragraph';
|
|
205
|
+
export { TextHTMLConverter } from './field/features/converters/html/converter/converters/text';
|
|
206
|
+
export { defaultHTMLConverters } from './field/features/converters/html/converter/defaultConverters';
|
|
207
|
+
export { HTMLConverterFeature } from './field/features/converters/html/feature.server';
|
|
208
|
+
export { consolidateHTMLConverters } from './field/features/converters/html/field';
|
|
209
|
+
export { lexicalHTML } from './field/features/converters/html/field';
|
|
210
|
+
export { createClientComponent } from './field/features/createClientComponent';
|
|
211
|
+
export { TestRecorderFeature } from './field/features/debug/testrecorder/feature.server';
|
|
212
|
+
export { TreeViewFeature } from './field/features/debug/treeview/feature.server';
|
|
213
|
+
export { BoldFeature } from './field/features/format/bold/feature.server';
|
|
214
|
+
export { SectionWithEntries as FormatSectionWithEntries } from './field/features/format/common/floatingSelectToolbarSection';
|
|
215
|
+
export { InlineCodeFeature } from './field/features/format/inlinecode/feature.server';
|
|
216
|
+
export { ItalicFeature } from './field/features/format/italic/feature.server';
|
|
217
|
+
export { StrikethroughFeature } from './field/features/format/strikethrough/feature.server';
|
|
218
|
+
export { SubscriptFeature } from './field/features/format/subscript/feature.server';
|
|
219
|
+
export { SuperscriptFeature } from './field/features/format/superscript/feature.server';
|
|
220
|
+
export { UnderlineFeature } from './field/features/format/underline/feature.server';
|
|
221
|
+
export { HeadingFeature } from './field/features/heading/feature.server';
|
|
222
|
+
export { IndentFeature } from './field/features/indent/feature.server';
|
|
223
|
+
export { LinkFeature } from './field/features/link/feature.server';
|
|
224
|
+
export { $createAutoLinkNode, $isAutoLinkNode, AutoLinkNode } from './field/features/link/nodes/AutoLinkNode';
|
|
225
|
+
export { $createLinkNode, $isLinkNode, LinkNode, TOGGLE_LINK_COMMAND } from './field/features/link/nodes/LinkNode';
|
|
226
|
+
export { CheckListFeature } from './field/features/lists/checklist/feature.server';
|
|
227
|
+
export { OrderedListFeature } from './field/features/lists/orderedlist/feature.server';
|
|
228
|
+
export { UnorderedListFeature } from './field/features/lists/unorderedlist/feature.server';
|
|
229
|
+
export { LexicalPluginToLexicalFeature } from './field/features/migrations/lexicalPluginToLexical/feature.server';
|
|
230
|
+
export { SlateBlockquoteConverter } from './field/features/migrations/slateToLexical/converter/converters/blockquote';
|
|
231
|
+
export { SlateHeadingConverter } from './field/features/migrations/slateToLexical/converter/converters/heading';
|
|
232
|
+
export { SlateIndentConverter } from './field/features/migrations/slateToLexical/converter/converters/indent';
|
|
233
|
+
export { SlateLinkConverter } from './field/features/migrations/slateToLexical/converter/converters/link';
|
|
234
|
+
export { SlateListItemConverter } from './field/features/migrations/slateToLexical/converter/converters/listItem';
|
|
235
|
+
export { SlateOrderedListConverter } from './field/features/migrations/slateToLexical/converter/converters/orderedList';
|
|
236
|
+
export { SlateRelationshipConverter } from './field/features/migrations/slateToLexical/converter/converters/relationship';
|
|
237
|
+
export { SlateUnknownConverter } from './field/features/migrations/slateToLexical/converter/converters/unknown';
|
|
238
|
+
export { SlateUnorderedListConverter } from './field/features/migrations/slateToLexical/converter/converters/unorderedList';
|
|
239
|
+
export { SlateUploadConverter } from './field/features/migrations/slateToLexical/converter/converters/upload';
|
|
240
|
+
export { defaultSlateConverters } from './field/features/migrations/slateToLexical/converter/defaultConverters';
|
|
241
|
+
export { convertSlateNodesToLexical, convertSlateToLexical } from './field/features/migrations/slateToLexical/converter/index';
|
|
242
|
+
export { SlateToLexicalFeature } from './field/features/migrations/slateToLexical/feature.server';
|
|
243
|
+
export { ParagraphFeature } from './field/features/paragraph/feature.server';
|
|
244
|
+
export { RelationshipFeature } from './field/features/relationship/feature.server';
|
|
245
|
+
export { $createRelationshipNode, $isRelationshipNode, RelationshipNode } from './field/features/relationship/nodes/RelationshipNode';
|
|
246
|
+
export { UploadFeature } from './field/features/upload/feature.server';
|
|
247
|
+
export { $createUploadNode, $isUploadNode, UploadNode } from './field/features/upload/nodes/UploadNode';
|
|
248
|
+
export { EditorConfigProvider, useEditorConfigContext } from './field/lexical/config/client/EditorConfigProvider';
|
|
249
|
+
export { sanitizeClientEditorConfig, sanitizeClientFeatures } from './field/lexical/config/client/sanitize';
|
|
250
|
+
export { defaultEditorConfig, defaultEditorFeatures, defaultEditorLexicalConfig, defaultSanitizedServerEditorConfig } from './field/lexical/config/server/default';
|
|
251
|
+
export { loadFeatures, sortFeaturesForOptimalLoading } from './field/lexical/config/server/loader';
|
|
252
|
+
export { sanitizeServerEditorConfig, sanitizeServerFeatures } from './field/lexical/config/server/sanitize';
|
|
253
|
+
export { getEnabledNodes } from './field/lexical/nodes';
|
|
254
|
+
export { ENABLE_SLASH_MENU_COMMAND } from './field/lexical/plugins/SlashMenu/LexicalTypeaheadMenuPlugin/index';
|
|
255
|
+
export { SlashMenuGroup, SlashMenuOption } from './field/lexical/plugins/SlashMenu/LexicalTypeaheadMenuPlugin/types';
|
|
256
|
+
export { CAN_USE_DOM } from './field/lexical/utils/canUseDOM';
|
|
257
|
+
export { cloneDeep } from './field/lexical/utils/cloneDeep';
|
|
258
|
+
export { getDOMRangeRect } from './field/lexical/utils/getDOMRangeRect';
|
|
259
|
+
export { getSelectedNode } from './field/lexical/utils/getSelectedNode';
|
|
260
|
+
export { isHTMLElement } from './field/lexical/utils/guard';
|
|
261
|
+
export { invariant } from './field/lexical/utils/invariant';
|
|
262
|
+
export { joinClasses } from './field/lexical/utils/joinClasses';
|
|
263
|
+
export { createBlockNode } from './field/lexical/utils/markdown/createBlockNode';
|
|
264
|
+
export { DETAIL_TYPE_TO_DETAIL, DOUBLE_LINE_BREAK, ELEMENT_FORMAT_TO_TYPE, ELEMENT_TYPE_TO_FORMAT, IS_ALL_FORMATTING, LTR_REGEX, NON_BREAKING_SPACE, NodeFormat, RTL_REGEX, TEXT_MODE_TO_TYPE, TEXT_TYPE_TO_FORMAT, TEXT_TYPE_TO_MODE } from './field/lexical/utils/nodeFormat';
|
|
265
|
+
export { Point, isPoint } from './field/lexical/utils/point';
|
|
266
|
+
export { Rect } from './field/lexical/utils/rect';
|
|
267
|
+
export { setFloatingElemPosition } from './field/lexical/utils/setFloatingElemPosition';
|
|
268
|
+
export { setFloatingElemPositionForLinkEditor } from './field/lexical/utils/setFloatingElemPositionForLinkEditor';
|
|
269
|
+
export { addSwipeDownListener, addSwipeLeftListener, addSwipeRightListener, addSwipeUpListener } from './field/lexical/utils/swipe';
|
|
270
|
+
export { sanitizeUrl, validateUrl } from './field/lexical/utils/url';
|
|
271
|
+
export { defaultRichTextValue } from './populate/defaultValue';
|
|
660
272
|
|
|
661
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9pbmRleC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IEpTT05TY2hlbWE0IH0gZnJvbSAnanNvbi1zY2hlbWEnXG5pbXBvcnQgdHlwZSB7IFNlcmlhbGl6ZWRFZGl0b3JTdGF0ZSB9IGZyb20gJ2xleGljYWwnXG5pbXBvcnQgdHlwZSB7IEVkaXRvckNvbmZpZyBhcyBMZXhpY2FsRWRpdG9yQ29uZmlnIH0gZnJvbSAnbGV4aWNhbC9MZXhpY2FsRWRpdG9yJ1xuaW1wb3J0IHR5cGUgeyBSaWNoVGV4dEFkYXB0ZXIgfSBmcm9tICdwYXlsb2FkL3R5cGVzJ1xuXG5pbXBvcnQgeyB3aXRoTnVsbGFibGVKU09OU2NoZW1hVHlwZSB9IGZyb20gJ3BheWxvYWQvdXRpbGl0aWVzJ1xuXG5pbXBvcnQgdHlwZSB7IEZlYXR1cmVQcm92aWRlclNlcnZlciwgUmVzb2x2ZWRTZXJ2ZXJGZWF0dXJlTWFwIH0gZnJvbSAnLi9maWVsZC9mZWF0dXJlcy90eXBlcydcbmltcG9ydCB0eXBlIHsgU2FuaXRpemVkU2VydmVyRWRpdG9yQ29uZmlnIH0gZnJvbSAnLi9maWVsZC9sZXhpY2FsL2NvbmZpZy90eXBlcydcbmltcG9ydCB0eXBlIHsgQWRhcHRlclByb3BzIH0gZnJvbSAnLi90eXBlcydcblxuaW1wb3J0IHtcbiAgZGVmYXVsdEVkaXRvckNvbmZpZyxcbiAgZGVmYXVsdEVkaXRvckZlYXR1cmVzLFxuICBkZWZhdWx0U2FuaXRpemVkU2VydmVyRWRpdG9yQ29uZmlnLFxufSBmcm9tICcuL2ZpZWxkL2xleGljYWwvY29uZmlnL3NlcnZlci9kZWZhdWx0J1xuaW1wb3J0IHsgbG9hZEZlYXR1cmVzIH0gZnJvbSAnLi9maWVsZC9sZXhpY2FsL2NvbmZpZy9zZXJ2ZXIvbG9hZGVyJ1xuaW1wb3J0IHsgc2FuaXRpemVTZXJ2ZXJGZWF0dXJlcyB9IGZyb20gJy4vZmllbGQvbGV4aWNhbC9jb25maWcvc2VydmVyL3Nhbml0aXplJ1xuaW1wb3J0IHsgY2xvbmVEZWVwIH0gZnJvbSAnLi9maWVsZC9sZXhpY2FsL3V0aWxzL2Nsb25lRGVlcCdcbmltcG9ydCB7IGdldEdlbmVyYXRlQ29tcG9uZW50TWFwIH0gZnJvbSAnLi9nZW5lcmF0ZUNvbXBvbmVudE1hcCdcbmltcG9ydCB7IGdldEdlbmVyYXRlU2NoZW1hTWFwIH0gZnJvbSAnLi9nZW5lcmF0ZVNjaGVtYU1hcCdcbmltcG9ydCB7IHJpY2hUZXh0UmVsYXRpb25zaGlwUHJvbWlzZSB9IGZyb20gJy4vcG9wdWxhdGUvcmljaFRleHRSZWxhdGlvbnNoaXBQcm9taXNlJ1xuaW1wb3J0IHsgcmljaFRleHRWYWxpZGF0ZUhPQyB9IGZyb20gJy4vdmFsaWRhdGUnXG5cbmV4cG9ydCB0eXBlIExleGljYWxFZGl0b3JQcm9wcyA9IHtcbiAgZmVhdHVyZXM/OlxuICAgIHwgKCh7XG4gICAgICAgIGRlZmF1bHRGZWF0dXJlcyxcbiAgICAgIH06IHtcbiAgICAgICAgZGVmYXVsdEZlYXR1cmVzOiBGZWF0dXJlUHJvdmlkZXJTZXJ2ZXI8dW5rbm93biwgdW5rbm93bj5bXVxuICAgICAgfSkgPT4gRmVhdHVyZVByb3ZpZGVyU2VydmVyPHVua25vd24sIHVua25vd24+W10pXG4gICAgfCBGZWF0dXJlUHJvdmlkZXJTZXJ2ZXI8dW5rbm93biwgdW5rbm93bj5bXVxuICBsZXhpY2FsPzogTGV4aWNhbEVkaXRvckNvbmZpZ1xufVxuXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXJlZHVuZGFudC10eXBlLWNvbnN0aXR1ZW50c1xuZXhwb3J0IHR5cGUgTGV4aWNhbFJpY2hUZXh0QWRhcHRlciA9IFJpY2hUZXh0QWRhcHRlcjxTZXJpYWxpemVkRWRpdG9yU3RhdGUsIEFkYXB0ZXJQcm9wcywgYW55PiAmIHtcbiAgZWRpdG9yQ29uZmlnOiBTYW5pdGl6ZWRTZXJ2ZXJFZGl0b3JDb25maWdcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGxleGljYWxFZGl0b3IocHJvcHM/OiBMZXhpY2FsRWRpdG9yUHJvcHMpOiBMZXhpY2FsUmljaFRleHRBZGFwdGVyIHtcbiAgbGV0IHJlc29sdmVkRmVhdHVyZU1hcDogUmVzb2x2ZWRTZXJ2ZXJGZWF0dXJlTWFwID0gbnVsbFxuXG4gIGxldCBmaW5hbFNhbml0aXplZEVkaXRvckNvbmZpZzogU2FuaXRpemVkU2VydmVyRWRpdG9yQ29uZmlnIC8vIEZvciBzZXJ2ZXIgb25seVxuICBpZiAoIXByb3BzIHx8ICghcHJvcHMuZmVhdHVyZXMgJiYgIXByb3BzLmxleGljYWwpKSB7XG4gICAgZmluYWxTYW5pdGl6ZWRFZGl0b3JDb25maWcgPSBjbG9uZURlZXAoZGVmYXVsdFNhbml0aXplZFNlcnZlckVkaXRvckNvbmZpZylcbiAgICByZXNvbHZlZEZlYXR1cmVNYXAgPSBmaW5hbFNhbml0aXplZEVkaXRvckNvbmZpZy5yZXNvbHZlZEZlYXR1cmVNYXBcbiAgfSBlbHNlIHtcbiAgICBsZXQgZmVhdHVyZXM6IEZlYXR1cmVQcm92aWRlclNlcnZlcjx1bmtub3duLCB1bmtub3duPltdID1cbiAgICAgIHByb3BzLmZlYXR1cmVzICYmIHR5cGVvZiBwcm9wcy5mZWF0dXJlcyA9PT0gJ2Z1bmN0aW9uJ1xuICAgICAgICA/IHByb3BzLmZlYXR1cmVzKHsgZGVmYXVsdEZlYXR1cmVzOiBjbG9uZURlZXAoZGVmYXVsdEVkaXRvckZlYXR1cmVzKSB9KVxuICAgICAgICA6IChwcm9wcy5mZWF0dXJlcyBhcyBGZWF0dXJlUHJvdmlkZXJTZXJ2ZXI8dW5rbm93biwgdW5rbm93bj5bXSlcbiAgICBpZiAoIWZlYXR1cmVzKSB7XG4gICAgICBmZWF0dXJlcyA9IGNsb25lRGVlcChkZWZhdWx0RWRpdG9yRmVhdHVyZXMpXG4gICAgfVxuXG4gICAgY29uc3QgbGV4aWNhbDogTGV4aWNhbEVkaXRvckNvbmZpZyA9IHByb3BzLmxleGljYWxcblxuICAgIHJlc29sdmVkRmVhdHVyZU1hcCA9IGxvYWRGZWF0dXJlcyh7XG4gICAgICB1blNhbml0aXplZEVkaXRvckNvbmZpZzoge1xuICAgICAgICBmZWF0dXJlcyxcbiAgICAgICAgbGV4aWNhbDogbGV4aWNhbCA/IGxleGljYWwgOiBkZWZhdWx0RWRpdG9yQ29uZmlnLmxleGljYWwsXG4gICAgICB9LFxuICAgIH0pXG5cbiAgICBmaW5hbFNhbml0aXplZEVkaXRvckNvbmZpZyA9IHtcbiAgICAgIGZlYXR1cmVzOiBzYW5pdGl6ZVNlcnZlckZlYXR1cmVzKHJlc29sdmVkRmVhdHVyZU1hcCksXG4gICAgICBsZXhpY2FsOiBsZXhpY2FsID8gbGV4aWNhbCA6IGRlZmF1bHRFZGl0b3JDb25maWcubGV4aWNhbCxcbiAgICAgIHJlc29sdmVkRmVhdHVyZU1hcCxcbiAgICB9XG4gIH1cblxuICByZXR1cm4ge1xuICAgIExhenlDZWxsQ29tcG9uZW50OiAoKSA9PlxuICAgICAgLy8gQHRzLWV4cGVjdC1lcnJvclxuICAgICAgaW1wb3J0KCcuL2NlbGwnKS50aGVuKChtb2R1bGUpID0+IHtcbiAgICAgICAgY29uc3QgUmljaFRleHRDZWxsID0gbW9kdWxlLlJpY2hUZXh0Q2VsbFxuICAgICAgICByZXR1cm4gaW1wb3J0KCdAcGF5bG9hZGNtcy91aScpLnRoZW4oKG1vZHVsZTIpID0+XG4gICAgICAgICAgbW9kdWxlMi53aXRoTWVyZ2VkUHJvcHMoe1xuICAgICAgICAgICAgQ29tcG9uZW50OiBSaWNoVGV4dENlbGwsXG4gICAgICAgICAgICB0b01lcmdlSW50b1Byb3BzOiB7IGxleGljYWxFZGl0b3JDb25maWc6IGZpbmFsU2FuaXRpemVkRWRpdG9yQ29uZmlnLmxleGljYWwgfSwgLy8gbGV4aWNhbEVkaXRvckNvbmZpZyBpcyBzZXJpYWxpemFibGVcbiAgICAgICAgICB9KSxcbiAgICAgICAgKVxuICAgICAgfSksXG5cbiAgICBMYXp5RmllbGRDb21wb25lbnQ6ICgpID0+XG4gICAgICAvLyBAdHMtZXhwZWN0LWVycm9yXG4gICAgICBpbXBvcnQoJy4vZmllbGQnKS50aGVuKChtb2R1bGUpID0+IHtcbiAgICAgICAgY29uc3QgUmljaFRleHRGaWVsZCA9IG1vZHVsZS5SaWNoVGV4dEZpZWxkXG4gICAgICAgIHJldHVybiBpbXBvcnQoJ0BwYXlsb2FkY21zL3VpJykudGhlbigobW9kdWxlMikgPT5cbiAgICAgICAgICBtb2R1bGUyLndpdGhNZXJnZWRQcm9wcyh7XG4gICAgICAgICAgICBDb21wb25lbnQ6IFJpY2hUZXh0RmllbGQsXG4gICAgICAgICAgICB0b01lcmdlSW50b1Byb3BzOiB7IGxleGljYWxFZGl0b3JDb25maWc6IGZpbmFsU2FuaXRpemVkRWRpdG9yQ29uZmlnLmxleGljYWwgfSwgLy8gbGV4aWNhbEVkaXRvckNvbmZpZyBpcyBzZXJpYWxpemFibGVcbiAgICAgICAgICB9KSxcbiAgICAgICAgKVxuICAgICAgfSksXG4gICAgYWZ0ZXJSZWFkUHJvbWlzZTogKHsgZmllbGQsIGluY29taW5nRWRpdG9yU3RhdGUsIHNpYmxpbmdEb2MgfSkgPT4ge1xuICAgICAgcmV0dXJuIG5ldyBQcm9taXNlPHZvaWQ+KChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICAgICAgY29uc3QgcHJvbWlzZXM6IFByb21pc2U8dm9pZD5bXSA9IFtdXG5cbiAgICAgICAgaWYgKGZpbmFsU2FuaXRpemVkRWRpdG9yQ29uZmlnPy5mZWF0dXJlcz8uaG9va3M/LmFmdGVyUmVhZFByb21pc2VzPy5sZW5ndGgpIHtcbiAgICAgICAgICBmb3IgKGNvbnN0IGFmdGVyUmVhZFByb21pc2Ugb2YgZmluYWxTYW5pdGl6ZWRFZGl0b3JDb25maWcuZmVhdHVyZXMuaG9va3NcbiAgICAgICAgICAgIC5hZnRlclJlYWRQcm9taXNlcykge1xuICAgICAgICAgICAgY29uc3QgcHJvbWlzZSA9IGFmdGVyUmVhZFByb21pc2Uoe1xuICAgICAgICAgICAgICBmaWVsZCxcbiAgICAgICAgICAgICAgaW5jb21pbmdFZGl0b3JTdGF0ZSxcbiAgICAgICAgICAgICAgc2libGluZ0RvYyxcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgICBpZiAocHJvbWlzZSkge1xuICAgICAgICAgICAgICBwcm9taXNlcy5wdXNoKHByb21pc2UpXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgUHJvbWlzZS5hbGwocHJvbWlzZXMpXG4gICAgICAgICAgLnRoZW4oKCkgPT4gcmVzb2x2ZSgpKVxuICAgICAgICAgIC5jYXRjaCgoZXJyb3IpID0+IHJlamVjdChlcnJvcikpXG4gICAgICB9KVxuICAgIH0sXG4gICAgZWRpdG9yQ29uZmlnOiBmaW5hbFNhbml0aXplZEVkaXRvckNvbmZpZyxcbiAgICBnZW5lcmF0ZUNvbXBvbmVudE1hcDogZ2V0R2VuZXJhdGVDb21wb25lbnRNYXAoe1xuICAgICAgcmVzb2x2ZWRGZWF0dXJlTWFwLFxuICAgIH0pLFxuICAgIGdlbmVyYXRlU2NoZW1hTWFwOiBnZXRHZW5lcmF0ZVNjaGVtYU1hcCh7XG4gICAgICByZXNvbHZlZEZlYXR1cmVNYXAsXG4gICAgfSksXG4gICAgb3V0cHV0U2NoZW1hOiAoeyBmaWVsZCwgaW50ZXJmYWNlTmFtZURlZmluaXRpb25zLCBpc1JlcXVpcmVkIH0pID0+IHtcbiAgICAgIGxldCBvdXRwdXRTY2hlbWE6IEpTT05TY2hlbWE0ID0ge1xuICAgICAgICAvLyBUaGlzIHNjaGVtYSBtYXRjaGVzIHRoZSBTZXJpYWxpemVkRWRpdG9yU3RhdGUgdHlwZSBzbyBmYXIsIHRoYXQgaXQncyBwb3NzaWJsZSB0byBjYXN0IFNlcmlhbGl6ZWRFZGl0b3JTdGF0ZSB0byB0aGlzIHNjaGVtYSB3aXRob3V0IGFueSBlcnJvcnMuXG4gICAgICAgIC8vIEluIHRoZSBmdXR1cmUsIHdlIHNob3VsZFxuICAgICAgICAvLyAxKSBhbGxvdyByZWN1cnNpdmUgY2hpbGRyZW5cbiAgICAgICAgLy8gMikgUGFzcyBpbiBhbGwgdGhlIGRpZmZlcmVudCB0eXBlcyBmb3IgZXZlcnkgbm9kZSBhZGRlZCB0byB0aGUgZWRpdG9yY29uZmlnLiBUaGlzIGNhbiBiZSBkb25lIHdpdGggcmVmcyBpbiB0aGUgc2NoZW1hLlxuICAgICAgICB0eXBlOiB3aXRoTnVsbGFibGVKU09OU2NoZW1hVHlwZSgnb2JqZWN0JywgaXNSZXF1aXJlZCksXG4gICAgICAgIHByb3BlcnRpZXM6IHtcbiAgICAgICAgICByb290OiB7XG4gICAgICAgICAgICB0eXBlOiAnb2JqZWN0JyxcbiAgICAgICAgICAgIGFkZGl0aW9uYWxQcm9wZXJ0aWVzOiBmYWxzZSxcbiAgICAgICAgICAgIHByb3BlcnRpZXM6IHtcbiAgICAgICAgICAgICAgdHlwZToge1xuICAgICAgICAgICAgICAgIHR5cGU6ICdzdHJpbmcnLFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICBjaGlsZHJlbjoge1xuICAgICAgICAgICAgICAgIHR5cGU6ICdhcnJheScsXG4gICAgICAgICAgICAgICAgaXRlbXM6IHtcbiAgICAgICAgICAgICAgICAgIHR5cGU6ICdvYmplY3QnLFxuICAgICAgICAgICAgICAgICAgYWRkaXRpb25hbFByb3BlcnRpZXM6IHRydWUsXG4gICAgICAgICAgICAgICAgICBwcm9wZXJ0aWVzOiB7XG4gICAgICAgICAgICAgICAgICAgIHR5cGU6IHtcbiAgICAgICAgICAgICAgICAgICAgICB0eXBlOiAnc3RyaW5nJyxcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgdmVyc2lvbjoge1xuICAgICAgICAgICAgICAgICAgICAgIHR5cGU6ICdpbnRlZ2VyJyxcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICByZXF1aXJlZDogWyd0eXBlJywgJ3ZlcnNpb24nXSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICBkaXJlY3Rpb246IHtcbiAgICAgICAgICAgICAgICBvbmVPZjogW1xuICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBlbnVtOiBbJ2x0cicsICdydGwnXSxcbiAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIHR5cGU6ICdudWxsJyxcbiAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgZm9ybWF0OiB7XG4gICAgICAgICAgICAgICAgdHlwZTogJ3N0cmluZycsXG4gICAgICAgICAgICAgICAgZW51bTogWydsZWZ0JywgJ3N0YXJ0JywgJ2NlbnRlcicsICdyaWdodCcsICdlbmQnLCAnanVzdGlmeScsICcnXSwgLy8gRWxlbWVudEZvcm1hdFR5cGUsIHNpbmNlIHRoZSByb290IG5vZGUgaXMgYW4gZWxlbWVudFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICBpbmRlbnQ6IHtcbiAgICAgICAgICAgICAgICB0eXBlOiAnaW50ZWdlcicsXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIHZlcnNpb246IHtcbiAgICAgICAgICAgICAgICB0eXBlOiAnaW50ZWdlcicsXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgcmVxdWlyZWQ6IFsnY2hpbGRyZW4nLCAnZGlyZWN0aW9uJywgJ2Zvcm1hdCcsICdpbmRlbnQnLCAndHlwZScsICd2ZXJzaW9uJ10sXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgICAgcmVxdWlyZWQ6IFsncm9vdCddLFxuICAgICAgfVxuICAgICAgZm9yIChjb25zdCBtb2RpZnlPdXRwdXRTY2hlbWEgb2YgZmluYWxTYW5pdGl6ZWRFZGl0b3JDb25maWcuZmVhdHVyZXMuZ2VuZXJhdGVkVHlwZXNcbiAgICAgICAgLm1vZGlmeU91dHB1dFNjaGVtYXMpIHtcbiAgICAgICAgb3V0cHV0U2NoZW1hID0gbW9kaWZ5T3V0cHV0U2NoZW1hKHtcbiAgICAgICAgICBjdXJyZW50U2NoZW1hOiBvdXRwdXRTY2hlbWEsXG4gICAgICAgICAgZmllbGQsXG4gICAgICAgICAgaW50ZXJmYWNlTmFtZURlZmluaXRpb25zLFxuICAgICAgICAgIGlzUmVxdWlyZWQsXG4gICAgICAgIH0pXG4gICAgICB9XG5cbiAgICAgIHJldHVybiBvdXRwdXRTY2hlbWFcbiAgICB9LFxuICAgIHBvcHVsYXRpb25Qcm9taXNlKHtcbiAgICAgIGNvbnRleHQsXG4gICAgICBjdXJyZW50RGVwdGgsXG4gICAgICBkZXB0aCxcbiAgICAgIGZpZWxkLFxuICAgICAgZmluZE1hbnksXG4gICAgICBmbGF0dGVuTG9jYWxlcyxcbiAgICAgIG92ZXJyaWRlQWNjZXNzLFxuICAgICAgcG9wdWxhdGlvblByb21pc2VzLFxuICAgICAgcmVxLFxuICAgICAgc2hvd0hpZGRlbkZpZWxkcyxcbiAgICAgIHNpYmxpbmdEb2MsXG4gICAgfSkge1xuICAgICAgLy8gY2hlY2sgaWYgdGhlcmUgYXJlIGFueSBmZWF0dXJlcyB3aXRoIG5vZGVzIHdoaWNoIGhhdmUgcG9wdWxhdGlvblByb21pc2VzIGZvciB0aGlzIGZpZWxkXG4gICAgICBpZiAoZmluYWxTYW5pdGl6ZWRFZGl0b3JDb25maWc/LmZlYXR1cmVzPy5wb3B1bGF0aW9uUHJvbWlzZXM/LnNpemUpIHtcbiAgICAgICAgcmV0dXJuIHJpY2hUZXh0UmVsYXRpb25zaGlwUHJvbWlzZSh7XG4gICAgICAgICAgY29udGV4dCxcbiAgICAgICAgICBjdXJyZW50RGVwdGgsXG4gICAgICAgICAgZGVwdGgsXG4gICAgICAgICAgZWRpdG9yUG9wdWxhdGlvblByb21pc2VzOiBmaW5hbFNhbml0aXplZEVkaXRvckNvbmZpZy5mZWF0dXJlcy5wb3B1bGF0aW9uUHJvbWlzZXMsXG4gICAgICAgICAgZmllbGQsXG4gICAgICAgICAgZmluZE1hbnksXG4gICAgICAgICAgZmxhdHRlbkxvY2FsZXMsXG4gICAgICAgICAgb3ZlcnJpZGVBY2Nlc3MsXG4gICAgICAgICAgcG9wdWxhdGlvblByb21pc2VzLFxuICAgICAgICAgIHJlcSxcbiAgICAgICAgICBzaG93SGlkZGVuRmllbGRzLFxuICAgICAgICAgIHNpYmxpbmdEb2MsXG4gICAgICAgIH0pXG4gICAgICB9XG5cbiAgICAgIHJldHVybiBudWxsXG4gICAgfSxcbiAgICB2YWxpZGF0ZTogcmljaFRleHRWYWxpZGF0ZUhPQyh7XG4gICAgICBlZGl0b3JDb25maWc6IGZpbmFsU2FuaXRpemVkRWRpdG9yQ29uZmlnLFxuICAgIH0pLFxuICB9XG59XG5cbmV4cG9ydCB7IEFsaWduRmVhdHVyZSB9IGZyb20gJy4vZmllbGQvZmVhdHVyZXMvYWxpZ24vZmVhdHVyZS5zZXJ2ZXInXG5leHBvcnQgeyBCbG9ja1F1b3RlRmVhdHVyZSB9IGZyb20gJy4vZmllbGQvZmVhdHVyZXMvYmxvY2txdW90ZS9mZWF0dXJlLnNlcnZlcidcbmV4cG9ydCB7IEJsb2Nrc0ZlYXR1cmUsIHR5cGUgQmxvY2tzRmVhdHVyZVByb3BzIH0gZnJvbSAnLi9maWVsZC9mZWF0dXJlcy9ibG9ja3MvZmVhdHVyZS5zZXJ2ZXInXG5leHBvcnQge1xuICAkY3JlYXRlQmxvY2tOb2RlLFxuICAkaXNCbG9ja05vZGUsXG4gIHR5cGUgQmxvY2tGaWVsZHMsXG4gIEJsb2NrTm9kZSxcbiAgdHlwZSBTZXJpYWxpemVkQmxvY2tOb2RlLFxufSBmcm9tICcuL2ZpZWxkL2ZlYXR1cmVzL2Jsb2Nrcy9ub2Rlcy9CbG9ja3NOb2RlJ1xuXG5leHBvcnQgeyBUZXh0RHJvcGRvd25TZWN0aW9uV2l0aEVudHJpZXMgfSBmcm9tICcuL2ZpZWxkL2ZlYXR1cmVzL2NvbW1vbi9mbG9hdGluZ1NlbGVjdFRvb2xiYXJUZXh0RHJvcGRvd25TZWN0aW9uJ1xuZXhwb3J0IHtcbiAgY29udmVydExleGljYWxOb2Rlc1RvSFRNTCxcbiAgY29udmVydExleGljYWxUb0hUTUwsXG59IGZyb20gJy4vZmllbGQvZmVhdHVyZXMvY29udmVydGVycy9odG1sL2NvbnZlcnRlcidcbmV4cG9ydCB7IExpbmVicmVha0hUTUxDb252ZXJ0ZXIgfSBmcm9tICcuL2ZpZWxkL2ZlYXR1cmVzL2NvbnZlcnRlcnMvaHRtbC9jb252ZXJ0ZXIvY29udmVydGVycy9saW5lYnJlYWsnXG5cbmV4cG9ydCB7IFBhcmFncmFwaEhUTUxDb252ZXJ0ZXIgfSBmcm9tICcuL2ZpZWxkL2ZlYXR1cmVzL2NvbnZlcnRlcnMvaHRtbC9jb252ZXJ0ZXIvY29udmVydGVycy9wYXJhZ3JhcGgnXG5leHBvcnQgeyBUZXh0SFRNTENvbnZlcnRlciB9IGZyb20gJy4vZmllbGQvZmVhdHVyZXMvY29udmVydGVycy9odG1sL2NvbnZlcnRlci9jb252ZXJ0ZXJzL3RleHQnXG5leHBvcnQgeyBkZWZhdWx0SFRNTENvbnZlcnRlcnMgfSBmcm9tICcuL2ZpZWxkL2ZlYXR1cmVzL2NvbnZlcnRlcnMvaHRtbC9jb252ZXJ0ZXIvZGVmYXVsdENvbnZlcnRlcnMnXG5leHBvcnQgdHlwZSB7IEhUTUxDb252ZXJ0ZXIgfSBmcm9tICcuL2ZpZWxkL2ZlYXR1cmVzL2NvbnZlcnRlcnMvaHRtbC9jb252ZXJ0ZXIvdHlwZXMnXG5leHBvcnQge1xuICBIVE1MQ29udmVydGVyRmVhdHVyZSxcbiAgdHlwZSBIVE1MQ29udmVydGVyRmVhdHVyZVByb3BzLFxufSBmcm9tICcuL2ZpZWxkL2ZlYXR1cmVzL2NvbnZlcnRlcnMvaHRtbC9mZWF0dXJlLnNlcnZlcidcbmV4cG9ydCB7IGNvbnNvbGlkYXRlSFRNTENvbnZlcnRlcnMgfSBmcm9tICcuL2ZpZWxkL2ZlYXR1cmVzL2NvbnZlcnRlcnMvaHRtbC9maWVsZCdcbmV4cG9ydCB7IGxleGljYWxIVE1MIH0gZnJvbSAnLi9maWVsZC9mZWF0dXJlcy9jb252ZXJ0ZXJzL2h0bWwvZmllbGQnXG5leHBvcnQgeyBjcmVhdGVDbGllbnRDb21wb25lbnQgfSBmcm9tICcuL2ZpZWxkL2ZlYXR1cmVzL2NyZWF0ZUNsaWVudENvbXBvbmVudCdcbmV4cG9ydCB7IFRlc3RSZWNvcmRlckZlYXR1cmUgfSBmcm9tICcuL2ZpZWxkL2ZlYXR1cmVzL2RlYnVnL3Rlc3RyZWNvcmRlci9mZWF0dXJlLnNlcnZlcidcbmV4cG9ydCB7IFRyZWVWaWV3RmVhdHVyZSB9IGZyb20gJy4vZmllbGQvZmVhdHVyZXMvZGVidWcvdHJlZXZpZXcvZmVhdHVyZS5zZXJ2ZXInXG5leHBvcnQgeyBCb2xkRmVhdHVyZSB9IGZyb20gJy4vZmllbGQvZmVhdHVyZXMvZm9ybWF0L2JvbGQvZmVhdHVyZS5zZXJ2ZXInXG5leHBvcnQgeyBTZWN0aW9uV2l0aEVudHJpZXMgYXMgRm9ybWF0U2VjdGlvbldpdGhFbnRyaWVzIH0gZnJvbSAnLi9maWVsZC9mZWF0dXJlcy9mb3JtYXQvY29tbW9uL2Zsb2F0aW5nU2VsZWN0VG9vbGJhclNlY3Rpb24nXG5leHBvcnQgeyBJbmxpbmVDb2RlRmVhdHVyZSB9IGZyb20gJy4vZmllbGQvZmVhdHVyZXMvZm9ybWF0L2lubGluZWNvZGUvZmVhdHVyZS5zZXJ2ZXInXG5leHBvcnQgeyBJdGFsaWNGZWF0dXJlIH0gZnJvbSAnLi9maWVsZC9mZWF0dXJlcy9mb3JtYXQvaXRhbGljL2ZlYXR1cmUuc2VydmVyJ1xuZXhwb3J0IHsgU3RyaWtldGhyb3VnaEZlYXR1cmUgfSBmcm9tICcuL2ZpZWxkL2ZlYXR1cmVzL2Zvcm1hdC9zdHJpa2V0aHJvdWdoL2ZlYXR1cmUuc2VydmVyJ1xuZXhwb3J0IHsgU3Vic2NyaXB0RmVhdHVyZSB9IGZyb20gJy4vZmllbGQvZmVhdHVyZXMvZm9ybWF0L3N1YnNjcmlwdC9mZWF0dXJlLnNlcnZlcidcbmV4cG9ydCB7IFN1cGVyc2NyaXB0RmVhdHVyZSB9IGZyb20gJy4vZmllbGQvZmVhdHVyZXMvZm9ybWF0L3N1cGVyc2NyaXB0L2ZlYXR1cmUuc2VydmVyJ1xuZXhwb3J0IHsgVW5kZXJsaW5lRmVhdHVyZSB9IGZyb20gJy4vZmllbGQvZmVhdHVyZXMvZm9ybWF0L3VuZGVybGluZS9mZWF0dXJlLnNlcnZlcidcblxuZXhwb3J0IHsgSGVhZGluZ0ZlYXR1cmUgfSBmcm9tICcuL2ZpZWxkL2ZlYXR1cmVzL2hlYWRpbmcvZmVhdHVyZS5zZXJ2ZXInXG5leHBvcnQgeyBJbmRlbnRGZWF0dXJlIH0gZnJvbSAnLi9maWVsZC9mZWF0dXJlcy9pbmRlbnQvZmVhdHVyZS5zZXJ2ZXInXG5cbmV4cG9ydCB7IExpbmtGZWF0dXJlLCB0eXBlIExpbmtGZWF0dXJlU2VydmVyUHJvcHMgfSBmcm9tICcuL2ZpZWxkL2ZlYXR1cmVzL2xpbmsvZmVhdHVyZS5zZXJ2ZXInXG5leHBvcnQge1xuICAkY3JlYXRlQXV0b0xpbmtOb2RlLFxuICAkaXNBdXRvTGlua05vZGUsXG4gIEF1dG9MaW5rTm9kZSxcbn0gZnJvbSAnLi9maWVsZC9mZWF0dXJlcy9saW5rL25vZGVzL0F1dG9MaW5rTm9kZSdcbmV4cG9ydCB7XG4gICRjcmVhdGVMaW5rTm9kZSxcbiAgJGlzTGlua05vZGUsXG4gIExpbmtOb2RlLFxuICBUT0dHTEVfTElOS19DT01NQU5ELFxufSBmcm9tICcuL2ZpZWxkL2ZlYXR1cmVzL2xpbmsvbm9kZXMvTGlua05vZGUnXG5leHBvcnQgdHlwZSB7XG4gIExpbmtGaWVsZHMsXG4gIFNlcmlhbGl6ZWRBdXRvTGlua05vZGUsXG4gIFNlcmlhbGl6ZWRMaW5rTm9kZSxcbn0gZnJvbSAnLi9maWVsZC9mZWF0dXJlcy9saW5rL25vZGVzL3R5cGVzJ1xuZXhwb3J0IHsgQ2hlY2tMaXN0RmVhdHVyZSB9IGZyb20gJy4vZmllbGQvZmVhdHVyZXMvbGlzdHMvY2hlY2tsaXN0L2ZlYXR1cmUuc2VydmVyJ1xuZXhwb3J0IHsgT3JkZXJlZExpc3RGZWF0dXJlIH0gZnJvbSAnLi9maWVsZC9mZWF0dXJlcy9saXN0cy9vcmRlcmVkbGlzdC9mZWF0dXJlLnNlcnZlcidcbmV4cG9ydCB7IFVub3JkZXJlZExpc3RGZWF0dXJlIH0gZnJvbSAnLi9maWVsZC9mZWF0dXJlcy9saXN0cy91bm9yZGVyZWRsaXN0L2ZlYXR1cmUuc2VydmVyJ1xuZXhwb3J0IHsgTGV4aWNhbFBsdWdpblRvTGV4aWNhbEZlYXR1cmUgfSBmcm9tICcuL2ZpZWxkL2ZlYXR1cmVzL21pZ3JhdGlvbnMvbGV4aWNhbFBsdWdpblRvTGV4aWNhbC9mZWF0dXJlLnNlcnZlcidcbmV4cG9ydCB7IFNsYXRlQmxvY2txdW90ZUNvbnZlcnRlciB9IGZyb20gJy4vZmllbGQvZmVhdHVyZXMvbWlncmF0aW9ucy9zbGF0ZVRvTGV4aWNhbC9jb252ZXJ0ZXIvY29udmVydGVycy9ibG9ja3F1b3RlJ1xuZXhwb3J0IHsgU2xhdGVIZWFkaW5nQ29udmVydGVyIH0gZnJvbSAnLi9maWVsZC9mZWF0dXJlcy9taWdyYXRpb25zL3NsYXRlVG9MZXhpY2FsL2NvbnZlcnRlci9jb252ZXJ0ZXJzL2hlYWRpbmcnXG5leHBvcnQgeyBTbGF0ZUluZGVudENvbnZlcnRlciB9IGZyb20gJy4vZmllbGQvZmVhdHVyZXMvbWlncmF0aW9ucy9zbGF0ZVRvTGV4aWNhbC9jb252ZXJ0ZXIvY29udmVydGVycy9pbmRlbnQnXG5leHBvcnQgeyBTbGF0ZUxpbmtDb252ZXJ0ZXIgfSBmcm9tICcuL2ZpZWxkL2ZlYXR1cmVzL21pZ3JhdGlvbnMvc2xhdGVUb0xleGljYWwvY29udmVydGVyL2NvbnZlcnRlcnMvbGluaydcbmV4cG9ydCB7IFNsYXRlTGlzdEl0ZW1Db252ZXJ0ZXIgfSBmcm9tICcuL2ZpZWxkL2ZlYXR1cmVzL21pZ3JhdGlvbnMvc2xhdGVUb0xleGljYWwvY29udmVydGVyL2NvbnZlcnRlcnMvbGlzdEl0ZW0nXG5leHBvcnQgeyBTbGF0ZU9yZGVyZWRMaXN0Q29udmVydGVyIH0gZnJvbSAnLi9maWVsZC9mZWF0dXJlcy9taWdyYXRpb25zL3NsYXRlVG9MZXhpY2FsL2NvbnZlcnRlci9jb252ZXJ0ZXJzL29yZGVyZWRMaXN0J1xuZXhwb3J0IHsgU2xhdGVSZWxhdGlvbnNoaXBDb252ZXJ0ZXIgfSBmcm9tICcuL2ZpZWxkL2ZlYXR1cmVzL21pZ3JhdGlvbnMvc2xhdGVUb0xleGljYWwvY29udmVydGVyL2NvbnZlcnRlcnMvcmVsYXRpb25zaGlwJ1xuZXhwb3J0IHsgU2xhdGVVbmtub3duQ29udmVydGVyIH0gZnJvbSAnLi9maWVsZC9mZWF0dXJlcy9taWdyYXRpb25zL3NsYXRlVG9MZXhpY2FsL2NvbnZlcnRlci9jb252ZXJ0ZXJzL3Vua25vd24nXG5leHBvcnQgeyBTbGF0ZVVub3JkZXJlZExpc3RDb252ZXJ0ZXIgfSBmcm9tICcuL2ZpZWxkL2ZlYXR1cmVzL21pZ3JhdGlvbnMvc2xhdGVUb0xleGljYWwvY29udmVydGVyL2NvbnZlcnRlcnMvdW5vcmRlcmVkTGlzdCdcblxuZXhwb3J0IHsgU2xhdGVVcGxvYWRDb252ZXJ0ZXIgfSBmcm9tICcuL2ZpZWxkL2ZlYXR1cmVzL21pZ3JhdGlvbnMvc2xhdGVUb0xleGljYWwvY29udmVydGVyL2NvbnZlcnRlcnMvdXBsb2FkJ1xuZXhwb3J0IHsgZGVmYXVsdFNsYXRlQ29udmVydGVycyB9IGZyb20gJy4vZmllbGQvZmVhdHVyZXMvbWlncmF0aW9ucy9zbGF0ZVRvTGV4aWNhbC9jb252ZXJ0ZXIvZGVmYXVsdENvbnZlcnRlcnMnXG5leHBvcnQge1xuICBjb252ZXJ0U2xhdGVOb2Rlc1RvTGV4aWNhbCxcbiAgY29udmVydFNsYXRlVG9MZXhpY2FsLFxufSBmcm9tICcuL2ZpZWxkL2ZlYXR1cmVzL21pZ3JhdGlvbnMvc2xhdGVUb0xleGljYWwvY29udmVydGVyL2luZGV4J1xuXG5leHBvcnQgdHlwZSB7XG4gIFNsYXRlTm9kZSxcbiAgU2xhdGVOb2RlQ29udmVydGVyLFxufSBmcm9tICcuL2ZpZWxkL2ZlYXR1cmVzL21pZ3JhdGlvbnMvc2xhdGVUb0xleGljYWwvY29udmVydGVyL3R5cGVzJ1xuZXhwb3J0IHsgU2xhdGVUb0xleGljYWxGZWF0dXJlIH0gZnJvbSAnLi9maWVsZC9mZWF0dXJlcy9taWdyYXRpb25zL3NsYXRlVG9MZXhpY2FsL2ZlYXR1cmUuc2VydmVyJ1xuZXhwb3J0IHsgUGFyYWdyYXBoRmVhdHVyZSB9IGZyb20gJy4vZmllbGQvZmVhdHVyZXMvcGFyYWdyYXBoL2ZlYXR1cmUuc2VydmVyJ1xuZXhwb3J0IHsgUmVsYXRpb25zaGlwRmVhdHVyZSB9IGZyb20gJy4vZmllbGQvZmVhdHVyZXMvcmVsYXRpb25zaGlwL2ZlYXR1cmUuc2VydmVyJ1xuZXhwb3J0IHtcbiAgJGNyZWF0ZVJlbGF0aW9uc2hpcE5vZGUsXG4gICRpc1JlbGF0aW9uc2hpcE5vZGUsXG4gIHR5cGUgUmVsYXRpb25zaGlwRGF0YSxcbiAgUmVsYXRpb25zaGlwTm9kZSxcbiAgdHlwZSBTZXJpYWxpemVkUmVsYXRpb25zaGlwTm9kZSxcbn0gZnJvbSAnLi9maWVsZC9mZWF0dXJlcy9yZWxhdGlvbnNoaXAvbm9kZXMvUmVsYXRpb25zaGlwTm9kZSdcbmV4cG9ydCB0eXBlIHtcbiAgQ2xpZW50RmVhdHVyZSxcbiAgQ2xpZW50RmVhdHVyZVByb3ZpZGVyTWFwLFxuICBGZWF0dXJlUHJvdmlkZXJDbGllbnQsXG4gIEZlYXR1cmVQcm92aWRlclByb3ZpZGVyQ2xpZW50LFxuICBGZWF0dXJlUHJvdmlkZXJQcm92aWRlclNlcnZlcixcbiAgRmVhdHVyZVByb3ZpZGVyU2VydmVyLFxuICBOb2RlVmFsaWRhdGlvbixcbiAgUG9wdWxhdGlvblByb21pc2UsXG4gIFJlc29sdmVkQ2xpZW50RmVhdHVyZSxcbiAgUmVzb2x2ZWRDbGllbnRGZWF0dXJlTWFwLFxuICBSZXNvbHZlZFNlcnZlckZlYXR1cmUsXG4gIFJlc29sdmVkU2VydmVyRmVhdHVyZU1hcCxcbiAgU2FuaXRpemVkQ2xpZW50RmVhdHVyZXMsXG4gIFNhbml0aXplZFBsdWdpbixcbiAgU2FuaXRpemVkU2VydmVyRmVhdHVyZXMsXG4gIFNlcnZlckZlYXR1cmUsXG4gIFNlcnZlckZlYXR1cmVQcm92aWRlck1hcCxcbn0gZnJvbSAnLi9maWVsZC9mZWF0dXJlcy90eXBlcydcbmV4cG9ydCB7IFVwbG9hZEZlYXR1cmUgfSBmcm9tICcuL2ZpZWxkL2ZlYXR1cmVzL3VwbG9hZC9mZWF0dXJlLnNlcnZlcidcblxuZXhwb3J0IHR5cGUgeyBVcGxvYWRGZWF0dXJlUHJvcHMgfSBmcm9tICcuL2ZpZWxkL2ZlYXR1cmVzL3VwbG9hZC9mZWF0dXJlLnNlcnZlcidcblxuZXhwb3J0IHR5cGUgeyBSYXdVcGxvYWRQYXlsb2FkIH0gZnJvbSAnLi9maWVsZC9mZWF0dXJlcy91cGxvYWQvbm9kZXMvVXBsb2FkTm9kZSdcblxuZXhwb3J0IHtcbiAgJGNyZWF0ZVVwbG9hZE5vZGUsXG4gICRpc1VwbG9hZE5vZGUsXG4gIHR5cGUgU2VyaWFsaXplZFVwbG9hZE5vZGUsXG4gIHR5cGUgVXBsb2FkRGF0YSxcbiAgVXBsb2FkTm9kZSxcbn0gZnJvbSAnLi9maWVsZC9mZWF0dXJlcy91cGxvYWQvbm9kZXMvVXBsb2FkTm9kZSdcbmV4cG9ydCB7XG4gIEVkaXRvckNvbmZpZ1Byb3ZpZGVyLFxuICB1c2VFZGl0b3JDb25maWdDb250ZXh0LFxufSBmcm9tICcuL2ZpZWxkL2xleGljYWwvY29uZmlnL2NsaWVudC9FZGl0b3JDb25maWdQcm92aWRlcidcbmV4cG9ydCB7XG4gIHNhbml0aXplQ2xpZW50RWRpdG9yQ29uZmlnLFxuICBzYW5pdGl6ZUNsaWVudEZlYXR1cmVzLFxufSBmcm9tICcuL2ZpZWxkL2xleGljYWwvY29uZmlnL2NsaWVudC9zYW5pdGl6ZSdcbmV4cG9ydCB7XG4gIGRlZmF1bHRFZGl0b3JDb25maWcsXG4gIGRlZmF1bHRFZGl0b3JGZWF0dXJlcyxcbiAgZGVmYXVsdEVkaXRvckxleGljYWxDb25maWcsXG4gIGRlZmF1bHRTYW5pdGl6ZWRTZXJ2ZXJFZGl0b3JDb25maWcsXG59IGZyb20gJy4vZmllbGQvbGV4aWNhbC9jb25maWcvc2VydmVyL2RlZmF1bHQnXG5leHBvcnQgeyBsb2FkRmVhdHVyZXMsIHNvcnRGZWF0dXJlc0Zvck9wdGltYWxMb2FkaW5nIH0gZnJvbSAnLi9maWVsZC9sZXhpY2FsL2NvbmZpZy9zZXJ2ZXIvbG9hZGVyJ1xuZXhwb3J0IHtcbiAgc2FuaXRpemVTZXJ2ZXJFZGl0b3JDb25maWcsXG4gIHNhbml0aXplU2VydmVyRmVhdHVyZXMsXG59IGZyb20gJy4vZmllbGQvbGV4aWNhbC9jb25maWcvc2VydmVyL3Nhbml0aXplJ1xuXG5leHBvcnQgdHlwZSB7XG4gIENsaWVudEVkaXRvckNvbmZpZyxcbiAgU2FuaXRpemVkQ2xpZW50RWRpdG9yQ29uZmlnLFxuICBTYW5pdGl6ZWRTZXJ2ZXJFZGl0b3JDb25maWcsXG4gIFNlcnZlckVkaXRvckNvbmZpZyxcbn0gZnJvbSAnLi9maWVsZC9sZXhpY2FsL2NvbmZpZy90eXBlcydcbmV4cG9ydCB7IGdldEVuYWJsZWROb2RlcyB9IGZyb20gJy4vZmllbGQvbGV4aWNhbC9ub2RlcydcblxuZXhwb3J0IHtcbiAgdHlwZSBGbG9hdGluZ1Rvb2xiYXJTZWN0aW9uLFxuICB0eXBlIEZsb2F0aW5nVG9vbGJhclNlY3Rpb25FbnRyeSxcbn0gZnJvbSAnLi9maWVsZC9sZXhpY2FsL3BsdWdpbnMvRmxvYXRpbmdTZWxlY3RUb29sYmFyL3R5cGVzJ1xuZXhwb3J0IHsgRU5BQkxFX1NMQVNIX01FTlVfQ09NTUFORCB9IGZyb20gJy4vZmllbGQvbGV4aWNhbC9wbHVnaW5zL1NsYXNoTWVudS9MZXhpY2FsVHlwZWFoZWFkTWVudVBsdWdpbi9pbmRleCdcbmV4cG9ydCB0eXBlIHsgQWRhcHRlclByb3BzIH1cblxuZXhwb3J0IHtcbiAgU2xhc2hNZW51R3JvdXAsXG4gIFNsYXNoTWVudU9wdGlvbixcbn0gZnJvbSAnLi9maWVsZC9sZXhpY2FsL3BsdWdpbnMvU2xhc2hNZW51L0xleGljYWxUeXBlYWhlYWRNZW51UGx1Z2luL3R5cGVzJ1xuZXhwb3J0IHsgQ0FOX1VTRV9ET00gfSBmcm9tICcuL2ZpZWxkL2xleGljYWwvdXRpbHMvY2FuVXNlRE9NJ1xuZXhwb3J0IHsgY2xvbmVEZWVwIH0gZnJvbSAnLi9maWVsZC9sZXhpY2FsL3V0aWxzL2Nsb25lRGVlcCdcbmV4cG9ydCB7IGdldERPTVJhbmdlUmVjdCB9IGZyb20gJy4vZmllbGQvbGV4aWNhbC91dGlscy9nZXRET01SYW5nZVJlY3QnXG5leHBvcnQgeyBnZXRTZWxlY3RlZE5vZGUgfSBmcm9tICcuL2ZpZWxkL2xleGljYWwvdXRpbHMvZ2V0U2VsZWN0ZWROb2RlJ1xuZXhwb3J0IHsgaXNIVE1MRWxlbWVudCB9IGZyb20gJy4vZmllbGQvbGV4aWNhbC91dGlscy9ndWFyZCdcbmV4cG9ydCB7IGludmFyaWFudCB9IGZyb20gJy4vZmllbGQvbGV4aWNhbC91dGlscy9pbnZhcmlhbnQnXG5leHBvcnQgeyBqb2luQ2xhc3NlcyB9IGZyb20gJy4vZmllbGQvbGV4aWNhbC91dGlscy9qb2luQ2xhc3NlcydcbmV4cG9ydCB7IGNyZWF0ZUJsb2NrTm9kZSB9IGZyb20gJy4vZmllbGQvbGV4aWNhbC91dGlscy9tYXJrZG93bi9jcmVhdGVCbG9ja05vZGUnXG5leHBvcnQge1xuICBERVRBSUxfVFlQRV9UT19ERVRBSUwsXG4gIERPVUJMRV9MSU5FX0JSRUFLLFxuICBFTEVNRU5UX0ZPUk1BVF9UT19UWVBFLFxuICBFTEVNRU5UX1RZUEVfVE9fRk9STUFULFxuICBJU19BTExfRk9STUFUVElORyxcbiAgTFRSX1JFR0VYLFxuICBOT05fQlJFQUtJTkdfU1BBQ0UsXG4gIE5vZGVGb3JtYXQsXG4gIFJUTF9SRUdFWCxcbiAgVEVYVF9NT0RFX1RPX1RZUEUsXG4gIFRFWFRfVFlQRV9UT19GT1JNQVQsXG4gIFRFWFRfVFlQRV9UT19NT0RFLFxufSBmcm9tICcuL2ZpZWxkL2xleGljYWwvdXRpbHMvbm9kZUZvcm1hdCdcbmV4cG9ydCB7IFBvaW50LCBpc1BvaW50IH0gZnJvbSAnLi9maWVsZC9sZXhpY2FsL3V0aWxzL3BvaW50J1xuZXhwb3J0IHsgUmVjdCB9IGZyb20gJy4vZmllbGQvbGV4aWNhbC91dGlscy9yZWN0J1xuZXhwb3J0IHsgc2V0RmxvYXRpbmdFbGVtUG9zaXRpb24gfSBmcm9tICcuL2ZpZWxkL2xleGljYWwvdXRpbHMvc2V0RmxvYXRpbmdFbGVtUG9zaXRpb24nXG5leHBvcnQgeyBzZXRGbG9hdGluZ0VsZW1Qb3NpdGlvbkZvckxpbmtFZGl0b3IgfSBmcm9tICcuL2ZpZWxkL2xleGljYWwvdXRpbHMvc2V0RmxvYXRpbmdFbGVtUG9zaXRpb25Gb3JMaW5rRWRpdG9yJ1xuZXhwb3J0IHtcbiAgYWRkU3dpcGVEb3duTGlzdGVuZXIsXG4gIGFkZFN3aXBlTGVmdExpc3RlbmVyLFxuICBhZGRTd2lwZVJpZ2h0TGlzdGVuZXIsXG4gIGFkZFN3aXBlVXBMaXN0ZW5lcixcbn0gZnJvbSAnLi9maWVsZC9sZXhpY2FsL3V0aWxzL3N3aXBlJ1xuZXhwb3J0IHsgc2FuaXRpemVVcmwsIHZhbGlkYXRlVXJsIH0gZnJvbSAnLi9maWVsZC9sZXhpY2FsL3V0aWxzL3VybCdcbmV4cG9ydCB7IGRlZmF1bHRSaWNoVGV4dFZhbHVlIH0gZnJvbSAnLi9wb3B1bGF0ZS9kZWZhdWx0VmFsdWUnXG4iXSwibmFtZXMiOlsiJGNyZWF0ZUF1dG9MaW5rTm9kZSIsIiRjcmVhdGVCbG9ja05vZGUiLCIkY3JlYXRlTGlua05vZGUiLCIkY3JlYXRlUmVsYXRpb25zaGlwTm9kZSIsIiRjcmVhdGVVcGxvYWROb2RlIiwiJGlzQXV0b0xpbmtOb2RlIiwiJGlzQmxvY2tOb2RlIiwiJGlzTGlua05vZGUiLCIkaXNSZWxhdGlvbnNoaXBOb2RlIiwiJGlzVXBsb2FkTm9kZSIsIkFsaWduRmVhdHVyZSIsIkF1dG9MaW5rTm9kZSIsIkJsb2NrTm9kZSIsIkJsb2NrUXVvdGVGZWF0dXJlIiwiQmxvY2tzRmVhdHVyZSIsIkJvbGRGZWF0dXJlIiwiQ0FOX1VTRV9ET00iLCJDaGVja0xpc3RGZWF0dXJlIiwiREVUQUlMX1RZUEVfVE9fREVUQUlMIiwiRE9VQkxFX0xJTkVfQlJFQUsiLCJFTEVNRU5UX0ZPUk1BVF9UT19UWVBFIiwiRUxFTUVOVF9UWVBFX1RPX0ZPUk1BVCIsIkVOQUJMRV9TTEFTSF9NRU5VX0NPTU1BTkQiLCJFZGl0b3JDb25maWdQcm92aWRlciIsIkZvcm1hdFNlY3Rpb25XaXRoRW50cmllcyIsIlNlY3Rpb25XaXRoRW50cmllcyIsIkhUTUxDb252ZXJ0ZXJGZWF0dXJlIiwiSGVhZGluZ0ZlYXR1cmUiLCJJU19BTExfRk9STUFUVElORyIsIkluZGVudEZlYXR1cmUiLCJJbmxpbmVDb2RlRmVhdHVyZSIsIkl0YWxpY0ZlYXR1cmUiLCJMVFJfUkVHRVgiLCJMZXhpY2FsUGx1Z2luVG9MZXhpY2FsRmVhdHVyZSIsIkxpbmVicmVha0hUTUxDb252ZXJ0ZXIiLCJMaW5rRmVhdHVyZSIsIkxpbmtOb2RlIiwiTk9OX0JSRUFLSU5HX1NQQUNFIiwiTm9kZUZvcm1hdCIsIk9yZGVyZWRMaXN0RmVhdHVyZSIsIlBhcmFncmFwaEZlYXR1cmUiLCJQYXJhZ3JhcGhIVE1MQ29udmVydGVyIiwiUG9pbnQiLCJSVExfUkVHRVgiLCJSZWN0IiwiUmVsYXRpb25zaGlwRmVhdHVyZSIsIlJlbGF0aW9uc2hpcE5vZGUiLCJTbGFzaE1lbnVHcm91cCIsIlNsYXNoTWVudU9wdGlvbiIsIlNsYXRlQmxvY2txdW90ZUNvbnZlcnRlciIsIlNsYXRlSGVhZGluZ0NvbnZlcnRlciIsIlNsYXRlSW5kZW50Q29udmVydGVyIiwiU2xhdGVMaW5rQ29udmVydGVyIiwiU2xhdGVMaXN0SXRlbUNvbnZlcnRlciIsIlNsYXRlT3JkZXJlZExpc3RDb252ZXJ0ZXIiLCJTbGF0ZVJlbGF0aW9uc2hpcENvbnZlcnRlciIsIlNsYXRlVG9MZXhpY2FsRmVhdHVyZSIsIlNsYXRlVW5rbm93bkNvbnZlcnRlciIsIlNsYXRlVW5vcmRlcmVkTGlzdENvbnZlcnRlciIsIlNsYXRlVXBsb2FkQ29udmVydGVyIiwiU3RyaWtldGhyb3VnaEZlYXR1cmUiLCJTdWJzY3JpcHRGZWF0dXJlIiwiU3VwZXJzY3JpcHRGZWF0dXJlIiwiVEVYVF9NT0RFX1RPX1RZUEUiLCJURVhUX1RZUEVfVE9fRk9STUFUIiwiVEVYVF9UWVBFX1RPX01PREUiLCJUT0dHTEVfTElOS19DT01NQU5EIiwiVGVzdFJlY29yZGVyRmVhdHVyZSIsIlRleHREcm9wZG93blNlY3Rpb25XaXRoRW50cmllcyIsIlRleHRIVE1MQ29udmVydGVyIiwiVHJlZVZpZXdGZWF0dXJlIiwiVW5kZXJsaW5lRmVhdHVyZSIsIlVub3JkZXJlZExpc3RGZWF0dXJlIiwiVXBsb2FkRmVhdHVyZSIsIlVwbG9hZE5vZGUiLCJhZGRTd2lwZURvd25MaXN0ZW5lciIsImFkZFN3aXBlTGVmdExpc3RlbmVyIiwiYWRkU3dpcGVSaWdodExpc3RlbmVyIiwiYWRkU3dpcGVVcExpc3RlbmVyIiwiY2xvbmVEZWVwIiwiY29uc29saWRhdGVIVE1MQ29udmVydGVycyIsImNvbnZlcnRMZXhpY2FsTm9kZXNUb0hUTUwiLCJjb252ZXJ0TGV4aWNhbFRvSFRNTCIsImNvbnZlcnRTbGF0ZU5vZGVzVG9MZXhpY2FsIiwiY29udmVydFNsYXRlVG9MZXhpY2FsIiwiY3JlYXRlQmxvY2tOb2RlIiwiY3JlYXRlQ2xpZW50Q29tcG9uZW50IiwiZGVmYXVsdEVkaXRvckNvbmZpZyIsImRlZmF1bHRFZGl0b3JGZWF0dXJlcyIsImRlZmF1bHRFZGl0b3JMZXhpY2FsQ29uZmlnIiwiZGVmYXVsdEhUTUxDb252ZXJ0ZXJzIiwiZGVmYXVsdFJpY2hUZXh0VmFsdWUiLCJkZWZhdWx0U2FuaXRpemVkU2VydmVyRWRpdG9yQ29uZmlnIiwiZGVmYXVsdFNsYXRlQ29udmVydGVycyIsImdldERPTVJhbmdlUmVjdCIsImdldEVuYWJsZWROb2RlcyIsImdldFNlbGVjdGVkTm9kZSIsImludmFyaWFudCIsImlzSFRNTEVsZW1lbnQiLCJpc1BvaW50Iiwiam9pbkNsYXNzZXMiLCJsZXhpY2FsRWRpdG9yIiwibGV4aWNhbEhUTUwiLCJsb2FkRmVhdHVyZXMiLCJzYW5pdGl6ZUNsaWVudEVkaXRvckNvbmZpZyIsInNhbml0aXplQ2xpZW50RmVhdHVyZXMiLCJzYW5pdGl6ZVNlcnZlckVkaXRvckNvbmZpZyIsInNhbml0aXplU2VydmVyRmVhdHVyZXMiLCJzYW5pdGl6ZVVybCIsInNldEZsb2F0aW5nRWxlbVBvc2l0aW9uIiwic2V0RmxvYXRpbmdFbGVtUG9zaXRpb25Gb3JMaW5rRWRpdG9yIiwic29ydEZlYXR1cmVzRm9yT3B0aW1hbExvYWRpbmciLCJ1c2VFZGl0b3JDb25maWdDb250ZXh0IiwidmFsaWRhdGVVcmwiLCJwcm9wcyIsInJlc29sdmVkRmVhdHVyZU1hcCIsImZpbmFsU2FuaXRpemVkRWRpdG9yQ29uZmlnIiwiZmVhdHVyZXMiLCJsZXhpY2FsIiwiZGVmYXVsdEZlYXR1cmVzIiwidW5TYW5pdGl6ZWRFZGl0b3JDb25maWciLCJMYXp5Q2VsbENvbXBvbmVudCIsInRoZW4iLCJtb2R1bGUiLCJSaWNoVGV4dENlbGwiLCJtb2R1bGUyIiwid2l0aE1lcmdlZFByb3BzIiwiQ29tcG9uZW50IiwidG9NZXJnZUludG9Qcm9wcyIsImxleGljYWxFZGl0b3JDb25maWciLCJMYXp5RmllbGRDb21wb25lbnQiLCJSaWNoVGV4dEZpZWxkIiwiYWZ0ZXJSZWFkUHJvbWlzZSIsImZpZWxkIiwiaW5jb21pbmdFZGl0b3JTdGF0ZSIsInNpYmxpbmdEb2MiLCJQcm9taXNlIiwicmVzb2x2ZSIsInJlamVjdCIsInByb21pc2VzIiwiaG9va3MiLCJhZnRlclJlYWRQcm9taXNlcyIsImxlbmd0aCIsInByb21pc2UiLCJwdXNoIiwiYWxsIiwiY2F0Y2giLCJlcnJvciIsImVkaXRvckNvbmZpZyIsImdlbmVyYXRlQ29tcG9uZW50TWFwIiwiZ2V0R2VuZXJhdGVDb21wb25lbnRNYXAiLCJnZW5lcmF0ZVNjaGVtYU1hcCIsImdldEdlbmVyYXRlU2NoZW1hTWFwIiwib3V0cHV0U2NoZW1hIiwiaW50ZXJmYWNlTmFtZURlZmluaXRpb25zIiwiaXNSZXF1aXJlZCIsInR5cGUiLCJ3aXRoTnVsbGFibGVKU09OU2NoZW1hVHlwZSIsInByb3BlcnRpZXMiLCJyb290IiwiYWRkaXRpb25hbFByb3BlcnRpZXMiLCJjaGlsZHJlbiIsIml0ZW1zIiwidmVyc2lvbiIsInJlcXVpcmVkIiwiZGlyZWN0aW9uIiwib25lT2YiLCJlbnVtIiwiZm9ybWF0IiwiaW5kZW50IiwibW9kaWZ5T3V0cHV0U2NoZW1hIiwiZ2VuZXJhdGVkVHlwZXMiLCJtb2RpZnlPdXRwdXRTY2hlbWFzIiwiY3VycmVudFNjaGVtYSIsInBvcHVsYXRpb25Qcm9taXNlIiwiY29udGV4dCIsImN1cnJlbnREZXB0aCIsImRlcHRoIiwiZmluZE1hbnkiLCJmbGF0dGVuTG9jYWxlcyIsIm92ZXJyaWRlQWNjZXNzIiwicG9wdWxhdGlvblByb21pc2VzIiwicmVxIiwic2hvd0hpZGRlbkZpZWxkcyIsInNpemUiLCJyaWNoVGV4dFJlbGF0aW9uc2hpcFByb21pc2UiLCJlZGl0b3JQb3B1bGF0aW9uUHJvbWlzZXMiLCJ2YWxpZGF0ZSIsInJpY2hUZXh0VmFsaWRhdGVIT0MiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0lBdVJFQSxtQkFBbUI7ZUFBbkJBLGlDQUFtQjs7SUF6Q25CQyxnQkFBZ0I7ZUFBaEJBLDRCQUFnQjs7SUE4Q2hCQyxlQUFlO2VBQWZBLHlCQUFlOztJQXVDZkMsdUJBQXVCO2VBQXZCQSx5Q0FBdUI7O0lBZ0N2QkMsaUJBQWlCO2VBQWpCQSw2QkFBaUI7O0lBM0VqQkMsZUFBZTtlQUFmQSw2QkFBZTs7SUF6Q2ZDLFlBQVk7ZUFBWkEsd0JBQVk7O0lBOENaQyxXQUFXO2VBQVhBLHFCQUFXOztJQXVDWEMsbUJBQW1CO2VBQW5CQSxxQ0FBbUI7O0lBZ0NuQkMsYUFBYTtlQUFiQSx5QkFBYTs7SUExSE5DLFlBQVk7ZUFBWkEsMkJBQVk7O0lBK0NuQkMsWUFBWTtlQUFaQSwwQkFBWTs7SUF4Q1pDLFNBQVM7ZUFBVEEscUJBQVM7O0lBTkZDLGlCQUFpQjtlQUFqQkEsaUNBQWlCOztJQUNqQkMsYUFBYTtlQUFiQSw2QkFBYTs7SUE2QmJDLFdBQVc7ZUFBWEEsMkJBQVc7O0lBdUlYQyxXQUFXO2VBQVhBLHNCQUFXOztJQTFHWEMsZ0JBQWdCO2VBQWhCQSxpQ0FBZ0I7O0lBbUh2QkMscUJBQXFCO2VBQXJCQSxpQ0FBcUI7O0lBQ3JCQyxpQkFBaUI7ZUFBakJBLDZCQUFpQjs7SUFDakJDLHNCQUFzQjtlQUF0QkEsa0NBQXNCOztJQUN0QkMsc0JBQXNCO2VBQXRCQSxrQ0FBc0I7O0lBbkJmQyx5QkFBeUI7ZUFBekJBLGlDQUF5Qjs7SUEvQmhDQyxvQkFBb0I7ZUFBcEJBLDBDQUFvQjs7SUFoR1NDLHdCQUF3QjtlQUE5Q0MsZ0RBQWtCOztJQVR6QkMsb0JBQW9CO2VBQXBCQSxvQ0FBb0I7O0lBaUJiQyxjQUFjO2VBQWRBLCtCQUFjOztJQTJJckJDLGlCQUFpQjtlQUFqQkEsNkJBQWlCOztJQTFJVkMsYUFBYTtl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
|
|
273
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9pbmRleC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IEpTT05TY2hlbWE0IH0gZnJvbSAnanNvbi1zY2hlbWEnXG5pbXBvcnQgdHlwZSB7IFNlcmlhbGl6ZWRFZGl0b3JTdGF0ZSB9IGZyb20gJ2xleGljYWwnXG5pbXBvcnQgdHlwZSB7IEVkaXRvckNvbmZpZyBhcyBMZXhpY2FsRWRpdG9yQ29uZmlnIH0gZnJvbSAnbGV4aWNhbC9MZXhpY2FsRWRpdG9yJ1xuaW1wb3J0IHR5cGUgeyBSaWNoVGV4dEFkYXB0ZXIgfSBmcm9tICdwYXlsb2FkL3R5cGVzJ1xuXG5pbXBvcnQgeyB3aXRoTnVsbGFibGVKU09OU2NoZW1hVHlwZSB9IGZyb20gJ3BheWxvYWQvdXRpbGl0aWVzJ1xuXG5pbXBvcnQgdHlwZSB7IEZlYXR1cmVQcm92aWRlclNlcnZlciwgUmVzb2x2ZWRTZXJ2ZXJGZWF0dXJlTWFwIH0gZnJvbSAnLi9maWVsZC9mZWF0dXJlcy90eXBlcydcbmltcG9ydCB0eXBlIHsgU2FuaXRpemVkU2VydmVyRWRpdG9yQ29uZmlnIH0gZnJvbSAnLi9maWVsZC9sZXhpY2FsL2NvbmZpZy90eXBlcydcbmltcG9ydCB0eXBlIHsgQWRhcHRlclByb3BzIH0gZnJvbSAnLi90eXBlcydcblxuaW1wb3J0IHtcbiAgZGVmYXVsdEVkaXRvckNvbmZpZyxcbiAgZGVmYXVsdEVkaXRvckZlYXR1cmVzLFxuICBkZWZhdWx0U2FuaXRpemVkU2VydmVyRWRpdG9yQ29uZmlnLFxufSBmcm9tICcuL2ZpZWxkL2xleGljYWwvY29uZmlnL3NlcnZlci9kZWZhdWx0J1xuaW1wb3J0IHsgbG9hZEZlYXR1cmVzIH0gZnJvbSAnLi9maWVsZC9sZXhpY2FsL2NvbmZpZy9zZXJ2ZXIvbG9hZGVyJ1xuaW1wb3J0IHsgc2FuaXRpemVTZXJ2ZXJGZWF0dXJlcyB9IGZyb20gJy4vZmllbGQvbGV4aWNhbC9jb25maWcvc2VydmVyL3Nhbml0aXplJ1xuaW1wb3J0IHsgY2xvbmVEZWVwIH0gZnJvbSAnLi9maWVsZC9sZXhpY2FsL3V0aWxzL2Nsb25lRGVlcCdcbmltcG9ydCB7IGdldEdlbmVyYXRlQ29tcG9uZW50TWFwIH0gZnJvbSAnLi9nZW5lcmF0ZUNvbXBvbmVudE1hcCdcbmltcG9ydCB7IGdldEdlbmVyYXRlU2NoZW1hTWFwIH0gZnJvbSAnLi9nZW5lcmF0ZVNjaGVtYU1hcCdcbmltcG9ydCB7IHJpY2hUZXh0UmVsYXRpb25zaGlwUHJvbWlzZSB9IGZyb20gJy4vcG9wdWxhdGUvcmljaFRleHRSZWxhdGlvbnNoaXBQcm9taXNlJ1xuaW1wb3J0IHsgcmljaFRleHRWYWxpZGF0ZUhPQyB9IGZyb20gJy4vdmFsaWRhdGUnXG5cbmV4cG9ydCB0eXBlIExleGljYWxFZGl0b3JQcm9wcyA9IHtcbiAgZmVhdHVyZXM/OlxuICAgIHwgKCh7XG4gICAgICAgIGRlZmF1bHRGZWF0dXJlcyxcbiAgICAgIH06IHtcbiAgICAgICAgZGVmYXVsdEZlYXR1cmVzOiBGZWF0dXJlUHJvdmlkZXJTZXJ2ZXI8dW5rbm93biwgdW5rbm93bj5bXVxuICAgICAgfSkgPT4gRmVhdHVyZVByb3ZpZGVyU2VydmVyPHVua25vd24sIHVua25vd24+W10pXG4gICAgfCBGZWF0dXJlUHJvdmlkZXJTZXJ2ZXI8dW5rbm93biwgdW5rbm93bj5bXVxuICBsZXhpY2FsPzogTGV4aWNhbEVkaXRvckNvbmZpZ1xufVxuXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXJlZHVuZGFudC10eXBlLWNvbnN0aXR1ZW50c1xuZXhwb3J0IHR5cGUgTGV4aWNhbFJpY2hUZXh0QWRhcHRlciA9IFJpY2hUZXh0QWRhcHRlcjxTZXJpYWxpemVkRWRpdG9yU3RhdGUsIEFkYXB0ZXJQcm9wcywgYW55PiAmIHtcbiAgZWRpdG9yQ29uZmlnOiBTYW5pdGl6ZWRTZXJ2ZXJFZGl0b3JDb25maWdcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGxleGljYWxFZGl0b3IocHJvcHM/OiBMZXhpY2FsRWRpdG9yUHJvcHMpOiBMZXhpY2FsUmljaFRleHRBZGFwdGVyIHtcbiAgbGV0IHJlc29sdmVkRmVhdHVyZU1hcDogUmVzb2x2ZWRTZXJ2ZXJGZWF0dXJlTWFwID0gbnVsbFxuXG4gIGxldCBmaW5hbFNhbml0aXplZEVkaXRvckNvbmZpZzogU2FuaXRpemVkU2VydmVyRWRpdG9yQ29uZmlnIC8vIEZvciBzZXJ2ZXIgb25seVxuICBpZiAoIXByb3BzIHx8ICghcHJvcHMuZmVhdHVyZXMgJiYgIXByb3BzLmxleGljYWwpKSB7XG4gICAgZmluYWxTYW5pdGl6ZWRFZGl0b3JDb25maWcgPSBjbG9uZURlZXAoZGVmYXVsdFNhbml0aXplZFNlcnZlckVkaXRvckNvbmZpZylcbiAgICByZXNvbHZlZEZlYXR1cmVNYXAgPSBmaW5hbFNhbml0aXplZEVkaXRvckNvbmZpZy5yZXNvbHZlZEZlYXR1cmVNYXBcbiAgfSBlbHNlIHtcbiAgICBsZXQgZmVhdHVyZXM6IEZlYXR1cmVQcm92aWRlclNlcnZlcjx1bmtub3duLCB1bmtub3duPltdID1cbiAgICAgIHByb3BzLmZlYXR1cmVzICYmIHR5cGVvZiBwcm9wcy5mZWF0dXJlcyA9PT0gJ2Z1bmN0aW9uJ1xuICAgICAgICA/IHByb3BzLmZlYXR1cmVzKHsgZGVmYXVsdEZlYXR1cmVzOiBjbG9uZURlZXAoZGVmYXVsdEVkaXRvckZlYXR1cmVzKSB9KVxuICAgICAgICA6IChwcm9wcy5mZWF0dXJlcyBhcyBGZWF0dXJlUHJvdmlkZXJTZXJ2ZXI8dW5rbm93biwgdW5rbm93bj5bXSlcbiAgICBpZiAoIWZlYXR1cmVzKSB7XG4gICAgICBmZWF0dXJlcyA9IGNsb25lRGVlcChkZWZhdWx0RWRpdG9yRmVhdHVyZXMpXG4gICAgfVxuXG4gICAgY29uc3QgbGV4aWNhbDogTGV4aWNhbEVkaXRvckNvbmZpZyA9IHByb3BzLmxleGljYWxcblxuICAgIHJlc29sdmVkRmVhdHVyZU1hcCA9IGxvYWRGZWF0dXJlcyh7XG4gICAgICB1blNhbml0aXplZEVkaXRvckNvbmZpZzoge1xuICAgICAgICBmZWF0dXJlcyxcbiAgICAgICAgbGV4aWNhbDogbGV4aWNhbCA/IGxleGljYWwgOiBkZWZhdWx0RWRpdG9yQ29uZmlnLmxleGljYWwsXG4gICAgICB9LFxuICAgIH0pXG5cbiAgICBmaW5hbFNhbml0aXplZEVkaXRvckNvbmZpZyA9IHtcbiAgICAgIGZlYXR1cmVzOiBzYW5pdGl6ZVNlcnZlckZlYXR1cmVzKHJlc29sdmVkRmVhdHVyZU1hcCksXG4gICAgICBsZXhpY2FsOiBsZXhpY2FsID8gbGV4aWNhbCA6IGRlZmF1bHRFZGl0b3JDb25maWcubGV4aWNhbCxcbiAgICAgIHJlc29sdmVkRmVhdHVyZU1hcCxcbiAgICB9XG4gIH1cblxuICByZXR1cm4ge1xuICAgIExhenlDZWxsQ29tcG9uZW50OiAoKSA9PlxuICAgICAgLy8gQHRzLWV4cGVjdC1lcnJvclxuICAgICAgaW1wb3J0KCcuL2NlbGwnKS50aGVuKChtb2R1bGUpID0+IHtcbiAgICAgICAgY29uc3QgUmljaFRleHRDZWxsID0gbW9kdWxlLlJpY2hUZXh0Q2VsbFxuICAgICAgICByZXR1cm4gaW1wb3J0KCdAcGF5bG9hZGNtcy91aScpLnRoZW4oKG1vZHVsZTIpID0+XG4gICAgICAgICAgbW9kdWxlMi53aXRoTWVyZ2VkUHJvcHMoe1xuICAgICAgICAgICAgQ29tcG9uZW50OiBSaWNoVGV4dENlbGwsXG4gICAgICAgICAgICB0b01lcmdlSW50b1Byb3BzOiB7IGxleGljYWxFZGl0b3JDb25maWc6IGZpbmFsU2FuaXRpemVkRWRpdG9yQ29uZmlnLmxleGljYWwgfSwgLy8gbGV4aWNhbEVkaXRvckNvbmZpZyBpcyBzZXJpYWxpemFibGVcbiAgICAgICAgICB9KSxcbiAgICAgICAgKVxuICAgICAgfSksXG5cbiAgICBMYXp5RmllbGRDb21wb25lbnQ6ICgpID0+XG4gICAgICBpbXBvcnQoJy4vZmllbGQnKS50aGVuKChtb2R1bGUpID0+IHtcbiAgICAgICAgY29uc3QgUmljaFRleHRGaWVsZCA9IG1vZHVsZS5SaWNoVGV4dEZpZWxkXG4gICAgICAgIHJldHVybiBpbXBvcnQoJ0BwYXlsb2FkY21zL3VpJykudGhlbigobW9kdWxlMikgPT5cbiAgICAgICAgICBtb2R1bGUyLndpdGhNZXJnZWRQcm9wcyh7XG4gICAgICAgICAgICBDb21wb25lbnQ6IFJpY2hUZXh0RmllbGQsXG4gICAgICAgICAgICB0b01lcmdlSW50b1Byb3BzOiB7IGxleGljYWxFZGl0b3JDb25maWc6IGZpbmFsU2FuaXRpemVkRWRpdG9yQ29uZmlnLmxleGljYWwgfSwgLy8gbGV4aWNhbEVkaXRvckNvbmZpZyBpcyBzZXJpYWxpemFibGVcbiAgICAgICAgICB9KSxcbiAgICAgICAgKVxuICAgICAgfSksXG4gICAgYWZ0ZXJSZWFkUHJvbWlzZTogKHsgZmllbGQsIGluY29taW5nRWRpdG9yU3RhdGUsIHNpYmxpbmdEb2MgfSkgPT4ge1xuICAgICAgcmV0dXJuIG5ldyBQcm9taXNlPHZvaWQ+KChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICAgICAgY29uc3QgcHJvbWlzZXM6IFByb21pc2U8dm9pZD5bXSA9IFtdXG5cbiAgICAgICAgaWYgKGZpbmFsU2FuaXRpemVkRWRpdG9yQ29uZmlnPy5mZWF0dXJlcz8uaG9va3M/LmFmdGVyUmVhZFByb21pc2VzPy5sZW5ndGgpIHtcbiAgICAgICAgICBmb3IgKGNvbnN0IGFmdGVyUmVhZFByb21pc2Ugb2YgZmluYWxTYW5pdGl6ZWRFZGl0b3JDb25maWcuZmVhdHVyZXMuaG9va3NcbiAgICAgICAgICAgIC5hZnRlclJlYWRQcm9taXNlcykge1xuICAgICAgICAgICAgY29uc3QgcHJvbWlzZSA9IGFmdGVyUmVhZFByb21pc2Uoe1xuICAgICAgICAgICAgICBmaWVsZCxcbiAgICAgICAgICAgICAgaW5jb21pbmdFZGl0b3JTdGF0ZSxcbiAgICAgICAgICAgICAgc2libGluZ0RvYyxcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgICBpZiAocHJvbWlzZSkge1xuICAgICAgICAgICAgICBwcm9taXNlcy5wdXNoKHByb21pc2UpXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgUHJvbWlzZS5hbGwocHJvbWlzZXMpXG4gICAgICAgICAgLnRoZW4oKCkgPT4gcmVzb2x2ZSgpKVxuICAgICAgICAgIC5jYXRjaCgoZXJyb3IpID0+IHJlamVjdChlcnJvcikpXG4gICAgICB9KVxuICAgIH0sXG4gICAgZWRpdG9yQ29uZmlnOiBmaW5hbFNhbml0aXplZEVkaXRvckNvbmZpZyxcbiAgICBnZW5lcmF0ZUNvbXBvbmVudE1hcDogZ2V0R2VuZXJhdGVDb21wb25lbnRNYXAoe1xuICAgICAgcmVzb2x2ZWRGZWF0dXJlTWFwLFxuICAgIH0pLFxuICAgIGdlbmVyYXRlU2NoZW1hTWFwOiBnZXRHZW5lcmF0ZVNjaGVtYU1hcCh7XG4gICAgICByZXNvbHZlZEZlYXR1cmVNYXAsXG4gICAgfSksXG4gICAgb3V0cHV0U2NoZW1hOiAoeyBmaWVsZCwgaW50ZXJmYWNlTmFtZURlZmluaXRpb25zLCBpc1JlcXVpcmVkIH0pID0+IHtcbiAgICAgIGxldCBvdXRwdXRTY2hlbWE6IEpTT05TY2hlbWE0ID0ge1xuICAgICAgICAvLyBUaGlzIHNjaGVtYSBtYXRjaGVzIHRoZSBTZXJpYWxpemVkRWRpdG9yU3RhdGUgdHlwZSBzbyBmYXIsIHRoYXQgaXQncyBwb3NzaWJsZSB0byBjYXN0IFNlcmlhbGl6ZWRFZGl0b3JTdGF0ZSB0byB0aGlzIHNjaGVtYSB3aXRob3V0IGFueSBlcnJvcnMuXG4gICAgICAgIC8vIEluIHRoZSBmdXR1cmUsIHdlIHNob3VsZFxuICAgICAgICAvLyAxKSBhbGxvdyByZWN1cnNpdmUgY2hpbGRyZW5cbiAgICAgICAgLy8gMikgUGFzcyBpbiBhbGwgdGhlIGRpZmZlcmVudCB0eXBlcyBmb3IgZXZlcnkgbm9kZSBhZGRlZCB0byB0aGUgZWRpdG9yY29uZmlnLiBUaGlzIGNhbiBiZSBkb25lIHdpdGggcmVmcyBpbiB0aGUgc2NoZW1hLlxuICAgICAgICB0eXBlOiB3aXRoTnVsbGFibGVKU09OU2NoZW1hVHlwZSgnb2JqZWN0JywgaXNSZXF1aXJlZCksXG4gICAgICAgIHByb3BlcnRpZXM6IHtcbiAgICAgICAgICByb290OiB7XG4gICAgICAgICAgICB0eXBlOiAnb2JqZWN0JyxcbiAgICAgICAgICAgIGFkZGl0aW9uYWxQcm9wZXJ0aWVzOiBmYWxzZSxcbiAgICAgICAgICAgIHByb3BlcnRpZXM6IHtcbiAgICAgICAgICAgICAgdHlwZToge1xuICAgICAgICAgICAgICAgIHR5cGU6ICdzdHJpbmcnLFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICBjaGlsZHJlbjoge1xuICAgICAgICAgICAgICAgIHR5cGU6ICdhcnJheScsXG4gICAgICAgICAgICAgICAgaXRlbXM6IHtcbiAgICAgICAgICAgICAgICAgIHR5cGU6ICdvYmplY3QnLFxuICAgICAgICAgICAgICAgICAgYWRkaXRpb25hbFByb3BlcnRpZXM6IHRydWUsXG4gICAgICAgICAgICAgICAgICBwcm9wZXJ0aWVzOiB7XG4gICAgICAgICAgICAgICAgICAgIHR5cGU6IHtcbiAgICAgICAgICAgICAgICAgICAgICB0eXBlOiAnc3RyaW5nJyxcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgdmVyc2lvbjoge1xuICAgICAgICAgICAgICAgICAgICAgIHR5cGU6ICdpbnRlZ2VyJyxcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICByZXF1aXJlZDogWyd0eXBlJywgJ3ZlcnNpb24nXSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICBkaXJlY3Rpb246IHtcbiAgICAgICAgICAgICAgICBvbmVPZjogW1xuICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBlbnVtOiBbJ2x0cicsICdydGwnXSxcbiAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIHR5cGU6ICdudWxsJyxcbiAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgZm9ybWF0OiB7XG4gICAgICAgICAgICAgICAgdHlwZTogJ3N0cmluZycsXG4gICAgICAgICAgICAgICAgZW51bTogWydsZWZ0JywgJ3N0YXJ0JywgJ2NlbnRlcicsICdyaWdodCcsICdlbmQnLCAnanVzdGlmeScsICcnXSwgLy8gRWxlbWVudEZvcm1hdFR5cGUsIHNpbmNlIHRoZSByb290IG5vZGUgaXMgYW4gZWxlbWVudFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICBpbmRlbnQ6IHtcbiAgICAgICAgICAgICAgICB0eXBlOiAnaW50ZWdlcicsXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIHZlcnNpb246IHtcbiAgICAgICAgICAgICAgICB0eXBlOiAnaW50ZWdlcicsXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgcmVxdWlyZWQ6IFsnY2hpbGRyZW4nLCAnZGlyZWN0aW9uJywgJ2Zvcm1hdCcsICdpbmRlbnQnLCAndHlwZScsICd2ZXJzaW9uJ10sXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgICAgcmVxdWlyZWQ6IFsncm9vdCddLFxuICAgICAgfVxuICAgICAgZm9yIChjb25zdCBtb2RpZnlPdXRwdXRTY2hlbWEgb2YgZmluYWxTYW5pdGl6ZWRFZGl0b3JDb25maWcuZmVhdHVyZXMuZ2VuZXJhdGVkVHlwZXNcbiAgICAgICAgLm1vZGlmeU91dHB1dFNjaGVtYXMpIHtcbiAgICAgICAgb3V0cHV0U2NoZW1hID0gbW9kaWZ5T3V0cHV0U2NoZW1hKHtcbiAgICAgICAgICBjdXJyZW50U2NoZW1hOiBvdXRwdXRTY2hlbWEsXG4gICAgICAgICAgZmllbGQsXG4gICAgICAgICAgaW50ZXJmYWNlTmFtZURlZmluaXRpb25zLFxuICAgICAgICAgIGlzUmVxdWlyZWQsXG4gICAgICAgIH0pXG4gICAgICB9XG5cbiAgICAgIHJldHVybiBvdXRwdXRTY2hlbWFcbiAgICB9LFxuICAgIHBvcHVsYXRpb25Qcm9taXNlKHtcbiAgICAgIGNvbnRleHQsXG4gICAgICBjdXJyZW50RGVwdGgsXG4gICAgICBkZXB0aCxcbiAgICAgIGZpZWxkLFxuICAgICAgZmluZE1hbnksXG4gICAgICBmbGF0dGVuTG9jYWxlcyxcbiAgICAgIG92ZXJyaWRlQWNjZXNzLFxuICAgICAgcG9wdWxhdGlvblByb21pc2VzLFxuICAgICAgcmVxLFxuICAgICAgc2hvd0hpZGRlbkZpZWxkcyxcbiAgICAgIHNpYmxpbmdEb2MsXG4gICAgfSkge1xuICAgICAgLy8gY2hlY2sgaWYgdGhlcmUgYXJlIGFueSBmZWF0dXJlcyB3aXRoIG5vZGVzIHdoaWNoIGhhdmUgcG9wdWxhdGlvblByb21pc2VzIGZvciB0aGlzIGZpZWxkXG4gICAgICBpZiAoZmluYWxTYW5pdGl6ZWRFZGl0b3JDb25maWc/LmZlYXR1cmVzPy5wb3B1bGF0aW9uUHJvbWlzZXM/LnNpemUpIHtcbiAgICAgICAgcmV0dXJuIHJpY2hUZXh0UmVsYXRpb25zaGlwUHJvbWlzZSh7XG4gICAgICAgICAgY29udGV4dCxcbiAgICAgICAgICBjdXJyZW50RGVwdGgsXG4gICAgICAgICAgZGVwdGgsXG4gICAgICAgICAgZWRpdG9yUG9wdWxhdGlvblByb21pc2VzOiBmaW5hbFNhbml0aXplZEVkaXRvckNvbmZpZy5mZWF0dXJlcy5wb3B1bGF0aW9uUHJvbWlzZXMsXG4gICAgICAgICAgZmllbGQsXG4gICAgICAgICAgZmluZE1hbnksXG4gICAgICAgICAgZmxhdHRlbkxvY2FsZXMsXG4gICAgICAgICAgb3ZlcnJpZGVBY2Nlc3MsXG4gICAgICAgICAgcG9wdWxhdGlvblByb21pc2VzLFxuICAgICAgICAgIHJlcSxcbiAgICAgICAgICBzaG93SGlkZGVuRmllbGRzLFxuICAgICAgICAgIHNpYmxpbmdEb2MsXG4gICAgICAgIH0pXG4gICAgICB9XG5cbiAgICAgIHJldHVybiBudWxsXG4gICAgfSxcbiAgICB2YWxpZGF0ZTogcmljaFRleHRWYWxpZGF0ZUhPQyh7XG4gICAgICBlZGl0b3JDb25maWc6IGZpbmFsU2FuaXRpemVkRWRpdG9yQ29uZmlnLFxuICAgIH0pLFxuICB9XG59XG5cbmV4cG9ydCB7IEFsaWduRmVhdHVyZSB9IGZyb20gJy4vZmllbGQvZmVhdHVyZXMvYWxpZ24vZmVhdHVyZS5zZXJ2ZXInXG5leHBvcnQgeyBCbG9ja1F1b3RlRmVhdHVyZSB9IGZyb20gJy4vZmllbGQvZmVhdHVyZXMvYmxvY2txdW90ZS9mZWF0dXJlLnNlcnZlcidcbmV4cG9ydCB7IEJsb2Nrc0ZlYXR1cmUsIHR5cGUgQmxvY2tzRmVhdHVyZVByb3BzIH0gZnJvbSAnLi9maWVsZC9mZWF0dXJlcy9ibG9ja3MvZmVhdHVyZS5zZXJ2ZXInXG5leHBvcnQge1xuICAkY3JlYXRlQmxvY2tOb2RlLFxuICAkaXNCbG9ja05vZGUsXG4gIHR5cGUgQmxvY2tGaWVsZHMsXG4gIEJsb2NrTm9kZSxcbiAgdHlwZSBTZXJpYWxpemVkQmxvY2tOb2RlLFxufSBmcm9tICcuL2ZpZWxkL2ZlYXR1cmVzL2Jsb2Nrcy9ub2Rlcy9CbG9ja3NOb2RlJ1xuXG5leHBvcnQgeyBUZXh0RHJvcGRvd25TZWN0aW9uV2l0aEVudHJpZXMgfSBmcm9tICcuL2ZpZWxkL2ZlYXR1cmVzL2NvbW1vbi9mbG9hdGluZ1NlbGVjdFRvb2xiYXJUZXh0RHJvcGRvd25TZWN0aW9uJ1xuZXhwb3J0IHtcbiAgY29udmVydExleGljYWxOb2Rlc1RvSFRNTCxcbiAgY29udmVydExleGljYWxUb0hUTUwsXG59IGZyb20gJy4vZmllbGQvZmVhdHVyZXMvY29udmVydGVycy9odG1sL2NvbnZlcnRlcidcbmV4cG9ydCB7IExpbmVicmVha0hUTUxDb252ZXJ0ZXIgfSBmcm9tICcuL2ZpZWxkL2ZlYXR1cmVzL2NvbnZlcnRlcnMvaHRtbC9jb252ZXJ0ZXIvY29udmVydGVycy9saW5lYnJlYWsnXG5cbmV4cG9ydCB7IFBhcmFncmFwaEhUTUxDb252ZXJ0ZXIgfSBmcm9tICcuL2ZpZWxkL2ZlYXR1cmVzL2NvbnZlcnRlcnMvaHRtbC9jb252ZXJ0ZXIvY29udmVydGVycy9wYXJhZ3JhcGgnXG5leHBvcnQgeyBUZXh0SFRNTENvbnZlcnRlciB9IGZyb20gJy4vZmllbGQvZmVhdHVyZXMvY29udmVydGVycy9odG1sL2NvbnZlcnRlci9jb252ZXJ0ZXJzL3RleHQnXG5leHBvcnQgeyBkZWZhdWx0SFRNTENvbnZlcnRlcnMgfSBmcm9tICcuL2ZpZWxkL2ZlYXR1cmVzL2NvbnZlcnRlcnMvaHRtbC9jb252ZXJ0ZXIvZGVmYXVsdENvbnZlcnRlcnMnXG5leHBvcnQgdHlwZSB7IEhUTUxDb252ZXJ0ZXIgfSBmcm9tICcuL2ZpZWxkL2ZlYXR1cmVzL2NvbnZlcnRlcnMvaHRtbC9jb252ZXJ0ZXIvdHlwZXMnXG5leHBvcnQge1xuICBIVE1MQ29udmVydGVyRmVhdHVyZSxcbiAgdHlwZSBIVE1MQ29udmVydGVyRmVhdHVyZVByb3BzLFxufSBmcm9tICcuL2ZpZWxkL2ZlYXR1cmVzL2NvbnZlcnRlcnMvaHRtbC9mZWF0dXJlLnNlcnZlcidcbmV4cG9ydCB7IGNvbnNvbGlkYXRlSFRNTENvbnZlcnRlcnMgfSBmcm9tICcuL2ZpZWxkL2ZlYXR1cmVzL2NvbnZlcnRlcnMvaHRtbC9maWVsZCdcbmV4cG9ydCB7IGxleGljYWxIVE1MIH0gZnJvbSAnLi9maWVsZC9mZWF0dXJlcy9jb252ZXJ0ZXJzL2h0bWwvZmllbGQnXG5leHBvcnQgeyBjcmVhdGVDbGllbnRDb21wb25lbnQgfSBmcm9tICcuL2ZpZWxkL2ZlYXR1cmVzL2NyZWF0ZUNsaWVudENvbXBvbmVudCdcbmV4cG9ydCB7IFRlc3RSZWNvcmRlckZlYXR1cmUgfSBmcm9tICcuL2ZpZWxkL2ZlYXR1cmVzL2RlYnVnL3Rlc3RyZWNvcmRlci9mZWF0dXJlLnNlcnZlcidcbmV4cG9ydCB7IFRyZWVWaWV3RmVhdHVyZSB9IGZyb20gJy4vZmllbGQvZmVhdHVyZXMvZGVidWcvdHJlZXZpZXcvZmVhdHVyZS5zZXJ2ZXInXG5leHBvcnQgeyBCb2xkRmVhdHVyZSB9IGZyb20gJy4vZmllbGQvZmVhdHVyZXMvZm9ybWF0L2JvbGQvZmVhdHVyZS5zZXJ2ZXInXG5leHBvcnQgeyBTZWN0aW9uV2l0aEVudHJpZXMgYXMgRm9ybWF0U2VjdGlvbldpdGhFbnRyaWVzIH0gZnJvbSAnLi9maWVsZC9mZWF0dXJlcy9mb3JtYXQvY29tbW9uL2Zsb2F0aW5nU2VsZWN0VG9vbGJhclNlY3Rpb24nXG5leHBvcnQgeyBJbmxpbmVDb2RlRmVhdHVyZSB9IGZyb20gJy4vZmllbGQvZmVhdHVyZXMvZm9ybWF0L2lubGluZWNvZGUvZmVhdHVyZS5zZXJ2ZXInXG5leHBvcnQgeyBJdGFsaWNGZWF0dXJlIH0gZnJvbSAnLi9maWVsZC9mZWF0dXJlcy9mb3JtYXQvaXRhbGljL2ZlYXR1cmUuc2VydmVyJ1xuZXhwb3J0IHsgU3RyaWtldGhyb3VnaEZlYXR1cmUgfSBmcm9tICcuL2ZpZWxkL2ZlYXR1cmVzL2Zvcm1hdC9zdHJpa2V0aHJvdWdoL2ZlYXR1cmUuc2VydmVyJ1xuZXhwb3J0IHsgU3Vic2NyaXB0RmVhdHVyZSB9IGZyb20gJy4vZmllbGQvZmVhdHVyZXMvZm9ybWF0L3N1YnNjcmlwdC9mZWF0dXJlLnNlcnZlcidcbmV4cG9ydCB7IFN1cGVyc2NyaXB0RmVhdHVyZSB9IGZyb20gJy4vZmllbGQvZmVhdHVyZXMvZm9ybWF0L3N1cGVyc2NyaXB0L2ZlYXR1cmUuc2VydmVyJ1xuZXhwb3J0IHsgVW5kZXJsaW5lRmVhdHVyZSB9IGZyb20gJy4vZmllbGQvZmVhdHVyZXMvZm9ybWF0L3VuZGVybGluZS9mZWF0dXJlLnNlcnZlcidcblxuZXhwb3J0IHsgSGVhZGluZ0ZlYXR1cmUgfSBmcm9tICcuL2ZpZWxkL2ZlYXR1cmVzL2hlYWRpbmcvZmVhdHVyZS5zZXJ2ZXInXG5leHBvcnQgeyBJbmRlbnRGZWF0dXJlIH0gZnJvbSAnLi9maWVsZC9mZWF0dXJlcy9pbmRlbnQvZmVhdHVyZS5zZXJ2ZXInXG5cbmV4cG9ydCB7IExpbmtGZWF0dXJlLCB0eXBlIExpbmtGZWF0dXJlU2VydmVyUHJvcHMgfSBmcm9tICcuL2ZpZWxkL2ZlYXR1cmVzL2xpbmsvZmVhdHVyZS5zZXJ2ZXInXG5leHBvcnQge1xuICAkY3JlYXRlQXV0b0xpbmtOb2RlLFxuICAkaXNBdXRvTGlua05vZGUsXG4gIEF1dG9MaW5rTm9kZSxcbn0gZnJvbSAnLi9maWVsZC9mZWF0dXJlcy9saW5rL25vZGVzL0F1dG9MaW5rTm9kZSdcbmV4cG9ydCB7XG4gICRjcmVhdGVMaW5rTm9kZSxcbiAgJGlzTGlua05vZGUsXG4gIExpbmtOb2RlLFxuICBUT0dHTEVfTElOS19DT01NQU5ELFxufSBmcm9tICcuL2ZpZWxkL2ZlYXR1cmVzL2xpbmsvbm9kZXMvTGlua05vZGUnXG5leHBvcnQgdHlwZSB7XG4gIExpbmtGaWVsZHMsXG4gIFNlcmlhbGl6ZWRBdXRvTGlua05vZGUsXG4gIFNlcmlhbGl6ZWRMaW5rTm9kZSxcbn0gZnJvbSAnLi9maWVsZC9mZWF0dXJlcy9saW5rL25vZGVzL3R5cGVzJ1xuZXhwb3J0IHsgQ2hlY2tMaXN0RmVhdHVyZSB9IGZyb20gJy4vZmllbGQvZmVhdHVyZXMvbGlzdHMvY2hlY2tsaXN0L2ZlYXR1cmUuc2VydmVyJ1xuZXhwb3J0IHsgT3JkZXJlZExpc3RGZWF0dXJlIH0gZnJvbSAnLi9maWVsZC9mZWF0dXJlcy9saXN0cy9vcmRlcmVkbGlzdC9mZWF0dXJlLnNlcnZlcidcbmV4cG9ydCB7IFVub3JkZXJlZExpc3RGZWF0dXJlIH0gZnJvbSAnLi9maWVsZC9mZWF0dXJlcy9saXN0cy91bm9yZGVyZWRsaXN0L2ZlYXR1cmUuc2VydmVyJ1xuZXhwb3J0IHsgTGV4aWNhbFBsdWdpblRvTGV4aWNhbEZlYXR1cmUgfSBmcm9tICcuL2ZpZWxkL2ZlYXR1cmVzL21pZ3JhdGlvbnMvbGV4aWNhbFBsdWdpblRvTGV4aWNhbC9mZWF0dXJlLnNlcnZlcidcbmV4cG9ydCB7IFNsYXRlQmxvY2txdW90ZUNvbnZlcnRlciB9IGZyb20gJy4vZmllbGQvZmVhdHVyZXMvbWlncmF0aW9ucy9zbGF0ZVRvTGV4aWNhbC9jb252ZXJ0ZXIvY29udmVydGVycy9ibG9ja3F1b3RlJ1xuZXhwb3J0IHsgU2xhdGVIZWFkaW5nQ29udmVydGVyIH0gZnJvbSAnLi9maWVsZC9mZWF0dXJlcy9taWdyYXRpb25zL3NsYXRlVG9MZXhpY2FsL2NvbnZlcnRlci9jb252ZXJ0ZXJzL2hlYWRpbmcnXG5leHBvcnQgeyBTbGF0ZUluZGVudENvbnZlcnRlciB9IGZyb20gJy4vZmllbGQvZmVhdHVyZXMvbWlncmF0aW9ucy9zbGF0ZVRvTGV4aWNhbC9jb252ZXJ0ZXIvY29udmVydGVycy9pbmRlbnQnXG5leHBvcnQgeyBTbGF0ZUxpbmtDb252ZXJ0ZXIgfSBmcm9tICcuL2ZpZWxkL2ZlYXR1cmVzL21pZ3JhdGlvbnMvc2xhdGVUb0xleGljYWwvY29udmVydGVyL2NvbnZlcnRlcnMvbGluaydcbmV4cG9ydCB7IFNsYXRlTGlzdEl0ZW1Db252ZXJ0ZXIgfSBmcm9tICcuL2ZpZWxkL2ZlYXR1cmVzL21pZ3JhdGlvbnMvc2xhdGVUb0xleGljYWwvY29udmVydGVyL2NvbnZlcnRlcnMvbGlzdEl0ZW0nXG5leHBvcnQgeyBTbGF0ZU9yZGVyZWRMaXN0Q29udmVydGVyIH0gZnJvbSAnLi9maWVsZC9mZWF0dXJlcy9taWdyYXRpb25zL3NsYXRlVG9MZXhpY2FsL2NvbnZlcnRlci9jb252ZXJ0ZXJzL29yZGVyZWRMaXN0J1xuZXhwb3J0IHsgU2xhdGVSZWxhdGlvbnNoaXBDb252ZXJ0ZXIgfSBmcm9tICcuL2ZpZWxkL2ZlYXR1cmVzL21pZ3JhdGlvbnMvc2xhdGVUb0xleGljYWwvY29udmVydGVyL2NvbnZlcnRlcnMvcmVsYXRpb25zaGlwJ1xuZXhwb3J0IHsgU2xhdGVVbmtub3duQ29udmVydGVyIH0gZnJvbSAnLi9maWVsZC9mZWF0dXJlcy9taWdyYXRpb25zL3NsYXRlVG9MZXhpY2FsL2NvbnZlcnRlci9jb252ZXJ0ZXJzL3Vua25vd24nXG5leHBvcnQgeyBTbGF0ZVVub3JkZXJlZExpc3RDb252ZXJ0ZXIgfSBmcm9tICcuL2ZpZWxkL2ZlYXR1cmVzL21pZ3JhdGlvbnMvc2xhdGVUb0xleGljYWwvY29udmVydGVyL2NvbnZlcnRlcnMvdW5vcmRlcmVkTGlzdCdcblxuZXhwb3J0IHsgU2xhdGVVcGxvYWRDb252ZXJ0ZXIgfSBmcm9tICcuL2ZpZWxkL2ZlYXR1cmVzL21pZ3JhdGlvbnMvc2xhdGVUb0xleGljYWwvY29udmVydGVyL2NvbnZlcnRlcnMvdXBsb2FkJ1xuZXhwb3J0IHsgZGVmYXVsdFNsYXRlQ29udmVydGVycyB9IGZyb20gJy4vZmllbGQvZmVhdHVyZXMvbWlncmF0aW9ucy9zbGF0ZVRvTGV4aWNhbC9jb252ZXJ0ZXIvZGVmYXVsdENvbnZlcnRlcnMnXG5leHBvcnQge1xuICBjb252ZXJ0U2xhdGVOb2Rlc1RvTGV4aWNhbCxcbiAgY29udmVydFNsYXRlVG9MZXhpY2FsLFxufSBmcm9tICcuL2ZpZWxkL2ZlYXR1cmVzL21pZ3JhdGlvbnMvc2xhdGVUb0xleGljYWwvY29udmVydGVyL2luZGV4J1xuXG5leHBvcnQgdHlwZSB7XG4gIFNsYXRlTm9kZSxcbiAgU2xhdGVOb2RlQ29udmVydGVyLFxufSBmcm9tICcuL2ZpZWxkL2ZlYXR1cmVzL21pZ3JhdGlvbnMvc2xhdGVUb0xleGljYWwvY29udmVydGVyL3R5cGVzJ1xuZXhwb3J0IHsgU2xhdGVUb0xleGljYWxGZWF0dXJlIH0gZnJvbSAnLi9maWVsZC9mZWF0dXJlcy9taWdyYXRpb25zL3NsYXRlVG9MZXhpY2FsL2ZlYXR1cmUuc2VydmVyJ1xuZXhwb3J0IHsgUGFyYWdyYXBoRmVhdHVyZSB9IGZyb20gJy4vZmllbGQvZmVhdHVyZXMvcGFyYWdyYXBoL2ZlYXR1cmUuc2VydmVyJ1xuZXhwb3J0IHsgUmVsYXRpb25zaGlwRmVhdHVyZSB9IGZyb20gJy4vZmllbGQvZmVhdHVyZXMvcmVsYXRpb25zaGlwL2ZlYXR1cmUuc2VydmVyJ1xuZXhwb3J0IHtcbiAgJGNyZWF0ZVJlbGF0aW9uc2hpcE5vZGUsXG4gICRpc1JlbGF0aW9uc2hpcE5vZGUsXG4gIHR5cGUgUmVsYXRpb25zaGlwRGF0YSxcbiAgUmVsYXRpb25zaGlwTm9kZSxcbiAgdHlwZSBTZXJpYWxpemVkUmVsYXRpb25zaGlwTm9kZSxcbn0gZnJvbSAnLi9maWVsZC9mZWF0dXJlcy9yZWxhdGlvbnNoaXAvbm9kZXMvUmVsYXRpb25zaGlwTm9kZSdcbmV4cG9ydCB0eXBlIHtcbiAgQ2xpZW50RmVhdHVyZSxcbiAgQ2xpZW50RmVhdHVyZVByb3ZpZGVyTWFwLFxuICBGZWF0dXJlUHJvdmlkZXJDbGllbnQsXG4gIEZlYXR1cmVQcm92aWRlclByb3ZpZGVyQ2xpZW50LFxuICBGZWF0dXJlUHJvdmlkZXJQcm92aWRlclNlcnZlcixcbiAgRmVhdHVyZVByb3ZpZGVyU2VydmVyLFxuICBOb2RlVmFsaWRhdGlvbixcbiAgUG9wdWxhdGlvblByb21pc2UsXG4gIFJlc29sdmVkQ2xpZW50RmVhdHVyZSxcbiAgUmVzb2x2ZWRDbGllbnRGZWF0dXJlTWFwLFxuICBSZXNvbHZlZFNlcnZlckZlYXR1cmUsXG4gIFJlc29sdmVkU2VydmVyRmVhdHVyZU1hcCxcbiAgU2FuaXRpemVkQ2xpZW50RmVhdHVyZXMsXG4gIFNhbml0aXplZFBsdWdpbixcbiAgU2FuaXRpemVkU2VydmVyRmVhdHVyZXMsXG4gIFNlcnZlckZlYXR1cmUsXG4gIFNlcnZlckZlYXR1cmVQcm92aWRlck1hcCxcbn0gZnJvbSAnLi9maWVsZC9mZWF0dXJlcy90eXBlcydcbmV4cG9ydCB7IFVwbG9hZEZlYXR1cmUgfSBmcm9tICcuL2ZpZWxkL2ZlYXR1cmVzL3VwbG9hZC9mZWF0dXJlLnNlcnZlcidcblxuZXhwb3J0IHR5cGUgeyBVcGxvYWRGZWF0dXJlUHJvcHMgfSBmcm9tICcuL2ZpZWxkL2ZlYXR1cmVzL3VwbG9hZC9mZWF0dXJlLnNlcnZlcidcblxuZXhwb3J0IHR5cGUgeyBSYXdVcGxvYWRQYXlsb2FkIH0gZnJvbSAnLi9maWVsZC9mZWF0dXJlcy91cGxvYWQvbm9kZXMvVXBsb2FkTm9kZSdcblxuZXhwb3J0IHtcbiAgJGNyZWF0ZVVwbG9hZE5vZGUsXG4gICRpc1VwbG9hZE5vZGUsXG4gIHR5cGUgU2VyaWFsaXplZFVwbG9hZE5vZGUsXG4gIHR5cGUgVXBsb2FkRGF0YSxcbiAgVXBsb2FkTm9kZSxcbn0gZnJvbSAnLi9maWVsZC9mZWF0dXJlcy91cGxvYWQvbm9kZXMvVXBsb2FkTm9kZSdcbmV4cG9ydCB7XG4gIEVkaXRvckNvbmZpZ1Byb3ZpZGVyLFxuICB1c2VFZGl0b3JDb25maWdDb250ZXh0LFxufSBmcm9tICcuL2ZpZWxkL2xleGljYWwvY29uZmlnL2NsaWVudC9FZGl0b3JDb25maWdQcm92aWRlcidcbmV4cG9ydCB7XG4gIHNhbml0aXplQ2xpZW50RWRpdG9yQ29uZmlnLFxuICBzYW5pdGl6ZUNsaWVudEZlYXR1cmVzLFxufSBmcm9tICcuL2ZpZWxkL2xleGljYWwvY29uZmlnL2NsaWVudC9zYW5pdGl6ZSdcbmV4cG9ydCB7XG4gIGRlZmF1bHRFZGl0b3JDb25maWcsXG4gIGRlZmF1bHRFZGl0b3JGZWF0dXJlcyxcbiAgZGVmYXVsdEVkaXRvckxleGljYWxDb25maWcsXG4gIGRlZmF1bHRTYW5pdGl6ZWRTZXJ2ZXJFZGl0b3JDb25maWcsXG59IGZyb20gJy4vZmllbGQvbGV4aWNhbC9jb25maWcvc2VydmVyL2RlZmF1bHQnXG5leHBvcnQgeyBsb2FkRmVhdHVyZXMsIHNvcnRGZWF0dXJlc0Zvck9wdGltYWxMb2FkaW5nIH0gZnJvbSAnLi9maWVsZC9sZXhpY2FsL2NvbmZpZy9zZXJ2ZXIvbG9hZGVyJ1xuZXhwb3J0IHtcbiAgc2FuaXRpemVTZXJ2ZXJFZGl0b3JDb25maWcsXG4gIHNhbml0aXplU2VydmVyRmVhdHVyZXMsXG59IGZyb20gJy4vZmllbGQvbGV4aWNhbC9jb25maWcvc2VydmVyL3Nhbml0aXplJ1xuXG5leHBvcnQgdHlwZSB7XG4gIENsaWVudEVkaXRvckNvbmZpZyxcbiAgU2FuaXRpemVkQ2xpZW50RWRpdG9yQ29uZmlnLFxuICBTYW5pdGl6ZWRTZXJ2ZXJFZGl0b3JDb25maWcsXG4gIFNlcnZlckVkaXRvckNvbmZpZyxcbn0gZnJvbSAnLi9maWVsZC9sZXhpY2FsL2NvbmZpZy90eXBlcydcbmV4cG9ydCB7IGdldEVuYWJsZWROb2RlcyB9IGZyb20gJy4vZmllbGQvbGV4aWNhbC9ub2RlcydcblxuZXhwb3J0IHtcbiAgdHlwZSBGbG9hdGluZ1Rvb2xiYXJTZWN0aW9uLFxuICB0eXBlIEZsb2F0aW5nVG9vbGJhclNlY3Rpb25FbnRyeSxcbn0gZnJvbSAnLi9maWVsZC9sZXhpY2FsL3BsdWdpbnMvRmxvYXRpbmdTZWxlY3RUb29sYmFyL3R5cGVzJ1xuZXhwb3J0IHsgRU5BQkxFX1NMQVNIX01FTlVfQ09NTUFORCB9IGZyb20gJy4vZmllbGQvbGV4aWNhbC9wbHVnaW5zL1NsYXNoTWVudS9MZXhpY2FsVHlwZWFoZWFkTWVudVBsdWdpbi9pbmRleCdcbmV4cG9ydCB0eXBlIHsgQWRhcHRlclByb3BzIH1cblxuZXhwb3J0IHtcbiAgU2xhc2hNZW51R3JvdXAsXG4gIFNsYXNoTWVudU9wdGlvbixcbn0gZnJvbSAnLi9maWVsZC9sZXhpY2FsL3BsdWdpbnMvU2xhc2hNZW51L0xleGljYWxUeXBlYWhlYWRNZW51UGx1Z2luL3R5cGVzJ1xuZXhwb3J0IHsgQ0FOX1VTRV9ET00gfSBmcm9tICcuL2ZpZWxkL2xleGljYWwvdXRpbHMvY2FuVXNlRE9NJ1xuZXhwb3J0IHsgY2xvbmVEZWVwIH0gZnJvbSAnLi9maWVsZC9sZXhpY2FsL3V0aWxzL2Nsb25lRGVlcCdcbmV4cG9ydCB7IGdldERPTVJhbmdlUmVjdCB9IGZyb20gJy4vZmllbGQvbGV4aWNhbC91dGlscy9nZXRET01SYW5nZVJlY3QnXG5leHBvcnQgeyBnZXRTZWxlY3RlZE5vZGUgfSBmcm9tICcuL2ZpZWxkL2xleGljYWwvdXRpbHMvZ2V0U2VsZWN0ZWROb2RlJ1xuZXhwb3J0IHsgaXNIVE1MRWxlbWVudCB9IGZyb20gJy4vZmllbGQvbGV4aWNhbC91dGlscy9ndWFyZCdcbmV4cG9ydCB7IGludmFyaWFudCB9IGZyb20gJy4vZmllbGQvbGV4aWNhbC91dGlscy9pbnZhcmlhbnQnXG5leHBvcnQgeyBqb2luQ2xhc3NlcyB9IGZyb20gJy4vZmllbGQvbGV4aWNhbC91dGlscy9qb2luQ2xhc3NlcydcbmV4cG9ydCB7IGNyZWF0ZUJsb2NrTm9kZSB9IGZyb20gJy4vZmllbGQvbGV4aWNhbC91dGlscy9tYXJrZG93bi9jcmVhdGVCbG9ja05vZGUnXG5leHBvcnQge1xuICBERVRBSUxfVFlQRV9UT19ERVRBSUwsXG4gIERPVUJMRV9MSU5FX0JSRUFLLFxuICBFTEVNRU5UX0ZPUk1BVF9UT19UWVBFLFxuICBFTEVNRU5UX1RZUEVfVE9fRk9STUFULFxuICBJU19BTExfRk9STUFUVElORyxcbiAgTFRSX1JFR0VYLFxuICBOT05fQlJFQUtJTkdfU1BBQ0UsXG4gIE5vZGVGb3JtYXQsXG4gIFJUTF9SRUdFWCxcbiAgVEVYVF9NT0RFX1RPX1RZUEUsXG4gIFRFWFRfVFlQRV9UT19GT1JNQVQsXG4gIFRFWFRfVFlQRV9UT19NT0RFLFxufSBmcm9tICcuL2ZpZWxkL2xleGljYWwvdXRpbHMvbm9kZUZvcm1hdCdcbmV4cG9ydCB7IFBvaW50LCBpc1BvaW50IH0gZnJvbSAnLi9maWVsZC9sZXhpY2FsL3V0aWxzL3BvaW50J1xuZXhwb3J0IHsgUmVjdCB9IGZyb20gJy4vZmllbGQvbGV4aWNhbC91dGlscy9yZWN0J1xuZXhwb3J0IHsgc2V0RmxvYXRpbmdFbGVtUG9zaXRpb24gfSBmcm9tICcuL2ZpZWxkL2xleGljYWwvdXRpbHMvc2V0RmxvYXRpbmdFbGVtUG9zaXRpb24nXG5leHBvcnQgeyBzZXRGbG9hdGluZ0VsZW1Qb3NpdGlvbkZvckxpbmtFZGl0b3IgfSBmcm9tICcuL2ZpZWxkL2xleGljYWwvdXRpbHMvc2V0RmxvYXRpbmdFbGVtUG9zaXRpb25Gb3JMaW5rRWRpdG9yJ1xuZXhwb3J0IHtcbiAgYWRkU3dpcGVEb3duTGlzdGVuZXIsXG4gIGFkZFN3aXBlTGVmdExpc3RlbmVyLFxuICBhZGRTd2lwZVJpZ2h0TGlzdGVuZXIsXG4gIGFkZFN3aXBlVXBMaXN0ZW5lcixcbn0gZnJvbSAnLi9maWVsZC9sZXhpY2FsL3V0aWxzL3N3aXBlJ1xuZXhwb3J0IHsgc2FuaXRpemVVcmwsIHZhbGlkYXRlVXJsIH0gZnJvbSAnLi9maWVsZC9sZXhpY2FsL3V0aWxzL3VybCdcbmV4cG9ydCB7IGRlZmF1bHRSaWNoVGV4dFZhbHVlIH0gZnJvbSAnLi9wb3B1bGF0ZS9kZWZhdWx0VmFsdWUnXG4iXSwibmFtZXMiOlsid2l0aE51bGxhYmxlSlNPTlNjaGVtYVR5cGUiLCJkZWZhdWx0RWRpdG9yQ29uZmlnIiwiZGVmYXVsdEVkaXRvckZlYXR1cmVzIiwiZGVmYXVsdFNhbml0aXplZFNlcnZlckVkaXRvckNvbmZpZyIsImxvYWRGZWF0dXJlcyIsInNhbml0aXplU2VydmVyRmVhdHVyZXMiLCJjbG9uZURlZXAiLCJnZXRHZW5lcmF0ZUNvbXBvbmVudE1hcCIsImdldEdlbmVyYXRlU2NoZW1hTWFwIiwicmljaFRleHRSZWxhdGlvbnNoaXBQcm9taXNlIiwicmljaFRleHRWYWxpZGF0ZUhPQyIsImxleGljYWxFZGl0b3IiLCJwcm9wcyIsInJlc29sdmVkRmVhdHVyZU1hcCIsImZpbmFsU2FuaXRpemVkRWRpdG9yQ29uZmlnIiwiZmVhdHVyZXMiLCJsZXhpY2FsIiwiZGVmYXVsdEZlYXR1cmVzIiwidW5TYW5pdGl6ZWRFZGl0b3JDb25maWciLCJMYXp5Q2VsbENvbXBvbmVudCIsInRoZW4iLCJtb2R1bGUiLCJSaWNoVGV4dENlbGwiLCJtb2R1bGUyIiwid2l0aE1lcmdlZFByb3BzIiwiQ29tcG9uZW50IiwidG9NZXJnZUludG9Qcm9wcyIsImxleGljYWxFZGl0b3JDb25maWciLCJMYXp5RmllbGRDb21wb25lbnQiLCJSaWNoVGV4dEZpZWxkIiwiYWZ0ZXJSZWFkUHJvbWlzZSIsImZpZWxkIiwiaW5jb21pbmdFZGl0b3JTdGF0ZSIsInNpYmxpbmdEb2MiLCJQcm9taXNlIiwicmVzb2x2ZSIsInJlamVjdCIsInByb21pc2VzIiwiaG9va3MiLCJhZnRlclJlYWRQcm9taXNlcyIsImxlbmd0aCIsInByb21pc2UiLCJwdXNoIiwiYWxsIiwiY2F0Y2giLCJlcnJvciIsImVkaXRvckNvbmZpZyIsImdlbmVyYXRlQ29tcG9uZW50TWFwIiwiZ2VuZXJhdGVTY2hlbWFNYXAiLCJvdXRwdXRTY2hlbWEiLCJpbnRlcmZhY2VOYW1lRGVmaW5pdGlvbnMiLCJpc1JlcXVpcmVkIiwidHlwZSIsInByb3BlcnRpZXMiLCJyb290IiwiYWRkaXRpb25hbFByb3BlcnRpZXMiLCJjaGlsZHJlbiIsIml0ZW1zIiwidmVyc2lvbiIsInJlcXVpcmVkIiwiZGlyZWN0aW9uIiwib25lT2YiLCJlbnVtIiwiZm9ybWF0IiwiaW5kZW50IiwibW9kaWZ5T3V0cHV0U2NoZW1hIiwiZ2VuZXJhdGVkVHlwZXMiLCJtb2RpZnlPdXRwdXRTY2hlbWFzIiwiY3VycmVudFNjaGVtYSIsInBvcHVsYXRpb25Qcm9taXNlIiwiY29udGV4dCIsImN1cnJlbnREZXB0aCIsImRlcHRoIiwiZmluZE1hbnkiLCJmbGF0dGVuTG9jYWxlcyIsIm92ZXJyaWRlQWNjZXNzIiwicG9wdWxhdGlvblByb21pc2VzIiwicmVxIiwic2hvd0hpZGRlbkZpZWxkcyIsInNpemUiLCJlZGl0b3JQb3B1bGF0aW9uUHJvbWlzZXMiLCJ2YWxpZGF0ZSIsIkFsaWduRmVhdHVyZSIsIkJsb2NrUXVvdGVGZWF0dXJlIiwiQmxvY2tzRmVhdHVyZSIsIiRjcmVhdGVCbG9ja05vZGUiLCIkaXNCbG9ja05vZGUiLCJCbG9ja05vZGUiLCJUZXh0RHJvcGRvd25TZWN0aW9uV2l0aEVudHJpZXMiLCJjb252ZXJ0TGV4aWNhbE5vZGVzVG9IVE1MIiwiY29udmVydExleGljYWxUb0hUTUwiLCJMaW5lYnJlYWtIVE1MQ29udmVydGVyIiwiUGFyYWdyYXBoSFRNTENvbnZlcnRlciIsIlRleHRIVE1MQ29udmVydGVyIiwiZGVmYXVsdEhUTUxDb252ZXJ0ZXJzIiwiSFRNTENvbnZlcnRlckZlYXR1cmUiLCJjb25zb2xpZGF0ZUhUTUxDb252ZXJ0ZXJzIiwibGV4aWNhbEhUTUwiLCJjcmVhdGVDbGllbnRDb21wb25lbnQiLCJUZXN0UmVjb3JkZXJGZWF0dXJlIiwiVHJlZVZpZXdGZWF0dXJlIiwiQm9sZEZlYXR1cmUiLCJTZWN0aW9uV2l0aEVudHJpZXMiLCJGb3JtYXRTZWN0aW9uV2l0aEVudHJpZXMiLCJJbmxpbmVDb2RlRmVhdHVyZSIsIkl0YWxpY0ZlYXR1cmUiLCJTdHJpa2V0aHJvdWdoRmVhdHVyZSIsIlN1YnNjcmlwdEZlYXR1cmUiLCJTdXBlcnNjcmlwdEZlYXR1cmUiLCJVbmRlcmxpbmVGZWF0dXJlIiwiSGVhZGluZ0ZlYXR1cmUiLCJJbmRlbnRGZWF0dXJlIiwiTGlua0ZlYXR1cmUiLCIkY3JlYXRlQXV0b0xpbmtOb2RlIiwiJGlzQXV0b0xpbmtOb2RlIiwiQXV0b0xpbmtOb2RlIiwiJGNyZWF0ZUxpbmtOb2RlIiwiJGlzTGlua05vZGUiLCJMaW5rTm9kZSIsIlRPR0dMRV9MSU5LX0NPTU1BTkQiLCJDaGVja0xpc3RGZWF0dXJlIiwiT3JkZXJlZExpc3RGZWF0dXJlIiwiVW5vcmRlcmVkTGlzdEZlYXR1cmUiLCJMZXhpY2FsUGx1Z2luVG9MZXhpY2FsRmVhdHVyZSIsIlNsYXRlQmxvY2txdW90ZUNvbnZlcnRlciIsIlNsYXRlSGVhZGluZ0NvbnZlcnRlciIsIlNsYXRlSW5kZW50Q29udmVydGVyIiwiU2xhdGVMaW5rQ29udmVydGVyIiwiU2xhdGVMaXN0SXRlbUNvbnZlcnRlciIsIlNsYXRlT3JkZXJlZExpc3RDb252ZXJ0ZXIiLCJTbGF0ZVJlbGF0aW9uc2hpcENvbnZlcnRlciIsIlNsYXRlVW5rbm93bkNvbnZlcnRlciIsIlNsYXRlVW5vcmRlcmVkTGlzdENvbnZlcnRlciIsIlNsYXRlVXBsb2FkQ29udmVydGVyIiwiZGVmYXVsdFNsYXRlQ29udmVydGVycyIsImNvbnZlcnRTbGF0ZU5vZGVzVG9MZXhpY2FsIiwiY29udmVydFNsYXRlVG9MZXhpY2FsIiwiU2xhdGVUb0xleGljYWxGZWF0dXJlIiwiUGFyYWdyYXBoRmVhdHVyZSIsIlJlbGF0aW9uc2hpcEZlYXR1cmUiLCIkY3JlYXRlUmVsYXRpb25zaGlwTm9kZSIsIiRpc1JlbGF0aW9uc2hpcE5vZGUiLCJSZWxhdGlvbnNoaXBOb2RlIiwiVXBsb2FkRmVhdHVyZSIsIiRjcmVhdGVVcGxvYWROb2RlIiwiJGlzVXBsb2FkTm9kZSIsIlVwbG9hZE5vZGUiLCJFZGl0b3JDb25maWdQcm92aWRlciIsInVzZUVkaXRvckNvbmZpZ0NvbnRleHQiLCJzYW5pdGl6ZUNsaWVudEVkaXRvckNvbmZpZyIsInNhbml0aXplQ2xpZW50RmVhdHVyZXMiLCJkZWZhdWx0RWRpdG9yTGV4aWNhbENvbmZpZyIsInNvcnRGZWF0dXJlc0Zvck9wdGltYWxMb2FkaW5nIiwic2FuaXRpemVTZXJ2ZXJFZGl0b3JDb25maWciLCJnZXRFbmFibGVkTm9kZXMiLCJFTkFCTEVfU0xBU0hfTUVOVV9DT01NQU5EIiwiU2xhc2hNZW51R3JvdXAiLCJTbGFzaE1lbnVPcHRpb24iLCJDQU5fVVNFX0RPTSIsImdldERPTVJhbmdlUmVjdCIsImdldFNlbGVjdGVkTm9kZSIsImlzSFRNTEVsZW1lbnQiLCJpbnZhcmlhbnQiLCJqb2luQ2xhc3NlcyIsImNyZWF0ZUJsb2NrTm9kZSIsIkRFVEFJTF9UWVBFX1RPX0RFVEFJTCIsIkRPVUJMRV9MSU5FX0JSRUFLIiwiRUxFTUVOVF9GT1JNQVRfVE9fVFlQRSIsIkVMRU1FTlRfVFlQRV9UT19GT1JNQVQiLCJJU19BTExfRk9STUFUVElORyIsIkxUUl9SRUdFWCIsIk5PTl9CUkVBS0lOR19TUEFDRSIsIk5vZGVGb3JtYXQiLCJSVExfUkVHRVgiLCJURVhUX01PREVfVE9fVFlQRSIsIlRFWFRfVFlQRV9UT19GT1JNQVQiLCJURVhUX1RZUEVfVE9fTU9ERSIsIlBvaW50IiwiaXNQb2ludCIsIlJlY3QiLCJzZXRGbG9hdGluZ0VsZW1Qb3NpdGlvbiIsInNldEZsb2F0aW5nRWxlbVBvc2l0aW9uRm9yTGlua0VkaXRvciIsImFkZFN3aXBlRG93bkxpc3RlbmVyIiwiYWRkU3dpcGVMZWZ0TGlzdGVuZXIiLCJhZGRTd2lwZVJpZ2h0TGlzdGVuZXIiLCJhZGRTd2lwZVVwTGlzdGVuZXIiLCJzYW5pdGl6ZVVybCIsInZhbGlkYXRlVXJsIiwiZGVmYXVsdFJpY2hUZXh0VmFsdWUiXSwibWFwcGluZ3MiOiJBQUtBLFNBQVNBLDBCQUEwQixRQUFRLG9CQUFtQjtBQU05RCxTQUNFQyxtQkFBbUIsRUFDbkJDLHFCQUFxQixFQUNyQkMsa0NBQWtDLFFBQzdCLHdDQUF1QztBQUM5QyxTQUFTQyxZQUFZLFFBQVEsdUNBQXNDO0FBQ25FLFNBQVNDLHNCQUFzQixRQUFRLHlDQUF3QztBQUMvRSxTQUFTQyxTQUFTLFFBQVEsa0NBQWlDO0FBQzNELFNBQVNDLHVCQUF1QixRQUFRLHlCQUF3QjtBQUNoRSxTQUFTQyxvQkFBb0IsUUFBUSxzQkFBcUI7QUFDMUQsU0FBU0MsMkJBQTJCLFFBQVEseUNBQXdDO0FBQ3BGLFNBQVNDLG1CQUFtQixRQUFRLGFBQVk7QUFrQmhELE9BQU8sU0FBU0MsY0FBY0MsS0FBMEI7SUFDdEQsSUFBSUMscUJBQStDO0lBRW5ELElBQUlDLDBCQUF3RCxrQkFBa0I7O0lBQzlFLElBQUksQ0FBQ0YsU0FBVSxDQUFDQSxNQUFNRyxRQUFRLElBQUksQ0FBQ0gsTUFBTUksT0FBTyxFQUFHO1FBQ2pERiw2QkFBNkJSLFVBQVVIO1FBQ3ZDVSxxQkFBcUJDLDJCQUEyQkQsa0JBQWtCO0lBQ3BFLE9BQU87UUFDTCxJQUFJRSxXQUNGSCxNQUFNRyxRQUFRLElBQUksT0FBT0gsTUFBTUcsUUFBUSxLQUFLLGFBQ3hDSCxNQUFNRyxRQUFRLENBQUM7WUFBRUUsaUJBQWlCWCxVQUFVSjtRQUF1QixLQUNsRVUsTUFBTUcsUUFBUTtRQUNyQixJQUFJLENBQUNBLFVBQVU7WUFDYkEsV0FBV1QsVUFBVUo7UUFDdkI7UUFFQSxNQUFNYyxVQUErQkosTUFBTUksT0FBTztRQUVsREgscUJBQXFCVCxhQUFhO1lBQ2hDYyx5QkFBeUI7Z0JBQ3ZCSDtnQkFDQUMsU0FBU0EsVUFBVUEsVUFBVWYsb0JBQW9CZSxPQUFPO1lBQzFEO1FBQ0Y7UUFFQUYsNkJBQTZCO1lBQzNCQyxVQUFVVix1QkFB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
|