@diplodoc/components 5.22.0 → 5.23.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (139) hide show
  1. package/build/cjs/components/BackToTop/BackToTop.css.map +1 -1
  2. package/build/cjs/components/BookmarkButton/BookmarkButton.css.map +1 -1
  3. package/build/cjs/components/Breadcrumbs/Breadcrumbs.css.map +1 -1
  4. package/build/cjs/components/ContributorAvatars/ContributorAvatars.css.map +1 -1
  5. package/build/cjs/components/Contributors/Contributors.css.map +1 -1
  6. package/build/cjs/components/Control/Control.css.map +1 -1
  7. package/build/cjs/components/Controls/Controls.css.map +1 -1
  8. package/build/cjs/components/Controls/Controls.d.ts +2 -0
  9. package/build/cjs/components/Controls/Controls.js +3 -1
  10. package/build/cjs/components/Controls/Controls.js.map +2 -2
  11. package/build/cjs/components/Controls/single-controls/DividerControl/DividerControl.css.map +1 -1
  12. package/build/cjs/components/Controls/single-controls/LangControl/LangControl.css.map +1 -1
  13. package/build/cjs/components/Controls/single-controls/MarkdownControl.d.ts +3 -1
  14. package/build/cjs/components/Controls/single-controls/MarkdownControl.js +110 -27
  15. package/build/cjs/components/Controls/single-controls/MarkdownControl.js.map +3 -3
  16. package/build/cjs/components/Controls/single-controls/SettingsControl/SettingsControl.css.map +1 -1
  17. package/build/cjs/components/Controls/single-controls/markdown-url.d.ts +4 -0
  18. package/build/cjs/components/Controls/single-controls/markdown-url.js +56 -0
  19. package/build/cjs/components/Controls/single-controls/markdown-url.js.map +7 -0
  20. package/build/cjs/components/DocLayout/DocLayout.css.map +1 -1
  21. package/build/cjs/components/DocLeadingPage/DocLeadingPage.css.map +1 -1
  22. package/build/cjs/components/DocPage/DocPage.css.map +1 -1
  23. package/build/cjs/components/DocPage/DocPage.js +6 -1
  24. package/build/cjs/components/DocPage/DocPage.js.map +2 -2
  25. package/build/cjs/components/DocPageTitle/DocPageTitle.css.map +1 -1
  26. package/build/cjs/components/ErrorPage/ErrorPage.css.map +1 -1
  27. package/build/cjs/components/Feedback/Feedback.css.map +1 -1
  28. package/build/cjs/components/Gallery/Gallery.css.map +1 -1
  29. package/build/cjs/components/Mark/Mark.css.map +1 -1
  30. package/build/cjs/components/MiniToc/MiniToc.css.map +1 -1
  31. package/build/cjs/components/MobileControls/MobileControl/MobileControl.css.map +1 -1
  32. package/build/cjs/components/MobileControls/MobileControlSheet/MobileControlSheet.css.map +1 -1
  33. package/build/cjs/components/MobileControls/MobileControls.css.map +1 -1
  34. package/build/cjs/components/NeuroExpertModal/NeuroExpertModal.css.map +1 -1
  35. package/build/cjs/components/Notification/Notification.css.map +1 -1
  36. package/build/cjs/components/Paginator/Paginator.css.map +1 -1
  37. package/build/cjs/components/SearchBar/SearchBar.css.map +1 -1
  38. package/build/cjs/components/SearchItem/SearchItem.css.map +1 -1
  39. package/build/cjs/components/SearchPage/SearchPage.css.map +1 -1
  40. package/build/cjs/components/SearchSuggest/index.css.map +1 -1
  41. package/build/cjs/components/ShareButton/ShareButton.css.map +1 -1
  42. package/build/cjs/components/SubNavigation/SubNavigation.css.map +1 -1
  43. package/build/cjs/components/Subscribe/Subscribe.css.map +1 -1
  44. package/build/cjs/components/Summary/Summary.css.map +1 -1
  45. package/build/cjs/components/Tags/Tags.css.map +1 -1
  46. package/build/cjs/components/TagsFilter/TagsFilter.css.map +1 -1
  47. package/build/cjs/components/Toc/Toc.css.map +1 -1
  48. package/build/cjs/components/TocItem/TocItem.css.map +1 -1
  49. package/build/cjs/components/TocLable/TocLabel.css.map +1 -1
  50. package/build/cjs/components/TocNavPanel/TocNavPanel.css.map +1 -1
  51. package/build/cjs/components/ToggleArrow/ToggleArrow.css.map +1 -1
  52. package/build/cjs/components/UpdatedAtDate/UpdatedAtDate.css.map +1 -1
  53. package/build/cjs/components/Widgets/Widgets.css.map +1 -1
  54. package/build/cjs/components/constants.d.ts +1 -0
  55. package/build/cjs/components/navigation/CustomFooter/CustomFooter.css.map +1 -1
  56. package/build/cjs/components/navigation/CustomNavigation/CustomNavigation.css.map +1 -1
  57. package/build/cjs/components/navigation/DropdownContent/Column/Column.css.map +1 -1
  58. package/build/cjs/components/navigation/DropdownContent/DropdownContent.css.map +1 -1
  59. package/build/cjs/components/navigation/DropdownContent/Section/Section.css.map +1 -1
  60. package/build/cjs/components/navigation/Label/Label.css.map +1 -1
  61. package/build/cjs/components/navigation/MobileDropdown/MobileDropdown.css.map +1 -1
  62. package/build/cjs/components/navigation/NavigationDropdown/NavigationDropdown.css.map +1 -1
  63. package/build/cjs/components/navigation/Sidebar/Sidebar.css.map +1 -1
  64. package/build/cjs/components/navigation/SidebarContent/SidebarContent.css.map +1 -1
  65. package/build/cjs/components/navigation/SidebarNavigation/SidebarNavigation.css.map +1 -1
  66. package/build/cjs/components/navigation/ToMainMenu/ToMainMenu.css.map +1 -1
  67. package/build/cjs/contexts/InterfaceContext.d.ts +5 -1
  68. package/build/cjs/contexts/InterfaceContext.js.map +2 -2
  69. package/build/esm/components/BackToTop/BackToTop.css.map +1 -1
  70. package/build/esm/components/BookmarkButton/BookmarkButton.css.map +1 -1
  71. package/build/esm/components/Breadcrumbs/Breadcrumbs.css.map +1 -1
  72. package/build/esm/components/ContributorAvatars/ContributorAvatars.css.map +1 -1
  73. package/build/esm/components/Contributors/Contributors.css.map +1 -1
  74. package/build/esm/components/Control/Control.css.map +1 -1
  75. package/build/esm/components/Controls/Controls.css.map +1 -1
  76. package/build/esm/components/Controls/Controls.d.ts +2 -0
  77. package/build/esm/components/Controls/Controls.js +3 -1
  78. package/build/esm/components/Controls/Controls.js.map +2 -2
  79. package/build/esm/components/Controls/single-controls/DividerControl/DividerControl.css.map +1 -1
  80. package/build/esm/components/Controls/single-controls/LangControl/LangControl.css.map +1 -1
  81. package/build/esm/components/Controls/single-controls/MarkdownControl.d.ts +3 -1
  82. package/build/esm/components/Controls/single-controls/MarkdownControl.js +103 -30
  83. package/build/esm/components/Controls/single-controls/MarkdownControl.js.map +3 -3
  84. package/build/esm/components/Controls/single-controls/SettingsControl/SettingsControl.css.map +1 -1
  85. package/build/esm/components/Controls/single-controls/markdown-url.d.ts +4 -0
  86. package/build/esm/components/Controls/single-controls/markdown-url.js +35 -0
  87. package/build/esm/components/Controls/single-controls/markdown-url.js.map +7 -0
  88. package/build/esm/components/DocLayout/DocLayout.css.map +1 -1
  89. package/build/esm/components/DocLeadingPage/DocLeadingPage.css.map +1 -1
  90. package/build/esm/components/DocPage/DocPage.css.map +1 -1
  91. package/build/esm/components/DocPage/DocPage.js +6 -1
  92. package/build/esm/components/DocPage/DocPage.js.map +2 -2
  93. package/build/esm/components/DocPageTitle/DocPageTitle.css.map +1 -1
  94. package/build/esm/components/ErrorPage/ErrorPage.css.map +1 -1
  95. package/build/esm/components/Feedback/Feedback.css.map +1 -1
  96. package/build/esm/components/Gallery/Gallery.css.map +1 -1
  97. package/build/esm/components/Mark/Mark.css.map +1 -1
  98. package/build/esm/components/MiniToc/MiniToc.css.map +1 -1
  99. package/build/esm/components/MobileControls/MobileControl/MobileControl.css.map +1 -1
  100. package/build/esm/components/MobileControls/MobileControlSheet/MobileControlSheet.css.map +1 -1
  101. package/build/esm/components/MobileControls/MobileControls.css.map +1 -1
  102. package/build/esm/components/NeuroExpertModal/NeuroExpertModal.css.map +1 -1
  103. package/build/esm/components/Notification/Notification.css.map +1 -1
  104. package/build/esm/components/Paginator/Paginator.css.map +1 -1
  105. package/build/esm/components/SearchBar/SearchBar.css.map +1 -1
  106. package/build/esm/components/SearchItem/SearchItem.css.map +1 -1
  107. package/build/esm/components/SearchPage/SearchPage.css.map +1 -1
  108. package/build/esm/components/SearchSuggest/index.css.map +1 -1
  109. package/build/esm/components/ShareButton/ShareButton.css.map +1 -1
  110. package/build/esm/components/SubNavigation/SubNavigation.css.map +1 -1
  111. package/build/esm/components/Subscribe/Subscribe.css.map +1 -1
  112. package/build/esm/components/Summary/Summary.css.map +1 -1
  113. package/build/esm/components/Tags/Tags.css.map +1 -1
  114. package/build/esm/components/TagsFilter/TagsFilter.css.map +1 -1
  115. package/build/esm/components/Toc/Toc.css.map +1 -1
  116. package/build/esm/components/TocItem/TocItem.css.map +1 -1
  117. package/build/esm/components/TocLable/TocLabel.css.map +1 -1
  118. package/build/esm/components/TocNavPanel/TocNavPanel.css.map +1 -1
  119. package/build/esm/components/ToggleArrow/ToggleArrow.css.map +1 -1
  120. package/build/esm/components/UpdatedAtDate/UpdatedAtDate.css.map +1 -1
  121. package/build/esm/components/Widgets/Widgets.css.map +1 -1
  122. package/build/esm/components/constants.d.ts +1 -0
  123. package/build/esm/components/navigation/CustomFooter/CustomFooter.css.map +1 -1
  124. package/build/esm/components/navigation/CustomNavigation/CustomNavigation.css.map +1 -1
  125. package/build/esm/components/navigation/DropdownContent/Column/Column.css.map +1 -1
  126. package/build/esm/components/navigation/DropdownContent/DropdownContent.css.map +1 -1
  127. package/build/esm/components/navigation/DropdownContent/Section/Section.css.map +1 -1
  128. package/build/esm/components/navigation/Label/Label.css.map +1 -1
  129. package/build/esm/components/navigation/MobileDropdown/MobileDropdown.css.map +1 -1
  130. package/build/esm/components/navigation/NavigationDropdown/NavigationDropdown.css.map +1 -1
  131. package/build/esm/components/navigation/Sidebar/Sidebar.css.map +1 -1
  132. package/build/esm/components/navigation/SidebarContent/SidebarContent.css.map +1 -1
  133. package/build/esm/components/navigation/SidebarNavigation/SidebarNavigation.css.map +1 -1
  134. package/build/esm/components/navigation/ToMainMenu/ToMainMenu.css.map +1 -1
  135. package/build/esm/contexts/InterfaceContext.d.ts +5 -1
  136. package/build/esm/contexts/InterfaceContext.js.map +2 -2
  137. package/build/index.css.map +1 -1
  138. package/build/themes/common/index.css.map +1 -1
  139. package/package.json +1 -1
@@ -1,7 +1,9 @@
1
1
  "use strict";
2
+ var __create = Object.create;
2
3
  var __defProp = Object.defineProperty;
3
4
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
5
  var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getProtoOf = Object.getPrototypeOf;
5
7
  var __hasOwnProp = Object.prototype.hasOwnProperty;
6
8
  var __export = (target, all) => {
7
9
  for (var name in all)
@@ -15,58 +17,102 @@ var __copyProps = (to, from, except, desc) => {
15
17
  }
16
18
  return to;
17
19
  };
20
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
+ // If the importer is in node compatibility mode or this is not an ESM
22
+ // file that has been converted to a CommonJS file using a Babel-
23
+ // compatible transform (i.e. "__esModule" has not been set), then set
24
+ // "default" to the CommonJS "module.exports" for node compatibility.
25
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26
+ mod
27
+ ));
18
28
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
29
 
20
30
  // src/components/Controls/single-controls/MarkdownControl.tsx
21
31
  var MarkdownControl_exports = {};
22
32
  __export(MarkdownControl_exports, {
23
33
  default: () => MarkdownControl_default,
24
- getMarkdownUrl: () => getMarkdownUrl
34
+ getMarkdownUrl: () => import_markdown_url2.getMarkdownUrl
25
35
  });
26
36
  module.exports = __toCommonJS(MarkdownControl_exports);
27
- var import_react = require("react");
37
+ var import_react = __toESM(require("react"));
28
38
  var import_icons = require("@gravity-ui/icons");
29
39
  var import_uikit = require("@gravity-ui/uikit");
30
40
  var import_hooks = require("../../../hooks");
31
41
  var import_analytics = require("../../../shared/libs/analytics");
32
42
  var import_ControlsLayout = require("../ControlsLayout");
43
+ var import_markdown_url = require("./markdown-url");
44
+ var import_markdown_url2 = require("./markdown-url");
33
45
  var import_jsx_runtime = require("react/jsx-runtime");
34
- function getMarkdownUrl(currentUrl) {
35
- const markdownUrl = new URL(currentUrl);
36
- if (markdownUrl.pathname.endsWith("/")) {
37
- markdownUrl.pathname += "index.md";
38
- } else {
39
- markdownUrl.pathname = markdownUrl.pathname.replace(/\.(?:html?|md)$/i, "") + ".md";
40
- }
41
- return markdownUrl.toString();
42
- }
43
- var MarkdownControl = ({ mdDocsUrl, onClick }) => {
46
+ var COPY_SUCCESS_TIMEOUT = 2e3;
47
+ var MarkdownControl = ({
48
+ mode = "dropdown",
49
+ mdDocsUrl,
50
+ onClick
51
+ }) => {
44
52
  const { t } = (0, import_hooks.useTranslation)("markdown-button");
45
53
  const analytics = (0, import_analytics.useAnalytics)();
46
54
  const { controlClassName, controlSize } = (0, import_react.useContext)(import_ControlsLayout.ControlsLayoutContext);
55
+ const [copyState, setCopyState] = (0, import_react.useState)("idle");
56
+ const [dropdownOpen, setDropdownOpen] = (0, import_react.useState)(false);
57
+ const ignoreNextClose = (0, import_react.useRef)(false);
58
+ const copySuccessTimer = (0, import_react.useRef)(void 0);
47
59
  const resolveMarkdownUrl = (0, import_react.useCallback)(
48
- () => mdDocsUrl || getMarkdownUrl(window.location.href),
60
+ (action) => {
61
+ if (!mdDocsUrl) {
62
+ return (0, import_markdown_url.getMarkdownUrl)(window.location.href, action);
63
+ }
64
+ return (0, import_markdown_url.resolveMarkdownActionUrl)(mdDocsUrl, window.location.href, action);
65
+ },
49
66
  [mdDocsUrl]
50
67
  );
68
+ (0, import_react.useEffect)(
69
+ () => () => {
70
+ if (copySuccessTimer.current) {
71
+ clearTimeout(copySuccessTimer.current);
72
+ }
73
+ },
74
+ []
75
+ );
51
76
  const copyMarkdown = (0, import_react.useCallback)(async () => {
52
77
  var _a;
78
+ if (copyState === "pending") {
79
+ return;
80
+ }
53
81
  analytics.track(import_analytics.CommonAnalyticsEvent.DOCS_COPY_AS_MARKDOWN_CLICK);
54
- const response = await fetch(resolveMarkdownUrl(), {
55
- credentials: "same-origin",
56
- headers: { Accept: "text/markdown" }
57
- });
58
- if (!response.ok || !((_a = response.headers.get("content-type")) == null ? void 0 : _a.includes("text/markdown"))) {
59
- throw new Error(`Failed to load Markdown: ${response.status}`);
82
+ if (copySuccessTimer.current) {
83
+ clearTimeout(copySuccessTimer.current);
84
+ copySuccessTimer.current = void 0;
60
85
  }
61
- await navigator.clipboard.writeText(await response.text());
62
- }, [analytics, resolveMarkdownUrl]);
86
+ setCopyState("pending");
87
+ try {
88
+ const response = await fetch(resolveMarkdownUrl("copy"), {
89
+ credentials: "same-origin",
90
+ headers: { Accept: "text/markdown" }
91
+ });
92
+ if (!response.ok || !((_a = response.headers.get("content-type")) == null ? void 0 : _a.includes("text/markdown"))) {
93
+ throw new Error(`Failed to load Markdown: ${response.status}`);
94
+ }
95
+ await navigator.clipboard.writeText(await response.text());
96
+ setCopyState("success");
97
+ copySuccessTimer.current = setTimeout(() => {
98
+ copySuccessTimer.current = void 0;
99
+ setCopyState("idle");
100
+ }, COPY_SUCCESS_TIMEOUT);
101
+ } catch (e) {
102
+ setCopyState("idle");
103
+ }
104
+ }, [analytics, copyState, resolveMarkdownUrl]);
105
+ const handleCopy = (0, import_react.useCallback)(() => {
106
+ ignoreNextClose.current = mode === "dropdown";
107
+ copyMarkdown();
108
+ }, [copyMarkdown, mode]);
63
109
  const viewMarkdown = (0, import_react.useCallback)(
64
110
  (event) => {
65
111
  analytics.track(import_analytics.CommonAnalyticsEvent.DOCS_VIEW_AS_MARKDOWN_CLICK);
66
112
  if ("nativeEvent" in event) {
67
113
  onClick == null ? void 0 : onClick(event);
68
114
  }
69
- window.open(resolveMarkdownUrl(), "_blank", "noopener,noreferrer");
115
+ window.open(resolveMarkdownUrl("view"), "_blank", "noopener,noreferrer");
70
116
  },
71
117
  [analytics, onClick, resolveMarkdownUrl]
72
118
  );
@@ -74,10 +120,10 @@ var MarkdownControl = ({ mdDocsUrl, onClick }) => {
74
120
  () => [
75
121
  {
76
122
  text: t("copy-as-markdown"),
77
- iconStart: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_uikit.Icon, { data: import_icons.Copy, size: 16 }),
78
- action: () => {
79
- copyMarkdown().catch(() => void 0);
80
- }
123
+ iconStart: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_uikit.Icon, { data: copyState === "success" ? import_icons.SquareCheck : import_icons.Copy, size: 16 }),
124
+ disabled: copyState === "pending",
125
+ className: `dc-markdown-control__copy_${copyState}`,
126
+ action: handleCopy
81
127
  },
82
128
  {
83
129
  text: t("view-in-markdown"),
@@ -85,12 +131,49 @@ var MarkdownControl = ({ mdDocsUrl, onClick }) => {
85
131
  action: viewMarkdown
86
132
  }
87
133
  ],
88
- [copyMarkdown, t, viewMarkdown]
134
+ [copyState, handleCopy, t, viewMarkdown]
89
135
  );
136
+ const handleDropdownToggle = (0, import_react.useCallback)((open) => {
137
+ if (!open && ignoreNextClose.current) {
138
+ ignoreNextClose.current = false;
139
+ return;
140
+ }
141
+ setDropdownOpen(open);
142
+ }, []);
143
+ if (mode === "visible") {
144
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_react.default.Fragment, { children: [
145
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_uikit.ActionTooltip, { title: t("copy-as-markdown"), children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
146
+ import_uikit.Button,
147
+ {
148
+ "aria-label": t("copy-as-markdown"),
149
+ className: `${controlClassName || ""} dc-markdown-control__copy_${copyState}`.trim(),
150
+ size: controlSize,
151
+ view: "flat-secondary",
152
+ disabled: copyState === "pending",
153
+ "data-copy-state": copyState,
154
+ onClick: handleCopy,
155
+ children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_uikit.Button.Icon, { children: copyState === "success" ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_icons.SquareCheck, {}) : /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_icons.Copy, {}) })
156
+ }
157
+ ) }),
158
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_uikit.ActionTooltip, { title: t("view-in-markdown"), children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
159
+ import_uikit.Button,
160
+ {
161
+ "aria-label": t("view-in-markdown"),
162
+ className: controlClassName,
163
+ size: controlSize,
164
+ view: "flat-secondary",
165
+ onClick: viewMarkdown,
166
+ children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_uikit.Button.Icon, { children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_icons.LogoMarkdown, {}) })
167
+ }
168
+ ) })
169
+ ] });
170
+ }
90
171
  return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
91
172
  import_uikit.DropdownMenu,
92
173
  {
93
174
  items,
175
+ open: dropdownOpen,
176
+ onOpenToggle: handleDropdownToggle,
94
177
  size: controlSize,
95
178
  switcherWrapperClassName: controlClassName,
96
179
  defaultSwitcherProps: {
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../src/components/Controls/single-controls/MarkdownControl.tsx"],
4
- "sourcesContent": ["import type {DropdownMenuItem} from '@gravity-ui/uikit';\n\nimport React, {useCallback, useContext, useMemo} from 'react';\nimport {Copy, LogoMarkdown} from '@gravity-ui/icons';\nimport {DropdownMenu, Icon} from '@gravity-ui/uikit';\n\nimport {useTranslation} from '../../../hooks';\nimport {CommonAnalyticsEvent, useAnalytics} from '../../../shared/libs/analytics';\nimport {ControlsLayoutContext} from '../ControlsLayout';\n\nexport function getMarkdownUrl(currentUrl: string) {\n const markdownUrl = new URL(currentUrl);\n\n if (markdownUrl.pathname.endsWith('/')) {\n markdownUrl.pathname += 'index.md';\n } else {\n markdownUrl.pathname = markdownUrl.pathname.replace(/\\.(?:html?|md)$/i, '') + '.md';\n }\n\n return markdownUrl.toString();\n}\n\nexport interface MarkdownControlProps {\n mdDocsUrl?: string;\n onClick?: React.MouseEventHandler<HTMLElement>;\n}\n\nconst MarkdownControl: React.FC<MarkdownControlProps> = ({mdDocsUrl, onClick}) => {\n const {t} = useTranslation('markdown-button');\n const analytics = useAnalytics();\n const {controlClassName, controlSize} = useContext(ControlsLayoutContext);\n const resolveMarkdownUrl = useCallback(\n () => mdDocsUrl || getMarkdownUrl(window.location.href),\n [mdDocsUrl],\n );\n\n const copyMarkdown = useCallback(async () => {\n analytics.track(CommonAnalyticsEvent.DOCS_COPY_AS_MARKDOWN_CLICK);\n\n const response = await fetch(resolveMarkdownUrl(), {\n credentials: 'same-origin',\n headers: {Accept: 'text/markdown'},\n });\n\n if (!response.ok || !response.headers.get('content-type')?.includes('text/markdown')) {\n throw new Error(`Failed to load Markdown: ${response.status}`);\n }\n\n await navigator.clipboard.writeText(await response.text());\n }, [analytics, resolveMarkdownUrl]);\n\n const viewMarkdown = useCallback<NonNullable<DropdownMenuItem<unknown>['action']>>(\n (event) => {\n analytics.track(CommonAnalyticsEvent.DOCS_VIEW_AS_MARKDOWN_CLICK);\n\n if ('nativeEvent' in event) {\n onClick?.(event);\n }\n\n window.open(resolveMarkdownUrl(), '_blank', 'noopener,noreferrer');\n },\n [analytics, onClick, resolveMarkdownUrl],\n );\n\n const items = useMemo<DropdownMenuItem<unknown>[]>(\n () => [\n {\n text: t('copy-as-markdown'),\n iconStart: <Icon data={Copy} size={16} />,\n action: () => {\n copyMarkdown().catch(() => undefined);\n },\n },\n {\n text: t('view-in-markdown'),\n iconStart: <Icon data={LogoMarkdown} size={16} />,\n action: viewMarkdown,\n },\n ],\n [copyMarkdown, t, viewMarkdown],\n );\n\n return (\n <DropdownMenu\n items={items}\n size={controlSize}\n switcherWrapperClassName={controlClassName}\n defaultSwitcherProps={{\n 'aria-label': t('markdown-actions'),\n view: 'flat-secondary',\n }}\n popupProps={{placement: ['bottom-end', 'top-end']}}\n />\n );\n};\n\nexport default MarkdownControl;\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA,mBAAsD;AACtD,mBAAiC;AACjC,mBAAiC;AAEjC,mBAA6B;AAC7B,uBAAiD;AACjD,4BAAoC;AA4DT;AA1DpB,SAAS,eAAe,YAAoB;AAC/C,QAAM,cAAc,IAAI,IAAI,UAAU;AAEtC,MAAI,YAAY,SAAS,SAAS,GAAG,GAAG;AACpC,gBAAY,YAAY;AAAA,EAC5B,OAAO;AACH,gBAAY,WAAW,YAAY,SAAS,QAAQ,oBAAoB,EAAE,IAAI;AAAA,EAClF;AAEA,SAAO,YAAY,SAAS;AAChC;AAOA,IAAM,kBAAkD,CAAC,EAAC,WAAW,QAAO,MAAM;AAC9E,QAAM,EAAC,EAAC,QAAI,6BAAe,iBAAiB;AAC5C,QAAM,gBAAY,+BAAa;AAC/B,QAAM,EAAC,kBAAkB,YAAW,QAAI,yBAAW,2CAAqB;AACxE,QAAM,yBAAqB;AAAA,IACvB,MAAM,aAAa,eAAe,OAAO,SAAS,IAAI;AAAA,IACtD,CAAC,SAAS;AAAA,EACd;AAEA,QAAM,mBAAe,0BAAY,YAAY;AApCjD;AAqCQ,cAAU,MAAM,sCAAqB,2BAA2B;AAEhE,UAAM,WAAW,MAAM,MAAM,mBAAmB,GAAG;AAAA,MAC/C,aAAa;AAAA,MACb,SAAS,EAAC,QAAQ,gBAAe;AAAA,IACrC,CAAC;AAED,QAAI,CAAC,SAAS,MAAM,GAAC,cAAS,QAAQ,IAAI,cAAc,MAAnC,mBAAsC,SAAS,mBAAkB;AAClF,YAAM,IAAI,MAAM,4BAA4B,SAAS,MAAM,EAAE;AAAA,IACjE;AAEA,UAAM,UAAU,UAAU,UAAU,MAAM,SAAS,KAAK,CAAC;AAAA,EAC7D,GAAG,CAAC,WAAW,kBAAkB,CAAC;AAElC,QAAM,mBAAe;AAAA,IACjB,CAAC,UAAU;AACP,gBAAU,MAAM,sCAAqB,2BAA2B;AAEhE,UAAI,iBAAiB,OAAO;AACxB,2CAAU;AAAA,MACd;AAEA,aAAO,KAAK,mBAAmB,GAAG,UAAU,qBAAqB;AAAA,IACrE;AAAA,IACA,CAAC,WAAW,SAAS,kBAAkB;AAAA,EAC3C;AAEA,QAAM,YAAQ;AAAA,IACV,MAAM;AAAA,MACF;AAAA,QACI,MAAM,EAAE,kBAAkB;AAAA,QAC1B,WAAW,4CAAC,qBAAK,MAAM,mBAAM,MAAM,IAAI;AAAA,QACvC,QAAQ,MAAM;AACV,uBAAa,EAAE,MAAM,MAAM,MAAS;AAAA,QACxC;AAAA,MACJ;AAAA,MACA;AAAA,QACI,MAAM,EAAE,kBAAkB;AAAA,QAC1B,WAAW,4CAAC,qBAAK,MAAM,2BAAc,MAAM,IAAI;AAAA,QAC/C,QAAQ;AAAA,MACZ;AAAA,IACJ;AAAA,IACA,CAAC,cAAc,GAAG,YAAY;AAAA,EAClC;AAEA,SACI;AAAA,IAAC;AAAA;AAAA,MACG;AAAA,MACA,MAAM;AAAA,MACN,0BAA0B;AAAA,MAC1B,sBAAsB;AAAA,QAClB,cAAc,EAAE,kBAAkB;AAAA,QAClC,MAAM;AAAA,MACV;AAAA,MACA,YAAY,EAAC,WAAW,CAAC,cAAc,SAAS,EAAC;AAAA;AAAA,EACrD;AAER;AAEA,IAAO,0BAAQ;",
6
- "names": []
4
+ "sourcesContent": ["import type {DropdownMenuItem} from '@gravity-ui/uikit';\nimport type {MarkdownActionsMode} from '../../../contexts/InterfaceContext';\n\nimport React, {useCallback, useContext, useEffect, useMemo, useRef, useState} from 'react';\nimport {Copy, LogoMarkdown, SquareCheck} from '@gravity-ui/icons';\nimport {ActionTooltip, Button, DropdownMenu, Icon} from '@gravity-ui/uikit';\n\nimport {useTranslation} from '../../../hooks';\nimport {CommonAnalyticsEvent, useAnalytics} from '../../../shared/libs/analytics';\nimport {ControlsLayoutContext} from '../ControlsLayout';\n\nimport {type MarkdownAction, getMarkdownUrl, resolveMarkdownActionUrl} from './markdown-url';\n\nconst COPY_SUCCESS_TIMEOUT = 2000;\n\nexport {getMarkdownUrl} from './markdown-url';\n\ntype CopyState = 'idle' | 'pending' | 'success';\n\nexport interface MarkdownControlProps {\n mode?: Exclude<MarkdownActionsMode, 'none'>;\n mdDocsUrl?: string;\n onClick?: React.MouseEventHandler<HTMLElement>;\n}\n\nconst MarkdownControl: React.FC<MarkdownControlProps> = ({\n mode = 'dropdown',\n mdDocsUrl,\n onClick,\n}) => {\n const {t} = useTranslation('markdown-button');\n const analytics = useAnalytics();\n const {controlClassName, controlSize} = useContext(ControlsLayoutContext);\n const [copyState, setCopyState] = useState<CopyState>('idle');\n const [dropdownOpen, setDropdownOpen] = useState(false);\n const ignoreNextClose = useRef(false);\n const copySuccessTimer = useRef<ReturnType<typeof setTimeout> | undefined>(undefined);\n\n const resolveMarkdownUrl = useCallback(\n (action: MarkdownAction) => {\n if (!mdDocsUrl) {\n return getMarkdownUrl(window.location.href, action);\n }\n\n return resolveMarkdownActionUrl(mdDocsUrl, window.location.href, action);\n },\n [mdDocsUrl],\n );\n\n useEffect(\n () => () => {\n if (copySuccessTimer.current) {\n clearTimeout(copySuccessTimer.current);\n }\n },\n [],\n );\n\n const copyMarkdown = useCallback(async () => {\n if (copyState === 'pending') {\n return;\n }\n\n analytics.track(CommonAnalyticsEvent.DOCS_COPY_AS_MARKDOWN_CLICK);\n if (copySuccessTimer.current) {\n clearTimeout(copySuccessTimer.current);\n copySuccessTimer.current = undefined;\n }\n setCopyState('pending');\n\n try {\n const response = await fetch(resolveMarkdownUrl('copy'), {\n credentials: 'same-origin',\n headers: {Accept: 'text/markdown'},\n });\n\n if (!response.ok || !response.headers.get('content-type')?.includes('text/markdown')) {\n throw new Error(`Failed to load Markdown: ${response.status}`);\n }\n\n await navigator.clipboard.writeText(await response.text());\n setCopyState('success');\n\n copySuccessTimer.current = setTimeout(() => {\n copySuccessTimer.current = undefined;\n setCopyState('idle');\n }, COPY_SUCCESS_TIMEOUT);\n } catch {\n setCopyState('idle');\n }\n }, [analytics, copyState, resolveMarkdownUrl]);\n\n const handleCopy = useCallback(() => {\n ignoreNextClose.current = mode === 'dropdown';\n copyMarkdown();\n }, [copyMarkdown, mode]);\n\n const viewMarkdown = useCallback<NonNullable<DropdownMenuItem<unknown>['action']>>(\n (event) => {\n analytics.track(CommonAnalyticsEvent.DOCS_VIEW_AS_MARKDOWN_CLICK);\n\n if ('nativeEvent' in event) {\n onClick?.(event);\n }\n\n window.open(resolveMarkdownUrl('view'), '_blank', 'noopener,noreferrer');\n },\n [analytics, onClick, resolveMarkdownUrl],\n );\n\n const items = useMemo<DropdownMenuItem<unknown>[]>(\n () => [\n {\n text: t('copy-as-markdown'),\n iconStart: <Icon data={copyState === 'success' ? SquareCheck : Copy} size={16} />,\n disabled: copyState === 'pending',\n className: `dc-markdown-control__copy_${copyState}`,\n action: handleCopy,\n },\n {\n text: t('view-in-markdown'),\n iconStart: <Icon data={LogoMarkdown} size={16} />,\n action: viewMarkdown,\n },\n ],\n [copyState, handleCopy, t, viewMarkdown],\n );\n\n const handleDropdownToggle = useCallback((open: boolean) => {\n if (!open && ignoreNextClose.current) {\n ignoreNextClose.current = false;\n return;\n }\n\n setDropdownOpen(open);\n }, []);\n\n if (mode === 'visible') {\n return (\n <React.Fragment>\n <ActionTooltip title={t('copy-as-markdown')}>\n <Button\n aria-label={t('copy-as-markdown')}\n className={`${controlClassName || ''} dc-markdown-control__copy_${copyState}`.trim()}\n size={controlSize}\n view=\"flat-secondary\"\n disabled={copyState === 'pending'}\n data-copy-state={copyState}\n onClick={handleCopy}\n >\n <Button.Icon>\n {copyState === 'success' ? <SquareCheck /> : <Copy />}\n </Button.Icon>\n </Button>\n </ActionTooltip>\n <ActionTooltip title={t('view-in-markdown')}>\n <Button\n aria-label={t('view-in-markdown')}\n className={controlClassName}\n size={controlSize}\n view=\"flat-secondary\"\n onClick={viewMarkdown}\n >\n <Button.Icon>\n <LogoMarkdown />\n </Button.Icon>\n </Button>\n </ActionTooltip>\n </React.Fragment>\n );\n }\n\n return (\n <DropdownMenu\n items={items}\n open={dropdownOpen}\n onOpenToggle={handleDropdownToggle}\n size={controlSize}\n switcherWrapperClassName={controlClassName}\n defaultSwitcherProps={{\n 'aria-label': t('markdown-actions'),\n view: 'flat-secondary',\n }}\n popupProps={{placement: ['bottom-end', 'top-end']}}\n />\n );\n};\n\nexport default MarkdownControl;\n"],
5
+ "mappings": "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",
6
+ "names": ["import_markdown_url", "React"]
7
7
  }
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../../../../../../src/components/Controls/single-controls/SettingsControl/SettingsControl.scss", "../../../../../../src/components/Controls/single-controls/SettingsControl/%3Cinput css btXWP2%3E", "../../../../../../src/styles/mixins.scss"],
3
+ "sources": ["../../../../../../src/components/Controls/single-controls/SettingsControl/SettingsControl.scss", "../../../../../../src/components/Controls/single-controls/SettingsControl/%3Cinput css tuEmc0%3E", "../../../../../../src/styles/mixins.scss"],
4
4
  "sourcesContent": ["@use 'sass:map';\n@use '../../../../styles/mixins';\n@use '../../../../styles/variables';\n\n.dc-settings-control {\n &__text-size-control {\n display: flex;\n align-items: center;\n }\n\n &__text-size-button {\n &_s {\n @include mixins.text-size(body-1);\n }\n &_m {\n @include mixins.text-size(body-2);\n }\n &_l {\n @include mixins.text-size(body-3);\n }\n }\n\n &__text-size-button-icon {\n &_active {\n color: var(--g-color-base-brand);\n }\n }\n\n &__popup {\n width: 230px;\n @include mixins.text-size(body-1);\n }\n\n &__popup-tooltip-content {\n padding: 0;\n }\n\n &__list {\n padding: 4px 0;\n width: 230px;\n\n .g-list__item_active {\n background: transparent;\n }\n }\n\n &__list-icon {\n margin-right: 8px;\n }\n\n &__list-item {\n display: flex;\n padding: 12px;\n width: 100%;\n }\n\n &__list-item-description {\n color: var(--g-color-text-secondary);\n }\n\n &__list-item-control {\n display: flex;\n align-items: center;\n margin-left: auto;\n\n [dir='rtl'] & {\n margin: 0 auto 0 0;\n }\n\n [dir='rtl'] & > label {\n transform: rotate(180deg);\n }\n }\n\n @media (max-width: map.get(variables.$screenBreakpoints, 'md')) {\n &__popup {\n width: 100vw;\n }\n\n &__popup-tooltip {\n position: fixed;\n /* stylelint-disable-next-line declaration-no-important */\n inset: var(--header-height) 0px auto 0px !important;\n /* stylelint-disable-next-line declaration-no-important */\n transform: translate3d(0, 0, 0) !important;\n }\n\n &__popup-tooltip-content {\n max-width: 100%;\n }\n\n &__list {\n width: 100%;\n }\n }\n}\n", ".dc-settings-control__text-size-control {\n display: flex;\n align-items: center;\n}\n.dc-settings-control__text-size-button_s {\n font-size: var(--g-text-body-1-font-size);\n line-height: var(--g-text-body-1-line-height);\n}\n.dc-settings-control__text-size-button_m {\n font-size: var(--g-text-body-2-font-size);\n line-height: var(--g-text-body-2-line-height);\n}\n.dc-settings-control__text-size-button_l {\n font-size: var(--g-text-body-3-font-size);\n line-height: var(--g-text-body-3-line-height);\n}\n.dc-settings-control__text-size-button-icon_active {\n color: var(--g-color-base-brand);\n}\n.dc-settings-control__popup {\n width: 230px;\n font-size: var(--g-text-body-1-font-size);\n line-height: var(--g-text-body-1-line-height);\n}\n.dc-settings-control__popup-tooltip-content {\n padding: 0;\n}\n.dc-settings-control__list {\n padding: 4px 0;\n width: 230px;\n}\n.dc-settings-control__list .g-list__item_active {\n background: transparent;\n}\n.dc-settings-control__list-icon {\n margin-right: 8px;\n}\n.dc-settings-control__list-item {\n display: flex;\n padding: 12px;\n width: 100%;\n}\n.dc-settings-control__list-item-description {\n color: var(--g-color-text-secondary);\n}\n.dc-settings-control__list-item-control {\n display: flex;\n align-items: center;\n margin-left: auto;\n}\n[dir=rtl] .dc-settings-control__list-item-control {\n margin: 0 auto 0 0;\n}\n[dir=rtl] .dc-settings-control__list-item-control > label {\n transform: rotate(180deg);\n}\n@media (max-width: 769px) {\n .dc-settings-control__popup {\n width: 100vw;\n }\n .dc-settings-control__popup-tooltip {\n position: fixed;\n /* stylelint-disable-next-line declaration-no-important */\n inset: var(--header-height) 0px auto 0px !important;\n /* stylelint-disable-next-line declaration-no-important */\n transform: translate3d(0, 0, 0) !important;\n }\n .dc-settings-control__popup-tooltip-content {\n max-width: 100%;\n }\n .dc-settings-control__list {\n width: 100%;\n }\n}\n/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VSb290IjoiL2hvbWUvcnVubmVyL3dvcmsvY29tcG9uZW50cy9jb21wb25lbnRzL3NyYy9jb21wb25lbnRzL0NvbnRyb2xzL3NpbmdsZS1jb250cm9scy9TZXR0aW5nc0NvbnRyb2wiLCJzb3VyY2VzIjpbIlNldHRpbmdzQ29udHJvbC5zY3NzIiwiLi4vLi4vLi4vLi4vc3R5bGVzL21peGlucy5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUtJO0VBQ0k7RUFDQTs7QUFJQTtFQ1BKO0VBQ0E7O0FEU0k7RUNWSjtFQUNBOztBRFlJO0VDYko7RUFDQTs7QURrQkk7RUFDSTs7QUFJUjtFQUNJO0VDekJKO0VBQ0E7O0FENEJBO0VBQ0k7O0FBR0o7RUFDSTtFQUNBOztBQUVBO0VBQ0k7O0FBSVI7RUFDSTs7QUFHSjtFQUNJO0VBQ0E7RUFDQTs7QUFHSjtFQUNJOztBQUdKO0VBQ0k7RUFDQTtFQUNBOztBQUVBO0VBQ0k7O0FBR0o7RUFDSTs7QUFJUjtFQUNJO0lBQ0k7O0VBR0o7SUFDSTtBQUNBO0lBQ0E7QUFDQTtJQUNBOztFQUdKO0lBQ0k7O0VBR0o7SUFDSSIsInNvdXJjZXNDb250ZW50IjpbIkB1c2UgJ3Nhc3M6bWFwJztcbkB1c2UgJy4uLy4uLy4uLy4uL3N0eWxlcy9taXhpbnMnO1xuQHVzZSAnLi4vLi4vLi4vLi4vc3R5bGVzL3ZhcmlhYmxlcyc7XG5cbi5kYy1zZXR0aW5ncy1jb250cm9sIHtcbiAgICAmX190ZXh0LXNpemUtY29udHJvbCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgfVxuXG4gICAgJl9fdGV4dC1zaXplLWJ1dHRvbiB7XG4gICAgICAgICZfcyB7XG4gICAgICAgICAgICBAaW5jbHVkZSBtaXhpbnMudGV4dC1zaXplKGJvZHktMSk7XG4gICAgICAgIH1cbiAgICAgICAgJl9tIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1peGlucy50ZXh0LXNpemUoYm9keS0yKTtcbiAgICAgICAgfVxuICAgICAgICAmX2wge1xuICAgICAgICAgICAgQGluY2x1ZGUgbWl4aW5zLnRleHQtc2l6ZShib2R5LTMpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fdGV4dC1zaXplLWJ1dHRvbi1pY29uIHtcbiAgICAgICAgJl9hY3RpdmUge1xuICAgICAgICAgICAgY29sb3I6IHZhcigtLWctY29sb3ItYmFzZS1icmFuZCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19wb3B1cCB7XG4gICAgICAgIHdpZHRoOiAyMzBweDtcbiAgICAgICAgQGluY2x1ZGUgbWl4aW5zLnRleHQtc2l6ZShib2R5LTEpO1xuICAgIH1cblxuICAgICZfX3BvcHVwLXRvb2x0aXAtY29udGVudCB7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuXG4gICAgJl9fbGlzdCB7XG4gICAgICAgIHBhZGRpbmc6IDRweCAwO1xuICAgICAgICB3aWR0aDogMjMwcHg7XG5cbiAgICAgICAgLmctbGlzdF9faXRlbV9hY3RpdmUge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19saXN0LWljb24ge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDhweDtcbiAgICB9XG5cbiAgICAmX19saXN0LWl0ZW0ge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBwYWRkaW5nOiAxMnB4O1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICAmX19saXN0LWl0ZW0tZGVzY3JpcHRpb24ge1xuICAgICAgICBjb2xvcjogdmFyKC0tZy1jb2xvci10ZXh0LXNlY29uZGFyeSk7XG4gICAgfVxuXG4gICAgJl9fbGlzdC1pdGVtLWNvbnRyb2wge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcblxuICAgICAgICBbZGlyPSdydGwnXSAmIHtcbiAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvIDAgMDtcbiAgICAgICAgfVxuXG4gICAgICAgIFtkaXI9J3J0bCddICYgPiBsYWJlbCB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IG1hcC5nZXQodmFyaWFibGVzLiRzY3JlZW5CcmVha3BvaW50cywgJ21kJykpIHtcbiAgICAgICAgJl9fcG9wdXAge1xuICAgICAgICAgICAgd2lkdGg6IDEwMHZ3O1xuICAgICAgICB9XG5cbiAgICAgICAgJl9fcG9wdXAtdG9vbHRpcCB7XG4gICAgICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICAgICAgICAvKiBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50ICovXG4gICAgICAgICAgICBpbnNldDogdmFyKC0taGVhZGVyLWhlaWdodCkgMHB4IGF1dG8gMHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAvKiBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50ICovXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cblxuICAgICAgICAmX19wb3B1cC10b29sdGlwLWNvbnRlbnQge1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICB9XG5cbiAgICAgICAgJl9fbGlzdCB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIkB1c2UgJ3Nhc3M6bWFwJztcbkB1c2UgJ3ZhcmlhYmxlcyc7XG5cbkBtaXhpbiB0ZXh0LXNpemUoJG5hbWUpIHtcbiAgICBmb250LXNpemU6IHZhcigtLWctdGV4dC0jeyRuYW1lfS1mb250LXNpemUpO1xuICAgIGxpbmUtaGVpZ2h0OiB2YXIoLS1nLXRleHQtI3skbmFtZX0tbGluZS1oZWlnaHQpO1xufVxuXG5AbWl4aW4gcmVzZXQtbGlzdC1zdHlsZSgpIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xufVxuXG5AbWl4aW4gZml4QW5jaG9yUG9zaXRpb24oJG9mZnNldDogMHB4KSB7XG4gICAgcGFkZGluZy10b3A6IGNhbGModmFyKC0tZGMtaGVhZGVyLWhlaWdodCwgI3t2YXJpYWJsZXMuJGhlYWRlckhlaWdodH0pKTtcbiAgICBtYXJnaW4tdG9wOiBjYWxjKCN7JG9mZnNldH0gLSB2YXIoLS1kYy1oZWFkZXItaGVpZ2h0LCAje3ZhcmlhYmxlcy4kaGVhZGVySGVpZ2h0fSkpO1xufVxuXG5AbWl4aW4gcmVzZXQtbGluay1zdHlsZSgpIHtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbkBtaXhpbiBpc2xhbmRzLWZvY3VzKCkge1xuICAgIG91dGxpbmU6IG5vbmU7XG5cbiAgICAudXRpbGl0eWZvY3VzICY6Zm9jdXMge1xuICAgICAgICBvdXRsaW5lOiAycHggc29saWQgI2ZmZGI0ZDtcbiAgICB9XG59XG5cbkBtaXhpbiBmb2N1c2FibGUoJG9mZnNldDogMCwgJG1vZGU6ICdvdXRsaW5lJykge1xuICAgIEBpZiAkbW9kZSA9PSAnb3V0bGluZScge1xuICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgIG91dGxpbmU6IDJweCBzb2xpZCB2YXIoLS1nLWNvbG9yLWxpbmUtZm9jdXMpO1xuICAgICAgICAgICAgb3V0bGluZS1vZmZzZXQ6ICRvZmZzZXQ7XG4gICAgICAgIH1cbiAgICAgICAgJjpmb2N1czpub3QoOmZvY3VzLXZpc2libGUpIHtcbiAgICAgICAgICAgIG91dGxpbmU6IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAaWYgJG1vZGUgPT0gJ2JveC1zaGFkb3cnIHtcbiAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAycHggdmFyKC0tZy1jb2xvci1saW5lLWZvY3VzKTtcbiAgICAgICAgICAgIG91dGxpbmU6IDA7XG4gICAgICAgIH1cbiAgICAgICAgJjpmb2N1czpub3QoOmZvY3VzLXZpc2libGUpIHtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBtaXhpbiBsaW5rKCkge1xuICAgIGNvbG9yOiB2YXIoLS1nLWNvbG9yLXRleHQtbGluayk7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1nLWZvY3VzLWJvcmRlci1yYWRpdXMpO1xuXG4gICAgQGluY2x1ZGUgaXNsYW5kcy1mb2N1cygpO1xuXG4gICAgQGluY2x1ZGUgZm9jdXNhYmxlKDAsICdib3gtc2hhZG93Jyk7XG5cbiAgICAmOmhvdmVyLFxuICAgICY6YWN0aXZlIHtcbiAgICAgICAgY29sb3I6IHZhcigtLWctY29sb3ItdGV4dC1saW5rLWhvdmVyKTtcbiAgICB9XG59XG5cbkBtaXhpbiBoZWFkaW5nMSgpIHtcbiAgICBmb250LXdlaWdodDogNTAwO1xuXG4gICAgQGluY2x1ZGUgdGV4dC1zaXplKGRpc3BsYXktMyk7XG5cbiAgICBAbWVkaWEgKG1heC13aWR0aDogbWFwLmdldCh2YXJpYWJsZXMuJHNjcmVlbkJyZWFrcG9pbnRzLCAnbWQnKSAtIDEpIHtcbiAgICAgICAgQGluY2x1ZGUgdGV4dC1zaXplKGRpc3BsYXktMik7XG4gICAgfVxufVxuXG5AbWl4aW4gaGVhZGluZzIoKSB7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcblxuICAgIEBpbmNsdWRlIHRleHQtc2l6ZShkaXNwbGF5LTEpO1xufVxuXG5AbWl4aW4gaGVhZGluZzMoKSB7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcblxuICAgIEBpbmNsdWRlIHRleHQtc2l6ZShoZWFkZXItMik7XG59XG5cbkBtaXhpbiBoZWFkaW5nNCgpIHtcbiAgICBmb250LXdlaWdodDogNTAwO1xuXG4gICAgQGluY2x1ZGUgdGV4dC1zaXplKGhlYWRlci0xKTtcbn1cblxuQG1peGluIGhlYWRpbmc1KCkge1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG5cbiAgICBAaW5jbHVkZSB0ZXh0LXNpemUoYm9keS0zKTtcbn1cblxuQG1peGluIGhlYWRpbmc2KCkge1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG5cbiAgICBAaW5jbHVkZSB0ZXh0LXNpemUoYm9keS0zKTtcbn1cblxuQG1peGluIGNvbnRyaWJ1dG9ycy10ZXh0KCkge1xuICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIG1hcmdpbi1yaWdodDogNXB4O1xuICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcbn1cblxuQG1peGluIHRleHQtYm9keS0xKCkge1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZy10ZXh0LWJvZHktMS1mb250LXNpemUpO1xuICAgIGxpbmUtaGVpZ2h0OiB2YXIoLS1nLXRleHQtYm9keS0xLWxpbmUtaGVpZ2h0KTtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZy10ZXh0LWJvZHktZm9udC13ZWlnaHQpO1xufVxuXG5AbWl4aW4gZGVza3RvcC1vbmx5KCkge1xuICAgIEBtZWRpYSAobWF4LXdpZHRoOiBtYXAuZ2V0KHZhcmlhYmxlcy4kc2NyZWVuQnJlYWtwb2ludHMsICdtZCcpIC0gMSkge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbn1cblxuQG1peGluIGRlc2t0b3AtdGFibGV0LW9ubHkoKSB7XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IG1hcC5nZXQodmFyaWFibGVzLiRzY3JlZW5CcmVha3BvaW50cywgJ3NtJykgLSAxKSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxufVxuXG5AbWl4aW4gbW9iaWxlLXRhYmxldC1vbmx5KCkge1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiBtYXAuZ2V0KHZhcmlhYmxlcy4kc2NyZWVuQnJlYWtwb2ludHMsICdtZCcpKSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxufVxuXG5AbWl4aW4gbW9iaWxlLW9ubHkoKSB7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IG1hcC5nZXQodmFyaWFibGVzLiRzY3JlZW5CcmVha3BvaW50cywgJ3NtJykpIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG59XG5cbkBtaXhpbiBncmF2aXR5LXVpLXRleHQtc2l6ZXMoJGRlbHRhKSB7XG4gICAgLS1nLXRleHQtYm9keS0xLWZvbnQtc2l6ZTogI3sxM3B4ICsgJGRlbHRhfTtcbiAgICAtLWctdGV4dC1ib2R5LTEtbGluZS1oZWlnaHQ6ICN7MThweCArICRkZWx0YX07XG4gICAgLS1nLXRleHQtYm9keS0yLWZvbnQtc2l6ZTogI3sxNXB4ICsgJGRlbHRhfTtcbiAgICAtLWctdGV4dC1ib2R5LTItbGluZS1oZWlnaHQ6ICN7MjBweCArICRkZWx0YX07XG4gICAgLS1nLXRleHQtYm9keS0zLWZvbnQtc2l6ZTogI3sxN3B4ICsgJGRlbHRhfTtcbiAgICAtLWctdGV4dC1ib2R5LTMtbGluZS1oZWlnaHQ6ICN7MjRweCArICRkZWx0YX07XG4gICAgLS1nLXRleHQtYm9keS1zaG9ydC1mb250LXNpemU6ICN7MTNweCArICRkZWx0YX07XG4gICAgLS1nLXRleHQtY2FwdGlvbi0xLWZvbnQtc2l6ZTogI3s5cHggKyAkZGVsdGF9O1xuICAgIC0tZy10ZXh0LWNhcHRpb24tMi1mb250LXNpemU6ICN7MTFweCArICRkZWx0YX07XG4gICAgLS1nLXRleHQtaGVhZGVyLTEtZm9udC1zaXplOiAjezIwcHggKyAkZGVsdGF9O1xuICAgIC0tZy10ZXh0LWhlYWRlci0yLWZvbnQtc2l6ZTogI3syNHB4ICsgJGRlbHRhfTtcbiAgICAtLWctdGV4dC1zdWJoZWFkZXItMS1mb250LXNpemU6ICN7MTNweCArICRkZWx0YX07XG4gICAgLS1nLXRleHQtc3ViaGVhZGVyLTItZm9udC1zaXplOiAjezE1cHggKyAkZGVsdGF9O1xuICAgIC0tZy10ZXh0LXN1YmhlYWRlci0zLWZvbnQtc2l6ZTogI3sxN3B4ICsgJGRlbHRhfTtcbiAgICAtLWctdGV4dC1kaXNwbGF5LTEtZm9udC1zaXplOiAjezI4cHggKyAkZGVsdGF9O1xuICAgIC0tZy10ZXh0LWRpc3BsYXktMi1mb250LXNpemU6ICN7MzJweCArICRkZWx0YX07XG4gICAgLS1nLXRleHQtZGlzcGxheS0zLWZvbnQtc2l6ZTogI3s0MHB4ICsgJGRlbHRhfTtcbiAgICAtLWctdGV4dC1kaXNwbGF5LTQtZm9udC1zaXplOiAjezQ4cHggKyAkZGVsdGF9O1xuICAgIC0tZy10ZXh0LWNvZGUtMS1mb250LXNpemU6ICN7MTJweCArICRkZWx0YX07XG4gICAgLS1nLXRleHQtY29kZS0yLWZvbnQtc2l6ZTogI3sxNHB4ICsgJGRlbHRhfTtcbiAgICAtLWctdGV4dC1jb2RlLTMtZm9udC1zaXplOiAjezE2cHggKyAkZGVsdGF9O1xuICAgIC0tZy10ZXh0LWNvZGUtaW5saW5lLTEtZm9udC1zaXplOiAjezEycHggKyAkZGVsdGF9O1xuICAgIC0tZy10ZXh0LWNvZGUtaW5saW5lLTItZm9udC1zaXplOiAjezE0cHggKyAkZGVsdGF9O1xuICAgIC0tZy10ZXh0LWNvZGUtaW5saW5lLTMtZm9udC1zaXplOiAjezE2cHggKyAkZGVsdGF9O1xuXG4gICAgLS15Zm0tZm9udC1zaXplOiB2YXIoLS1nLXRleHQtYm9keS0yLWZvbnQtc2l6ZSk7XG4gICAgLS15Zm0tZm9udC1saW5lLWhlaWdodDogdmFyKC0tZy10ZXh0LWJvZHktMi1saW5lLWhlaWdodCk7XG4gICAgLS15Zm0tZm9udC1zaXplLWgyOiB2YXIoLS1nLXRleHQtaGVhZGVyLTItZm9udC1zaXplKTtcbiAgICAtLXlmbS1mb250LXNpemUtaDM6IHZhcigtLWctdGV4dC1oZWFkZXItMS1mb250LXNpemUpO1xuICAgIC0teWZtLWZvbnQtc2l6ZS1oNDogdmFyKC0tZy10ZXh0LXN1YmhlYWRlci0zLWZvbnQtc2l6ZSk7XG4gICAgLS15Zm0tZm9udC1zaXplLWg1OiB2YXIoLS1nLXRleHQtc3ViaGVhZGVyLTItZm9udC1zaXplKTtcbiAgICAtLXlmbS1mb250LXNpemUtaDY6IHZhcigtLWctdGV4dC1zdWJoZWFkZXItMS1mb250LXNpemUpO1xufVxuIl19 */", "@use 'sass:map';\n@use 'variables';\n\n@mixin text-size($name) {\n font-size: var(--g-text-#{$name}-font-size);\n line-height: var(--g-text-#{$name}-line-height);\n}\n\n@mixin reset-list-style() {\n margin: 0;\n padding: 0;\n list-style: none;\n}\n\n@mixin fixAnchorPosition($offset: 0px) {\n padding-top: calc(var(--dc-header-height, #{variables.$headerHeight}));\n margin-top: calc(#{$offset} - var(--dc-header-height, #{variables.$headerHeight}));\n}\n\n@mixin reset-link-style() {\n color: inherit;\n text-decoration: none;\n}\n\n@mixin islands-focus() {\n outline: none;\n\n .utilityfocus &:focus {\n outline: 2px solid #ffdb4d;\n }\n}\n\n@mixin focusable($offset: 0, $mode: 'outline') {\n @if $mode == 'outline' {\n &:focus {\n outline: 2px solid var(--g-color-line-focus);\n outline-offset: $offset;\n }\n &:focus:not(:focus-visible) {\n outline: 0;\n }\n }\n\n @if $mode == 'box-shadow' {\n &:focus {\n box-shadow: 0 0 0 2px var(--g-color-line-focus);\n outline: 0;\n }\n &:focus:not(:focus-visible) {\n box-shadow: none;\n }\n }\n}\n\n@mixin link() {\n color: var(--g-color-text-link);\n text-decoration: none;\n cursor: pointer;\n border-radius: var(--g-focus-border-radius);\n\n @include islands-focus();\n\n @include focusable(0, 'box-shadow');\n\n &:hover,\n &:active {\n color: var(--g-color-text-link-hover);\n }\n}\n\n@mixin heading1() {\n font-weight: 500;\n\n @include text-size(display-3);\n\n @media (max-width: map.get(variables.$screenBreakpoints, 'md') - 1) {\n @include text-size(display-2);\n }\n}\n\n@mixin heading2() {\n font-weight: 500;\n\n @include text-size(display-1);\n}\n\n@mixin heading3() {\n font-weight: 500;\n\n @include text-size(header-2);\n}\n\n@mixin heading4() {\n font-weight: 500;\n\n @include text-size(header-1);\n}\n\n@mixin heading5() {\n font-weight: 500;\n\n @include text-size(body-3);\n}\n\n@mixin heading6() {\n font-weight: 400;\n\n @include text-size(body-3);\n}\n\n@mixin contributors-text() {\n font-size: 13px;\n font-weight: 400;\n margin-right: 5px;\n align-self: center;\n}\n\n@mixin text-body-1() {\n font-size: var(--g-text-body-1-font-size);\n line-height: var(--g-text-body-1-line-height);\n font-weight: var(--g-text-body-font-weight);\n}\n\n@mixin desktop-only() {\n @media (max-width: map.get(variables.$screenBreakpoints, 'md') - 1) {\n display: none;\n }\n}\n\n@mixin desktop-tablet-only() {\n @media (max-width: map.get(variables.$screenBreakpoints, 'sm') - 1) {\n display: none;\n }\n}\n\n@mixin mobile-tablet-only() {\n @media (min-width: map.get(variables.$screenBreakpoints, 'md')) {\n display: none;\n }\n}\n\n@mixin mobile-only() {\n @media (min-width: map.get(variables.$screenBreakpoints, 'sm')) {\n display: none;\n }\n}\n\n@mixin gravity-ui-text-sizes($delta) {\n --g-text-body-1-font-size: #{13px + $delta};\n --g-text-body-1-line-height: #{18px + $delta};\n --g-text-body-2-font-size: #{15px + $delta};\n --g-text-body-2-line-height: #{20px + $delta};\n --g-text-body-3-font-size: #{17px + $delta};\n --g-text-body-3-line-height: #{24px + $delta};\n --g-text-body-short-font-size: #{13px + $delta};\n --g-text-caption-1-font-size: #{9px + $delta};\n --g-text-caption-2-font-size: #{11px + $delta};\n --g-text-header-1-font-size: #{20px + $delta};\n --g-text-header-2-font-size: #{24px + $delta};\n --g-text-subheader-1-font-size: #{13px + $delta};\n --g-text-subheader-2-font-size: #{15px + $delta};\n --g-text-subheader-3-font-size: #{17px + $delta};\n --g-text-display-1-font-size: #{28px + $delta};\n --g-text-display-2-font-size: #{32px + $delta};\n --g-text-display-3-font-size: #{40px + $delta};\n --g-text-display-4-font-size: #{48px + $delta};\n --g-text-code-1-font-size: #{12px + $delta};\n --g-text-code-2-font-size: #{14px + $delta};\n --g-text-code-3-font-size: #{16px + $delta};\n --g-text-code-inline-1-font-size: #{12px + $delta};\n --g-text-code-inline-2-font-size: #{14px + $delta};\n --g-text-code-inline-3-font-size: #{16px + $delta};\n\n --yfm-font-size: var(--g-text-body-2-font-size);\n --yfm-font-line-height: var(--g-text-body-2-line-height);\n --yfm-font-size-h2: var(--g-text-header-2-font-size);\n --yfm-font-size-h3: var(--g-text-header-1-font-size);\n --yfm-font-size-h4: var(--g-text-subheader-3-font-size);\n --yfm-font-size-h5: var(--g-text-subheader-2-font-size);\n --yfm-font-size-h6: var(--g-text-subheader-1-font-size);\n}\n"],
5
5
  "mappings": ";AAKI,CAAA;AACI,WAAA;AACA,eAAA;ACJR;ADQQ,CAAA;AEPJ,aAAA,IAAA;AACA,eAAA,IAAA;ADEJ;ADOQ,CAAA;AEVJ,aAAA,IAAA;AACA,eAAA,IAAA;ADMJ;ADMQ,CAAA;AEbJ,aAAA,IAAA;AACA,eAAA,IAAA;ADUJ;ADQQ,CAAA;AACI,SAAA,IAAA;ACNZ;ADUI,CAAA;AACI,SAAA;AEzBJ,aAAA,IAAA;AACA,eAAA,IAAA;ADkBJ;ADUI,CAAA;AACI,WAAA;ACRR;ADWI,CAAA;AACI,WAAA,IAAA;AACA,SAAA;ACTR;ADWQ,CAJJ,0BAII,CAAA;AACI,cAAA;ACTZ;ADaI,CAAA;AACI,gBAAA;ACXR;ADcI,CAAA;AACI,WAAA;AACA,WAAA;AACA,SAAA;ACZR;ADeI,CAAA;AACI,SAAA,IAAA;ACbR;ADgBI,CAAA;AACI,WAAA;AACA,eAAA;AACA,eAAA;ACdR;ADgBQ,CAAA,SAAA,CALJ;AAMQ,UAAA,EAAA,KAAA,EAAA;ACdZ;ADiBQ,CAAA,SAAA,CATJ,uCASI,EAAA;AACI,aAAA,OAAA;ACfZ;ADmBI,QAAA,WAAA;AACI,GA/CJ;AAgDQ,WAAA;ACjBV;ADoBM,GAAA;AACI,cAAA;AAEA,SAAA,IAAA;AAAA,WAAA;AAAA,YAAA;AAAA,UAAA;AAEA,eAAA,YAAA,CAAA,EAAA,CAAA,EAAA;AClBV;ADqBM,GAtDJ;AAuDQ,eAAA;ACnBV;ADsBM,GAtDJ;AAuDQ,WAAA;ACpBV;AACF;",
6
6
  "names": []
@@ -0,0 +1,4 @@
1
+ export type MarkdownAction = 'copy' | 'view';
2
+ export declare function setMarkdownAction(url: URL, action: MarkdownAction): string;
3
+ export declare function resolveMarkdownActionUrl(sourceUrl: string, baseUrl: string, action: MarkdownAction): string;
4
+ export declare function getMarkdownUrl(currentUrl: string, action?: MarkdownAction): string;
@@ -0,0 +1,56 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+
20
+ // src/components/Controls/single-controls/markdown-url.ts
21
+ var markdown_url_exports = {};
22
+ __export(markdown_url_exports, {
23
+ getMarkdownUrl: () => getMarkdownUrl,
24
+ resolveMarkdownActionUrl: () => resolveMarkdownActionUrl,
25
+ setMarkdownAction: () => setMarkdownAction
26
+ });
27
+ module.exports = __toCommonJS(markdown_url_exports);
28
+ var COPY_ACTION_QUERY_PARAM = "__mdAction";
29
+ function setMarkdownAction(url, action) {
30
+ url.hash = "";
31
+ if (action === "copy") {
32
+ url.searchParams.set(COPY_ACTION_QUERY_PARAM, action);
33
+ } else {
34
+ url.searchParams.delete(COPY_ACTION_QUERY_PARAM);
35
+ }
36
+ return url.toString();
37
+ }
38
+ function resolveMarkdownActionUrl(sourceUrl, baseUrl, action) {
39
+ const markdownUrl = new URL(sourceUrl, baseUrl);
40
+ const resolvedUrl = setMarkdownAction(markdownUrl, action);
41
+ if (/^[a-z][a-z\d+.-]*:/iu.test(sourceUrl)) {
42
+ return resolvedUrl;
43
+ }
44
+ const [relativePath] = sourceUrl.split(/[?#]/u, 1);
45
+ return `${relativePath}${markdownUrl.search}`;
46
+ }
47
+ function getMarkdownUrl(currentUrl, action = "view") {
48
+ const markdownUrl = new URL(currentUrl);
49
+ if (markdownUrl.pathname.endsWith("/")) {
50
+ markdownUrl.pathname += "index.md";
51
+ } else {
52
+ markdownUrl.pathname = markdownUrl.pathname.replace(/\.(?:html?|md)$/i, "") + ".md";
53
+ }
54
+ return setMarkdownAction(markdownUrl, action);
55
+ }
56
+ //# sourceMappingURL=markdown-url.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../src/components/Controls/single-controls/markdown-url.ts"],
4
+ "sourcesContent": ["export type MarkdownAction = 'copy' | 'view';\n\nconst COPY_ACTION_QUERY_PARAM = '__mdAction';\n\nexport function setMarkdownAction(url: URL, action: MarkdownAction) {\n url.hash = '';\n\n if (action === 'copy') {\n url.searchParams.set(COPY_ACTION_QUERY_PARAM, action);\n } else {\n url.searchParams.delete(COPY_ACTION_QUERY_PARAM);\n }\n\n return url.toString();\n}\n\nexport function resolveMarkdownActionUrl(\n sourceUrl: string,\n baseUrl: string,\n action: MarkdownAction,\n) {\n const markdownUrl = new URL(sourceUrl, baseUrl);\n const resolvedUrl = setMarkdownAction(markdownUrl, action);\n\n if (/^[a-z][a-z\\d+.-]*:/iu.test(sourceUrl)) {\n return resolvedUrl;\n }\n\n const [relativePath] = sourceUrl.split(/[?#]/u, 1);\n\n return `${relativePath}${markdownUrl.search}`;\n}\n\nexport function getMarkdownUrl(currentUrl: string, action: MarkdownAction = 'view') {\n const markdownUrl = new URL(currentUrl);\n\n if (markdownUrl.pathname.endsWith('/')) {\n markdownUrl.pathname += 'index.md';\n } else {\n markdownUrl.pathname = markdownUrl.pathname.replace(/\\.(?:html?|md)$/i, '') + '.md';\n }\n\n return setMarkdownAction(markdownUrl, action);\n}\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA,IAAM,0BAA0B;AAEzB,SAAS,kBAAkB,KAAU,QAAwB;AAChE,MAAI,OAAO;AAEX,MAAI,WAAW,QAAQ;AACnB,QAAI,aAAa,IAAI,yBAAyB,MAAM;AAAA,EACxD,OAAO;AACH,QAAI,aAAa,OAAO,uBAAuB;AAAA,EACnD;AAEA,SAAO,IAAI,SAAS;AACxB;AAEO,SAAS,yBACZ,WACA,SACA,QACF;AACE,QAAM,cAAc,IAAI,IAAI,WAAW,OAAO;AAC9C,QAAM,cAAc,kBAAkB,aAAa,MAAM;AAEzD,MAAI,uBAAuB,KAAK,SAAS,GAAG;AACxC,WAAO;AAAA,EACX;AAEA,QAAM,CAAC,YAAY,IAAI,UAAU,MAAM,SAAS,CAAC;AAEjD,SAAO,GAAG,YAAY,GAAG,YAAY,MAAM;AAC/C;AAEO,SAAS,eAAe,YAAoB,SAAyB,QAAQ;AAChF,QAAM,cAAc,IAAI,IAAI,UAAU;AAEtC,MAAI,YAAY,SAAS,SAAS,GAAG,GAAG;AACpC,gBAAY,YAAY;AAAA,EAC5B,OAAO;AACH,gBAAY,WAAW,YAAY,SAAS,QAAQ,oBAAoB,EAAE,IAAI;AAAA,EAClF;AAEA,SAAO,kBAAkB,aAAa,MAAM;AAChD;",
6
+ "names": []
7
+ }
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../../../../src/components/DocLayout/DocLayout.scss", "../../../../src/components/DocLayout/%3Cinput css Z5vTrG%3E", "../../../../src/styles/mixins.scss", "../../../../node_modules/@gravity-ui/uikit/styles/mixins.scss"],
3
+ "sources": ["../../../../src/components/DocLayout/DocLayout.scss", "../../../../src/components/DocLayout/%3Cinput css Xn-jzN%3E", "../../../../src/styles/mixins.scss", "../../../../node_modules/@gravity-ui/uikit/styles/mixins.scss"],
4
4
  "sourcesContent": ["@use 'sass:map';\n@use '@gravity-ui/uikit/styles/mixins' as gravityMixins;\n@use '../../styles/variables';\n@use '../../styles/mixins';\n\n.dc-doc-layout {\n display: flex;\n align-items: center;\n margin: 0 auto;\n height: 100%;\n background: var(--g-color-base-background);\n\n @media (max-width: map.get(variables.$screenBreakpoints, 'md') - 1) {\n align-items: normal;\n }\n\n &__left,\n &__right {\n order: 3;\n flex: 0 0 auto;\n box-sizing: content-box;\n }\n\n &__right {\n width: 176px;\n padding-right: 24px;\n &_full-screen,\n &_hidden-right {\n flex: initial;\n }\n }\n\n &__left {\n order: 1;\n width: 276px;\n transition: width 150ms ease-out;\n\n @media (prefers-reduced-motion: reduce) {\n transition: none;\n }\n\n &_full-screen {\n flex: initial;\n }\n\n &_toc-collapsed {\n width: 56px;\n }\n }\n\n &__center {\n order: 2;\n flex: 1 1 auto;\n position: relative;\n min-width: 0;\n\n &#{&}_hidden-right#{&}_regular-page-width:not(#{&}_full-screen) {\n max-width: calc(736px + 176px / 2);\n }\n\n &_full-screen {\n flex: 0 0 auto;\n width: 100%;\n }\n\n &_loading {\n height: calc(100vh - var(--dc-header-height, #{variables.$headerHeight}));\n overflow: hidden;\n }\n }\n\n &__toc {\n position: fixed;\n z-index: 100;\n top: var(--dc-header-height, #{variables.$headerHeight});\n padding-left: 24px;\n width: 252px;\n box-sizing: content-box;\n background-color: var(--g-color-base-background);\n @include mixins.text-size(body-1);\n\n &_collapsible {\n display: flex;\n flex-direction: column;\n height: calc(100vh - var(--dc-header-height, #{variables.$headerHeight}));\n border-right: 1px solid var(--g-color-line-generic);\n\n > .dc-toc {\n flex: 1 1 auto;\n min-height: 0;\n height: auto;\n border-right: none;\n }\n }\n\n &_toc-collapsed {\n width: 56px;\n padding-left: 0;\n\n > .dc-toc {\n display: none;\n }\n }\n }\n\n &__toc-collapse-button {\n --_--focus-outline-color: var(--g-color-line-focus);\n --_--focus-outline-offset: 0;\n\n @include gravityMixins.button-reset();\n\n flex: 0 0 auto;\n min-height: 20px;\n width: calc(100% + 24px);\n margin-left: -24px;\n display: flex;\n align-items: center;\n justify-content: center;\n position: relative;\n box-sizing: content-box;\n\n &::before {\n content: '';\n position: absolute;\n z-index: -1;\n inset: 0 2px 2px;\n }\n\n &:focus-visible::before {\n outline: var(--_--focus-outline-color) solid 2px;\n outline-offset: var(--_--focus-outline-offset);\n }\n\n &:not(&_collapsed) &-icon {\n transform: rotate(180deg);\n }\n\n &:hover &-icon {\n color: var(--g-color-text-primary);\n }\n\n &_collapsed {\n width: 100%;\n margin-left: 0;\n margin-top: auto;\n }\n\n &-icon {\n color: var(--g-color-text-secondary);\n }\n }\n\n &__desktop-only {\n .mobile & {\n display: none;\n }\n }\n\n &__mobile-only {\n .desktop & {\n display: none;\n }\n }\n\n @media (max-width: map.get(variables.$screenBreakpoints, 'md') - 1) {\n flex-direction: column-reverse;\n\n &__right {\n position: sticky;\n top: calc(var(--dc-header-height, #{variables.$headerHeight}));\n left: 0;\n z-index: 118;\n\n height: fit-content;\n width: 100%;\n padding: 0;\n }\n\n &__left {\n position: fixed;\n top: calc(\n var(--dc-header-height, #{variables.$headerHeight}) +\n var(--dc-subnavigation-height, #{variables.$subNavigationHeight}) + 1px\n );\n left: calc(0px - 105vw);\n z-index: 119;\n\n box-sizing: border-box;\n max-height: calc(\n 100vh - var(--dc-header-height, #{variables.$headerHeight}) - var(\n --dc-subnavigation-height,\n #{variables.$subNavigationHeight}\n ) +\n 1px\n );\n height: 100%;\n width: 100vw;\n\n padding: 0;\n\n background-color: var(--g-color-base-background, #fff);\n border-right: 1px solid var(--g-color-line-generic, #0000001a);\n\n transition: left 300ms 0ms;\n\n &_visible {\n left: 0;\n\n body:has(&) {\n overflow-y: hidden;\n }\n }\n }\n\n &__legacy-toc {\n position: static;\n left: auto;\n width: 100%;\n max-height: none;\n\n border-right: none;\n }\n\n &__toc {\n position: static;\n width: 100%;\n height: 100%;\n padding: 0;\n border-right: none;\n\n @include mixins.text-size(body-2);\n\n .dc-toc {\n /* stylelint-disable-next-line declaration-no-important */\n height: 100% !important;\n }\n\n &_toc-collapsed > .dc-toc {\n display: flex;\n }\n }\n\n &__toc-collapse-button {\n display: none;\n }\n }\n\n @media screen and (min-width: 1280px) {\n &__center &#{&}_hidden-right#{&}_regular-page-width:not(#{&}_full-screen) {\n max-width: calc(736px + 200px / 2);\n }\n\n &__right {\n width: 200px;\n }\n\n &__toc {\n width: 252px;\n\n &_toc-collapsed {\n width: 56px;\n }\n }\n\n &__left {\n width: 276px;\n\n &_toc-collapsed {\n width: 56px;\n }\n }\n }\n}\n", ".dc-doc-layout {\n display: flex;\n align-items: center;\n margin: 0 auto;\n height: 100%;\n background: var(--g-color-base-background);\n}\n@media (max-width: 768px) {\n .dc-doc-layout {\n align-items: normal;\n }\n}\n.dc-doc-layout__left, .dc-doc-layout__right {\n order: 3;\n flex: 0 0 auto;\n box-sizing: content-box;\n}\n.dc-doc-layout__right {\n width: 176px;\n padding-right: 24px;\n}\n.dc-doc-layout__right_full-screen, .dc-doc-layout__right_hidden-right {\n flex: initial;\n}\n.dc-doc-layout__left {\n order: 1;\n width: 276px;\n transition: width 150ms ease-out;\n}\n@media (prefers-reduced-motion: reduce) {\n .dc-doc-layout__left {\n transition: none;\n }\n}\n.dc-doc-layout__left_full-screen {\n flex: initial;\n}\n.dc-doc-layout__left_toc-collapsed {\n width: 56px;\n}\n.dc-doc-layout__center {\n order: 2;\n flex: 1 1 auto;\n position: relative;\n min-width: 0;\n}\n.dc-doc-layout__center.dc-doc-layout__center_hidden-right.dc-doc-layout__center_regular-page-width:not(.dc-doc-layout__center_full-screen) {\n max-width: 824px;\n}\n.dc-doc-layout__center_full-screen {\n flex: 0 0 auto;\n width: 100%;\n}\n.dc-doc-layout__center_loading {\n height: calc(100vh - var(--dc-header-height, 0px));\n overflow: hidden;\n}\n.dc-doc-layout__toc {\n position: fixed;\n z-index: 100;\n top: var(--dc-header-height, 0px);\n padding-left: 24px;\n width: 252px;\n box-sizing: content-box;\n background-color: var(--g-color-base-background);\n font-size: var(--g-text-body-1-font-size);\n line-height: var(--g-text-body-1-line-height);\n}\n.dc-doc-layout__toc_collapsible {\n display: flex;\n flex-direction: column;\n height: calc(100vh - var(--dc-header-height, 0px));\n border-right: 1px solid var(--g-color-line-generic);\n}\n.dc-doc-layout__toc_collapsible > .dc-toc {\n flex: 1 1 auto;\n min-height: 0;\n height: auto;\n border-right: none;\n}\n.dc-doc-layout__toc_toc-collapsed {\n width: 56px;\n padding-left: 0;\n}\n.dc-doc-layout__toc_toc-collapsed > .dc-toc {\n display: none;\n}\n.dc-doc-layout__toc-collapse-button {\n --_--focus-outline-color: var(--g-color-line-focus);\n --_--focus-outline-offset: 0;\n padding: 0;\n font-family: var(--g-text-body-font-family);\n font-size: inherit;\n font-weight: var(--g-text-body-font-weight);\n color: inherit;\n background: none;\n border: none;\n outline: none;\n cursor: pointer;\n flex: 0 0 auto;\n min-height: 20px;\n width: calc(100% + 24px);\n margin-left: -24px;\n display: flex;\n align-items: center;\n justify-content: center;\n position: relative;\n box-sizing: content-box;\n}\n.dc-doc-layout__toc-collapse-button::before {\n content: \"\";\n position: absolute;\n z-index: -1;\n inset: 0 2px 2px;\n}\n.dc-doc-layout__toc-collapse-button:focus-visible::before {\n outline: var(--_--focus-outline-color) solid 2px;\n outline-offset: var(--_--focus-outline-offset);\n}\n.dc-doc-layout__toc-collapse-button:not(.dc-doc-layout__toc-collapse-button_collapsed) .dc-doc-layout__toc-collapse-button-icon {\n transform: rotate(180deg);\n}\n.dc-doc-layout__toc-collapse-button:hover .dc-doc-layout__toc-collapse-button-icon {\n color: var(--g-color-text-primary);\n}\n.dc-doc-layout__toc-collapse-button_collapsed {\n width: 100%;\n margin-left: 0;\n margin-top: auto;\n}\n.dc-doc-layout__toc-collapse-button-icon {\n color: var(--g-color-text-secondary);\n}\n.mobile .dc-doc-layout__desktop-only {\n display: none;\n}\n.desktop .dc-doc-layout__mobile-only {\n display: none;\n}\n@media (max-width: 768px) {\n .dc-doc-layout {\n flex-direction: column-reverse;\n }\n .dc-doc-layout__right {\n position: sticky;\n top: calc(var(--dc-header-height, 0px));\n left: 0;\n z-index: 118;\n height: fit-content;\n width: 100%;\n padding: 0;\n }\n .dc-doc-layout__left {\n position: fixed;\n top: calc(var(--dc-header-height, 0px) + var(--dc-subnavigation-height, 52px) + 1px);\n left: calc(0px - 105vw);\n z-index: 119;\n box-sizing: border-box;\n max-height: calc(100vh - var(--dc-header-height, 0px) - var(--dc-subnavigation-height, 52px) + 1px);\n height: 100%;\n width: 100vw;\n padding: 0;\n background-color: var(--g-color-base-background, #fff);\n border-right: 1px solid var(--g-color-line-generic, rgba(0, 0, 0, 0.1019607843));\n transition: left 300ms 0ms;\n }\n .dc-doc-layout__left_visible {\n left: 0;\n }\n body:has(.dc-doc-layout__left_visible) {\n overflow-y: hidden;\n }\n .dc-doc-layout__legacy-toc {\n position: static;\n left: auto;\n width: 100%;\n max-height: none;\n border-right: none;\n }\n .dc-doc-layout__toc {\n position: static;\n width: 100%;\n height: 100%;\n padding: 0;\n border-right: none;\n font-size: var(--g-text-body-2-font-size);\n line-height: var(--g-text-body-2-line-height);\n }\n .dc-doc-layout__toc .dc-toc {\n /* stylelint-disable-next-line declaration-no-important */\n height: 100% !important;\n }\n .dc-doc-layout__toc_toc-collapsed > .dc-toc {\n display: flex;\n }\n .dc-doc-layout__toc-collapse-button {\n display: none;\n }\n}\n@media screen and (min-width: 1280px) {\n .dc-doc-layout__center .dc-doc-layout.dc-doc-layout_hidden-right.dc-doc-layout_regular-page-width:not(.dc-doc-layout_full-screen) {\n max-width: 836px;\n }\n .dc-doc-layout__right {\n width: 200px;\n }\n .dc-doc-layout__toc {\n width: 252px;\n }\n .dc-doc-layout__toc_toc-collapsed {\n width: 56px;\n }\n .dc-doc-layout__left {\n width: 276px;\n }\n .dc-doc-layout__left_toc-collapsed {\n width: 56px;\n }\n}\n/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VSb290IjoiL2hvbWUvcnVubmVyL3dvcmsvY29tcG9uZW50cy9jb21wb25lbnRzL3NyYy9jb21wb25lbnRzL0RvY0xheW91dCIsInNvdXJjZXMiOlsiRG9jTGF5b3V0LnNjc3MiLCIuLi8uLi9zdHlsZXMvbWl4aW5zLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvQGdyYXZpdHktdWkvdWlraXQvc3R5bGVzL21peGlucy5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUtBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQVBKO0lBUVE7OztBQUdKO0VBRUk7RUFDQTtFQUNBOztBQUdKO0VBQ0k7RUFDQTs7QUFDQTtFQUVJOztBQUlSO0VBQ0k7RUFDQTtFQUNBOztBQUVBO0VBTEo7SUFNUTs7O0FBR0o7RUFDSTs7QUFHSjtFQUNJOztBQUlSO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDSTs7QUFHSjtFQUNJO0VBQ0E7O0FBR0o7RUFDSTtFQUNBOztBQUlSO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUMxRUo7RUFDQTs7QUQ0RUk7RUFDSTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNJO0VBQ0E7RUFDQTtFQUNBOztBQUlSO0VBQ0k7RUFDQTs7QUFFQTtFQUNJOztBQUtaO0VBQ0k7RUFDQTtFRWpHSjtFQUVBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUYyRkk7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7O0FBR0o7RUFDSTtFQUNBOztBQUdKO0VBQ0k7O0FBR0o7RUFDSTs7QUFHSjtFQUNJO0VBQ0E7RUFDQTs7QUFHSjtFQUNJOztBQUtKO0VBQ0k7O0FBS0o7RUFDSTs7QUFJUjtFQS9KSjtJQWdLUTs7RUFFQTtJQUNJO0lBQ0E7SUFDQTtJQUNBO0lBRUE7SUFDQTtJQUNBOztFQUdKO0lBQ0k7SUFDQTtJQUlBO0lBQ0E7SUFFQTtJQUNBO0lBT0E7SUFDQTtJQUVBO0lBRUE7SUFDQTtJQUVBOztFQUVBO0lBQ0k7O0VBRUE7SUFDSTs7RUFLWjtJQUNJO0lBQ0E7SUFDQTtJQUNBO0lBRUE7O0VBR0o7SUFDSTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lDaE9SO0lBQ0E7O0VEbU9RO0FBQ0k7SUFDQTs7RUFHSjtJQUNJOztFQUlSO0lBQ0k7OztBQUlSO0VBQ0k7SUFDSTs7RUFHSjtJQUNJOztFQUdKO0lBQ0k7O0VBRUE7SUFDSTs7RUFJUjtJQUNJOztFQUVBO0lBQ0kiLCJzb3VyY2VzQ29udGVudCI6WyJAdXNlICdzYXNzOm1hcCc7XG5AdXNlICdAZ3Jhdml0eS11aS91aWtpdC9zdHlsZXMvbWl4aW5zJyBhcyBncmF2aXR5TWl4aW5zO1xuQHVzZSAnLi4vLi4vc3R5bGVzL3ZhcmlhYmxlcyc7XG5AdXNlICcuLi8uLi9zdHlsZXMvbWl4aW5zJztcblxuLmRjLWRvYy1sYXlvdXQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tZy1jb2xvci1iYXNlLWJhY2tncm91bmQpO1xuXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IG1hcC5nZXQodmFyaWFibGVzLiRzY3JlZW5CcmVha3BvaW50cywgJ21kJykgLSAxKSB7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBub3JtYWw7XG4gICAgfVxuXG4gICAgJl9fbGVmdCxcbiAgICAmX19yaWdodCB7XG4gICAgICAgIG9yZGVyOiAzO1xuICAgICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICAgICAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gICAgfVxuXG4gICAgJl9fcmlnaHQge1xuICAgICAgICB3aWR0aDogMTc2cHg7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDI0cHg7XG4gICAgICAgICZfZnVsbC1zY3JlZW4sXG4gICAgICAgICZfaGlkZGVuLXJpZ2h0IHtcbiAgICAgICAgICAgIGZsZXg6IGluaXRpYWw7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19sZWZ0IHtcbiAgICAgICAgb3JkZXI6IDE7XG4gICAgICAgIHdpZHRoOiAyNzZweDtcbiAgICAgICAgdHJhbnNpdGlvbjogd2lkdGggMTUwbXMgZWFzZS1vdXQ7XG5cbiAgICAgICAgQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICAmX2Z1bGwtc2NyZWVuIHtcbiAgICAgICAgICAgIGZsZXg6IGluaXRpYWw7XG4gICAgICAgIH1cblxuICAgICAgICAmX3RvYy1jb2xsYXBzZWQge1xuICAgICAgICAgICAgd2lkdGg6IDU2cHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19jZW50ZXIge1xuICAgICAgICBvcmRlcjogMjtcbiAgICAgICAgZmxleDogMSAxIGF1dG87XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgbWluLXdpZHRoOiAwO1xuXG4gICAgICAgICYjeyZ9X2hpZGRlbi1yaWdodCN7Jn1fcmVndWxhci1wYWdlLXdpZHRoOm5vdCgjeyZ9X2Z1bGwtc2NyZWVuKSB7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IGNhbGMoNzM2cHggKyAxNzZweCAvIDIpO1xuICAgICAgICB9XG5cbiAgICAgICAgJl9mdWxsLXNjcmVlbiB7XG4gICAgICAgICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG5cbiAgICAgICAgJl9sb2FkaW5nIHtcbiAgICAgICAgICAgIGhlaWdodDogY2FsYygxMDB2aCAtIHZhcigtLWRjLWhlYWRlci1oZWlnaHQsICN7dmFyaWFibGVzLiRoZWFkZXJIZWlnaHR9KSk7XG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fdG9jIHtcbiAgICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgICB6LWluZGV4OiAxMDA7XG4gICAgICAgIHRvcDogdmFyKC0tZGMtaGVhZGVyLWhlaWdodCwgI3t2YXJpYWJsZXMuJGhlYWRlckhlaWdodH0pO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDI0cHg7XG4gICAgICAgIHdpZHRoOiAyNTJweDtcbiAgICAgICAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWctY29sb3ItYmFzZS1iYWNrZ3JvdW5kKTtcbiAgICAgICAgQGluY2x1ZGUgbWl4aW5zLnRleHQtc2l6ZShib2R5LTEpO1xuXG4gICAgICAgICZfY29sbGFwc2libGUge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICBoZWlnaHQ6IGNhbGMoMTAwdmggLSB2YXIoLS1kYy1oZWFkZXItaGVpZ2h0LCAje3ZhcmlhYmxlcy4kaGVhZGVySGVpZ2h0fSkpO1xuICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgdmFyKC0tZy1jb2xvci1saW5lLWdlbmVyaWMpO1xuXG4gICAgICAgICAgICA+IC5kYy10b2Mge1xuICAgICAgICAgICAgICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgICAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgICAgIGJvcmRlci1yaWdodDogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICZfdG9jLWNvbGxhcHNlZCB7XG4gICAgICAgICAgICB3aWR0aDogNTZweDtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcblxuICAgICAgICAgICAgPiAuZGMtdG9jIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fdG9jLWNvbGxhcHNlLWJ1dHRvbiB7XG4gICAgICAgIC0tXy0tZm9jdXMtb3V0bGluZS1jb2xvcjogdmFyKC0tZy1jb2xvci1saW5lLWZvY3VzKTtcbiAgICAgICAgLS1fLS1mb2N1cy1vdXRsaW5lLW9mZnNldDogMDtcblxuICAgICAgICBAaW5jbHVkZSBncmF2aXR5TWl4aW5zLmJ1dHRvbi1yZXNldCgpO1xuXG4gICAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgICAgICBtaW4taGVpZ2h0OiAyMHB4O1xuICAgICAgICB3aWR0aDogY2FsYygxMDAlICsgMjRweCk7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtMjRweDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgYm94LXNpemluZzogY29udGVudC1ib3g7XG5cbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgei1pbmRleDogLTE7XG4gICAgICAgICAgICBpbnNldDogMCAycHggMnB4O1xuICAgICAgICB9XG5cbiAgICAgICAgJjpmb2N1cy12aXNpYmxlOjpiZWZvcmUge1xuICAgICAgICAgICAgb3V0bGluZTogdmFyKC0tXy0tZm9jdXMtb3V0bGluZS1jb2xvcikgc29saWQgMnB4O1xuICAgICAgICAgICAgb3V0bGluZS1vZmZzZXQ6IHZhcigtLV8tLWZvY3VzLW91dGxpbmUtb2Zmc2V0KTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6bm90KCZfY29sbGFwc2VkKSAmLWljb24ge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6aG92ZXIgJi1pY29uIHtcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1nLWNvbG9yLXRleHQtcHJpbWFyeSk7XG4gICAgICAgIH1cblxuICAgICAgICAmX2NvbGxhcHNlZCB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogYXV0bztcbiAgICAgICAgfVxuXG4gICAgICAgICYtaWNvbiB7XG4gICAgICAgICAgICBjb2xvcjogdmFyKC0tZy1jb2xvci10ZXh0LXNlY29uZGFyeSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19kZXNrdG9wLW9ubHkge1xuICAgICAgICAubW9iaWxlICYge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX21vYmlsZS1vbmx5IHtcbiAgICAgICAgLmRlc2t0b3AgJiB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IG1hcC5nZXQodmFyaWFibGVzLiRzY3JlZW5CcmVha3BvaW50cywgJ21kJykgLSAxKSB7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTtcblxuICAgICAgICAmX19yaWdodCB7XG4gICAgICAgICAgICBwb3NpdGlvbjogc3RpY2t5O1xuICAgICAgICAgICAgdG9wOiBjYWxjKHZhcigtLWRjLWhlYWRlci1oZWlnaHQsICN7dmFyaWFibGVzLiRoZWFkZXJIZWlnaHR9KSk7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgei1pbmRleDogMTE4O1xuXG4gICAgICAgICAgICBoZWlnaHQ6IGZpdC1jb250ZW50O1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgJl9fbGVmdCB7XG4gICAgICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICAgICAgICB0b3A6IGNhbGMoXG4gICAgICAgICAgICAgICAgdmFyKC0tZGMtaGVhZGVyLWhlaWdodCwgI3t2YXJpYWJsZXMuJGhlYWRlckhlaWdodH0pICtcbiAgICAgICAgICAgICAgICAgICAgdmFyKC0tZGMtc3VibmF2aWdhdGlvbi1oZWlnaHQsICN7dmFyaWFibGVzLiRzdWJOYXZpZ2F0aW9uSGVpZ2h0fSkgKyAxcHhcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICBsZWZ0OiBjYWxjKDBweCAtIDEwNXZ3KTtcbiAgICAgICAgICAgIHotaW5kZXg6IDExOTtcblxuICAgICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IGNhbGMoXG4gICAgICAgICAgICAgICAgMTAwdmggLSB2YXIoLS1kYy1oZWFkZXItaGVpZ2h0LCAje3ZhcmlhYmxlcy4kaGVhZGVySGVpZ2h0fSkgLSB2YXIoXG4gICAgICAgICAgICAgICAgICAgICAgICAtLWRjLXN1Ym5hdmlnYXRpb24taGVpZ2h0LFxuICAgICAgICAgICAgICAgICAgICAgICAgI3t2YXJpYWJsZXMuJHN1Yk5hdmlnYXRpb25IZWlnaHR9XG4gICAgICAgICAgICAgICAgICAgICkgK1xuICAgICAgICAgICAgICAgICAgICAxcHhcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICB3aWR0aDogMTAwdnc7XG5cbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG5cbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWctY29sb3ItYmFzZS1iYWNrZ3JvdW5kLCAjZmZmKTtcbiAgICAgICAgICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkIHZhcigtLWctY29sb3ItbGluZS1nZW5lcmljLCAjMDAwMDAwMWEpO1xuXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBsZWZ0IDMwMG1zIDBtcztcblxuICAgICAgICAgICAgJl92aXNpYmxlIHtcbiAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuXG4gICAgICAgICAgICAgICAgYm9keTpoYXMoJikge1xuICAgICAgICAgICAgICAgICAgICBvdmVyZmxvdy15OiBoaWRkZW47XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJl9fbGVnYWN5LXRvYyB7XG4gICAgICAgICAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgICAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgbWF4LWhlaWdodDogbm9uZTtcblxuICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgJl9fdG9jIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICBib3JkZXItcmlnaHQ6IG5vbmU7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1peGlucy50ZXh0LXNpemUoYm9keS0yKTtcblxuICAgICAgICAgICAgLmRjLXRvYyB7XG4gICAgICAgICAgICAgICAgLyogc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudCAqL1xuICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmX3RvYy1jb2xsYXBzZWQgPiAuZGMtdG9jIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJl9fdG9jLWNvbGxhcHNlLWJ1dHRvbiB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTI4MHB4KSB7XG4gICAgICAgICZfX2NlbnRlciAmI3smfV9oaWRkZW4tcmlnaHQjeyZ9X3JlZ3VsYXItcGFnZS13aWR0aDpub3QoI3smfV9mdWxsLXNjcmVlbikge1xuICAgICAgICAgICAgbWF4LXdpZHRoOiBjYWxjKDczNnB4ICsgMjAwcHggLyAyKTtcbiAgICAgICAgfVxuXG4gICAgICAgICZfX3JpZ2h0IHtcbiAgICAgICAgICAgIHdpZHRoOiAyMDBweDtcbiAgICAgICAgfVxuXG4gICAgICAgICZfX3RvYyB7XG4gICAgICAgICAgICB3aWR0aDogMjUycHg7XG5cbiAgICAgICAgICAgICZfdG9jLWNvbGxhcHNlZCB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDU2cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmX19sZWZ0IHtcbiAgICAgICAgICAgIHdpZHRoOiAyNzZweDtcblxuICAgICAgICAgICAgJl90b2MtY29sbGFwc2VkIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogNTZweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIkB1c2UgJ3Nhc3M6bWFwJztcbkB1c2UgJ3ZhcmlhYmxlcyc7XG5cbkBtaXhpbiB0ZXh0LXNpemUoJG5hbWUpIHtcbiAgICBmb250LXNpemU6IHZhcigtLWctdGV4dC0jeyRuYW1lfS1mb250LXNpemUpO1xuICAgIGxpbmUtaGVpZ2h0OiB2YXIoLS1nLXRleHQtI3skbmFtZX0tbGluZS1oZWlnaHQpO1xufVxuXG5AbWl4aW4gcmVzZXQtbGlzdC1zdHlsZSgpIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xufVxuXG5AbWl4aW4gZml4QW5jaG9yUG9zaXRpb24oJG9mZnNldDogMHB4KSB7XG4gICAgcGFkZGluZy10b3A6IGNhbGModmFyKC0tZGMtaGVhZGVyLWhlaWdodCwgI3t2YXJpYWJsZXMuJGhlYWRlckhlaWdodH0pKTtcbiAgICBtYXJnaW4tdG9wOiBjYWxjKCN7JG9mZnNldH0gLSB2YXIoLS1kYy1oZWFkZXItaGVpZ2h0LCAje3ZhcmlhYmxlcy4kaGVhZGVySGVpZ2h0fSkpO1xufVxuXG5AbWl4aW4gcmVzZXQtbGluay1zdHlsZSgpIHtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbkBtaXhpbiBpc2xhbmRzLWZvY3VzKCkge1xuICAgIG91dGxpbmU6IG5vbmU7XG5cbiAgICAudXRpbGl0eWZvY3VzICY6Zm9jdXMge1xuICAgICAgICBvdXRsaW5lOiAycHggc29saWQgI2ZmZGI0ZDtcbiAgICB9XG59XG5cbkBtaXhpbiBmb2N1c2FibGUoJG9mZnNldDogMCwgJG1vZGU6ICdvdXRsaW5lJykge1xuICAgIEBpZiAkbW9kZSA9PSAnb3V0bGluZScge1xuICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgIG91dGxpbmU6IDJweCBzb2xpZCB2YXIoLS1nLWNvbG9yLWxpbmUtZm9jdXMpO1xuICAgICAgICAgICAgb3V0bGluZS1vZmZzZXQ6ICRvZmZzZXQ7XG4gICAgICAgIH1cbiAgICAgICAgJjpmb2N1czpub3QoOmZvY3VzLXZpc2libGUpIHtcbiAgICAgICAgICAgIG91dGxpbmU6IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAaWYgJG1vZGUgPT0gJ2JveC1zaGFkb3cnIHtcbiAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAycHggdmFyKC0tZy1jb2xvci1saW5lLWZvY3VzKTtcbiAgICAgICAgICAgIG91dGxpbmU6IDA7XG4gICAgICAgIH1cbiAgICAgICAgJjpmb2N1czpub3QoOmZvY3VzLXZpc2libGUpIHtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBtaXhpbiBsaW5rKCkge1xuICAgIGNvbG9yOiB2YXIoLS1nLWNvbG9yLXRleHQtbGluayk7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1nLWZvY3VzLWJvcmRlci1yYWRpdXMpO1xuXG4gICAgQGluY2x1ZGUgaXNsYW5kcy1mb2N1cygpO1xuXG4gICAgQGluY2x1ZGUgZm9jdXNhYmxlKDAsICdib3gtc2hhZG93Jyk7XG5cbiAgICAmOmhvdmVyLFxuICAgICY6YWN0aXZlIHtcbiAgICAgICAgY29sb3I6IHZhcigtLWctY29sb3ItdGV4dC1saW5rLWhvdmVyKTtcbiAgICB9XG59XG5cbkBtaXhpbiBoZWFkaW5nMSgpIHtcbiAgICBmb250LXdlaWdodDogNTAwO1xuXG4gICAgQGluY2x1ZGUgdGV4dC1zaXplKGRpc3BsYXktMyk7XG5cbiAgICBAbWVkaWEgKG1heC13aWR0aDogbWFwLmdldCh2YXJpYWJsZXMuJHNjcmVlbkJyZWFrcG9pbnRzLCAnbWQnKSAtIDEpIHtcbiAgICAgICAgQGluY2x1ZGUgdGV4dC1zaXplKGRpc3BsYXktMik7XG4gICAgfVxufVxuXG5AbWl4aW4gaGVhZGluZzIoKSB7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcblxuICAgIEBpbmNsdWRlIHRleHQtc2l6ZShkaXNwbGF5LTEpO1xufVxuXG5AbWl4aW4gaGVhZGluZzMoKSB7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcblxuICAgIEBpbmNsdWRlIHRleHQtc2l6ZShoZWFkZXItMik7XG59XG5cbkBtaXhpbiBoZWFkaW5nNCgpIHtcbiAgICBmb250LXdlaWdodDogNTAwO1xuXG4gICAgQGluY2x1ZGUgdGV4dC1zaXplKGhlYWRlci0xKTtcbn1cblxuQG1peGluIGhlYWRpbmc1KCkge1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG5cbiAgICBAaW5jbHVkZSB0ZXh0LXNpemUoYm9keS0zKTtcbn1cblxuQG1peGluIGhlYWRpbmc2KCkge1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG5cbiAgICBAaW5jbHVkZSB0ZXh0LXNpemUoYm9keS0zKTtcbn1cblxuQG1peGluIGNvbnRyaWJ1dG9ycy10ZXh0KCkge1xuICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIG1hcmdpbi1yaWdodDogNXB4O1xuICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcbn1cblxuQG1peGluIHRleHQtYm9keS0xKCkge1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZy10ZXh0LWJvZHktMS1mb250LXNpemUpO1xuICAgIGxpbmUtaGVpZ2h0OiB2YXIoLS1nLXRleHQtYm9keS0xLWxpbmUtaGVpZ2h0KTtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZy10ZXh0LWJvZHktZm9udC13ZWlnaHQpO1xufVxuXG5AbWl4aW4gZGVza3RvcC1vbmx5KCkge1xuICAgIEBtZWRpYSAobWF4LXdpZHRoOiBtYXAuZ2V0KHZhcmlhYmxlcy4kc2NyZWVuQnJlYWtwb2ludHMsICdtZCcpIC0gMSkge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbn1cblxuQG1peGluIGRlc2t0b3AtdGFibGV0LW9ubHkoKSB7XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IG1hcC5nZXQodmFyaWFibGVzLiRzY3JlZW5CcmVha3BvaW50cywgJ3NtJykgLSAxKSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxufVxuXG5AbWl4aW4gbW9iaWxlLXRhYmxldC1vbmx5KCkge1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiBtYXAuZ2V0KHZhcmlhYmxlcy4kc2NyZWVuQnJlYWtwb2ludHMsICdtZCcpKSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxufVxuXG5AbWl4aW4gbW9iaWxlLW9ubHkoKSB7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IG1hcC5nZXQodmFyaWFibGVzLiRzY3JlZW5CcmVha3BvaW50cywgJ3NtJykpIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG59XG5cbkBtaXhpbiBncmF2aXR5LXVpLXRleHQtc2l6ZXMoJGRlbHRhKSB7XG4gICAgLS1nLXRleHQtYm9keS0xLWZvbnQtc2l6ZTogI3sxM3B4ICsgJGRlbHRhfTtcbiAgICAtLWctdGV4dC1ib2R5LTEtbGluZS1oZWlnaHQ6ICN7MThweCArICRkZWx0YX07XG4gICAgLS1nLXRleHQtYm9keS0yLWZvbnQtc2l6ZTogI3sxNXB4ICsgJGRlbHRhfTtcbiAgICAtLWctdGV4dC1ib2R5LTItbGluZS1oZWlnaHQ6ICN7MjBweCArICRkZWx0YX07XG4gICAgLS1nLXRleHQtYm9keS0zLWZvbnQtc2l6ZTogI3sxN3B4ICsgJGRlbHRhfTtcbiAgICAtLWctdGV4dC1ib2R5LTMtbGluZS1oZWlnaHQ6ICN7MjRweCArICRkZWx0YX07XG4gICAgLS1nLXRleHQtYm9keS1zaG9ydC1mb250LXNpemU6ICN7MTNweCArICRkZWx0YX07XG4gICAgLS1nLXRleHQtY2FwdGlvbi0xLWZvbnQtc2l6ZTogI3s5cHggKyAkZGVsdGF9O1xuICAgIC0tZy10ZXh0LWNhcHRpb24tMi1mb250LXNpemU6ICN7MTFweCArICRkZWx0YX07XG4gICAgLS1nLXRleHQtaGVhZGVyLTEtZm9udC1zaXplOiAjezIwcHggKyAkZGVsdGF9O1xuICAgIC0tZy10ZXh0LWhlYWRlci0yLWZvbnQtc2l6ZTogI3syNHB4ICsgJGRlbHRhfTtcbiAgICAtLWctdGV4dC1zdWJoZWFkZXItMS1mb250LXNpemU6ICN7MTNweCArICRkZWx0YX07XG4gICAgLS1nLXRleHQtc3ViaGVhZGVyLTItZm9udC1zaXplOiAjezE1cHggKyAkZGVsdGF9O1xuICAgIC0tZy10ZXh0LXN1YmhlYWRlci0zLWZvbnQtc2l6ZTogI3sxN3B4ICsgJGRlbHRhfTtcbiAgICAtLWctdGV4dC1kaXNwbGF5LTEtZm9udC1zaXplOiAjezI4cHggKyAkZGVsdGF9O1xuICAgIC0tZy10ZXh0LWRpc3BsYXktMi1mb250LXNpemU6ICN7MzJweCArICRkZWx0YX07XG4gICAgLS1nLXRleHQtZGlzcGxheS0zLWZvbnQtc2l6ZTogI3s0MHB4ICsgJGRlbHRhfTtcbiAgICAtLWctdGV4dC1kaXNwbGF5LTQtZm9udC1zaXplOiAjezQ4cHggKyAkZGVsdGF9O1xuICAgIC0tZy10ZXh0LWNvZGUtMS1mb250LXNpemU6ICN7MTJweCArICRkZWx0YX07XG4gICAgLS1nLXRleHQtY29kZS0yLWZvbnQtc2l6ZTogI3sxNHB4ICsgJGRlbHRhfTtcbiAgICAtLWctdGV4dC1jb2RlLTMtZm9udC1zaXplOiAjezE2cHggKyAkZGVsdGF9O1xuICAgIC0tZy10ZXh0LWNvZGUtaW5saW5lLTEtZm9udC1zaXplOiAjezEycHggKyAkZGVsdGF9O1xuICAgIC0tZy10ZXh0LWNvZGUtaW5saW5lLTItZm9udC1zaXplOiAjezE0cHggKyAkZGVsdGF9O1xuICAgIC0tZy10ZXh0LWNvZGUtaW5saW5lLTMtZm9udC1zaXplOiAjezE2cHggKyAkZGVsdGF9O1xuXG4gICAgLS15Zm0tZm9udC1zaXplOiB2YXIoLS1nLXRleHQtYm9keS0yLWZvbnQtc2l6ZSk7XG4gICAgLS15Zm0tZm9udC1saW5lLWhlaWdodDogdmFyKC0tZy10ZXh0LWJvZHktMi1saW5lLWhlaWdodCk7XG4gICAgLS15Zm0tZm9udC1zaXplLWgyOiB2YXIoLS1nLXRleHQtaGVhZGVyLTItZm9udC1zaXplKTtcbiAgICAtLXlmbS1mb250LXNpemUtaDM6IHZhcigtLWctdGV4dC1oZWFkZXItMS1mb250LXNpemUpO1xuICAgIC0teWZtLWZvbnQtc2l6ZS1oNDogdmFyKC0tZy10ZXh0LXN1YmhlYWRlci0zLWZvbnQtc2l6ZSk7XG4gICAgLS15Zm0tZm9udC1zaXplLWg1OiB2YXIoLS1nLXRleHQtc3ViaGVhZGVyLTItZm9udC1zaXplKTtcbiAgICAtLXlmbS1mb250LXNpemUtaDY6IHZhcigtLWctdGV4dC1zdWJoZWFkZXItMS1mb250LXNpemUpO1xufVxuIiwiQHVzZSAnc2FzczpsaXN0JztcbkB1c2UgJ3Nhc3M6c2VsZWN0b3InO1xuXG5AbWl4aW4gb3ZlcmZsb3ctZWxsaXBzaXMoJHR5cGU6IGVsbGlwc2lzKSB7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHRleHQtb3ZlcmZsb3c6ICR0eXBlO1xufVxuXG5AbWl4aW4gYnV0dG9uLXJlc2V0KCkge1xuICAgIHBhZGRpbmc6IDA7XG5cbiAgICBmb250LWZhbWlseTogdmFyKC0tZy10ZXh0LWJvZHktZm9udC1mYW1pbHkpO1xuICAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZy10ZXh0LWJvZHktZm9udC13ZWlnaHQpO1xuXG4gICAgY29sb3I6IGluaGVyaXQ7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbkBtaXhpbiBsaW5rLXJlc2V0KCkge1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIHRleHQtZGVjb3JhdGlvbjogaW5oZXJpdDtcbn1cblxuQG1peGluIGV4cGFuZC1pbnRlcmFjdGl2ZS1hcmVhKCRoOiA0cHgsICR2OiAkaCkge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICY6OmFmdGVyIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgaW5zZXQ6IGxvZ2ljYWwgKC0kdikgKC0kaCk7XG4gICAgfVxufVxuXG5AbWl4aW4gbWF4LWhlaWdodCgkaGVpZ2h0KSB7XG4gICAgbWF4LWhlaWdodDogJGhlaWdodDtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xufVxuXG5AbWl4aW4gbWF4LXRleHQtd2lkdGgoJHdpZHRoOiAxMDAlKSB7XG4gICAgQGluY2x1ZGUgb3ZlcmZsb3ctZWxsaXBzaXMoKTtcblxuICAgIG1heC13aWR0aDogJHdpZHRoO1xufVxuXG5AbWl4aW4gYXNwZWN0LXJhdGlvKCRyYXRpbykge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICY6OmJlZm9yZSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHBhZGRpbmctYmxvY2stc3RhcnQ6ICRyYXRpbyAqIDEwMCU7XG4gICAgfVxuXG4gICAgPiAqOm9ubHktY2hpbGQge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGluc2V0OiAwO1xuICAgIH1cbn1cblxuQGZ1bmN0aW9uIGdldC1waW4tc2VsZWN0b3IoJG1vZCwgJHNlbGVjdG9yLCAkYXBwZW5kOiB0cnVlKSB7XG4gICAgQGlmICRhcHBlbmQge1xuICAgICAgICBAcmV0dXJuIHNlbGVjdG9yLmFwcGVuZCgkbW9kLCAkc2VsZWN0b3IpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgICBAcmV0dXJuIGxpc3Quam9pbigkbW9kLCAkc2VsZWN0b3IsICRzZXBhcmF0b3I6IHNwYWNlKTtcbiAgICB9XG59XG5cbkBtaXhpbiBwaW4oJGJsb2NrLCAkc2VsZWN0b3JzLCAkcmFkaXVzLCAkYXBwZW5kOiB0cnVlKSB7XG4gICAgQGVhY2ggJHNlbGVjdG9yIGluICRzZWxlY3RvcnMge1xuICAgICAgICBAYXQtcm9vdCAje2dldC1waW4tc2VsZWN0b3IoI3skYmxvY2t9X3Bpbl9yb3VuZC1yb3VuZCwgJHNlbGVjdG9yLCAkYXBwZW5kKX0ge1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogJHJhZGl1cztcbiAgICAgICAgfVxuXG4gICAgICAgIEBhdC1yb290ICN7Z2V0LXBpbi1zZWxlY3RvcigjeyRibG9ja31fcGluX2JyaWNrLWJyaWNrLCAkc2VsZWN0b3IsICRhcHBlbmQpfSB7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgQGF0LXJvb3QgI3tnZXQtcGluLXNlbGVjdG9yKCN7JGJsb2NrfV9waW5fY2xlYXItY2xlYXIsICRzZWxlY3RvciwgJGFwcGVuZCl9IHtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICAgICAgICBib3JkZXItaW5saW5lOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgQGF0LXJvb3QgI3tnZXQtcGluLXNlbGVjdG9yKCN7JGJsb2NrfV9waW5fY2lyY2xlLWNpcmNsZSwgJHNlbGVjdG9yLCAkYXBwZW5kKX0ge1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMTAwcHg7XG4gICAgICAgIH1cblxuICAgICAgICBAYXQtcm9vdCAje2dldC1waW4tc2VsZWN0b3IoI3skYmxvY2t9X3Bpbl9yb3VuZC1icmljaywgJHNlbGVjdG9yLCAkYXBwZW5kKX0ge1xuICAgICAgICAgICAgYm9yZGVyLXN0YXJ0LXN0YXJ0LXJhZGl1czogJHJhZGl1cztcbiAgICAgICAgICAgIGJvcmRlci1zdGFydC1lbmQtcmFkaXVzOiAwO1xuICAgICAgICAgICAgYm9yZGVyLWVuZC1zdGFydC1yYWRpdXM6ICRyYWRpdXM7XG4gICAgICAgICAgICBib3JkZXItZW5kLWVuZC1yYWRpdXM6IDA7XG4gICAgICAgIH1cblxuICAgICAgICBAYXQtcm9vdCAje2dldC1waW4tc2VsZWN0b3IoI3skYmxvY2t9X3Bpbl9icmljay1yb3VuZCwgJHNlbGVjdG9yLCAkYXBwZW5kKX0ge1xuICAgICAgICAgICAgYm9yZGVyLXN0YXJ0LXN0YXJ0LXJhZGl1czogMDtcbiAgICAgICAgICAgIGJvcmRlci1zdGFydC1lbmQtcmFkaXVzOiAkcmFkaXVzO1xuICAgICAgICAgICAgYm9yZGVyLWVuZC1zdGFydC1yYWRpdXM6IDA7XG4gICAgICAgICAgICBib3JkZXItZW5kLWVuZC1yYWRpdXM6ICRyYWRpdXM7XG4gICAgICAgIH1cblxuICAgICAgICBAYXQtcm9vdCAje2dldC1waW4tc2VsZWN0b3IoI3skYmxvY2t9X3Bpbl9yb3VuZC1jbGVhciwgJHNlbGVjdG9yLCAkYXBwZW5kKX0ge1xuICAgICAgICAgICAgYm9yZGVyLXN0YXJ0LXN0YXJ0LXJhZGl1czogJHJhZGl1cztcbiAgICAgICAgICAgIGJvcmRlci1zdGFydC1lbmQtcmFkaXVzOiAwO1xuICAgICAgICAgICAgYm9yZGVyLWVuZC1zdGFydC1yYWRpdXM6ICRyYWRpdXM7XG4gICAgICAgICAgICBib3JkZXItZW5kLWVuZC1yYWRpdXM6IDA7XG4gICAgICAgICAgICBib3JkZXItaW5saW5lLWVuZDogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBhdC1yb290ICN7Z2V0LXBpbi1zZWxlY3RvcigjeyRibG9ja31fcGluX2NsZWFyLXJvdW5kLCAkc2VsZWN0b3IsICRhcHBlbmQpfSB7XG4gICAgICAgICAgICBib3JkZXItc3RhcnQtc3RhcnQtcmFkaXVzOiAwO1xuICAgICAgICAgICAgYm9yZGVyLXN0YXJ0LWVuZC1yYWRpdXM6ICRyYWRpdXM7XG4gICAgICAgICAgICBib3JkZXItZW5kLXN0YXJ0LXJhZGl1czogMDtcbiAgICAgICAgICAgIGJvcmRlci1lbmQtZW5kLXJhZGl1czogJHJhZGl1cztcbiAgICAgICAgICAgIGJvcmRlci1pbmxpbmUtc3RhcnQ6IDA7XG4gICAgICAgIH1cblxuICAgICAgICBAYXQtcm9vdCAje2dldC1waW4tc2VsZWN0b3IoI3skYmxvY2t9X3Bpbl9icmljay1jbGVhciwgJHNlbGVjdG9yLCAkYXBwZW5kKX0ge1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgICAgICAgIGJvcmRlci1pbmxpbmUtZW5kOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgQGF0LXJvb3QgI3tnZXQtcGluLXNlbGVjdG9yKCN7JGJsb2NrfV9waW5fY2xlYXItYnJpY2ssICRzZWxlY3RvciwgJGFwcGVuZCl9IHtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICAgICAgICBib3JkZXItaW5saW5lLXN0YXJ0OiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgQGF0LXJvb3QgI3tnZXQtcGluLXNlbGVjdG9yKCN7JGJsb2NrfV9waW5fY2lyY2xlLWJyaWNrLCAkc2VsZWN0b3IsICRhcHBlbmQpfSB7XG4gICAgICAgICAgICBib3JkZXItc3RhcnQtc3RhcnQtcmFkaXVzOiAxMDBweDtcbiAgICAgICAgICAgIGJvcmRlci1zdGFydC1lbmQtcmFkaXVzOiAwO1xuICAgICAgICAgICAgYm9yZGVyLWVuZC1zdGFydC1yYWRpdXM6IDEwMHB4O1xuICAgICAgICAgICAgYm9yZGVyLWVuZC1lbmQtcmFkaXVzOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgQGF0LXJvb3QgI3tnZXQtcGluLXNlbGVjdG9yKCN7JGJsb2NrfV9waW5fYnJpY2stY2lyY2xlLCAkc2VsZWN0b3IsICRhcHBlbmQpfSB7XG4gICAgICAgICAgICBib3JkZXItc3RhcnQtc3RhcnQtcmFkaXVzOiAwO1xuICAgICAgICAgICAgYm9yZGVyLXN0YXJ0LWVuZC1yYWRpdXM6IDEwMHB4O1xuICAgICAgICAgICAgYm9yZGVyLWVuZC1zdGFydC1yYWRpdXM6IDA7XG4gICAgICAgICAgICBib3JkZXItZW5kLWVuZC1yYWRpdXM6IDEwMHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgQGF0LXJvb3QgI3tnZXQtcGluLXNlbGVjdG9yKCN7JGJsb2NrfV9waW5fY2lyY2xlLWNsZWFyLCAkc2VsZWN0b3IsICRhcHBlbmQpfSB7XG4gICAgICAgICAgICBib3JkZXItc3RhcnQtc3RhcnQtcmFkaXVzOiAxMDBweDtcbiAgICAgICAgICAgIGJvcmRlci1zdGFydC1lbmQtcmFkaXVzOiAwO1xuICAgICAgICAgICAgYm9yZGVyLWVuZC1zdGFydC1yYWRpdXM6IDEwMHB4O1xuICAgICAgICAgICAgYm9yZGVyLWVuZC1lbmQtcmFkaXVzOiAwO1xuICAgICAgICAgICAgYm9yZGVyLWlubGluZS1lbmQ6IDA7XG4gICAgICAgIH1cblxuICAgICAgICBAYXQtcm9vdCAje2dldC1waW4tc2VsZWN0b3IoI3skYmxvY2t9X3Bpbl9jbGVhci1jaXJjbGUsICRzZWxlY3RvciwgJGFwcGVuZCl9IHtcbiAgICAgICAgICAgIGJvcmRlci1zdGFydC1zdGFydC1yYWRpdXM6IDA7XG4gICAgICAgICAgICBib3JkZXItc3RhcnQtZW5kLXJhZGl1czogMTAwcHg7XG4gICAgICAgICAgICBib3JkZXItZW5kLXN0YXJ0LXJhZGl1czogMDtcbiAgICAgICAgICAgIGJvcmRlci1lbmQtZW5kLXJhZGl1czogMTAwcHg7XG4gICAgICAgICAgICBib3JkZXItaW5saW5lLXN0YXJ0OiAwO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vLyBUeXBvZ3JhcGh5XG5cbkBtaXhpbiB0ZXh0LWJvZHktMSgpIHtcbiAgICBmb250LWZhbWlseTogdmFyKC0tZy10ZXh0LWJvZHktZm9udC1mYW1pbHkpO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1nLXRleHQtYm9keS1mb250LXdlaWdodCk7XG4gICAgZm9udC1zaXplOiB2YXIoLS1nLXRleHQtYm9keS0xLWZvbnQtc2l6ZSk7XG4gICAgbGluZS1oZWlnaHQ6IHZhcigtLWctdGV4dC1ib2R5LTEtbGluZS1oZWlnaHQpO1xufVxuXG5AbWl4aW4gdGV4dC1ib2R5LTIoKSB7XG4gICAgZm9udC1mYW1pbHk6IHZhcigtLWctdGV4dC1ib2R5LWZvbnQtZmFtaWx5KTtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZy10ZXh0LWJvZHktZm9udC13ZWlnaHQpO1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZy10ZXh0LWJvZHktMi1mb250LXNpemUpO1xuICAgIGxpbmUtaGVpZ2h0OiB2YXIoLS1nLXRleHQtYm9keS0yLWxpbmUtaGVpZ2h0KTtcbn1cblxuQG1peGluIHRleHQtYm9keS0zKCkge1xuICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1nLXRleHQtYm9keS1mb250LWZhbWlseSk7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWctdGV4dC1ib2R5LWZvbnQtd2VpZ2h0KTtcbiAgICBmb250LXNpemU6IHZhcigtLWctdGV4dC1ib2R5LTMtZm9udC1zaXplKTtcbiAgICBsaW5lLWhlaWdodDogdmFyKC0tZy10ZXh0LWJvZHktMy1saW5lLWhlaWdodCk7XG59XG5cbkBtaXhpbiB0ZXh0LWJvZHktc2hvcnQoKSB7XG4gICAgZm9udC1mYW1pbHk6IHZhcigtLWctdGV4dC1ib2R5LWZvbnQtZmFtaWx5KTtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZy10ZXh0LWJvZHktZm9udC13ZWlnaHQpO1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZy10ZXh0LWJvZHktc2hvcnQtZm9udC1zaXplKTtcbiAgICBsaW5lLWhlaWdodDogdmFyKC0tZy10ZXh0LWJvZHktc2hvcnQtbGluZS1oZWlnaHQpO1xufVxuXG5AbWl4aW4gdGV4dC1jYXB0aW9uLTEoKSB7XG4gICAgZm9udC1mYW1pbHk6IHZhcigtLWctdGV4dC1jYXB0aW9uLWZvbnQtZmFtaWx5KTtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZy10ZXh0LWNhcHRpb24tZm9udC13ZWlnaHQpO1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZy10ZXh0LWNhcHRpb24tMS1mb250LXNpemUpO1xuICAgIGxpbmUtaGVpZ2h0OiB2YXIoLS1nLXRleHQtY2FwdGlvbi0xLWxpbmUtaGVpZ2h0KTtcbn1cblxuQG1peGluIHRleHQtY2FwdGlvbi0yKCkge1xuICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1nLXRleHQtY2FwdGlvbi1mb250LWZhbWlseSk7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWctdGV4dC1jYXB0aW9uLWZvbnQtd2VpZ2h0KTtcbiAgICBmb250LXNpemU6IHZhcigtLWctdGV4dC1jYXB0aW9uLTItZm9udC1zaXplKTtcbiAgICBsaW5lLWhlaWdodDogdmFyKC0tZy10ZXh0LWNhcHRpb24tMi1saW5lLWhlaWdodCk7XG59XG5cbkBtaXhpbiB0ZXh0LWhlYWRlci0xKCkge1xuICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1nLXRleHQtaGVhZGVyLWZvbnQtZmFtaWx5KTtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZy10ZXh0LWhlYWRlci1mb250LXdlaWdodCk7XG4gICAgZm9udC1zaXplOiB2YXIoLS1nLXRleHQtaGVhZGVyLTEtZm9udC1zaXplKTtcbiAgICBsaW5lLWhlaWdodDogdmFyKC0tZy10ZXh0LWhlYWRlci0xLWxpbmUtaGVpZ2h0KTtcbn1cblxuQG1peGluIHRleHQtaGVhZGVyLTIoKSB7XG4gICAgZm9udC1mYW1pbHk6IHZhcigtLWctdGV4dC1oZWFkZXItZm9udC1mYW1pbHkpO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1nLXRleHQtaGVhZGVyLWZvbnQtd2VpZ2h0KTtcbiAgICBmb250LXNpemU6IHZhcigtLWctdGV4dC1oZWFkZXItMi1mb250LXNpemUpO1xuICAgIGxpbmUtaGVpZ2h0OiB2YXIoLS1nLXRleHQtaGVhZGVyLTItbGluZS1oZWlnaHQpO1xufVxuXG5AbWl4aW4gdGV4dC1zdWJoZWFkZXItMSgpIHtcbiAgICBmb250LWZhbWlseTogdmFyKC0tZy10ZXh0LXN1YmhlYWRlci1mb250LWZhbWlseSk7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWctdGV4dC1zdWJoZWFkZXItZm9udC13ZWlnaHQpO1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZy10ZXh0LXN1YmhlYWRlci0xLWZvbnQtc2l6ZSk7XG4gICAgbGluZS1oZWlnaHQ6IHZhcigtLWctdGV4dC1zdWJoZWFkZXItMS1saW5lLWhlaWdodCk7XG59XG5cbkBtaXhpbiB0ZXh0LXN1YmhlYWRlci0yKCkge1xuICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1nLXRleHQtc3ViaGVhZGVyLWZvbnQtZmFtaWx5KTtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZy10ZXh0LXN1YmhlYWRlci1mb250LXdlaWdodCk7XG4gICAgZm9udC1zaXplOiB2YXIoLS1nLXRleHQtc3ViaGVhZGVyLTItZm9udC1zaXplKTtcbiAgICBsaW5lLWhlaWdodDogdmFyKC0tZy10ZXh0LXN1YmhlYWRlci0yLWxpbmUtaGVpZ2h0KTtcbn1cblxuQG1peGluIHRleHQtc3ViaGVhZGVyLTMoKSB7XG4gICAgZm9udC1mYW1pbHk6IHZhcigtLWctdGV4dC1zdWJoZWFkZXItZm9udC1mYW1pbHkpO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1nLXRleHQtc3ViaGVhZGVyLWZvbnQtd2VpZ2h0KTtcbiAgICBmb250LXNpemU6IHZhcigtLWctdGV4dC1zdWJoZWFkZXItMy1mb250LXNpemUpO1xuICAgIGxpbmUtaGVpZ2h0OiB2YXIoLS1nLXRleHQtc3ViaGVhZGVyLTMtbGluZS1oZWlnaHQpO1xufVxuXG5AbWl4aW4gdGV4dC1kaXNwbGF5LTEoKSB7XG4gICAgZm9udC1mYW1pbHk6IHZhcigtLWctdGV4dC1kaXNwbGF5LWZvbnQtZmFtaWx5KTtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZy10ZXh0LWRpc3BsYXktZm9udC13ZWlnaHQpO1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZy10ZXh0LWRpc3BsYXktMS1mb250LXNpemUpO1xuICAgIGxpbmUtaGVpZ2h0OiB2YXIoLS1nLXRleHQtZGlzcGxheS0xLWxpbmUtaGVpZ2h0KTtcbn1cblxuQG1peGluIHRleHQtZGlzcGxheS0yKCkge1xuICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1nLXRleHQtZGlzcGxheS1mb250LWZhbWlseSk7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWctdGV4dC1kaXNwbGF5LWZvbnQtd2VpZ2h0KTtcbiAgICBmb250LXNpemU6IHZhcigtLWctdGV4dC1kaXNwbGF5LTItZm9udC1zaXplKTtcbiAgICBsaW5lLWhlaWdodDogdmFyKC0tZy10ZXh0LWRpc3BsYXktMi1saW5lLWhlaWdodCk7XG59XG5cbkBtaXhpbiB0ZXh0LWRpc3BsYXktMygpIHtcbiAgICBmb250LWZhbWlseTogdmFyKC0tZy10ZXh0LWRpc3BsYXktZm9udC1mYW1pbHkpO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1nLXRleHQtZGlzcGxheS1mb250LXdlaWdodCk7XG4gICAgZm9udC1zaXplOiB2YXIoLS1nLXRleHQtZGlzcGxheS0zLWZvbnQtc2l6ZSk7XG4gICAgbGluZS1oZWlnaHQ6IHZhcigtLWctdGV4dC1kaXNwbGF5LTMtbGluZS1oZWlnaHQpO1xufVxuXG5AbWl4aW4gdGV4dC1kaXNwbGF5LTQoKSB7XG4gICAgZm9udC1mYW1pbHk6IHZhcigtLWctdGV4dC1kaXNwbGF5LWZvbnQtZmFtaWx5KTtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZy10ZXh0LWRpc3BsYXktZm9udC13ZWlnaHQpO1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZy10ZXh0LWRpc3BsYXktNC1mb250LXNpemUpO1xuICAgIGxpbmUtaGVpZ2h0OiB2YXIoLS1nLXRleHQtZGlzcGxheS00LWxpbmUtaGVpZ2h0KTtcbn1cblxuQG1peGluIHRleHQtY29kZS0xKCkge1xuICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1nLXRleHQtY29kZS1mb250LWZhbWlseSk7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWctdGV4dC1jb2RlLWZvbnQtd2VpZ2h0KTtcbiAgICBmb250LXNpemU6IHZhcigtLWctdGV4dC1jb2RlLTEtZm9udC1zaXplKTtcbiAgICBsaW5lLWhlaWdodDogdmFyKC0tZy10ZXh0LWNvZGUtMS1saW5lLWhlaWdodCk7XG59XG5cbkBtaXhpbiB0ZXh0LWNvZGUtMigpIHtcbiAgICBmb250LWZhbWlseTogdmFyKC0tZy10ZXh0LWNvZGUtZm9udC1mYW1pbHkpO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1nLXRleHQtY29kZS1mb250LXdlaWdodCk7XG4gICAgZm9udC1zaXplOiB2YXIoLS1nLXRleHQtY29kZS0yLWZvbnQtc2l6ZSk7XG4gICAgbGluZS1oZWlnaHQ6IHZhcigtLWctdGV4dC1jb2RlLTItbGluZS1oZWlnaHQpO1xufVxuXG5AbWl4aW4gdGV4dC1jb2RlLTMoKSB7XG4gICAgZm9udC1mYW1pbHk6IHZhcigtLWctdGV4dC1jb2RlLWZvbnQtZmFtaWx5KTtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZy10ZXh0LWNvZGUtZm9udC13ZWlnaHQpO1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZy10ZXh0LWNvZGUtMy1mb250LXNpemUpO1xuICAgIGxpbmUtaGVpZ2h0OiB2YXIoLS1nLXRleHQtY29kZS0zLWxpbmUtaGVpZ2h0KTtcbn1cblxuQG1peGluIHRleHQtY29kZS1pbmxpbmUtMSgpIHtcbiAgICBmb250LWZhbWlseTogdmFyKC0tZy10ZXh0LWNvZGUtZm9udC1mYW1pbHkpO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1nLXRleHQtY29kZS1mb250LXdlaWdodCk7XG4gICAgZm9udC1zaXplOiB2YXIoLS1nLXRleHQtY29kZS1pbmxpbmUtMS1mb250LXNpemUpO1xuICAgIGxpbmUtaGVpZ2h0OiB2YXIoLS1nLXRleHQtY29kZS1pbmxpbmUtMS1saW5lLWhlaWdodCk7XG59XG5cbkBtaXhpbiB0ZXh0LWNvZGUtaW5saW5lLTIoKSB7XG4gICAgZm9udC1mYW1pbHk6IHZhcigtLWctdGV4dC1jb2RlLWZvbnQtZmFtaWx5KTtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZy10ZXh0LWNvZGUtZm9udC13ZWlnaHQpO1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZy10ZXh0LWNvZGUtaW5saW5lLTItZm9udC1zaXplKTtcbiAgICBsaW5lLWhlaWdodDogdmFyKC0tZy10ZXh0LWNvZGUtaW5saW5lLTItbGluZS1oZWlnaHQpO1xufVxuXG5AbWl4aW4gdGV4dC1jb2RlLWlubGluZS0zKCkge1xuICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1nLXRleHQtY29kZS1mb250LWZhbWlseSk7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWctdGV4dC1jb2RlLWZvbnQtd2VpZ2h0KTtcbiAgICBmb250LXNpemU6IHZhcigtLWctdGV4dC1jb2RlLWlubGluZS0zLWZvbnQtc2l6ZSk7XG4gICAgbGluZS1oZWlnaHQ6IHZhcigtLWctdGV4dC1jb2RlLWlubGluZS0zLWxpbmUtaGVpZ2h0KTtcbn1cblxuQG1peGluIHRleHQtYWNjZW50KCkge1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1nLXRleHQtYWNjZW50LWZvbnQtd2VpZ2h0KTtcbn1cblxuQG1peGluIGxvYWRpbmcoJGxvYWRpbmctY29sb3ItMTogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjMpLCAkbG9hZGluZy1jb2xvci0yOiB0cmFuc3BhcmVudCkge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHJlcGVhdGluZy1saW5lYXItZ3JhZGllbnQoXG4gICAgICAgIC00NWRlZyxcbiAgICAgICAgJGxvYWRpbmctY29sb3ItMSxcbiAgICAgICAgJGxvYWRpbmctY29sb3ItMSA0cHgsXG4gICAgICAgICRsb2FkaW5nLWNvbG9yLTIgNHB4LFxuICAgICAgICAkbG9hZGluZy1jb2xvci0yIDhweFxuICAgICk7XG4gICAgYmFja2dyb3VuZC1zaXplOiAxNTAlO1xuICAgIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG5cbiAgICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tdW5rbm93bi1hbmltYXRpb25zXG4gICAgYW5pbWF0aW9uOiBnLWxvYWRpbmctYW5pbWF0aW9uIDAuNXMgbGluZWFyIGluZmluaXRlO1xuXG4gICAgQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHtcbiAgICAgICAgYW5pbWF0aW9uOiBub25lO1xuICAgIH1cbn1cblxuQG1peGluIHNjcm9sbGJhcigpIHtcbiAgICAmOjotd2Via2l0LXNjcm9sbGJhcixcbiAgICAqOjotd2Via2l0LXNjcm9sbGJhciB7XG4gICAgICAgIHdpZHRoOiB2YXIoLS1nLXNjcm9sbGJhci13aWR0aCk7XG4gICAgICAgIGhlaWdodDogdmFyKC0tZy1zY3JvbGxiYXItd2lkdGgpO1xuICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1nLWNvbG9yLXNjcm9sbC10cmFjayk7XG4gICAgfVxuXG4gICAgJjo6LXdlYmtpdC1zY3JvbGxiYXItdHJhY2ssXG4gICAgKjo6LXdlYmtpdC1zY3JvbGxiYXItdHJhY2sge1xuICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1nLWNvbG9yLXNjcm9sbC10cmFjayk7XG4gICAgfVxuXG4gICAgJjo6LXdlYmtpdC1zY3JvbGxiYXItY29ybmVyLFxuICAgICo6Oi13ZWJraXQtc2Nyb2xsYmFyLWNvcm5lciB7XG4gICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWctY29sb3Itc2Nyb2xsLWNvcm5lcik7XG4gICAgfVxuXG4gICAgJjo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWIsXG4gICAgKjo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWIge1xuICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1nLWNvbG9yLXNjcm9sbC1oYW5kbGUpO1xuICAgIH1cblxuICAgICY6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iOmhvdmVyLFxuICAgICo6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tZy1jb2xvci1zY3JvbGwtaGFuZGxlLWhvdmVyKTtcbiAgICB9XG59XG5cbkBtaXhpbiBmb2N1cy1vdXRsaW5lKCkge1xuICAgIG91dGxpbmU6IDJweCBzb2xpZCB2YXIoLS1nLWNvbG9yLWxpbmUtZm9jdXMpO1xufVxuIl19 */", "@use 'sass:map';\n@use 'variables';\n\n@mixin text-size($name) {\n font-size: var(--g-text-#{$name}-font-size);\n line-height: var(--g-text-#{$name}-line-height);\n}\n\n@mixin reset-list-style() {\n margin: 0;\n padding: 0;\n list-style: none;\n}\n\n@mixin fixAnchorPosition($offset: 0px) {\n padding-top: calc(var(--dc-header-height, #{variables.$headerHeight}));\n margin-top: calc(#{$offset} - var(--dc-header-height, #{variables.$headerHeight}));\n}\n\n@mixin reset-link-style() {\n color: inherit;\n text-decoration: none;\n}\n\n@mixin islands-focus() {\n outline: none;\n\n .utilityfocus &:focus {\n outline: 2px solid #ffdb4d;\n }\n}\n\n@mixin focusable($offset: 0, $mode: 'outline') {\n @if $mode == 'outline' {\n &:focus {\n outline: 2px solid var(--g-color-line-focus);\n outline-offset: $offset;\n }\n &:focus:not(:focus-visible) {\n outline: 0;\n }\n }\n\n @if $mode == 'box-shadow' {\n &:focus {\n box-shadow: 0 0 0 2px var(--g-color-line-focus);\n outline: 0;\n }\n &:focus:not(:focus-visible) {\n box-shadow: none;\n }\n }\n}\n\n@mixin link() {\n color: var(--g-color-text-link);\n text-decoration: none;\n cursor: pointer;\n border-radius: var(--g-focus-border-radius);\n\n @include islands-focus();\n\n @include focusable(0, 'box-shadow');\n\n &:hover,\n &:active {\n color: var(--g-color-text-link-hover);\n }\n}\n\n@mixin heading1() {\n font-weight: 500;\n\n @include text-size(display-3);\n\n @media (max-width: map.get(variables.$screenBreakpoints, 'md') - 1) {\n @include text-size(display-2);\n }\n}\n\n@mixin heading2() {\n font-weight: 500;\n\n @include text-size(display-1);\n}\n\n@mixin heading3() {\n font-weight: 500;\n\n @include text-size(header-2);\n}\n\n@mixin heading4() {\n font-weight: 500;\n\n @include text-size(header-1);\n}\n\n@mixin heading5() {\n font-weight: 500;\n\n @include text-size(body-3);\n}\n\n@mixin heading6() {\n font-weight: 400;\n\n @include text-size(body-3);\n}\n\n@mixin contributors-text() {\n font-size: 13px;\n font-weight: 400;\n margin-right: 5px;\n align-self: center;\n}\n\n@mixin text-body-1() {\n font-size: var(--g-text-body-1-font-size);\n line-height: var(--g-text-body-1-line-height);\n font-weight: var(--g-text-body-font-weight);\n}\n\n@mixin desktop-only() {\n @media (max-width: map.get(variables.$screenBreakpoints, 'md') - 1) {\n display: none;\n }\n}\n\n@mixin desktop-tablet-only() {\n @media (max-width: map.get(variables.$screenBreakpoints, 'sm') - 1) {\n display: none;\n }\n}\n\n@mixin mobile-tablet-only() {\n @media (min-width: map.get(variables.$screenBreakpoints, 'md')) {\n display: none;\n }\n}\n\n@mixin mobile-only() {\n @media (min-width: map.get(variables.$screenBreakpoints, 'sm')) {\n display: none;\n }\n}\n\n@mixin gravity-ui-text-sizes($delta) {\n --g-text-body-1-font-size: #{13px + $delta};\n --g-text-body-1-line-height: #{18px + $delta};\n --g-text-body-2-font-size: #{15px + $delta};\n --g-text-body-2-line-height: #{20px + $delta};\n --g-text-body-3-font-size: #{17px + $delta};\n --g-text-body-3-line-height: #{24px + $delta};\n --g-text-body-short-font-size: #{13px + $delta};\n --g-text-caption-1-font-size: #{9px + $delta};\n --g-text-caption-2-font-size: #{11px + $delta};\n --g-text-header-1-font-size: #{20px + $delta};\n --g-text-header-2-font-size: #{24px + $delta};\n --g-text-subheader-1-font-size: #{13px + $delta};\n --g-text-subheader-2-font-size: #{15px + $delta};\n --g-text-subheader-3-font-size: #{17px + $delta};\n --g-text-display-1-font-size: #{28px + $delta};\n --g-text-display-2-font-size: #{32px + $delta};\n --g-text-display-3-font-size: #{40px + $delta};\n --g-text-display-4-font-size: #{48px + $delta};\n --g-text-code-1-font-size: #{12px + $delta};\n --g-text-code-2-font-size: #{14px + $delta};\n --g-text-code-3-font-size: #{16px + $delta};\n --g-text-code-inline-1-font-size: #{12px + $delta};\n --g-text-code-inline-2-font-size: #{14px + $delta};\n --g-text-code-inline-3-font-size: #{16px + $delta};\n\n --yfm-font-size: var(--g-text-body-2-font-size);\n --yfm-font-line-height: var(--g-text-body-2-line-height);\n --yfm-font-size-h2: var(--g-text-header-2-font-size);\n --yfm-font-size-h3: var(--g-text-header-1-font-size);\n --yfm-font-size-h4: var(--g-text-subheader-3-font-size);\n --yfm-font-size-h5: var(--g-text-subheader-2-font-size);\n --yfm-font-size-h6: var(--g-text-subheader-1-font-size);\n}\n", "@use 'sass:list';\n@use 'sass:selector';\n\n@mixin overflow-ellipsis($type: ellipsis) {\n white-space: nowrap;\n overflow: hidden;\n text-overflow: $type;\n}\n\n@mixin button-reset() {\n padding: 0;\n\n font-family: var(--g-text-body-font-family);\n font-size: inherit;\n font-weight: var(--g-text-body-font-weight);\n\n color: inherit;\n background: none;\n border: none;\n outline: none;\n cursor: pointer;\n}\n\n@mixin link-reset() {\n color: inherit;\n text-decoration: inherit;\n}\n\n@mixin expand-interactive-area($h: 4px, $v: $h) {\n position: relative;\n\n &::after {\n content: '';\n position: absolute;\n inset: logical (-$v) (-$h);\n }\n}\n\n@mixin max-height($height) {\n max-height: $height;\n overflow-y: auto;\n}\n\n@mixin max-text-width($width: 100%) {\n @include overflow-ellipsis();\n\n max-width: $width;\n}\n\n@mixin aspect-ratio($ratio) {\n position: relative;\n\n &::before {\n display: block;\n content: '';\n width: 100%;\n padding-block-start: $ratio * 100%;\n }\n\n > *:only-child {\n position: absolute;\n inset: 0;\n }\n}\n\n@function get-pin-selector($mod, $selector, $append: true) {\n @if $append {\n @return selector.append($mod, $selector);\n } @else {\n @return list.join($mod, $selector, $separator: space);\n }\n}\n\n@mixin pin($block, $selectors, $radius, $append: true) {\n @each $selector in $selectors {\n @at-root #{get-pin-selector(#{$block}_pin_round-round, $selector, $append)} {\n border-radius: $radius;\n }\n\n @at-root #{get-pin-selector(#{$block}_pin_brick-brick, $selector, $append)} {\n border-radius: 0;\n }\n\n @at-root #{get-pin-selector(#{$block}_pin_clear-clear, $selector, $append)} {\n border-radius: 0;\n border-inline: 0;\n }\n\n @at-root #{get-pin-selector(#{$block}_pin_circle-circle, $selector, $append)} {\n border-radius: 100px;\n }\n\n @at-root #{get-pin-selector(#{$block}_pin_round-brick, $selector, $append)} {\n border-start-start-radius: $radius;\n border-start-end-radius: 0;\n border-end-start-radius: $radius;\n border-end-end-radius: 0;\n }\n\n @at-root #{get-pin-selector(#{$block}_pin_brick-round, $selector, $append)} {\n border-start-start-radius: 0;\n border-start-end-radius: $radius;\n border-end-start-radius: 0;\n border-end-end-radius: $radius;\n }\n\n @at-root #{get-pin-selector(#{$block}_pin_round-clear, $selector, $append)} {\n border-start-start-radius: $radius;\n border-start-end-radius: 0;\n border-end-start-radius: $radius;\n border-end-end-radius: 0;\n border-inline-end: 0;\n }\n\n @at-root #{get-pin-selector(#{$block}_pin_clear-round, $selector, $append)} {\n border-start-start-radius: 0;\n border-start-end-radius: $radius;\n border-end-start-radius: 0;\n border-end-end-radius: $radius;\n border-inline-start: 0;\n }\n\n @at-root #{get-pin-selector(#{$block}_pin_brick-clear, $selector, $append)} {\n border-radius: 0;\n border-inline-end: 0;\n }\n\n @at-root #{get-pin-selector(#{$block}_pin_clear-brick, $selector, $append)} {\n border-radius: 0;\n border-inline-start: 0;\n }\n\n @at-root #{get-pin-selector(#{$block}_pin_circle-brick, $selector, $append)} {\n border-start-start-radius: 100px;\n border-start-end-radius: 0;\n border-end-start-radius: 100px;\n border-end-end-radius: 0;\n }\n\n @at-root #{get-pin-selector(#{$block}_pin_brick-circle, $selector, $append)} {\n border-start-start-radius: 0;\n border-start-end-radius: 100px;\n border-end-start-radius: 0;\n border-end-end-radius: 100px;\n }\n\n @at-root #{get-pin-selector(#{$block}_pin_circle-clear, $selector, $append)} {\n border-start-start-radius: 100px;\n border-start-end-radius: 0;\n border-end-start-radius: 100px;\n border-end-end-radius: 0;\n border-inline-end: 0;\n }\n\n @at-root #{get-pin-selector(#{$block}_pin_clear-circle, $selector, $append)} {\n border-start-start-radius: 0;\n border-start-end-radius: 100px;\n border-end-start-radius: 0;\n border-end-end-radius: 100px;\n border-inline-start: 0;\n }\n }\n}\n\n// Typography\n\n@mixin text-body-1() {\n font-family: var(--g-text-body-font-family);\n font-weight: var(--g-text-body-font-weight);\n font-size: var(--g-text-body-1-font-size);\n line-height: var(--g-text-body-1-line-height);\n}\n\n@mixin text-body-2() {\n font-family: var(--g-text-body-font-family);\n font-weight: var(--g-text-body-font-weight);\n font-size: var(--g-text-body-2-font-size);\n line-height: var(--g-text-body-2-line-height);\n}\n\n@mixin text-body-3() {\n font-family: var(--g-text-body-font-family);\n font-weight: var(--g-text-body-font-weight);\n font-size: var(--g-text-body-3-font-size);\n line-height: var(--g-text-body-3-line-height);\n}\n\n@mixin text-body-short() {\n font-family: var(--g-text-body-font-family);\n font-weight: var(--g-text-body-font-weight);\n font-size: var(--g-text-body-short-font-size);\n line-height: var(--g-text-body-short-line-height);\n}\n\n@mixin text-caption-1() {\n font-family: var(--g-text-caption-font-family);\n font-weight: var(--g-text-caption-font-weight);\n font-size: var(--g-text-caption-1-font-size);\n line-height: var(--g-text-caption-1-line-height);\n}\n\n@mixin text-caption-2() {\n font-family: var(--g-text-caption-font-family);\n font-weight: var(--g-text-caption-font-weight);\n font-size: var(--g-text-caption-2-font-size);\n line-height: var(--g-text-caption-2-line-height);\n}\n\n@mixin text-header-1() {\n font-family: var(--g-text-header-font-family);\n font-weight: var(--g-text-header-font-weight);\n font-size: var(--g-text-header-1-font-size);\n line-height: var(--g-text-header-1-line-height);\n}\n\n@mixin text-header-2() {\n font-family: var(--g-text-header-font-family);\n font-weight: var(--g-text-header-font-weight);\n font-size: var(--g-text-header-2-font-size);\n line-height: var(--g-text-header-2-line-height);\n}\n\n@mixin text-subheader-1() {\n font-family: var(--g-text-subheader-font-family);\n font-weight: var(--g-text-subheader-font-weight);\n font-size: var(--g-text-subheader-1-font-size);\n line-height: var(--g-text-subheader-1-line-height);\n}\n\n@mixin text-subheader-2() {\n font-family: var(--g-text-subheader-font-family);\n font-weight: var(--g-text-subheader-font-weight);\n font-size: var(--g-text-subheader-2-font-size);\n line-height: var(--g-text-subheader-2-line-height);\n}\n\n@mixin text-subheader-3() {\n font-family: var(--g-text-subheader-font-family);\n font-weight: var(--g-text-subheader-font-weight);\n font-size: var(--g-text-subheader-3-font-size);\n line-height: var(--g-text-subheader-3-line-height);\n}\n\n@mixin text-display-1() {\n font-family: var(--g-text-display-font-family);\n font-weight: var(--g-text-display-font-weight);\n font-size: var(--g-text-display-1-font-size);\n line-height: var(--g-text-display-1-line-height);\n}\n\n@mixin text-display-2() {\n font-family: var(--g-text-display-font-family);\n font-weight: var(--g-text-display-font-weight);\n font-size: var(--g-text-display-2-font-size);\n line-height: var(--g-text-display-2-line-height);\n}\n\n@mixin text-display-3() {\n font-family: var(--g-text-display-font-family);\n font-weight: var(--g-text-display-font-weight);\n font-size: var(--g-text-display-3-font-size);\n line-height: var(--g-text-display-3-line-height);\n}\n\n@mixin text-display-4() {\n font-family: var(--g-text-display-font-family);\n font-weight: var(--g-text-display-font-weight);\n font-size: var(--g-text-display-4-font-size);\n line-height: var(--g-text-display-4-line-height);\n}\n\n@mixin text-code-1() {\n font-family: var(--g-text-code-font-family);\n font-weight: var(--g-text-code-font-weight);\n font-size: var(--g-text-code-1-font-size);\n line-height: var(--g-text-code-1-line-height);\n}\n\n@mixin text-code-2() {\n font-family: var(--g-text-code-font-family);\n font-weight: var(--g-text-code-font-weight);\n font-size: var(--g-text-code-2-font-size);\n line-height: var(--g-text-code-2-line-height);\n}\n\n@mixin text-code-3() {\n font-family: var(--g-text-code-font-family);\n font-weight: var(--g-text-code-font-weight);\n font-size: var(--g-text-code-3-font-size);\n line-height: var(--g-text-code-3-line-height);\n}\n\n@mixin text-code-inline-1() {\n font-family: var(--g-text-code-font-family);\n font-weight: var(--g-text-code-font-weight);\n font-size: var(--g-text-code-inline-1-font-size);\n line-height: var(--g-text-code-inline-1-line-height);\n}\n\n@mixin text-code-inline-2() {\n font-family: var(--g-text-code-font-family);\n font-weight: var(--g-text-code-font-weight);\n font-size: var(--g-text-code-inline-2-font-size);\n line-height: var(--g-text-code-inline-2-line-height);\n}\n\n@mixin text-code-inline-3() {\n font-family: var(--g-text-code-font-family);\n font-weight: var(--g-text-code-font-weight);\n font-size: var(--g-text-code-inline-3-font-size);\n line-height: var(--g-text-code-inline-3-line-height);\n}\n\n@mixin text-accent() {\n font-weight: var(--g-text-accent-font-weight);\n}\n\n@mixin loading($loading-color-1: rgba(255, 255, 255, 0.3), $loading-color-2: transparent) {\n background-image: repeating-linear-gradient(\n -45deg,\n $loading-color-1,\n $loading-color-1 4px,\n $loading-color-2 4px,\n $loading-color-2 8px\n );\n background-size: 150%;\n background-clip: padding-box;\n\n // stylelint-disable-next-line no-unknown-animations\n animation: g-loading-animation 0.5s linear infinite;\n\n @media (prefers-reduced-motion: reduce) {\n animation: none;\n }\n}\n\n@mixin scrollbar() {\n &::-webkit-scrollbar,\n *::-webkit-scrollbar {\n width: var(--g-scrollbar-width);\n height: var(--g-scrollbar-width);\n background: var(--g-color-scroll-track);\n }\n\n &::-webkit-scrollbar-track,\n *::-webkit-scrollbar-track {\n background: var(--g-color-scroll-track);\n }\n\n &::-webkit-scrollbar-corner,\n *::-webkit-scrollbar-corner {\n background: var(--g-color-scroll-corner);\n }\n\n &::-webkit-scrollbar-thumb,\n *::-webkit-scrollbar-thumb {\n background: var(--g-color-scroll-handle);\n }\n\n &::-webkit-scrollbar-thumb:hover,\n *::-webkit-scrollbar-thumb:hover {\n background: var(--g-color-scroll-handle-hover);\n }\n}\n\n@mixin focus-outline() {\n outline: 2px solid var(--g-color-line-focus);\n}\n"],
5
5
  "mappings": "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",
6
6
  "names": []
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../../../../src/components/DocLeadingPage/DocLeadingPage.scss", "../../../../src/styles/mixins.scss", "../../../../src/components/DocLeadingPage/%3Cinput css vc6Bna%3E", "../../../../src/styles/variables.scss"],
3
+ "sources": ["../../../../src/components/DocLeadingPage/DocLeadingPage.scss", "../../../../src/styles/mixins.scss", "../../../../src/components/DocLeadingPage/%3Cinput css qNpZse%3E", "../../../../src/styles/variables.scss"],
4
4
  "sourcesContent": ["@use 'sass:map';\n@use '../../styles/variables';\n@use '../../styles/mixins';\n\n.dc-doc-leading-page {\n display: flex;\n max-width: 1440px;\n\n @include mixins.text-size(body-2);\n\n &_regular-page-width {\n max-width: 1280px;\n }\n\n &__main {\n margin-bottom: 40px;\n padding: 0 40px;\n }\n\n &__body {\n @include mixins.text-size(body-2);\n\n &_text-size {\n &_s {\n @include mixins.gravity-ui-text-sizes(-2px);\n }\n\n &_l {\n @include mixins.gravity-ui-text-sizes(2px);\n }\n }\n }\n\n &__title {\n margin: 40px 0 variables.$normalOffset;\n\n @include mixins.text-size(display-2);\n\n @media (max-width: map.get(variables.$screenBreakpoints, 'md') - 1) {\n margin-top: 20px;\n }\n }\n\n &__description {\n a {\n @include mixins.link();\n\n &:not([href]) {\n color: inherit;\n }\n }\n }\n\n &__links {\n @include mixins.reset-list-style();\n\n display: flex;\n justify-content: space-between;\n flex-flow: column wrap;\n\n &_root {\n flex-direction: row;\n margin-top: 70px;\n margin-bottom: -(variables.$blockMarginBottomLarge);\n }\n }\n\n &__links-left {\n padding-right: 10px;\n }\n\n &__links-item {\n &_root {\n display: flex;\n min-width: 280px;\n max-width: 400px;\n width: calc(50% - 20px);\n padding-top: 15px;\n padding-bottom: 15px;\n margin-bottom: variables.$blockMarginBottomLarge;\n border-top: 1px solid var(--g-color-line-generic);\n }\n }\n\n &__links-title {\n &_root {\n @include mixins.heading4();\n\n margin-bottom: 10px;\n font-weight: 500;\n }\n }\n\n &__links-link {\n @include mixins.link();\n }\n\n @media (max-width: map.get(variables.$screenBreakpoints, 'md') - 1) {\n &__main {\n margin-left: 0;\n margin-bottom: 40px;\n padding: 0 20px;\n }\n\n &__links-item {\n width: 100%;\n }\n }\n}\n", "@use 'sass:map';\n@use 'variables';\n\n@mixin text-size($name) {\n font-size: var(--g-text-#{$name}-font-size);\n line-height: var(--g-text-#{$name}-line-height);\n}\n\n@mixin reset-list-style() {\n margin: 0;\n padding: 0;\n list-style: none;\n}\n\n@mixin fixAnchorPosition($offset: 0px) {\n padding-top: calc(var(--dc-header-height, #{variables.$headerHeight}));\n margin-top: calc(#{$offset} - var(--dc-header-height, #{variables.$headerHeight}));\n}\n\n@mixin reset-link-style() {\n color: inherit;\n text-decoration: none;\n}\n\n@mixin islands-focus() {\n outline: none;\n\n .utilityfocus &:focus {\n outline: 2px solid #ffdb4d;\n }\n}\n\n@mixin focusable($offset: 0, $mode: 'outline') {\n @if $mode == 'outline' {\n &:focus {\n outline: 2px solid var(--g-color-line-focus);\n outline-offset: $offset;\n }\n &:focus:not(:focus-visible) {\n outline: 0;\n }\n }\n\n @if $mode == 'box-shadow' {\n &:focus {\n box-shadow: 0 0 0 2px var(--g-color-line-focus);\n outline: 0;\n }\n &:focus:not(:focus-visible) {\n box-shadow: none;\n }\n }\n}\n\n@mixin link() {\n color: var(--g-color-text-link);\n text-decoration: none;\n cursor: pointer;\n border-radius: var(--g-focus-border-radius);\n\n @include islands-focus();\n\n @include focusable(0, 'box-shadow');\n\n &:hover,\n &:active {\n color: var(--g-color-text-link-hover);\n }\n}\n\n@mixin heading1() {\n font-weight: 500;\n\n @include text-size(display-3);\n\n @media (max-width: map.get(variables.$screenBreakpoints, 'md') - 1) {\n @include text-size(display-2);\n }\n}\n\n@mixin heading2() {\n font-weight: 500;\n\n @include text-size(display-1);\n}\n\n@mixin heading3() {\n font-weight: 500;\n\n @include text-size(header-2);\n}\n\n@mixin heading4() {\n font-weight: 500;\n\n @include text-size(header-1);\n}\n\n@mixin heading5() {\n font-weight: 500;\n\n @include text-size(body-3);\n}\n\n@mixin heading6() {\n font-weight: 400;\n\n @include text-size(body-3);\n}\n\n@mixin contributors-text() {\n font-size: 13px;\n font-weight: 400;\n margin-right: 5px;\n align-self: center;\n}\n\n@mixin text-body-1() {\n font-size: var(--g-text-body-1-font-size);\n line-height: var(--g-text-body-1-line-height);\n font-weight: var(--g-text-body-font-weight);\n}\n\n@mixin desktop-only() {\n @media (max-width: map.get(variables.$screenBreakpoints, 'md') - 1) {\n display: none;\n }\n}\n\n@mixin desktop-tablet-only() {\n @media (max-width: map.get(variables.$screenBreakpoints, 'sm') - 1) {\n display: none;\n }\n}\n\n@mixin mobile-tablet-only() {\n @media (min-width: map.get(variables.$screenBreakpoints, 'md')) {\n display: none;\n }\n}\n\n@mixin mobile-only() {\n @media (min-width: map.get(variables.$screenBreakpoints, 'sm')) {\n display: none;\n }\n}\n\n@mixin gravity-ui-text-sizes($delta) {\n --g-text-body-1-font-size: #{13px + $delta};\n --g-text-body-1-line-height: #{18px + $delta};\n --g-text-body-2-font-size: #{15px + $delta};\n --g-text-body-2-line-height: #{20px + $delta};\n --g-text-body-3-font-size: #{17px + $delta};\n --g-text-body-3-line-height: #{24px + $delta};\n --g-text-body-short-font-size: #{13px + $delta};\n --g-text-caption-1-font-size: #{9px + $delta};\n --g-text-caption-2-font-size: #{11px + $delta};\n --g-text-header-1-font-size: #{20px + $delta};\n --g-text-header-2-font-size: #{24px + $delta};\n --g-text-subheader-1-font-size: #{13px + $delta};\n --g-text-subheader-2-font-size: #{15px + $delta};\n --g-text-subheader-3-font-size: #{17px + $delta};\n --g-text-display-1-font-size: #{28px + $delta};\n --g-text-display-2-font-size: #{32px + $delta};\n --g-text-display-3-font-size: #{40px + $delta};\n --g-text-display-4-font-size: #{48px + $delta};\n --g-text-code-1-font-size: #{12px + $delta};\n --g-text-code-2-font-size: #{14px + $delta};\n --g-text-code-3-font-size: #{16px + $delta};\n --g-text-code-inline-1-font-size: #{12px + $delta};\n --g-text-code-inline-2-font-size: #{14px + $delta};\n --g-text-code-inline-3-font-size: #{16px + $delta};\n\n --yfm-font-size: var(--g-text-body-2-font-size);\n --yfm-font-line-height: var(--g-text-body-2-line-height);\n --yfm-font-size-h2: var(--g-text-header-2-font-size);\n --yfm-font-size-h3: var(--g-text-header-1-font-size);\n --yfm-font-size-h4: var(--g-text-subheader-3-font-size);\n --yfm-font-size-h5: var(--g-text-subheader-2-font-size);\n --yfm-font-size-h6: var(--g-text-subheader-1-font-size);\n}\n", ".dc-doc-leading-page {\n display: flex;\n max-width: 1440px;\n font-size: var(--g-text-body-2-font-size);\n line-height: var(--g-text-body-2-line-height);\n}\n.dc-doc-leading-page_regular-page-width {\n max-width: 1280px;\n}\n.dc-doc-leading-page__main {\n margin-bottom: 40px;\n padding: 0 40px;\n}\n.dc-doc-leading-page__body {\n font-size: var(--g-text-body-2-font-size);\n line-height: var(--g-text-body-2-line-height);\n}\n.dc-doc-leading-page__body_text-size_s {\n --g-text-body-1-font-size: 11px;\n --g-text-body-1-line-height: 16px;\n --g-text-body-2-font-size: 13px;\n --g-text-body-2-line-height: 18px;\n --g-text-body-3-font-size: 15px;\n --g-text-body-3-line-height: 22px;\n --g-text-body-short-font-size: 11px;\n --g-text-caption-1-font-size: 7px;\n --g-text-caption-2-font-size: 9px;\n --g-text-header-1-font-size: 18px;\n --g-text-header-2-font-size: 22px;\n --g-text-subheader-1-font-size: 11px;\n --g-text-subheader-2-font-size: 13px;\n --g-text-subheader-3-font-size: 15px;\n --g-text-display-1-font-size: 26px;\n --g-text-display-2-font-size: 30px;\n --g-text-display-3-font-size: 38px;\n --g-text-display-4-font-size: 46px;\n --g-text-code-1-font-size: 10px;\n --g-text-code-2-font-size: 12px;\n --g-text-code-3-font-size: 14px;\n --g-text-code-inline-1-font-size: 10px;\n --g-text-code-inline-2-font-size: 12px;\n --g-text-code-inline-3-font-size: 14px;\n --yfm-font-size: var(--g-text-body-2-font-size);\n --yfm-font-line-height: var(--g-text-body-2-line-height);\n --yfm-font-size-h2: var(--g-text-header-2-font-size);\n --yfm-font-size-h3: var(--g-text-header-1-font-size);\n --yfm-font-size-h4: var(--g-text-subheader-3-font-size);\n --yfm-font-size-h5: var(--g-text-subheader-2-font-size);\n --yfm-font-size-h6: var(--g-text-subheader-1-font-size);\n}\n.dc-doc-leading-page__body_text-size_l {\n --g-text-body-1-font-size: 15px;\n --g-text-body-1-line-height: 20px;\n --g-text-body-2-font-size: 17px;\n --g-text-body-2-line-height: 22px;\n --g-text-body-3-font-size: 19px;\n --g-text-body-3-line-height: 26px;\n --g-text-body-short-font-size: 15px;\n --g-text-caption-1-font-size: 11px;\n --g-text-caption-2-font-size: 13px;\n --g-text-header-1-font-size: 22px;\n --g-text-header-2-font-size: 26px;\n --g-text-subheader-1-font-size: 15px;\n --g-text-subheader-2-font-size: 17px;\n --g-text-subheader-3-font-size: 19px;\n --g-text-display-1-font-size: 30px;\n --g-text-display-2-font-size: 34px;\n --g-text-display-3-font-size: 42px;\n --g-text-display-4-font-size: 50px;\n --g-text-code-1-font-size: 14px;\n --g-text-code-2-font-size: 16px;\n --g-text-code-3-font-size: 18px;\n --g-text-code-inline-1-font-size: 14px;\n --g-text-code-inline-2-font-size: 16px;\n --g-text-code-inline-3-font-size: 18px;\n --yfm-font-size: var(--g-text-body-2-font-size);\n --yfm-font-line-height: var(--g-text-body-2-line-height);\n --yfm-font-size-h2: var(--g-text-header-2-font-size);\n --yfm-font-size-h3: var(--g-text-header-1-font-size);\n --yfm-font-size-h4: var(--g-text-subheader-3-font-size);\n --yfm-font-size-h5: var(--g-text-subheader-2-font-size);\n --yfm-font-size-h6: var(--g-text-subheader-1-font-size);\n}\n.dc-doc-leading-page__title {\n margin: 40px 0 20px;\n font-size: var(--g-text-display-2-font-size);\n line-height: var(--g-text-display-2-line-height);\n}\n@media (max-width: 768px) {\n .dc-doc-leading-page__title {\n margin-top: 20px;\n }\n}\n.dc-doc-leading-page__description a {\n color: var(--g-color-text-link);\n text-decoration: none;\n cursor: pointer;\n border-radius: var(--g-focus-border-radius);\n outline: none;\n}\n.utilityfocus .dc-doc-leading-page__description a:focus {\n outline: 2px solid #ffdb4d;\n}\n.dc-doc-leading-page__description a:focus {\n box-shadow: 0 0 0 2px var(--g-color-line-focus);\n outline: 0;\n}\n.dc-doc-leading-page__description a:focus:not(:focus-visible) {\n box-shadow: none;\n}\n.dc-doc-leading-page__description a:hover, .dc-doc-leading-page__description a:active {\n color: var(--g-color-text-link-hover);\n}\n.dc-doc-leading-page__description a:not([href]) {\n color: inherit;\n}\n.dc-doc-leading-page__links {\n margin: 0;\n padding: 0;\n list-style: none;\n display: flex;\n justify-content: space-between;\n flex-flow: column wrap;\n}\n.dc-doc-leading-page__links_root {\n flex-direction: row;\n margin-top: 70px;\n margin-bottom: -20px;\n}\n.dc-doc-leading-page__links-left {\n padding-right: 10px;\n}\n.dc-doc-leading-page__links-item_root {\n display: flex;\n min-width: 280px;\n max-width: 400px;\n width: calc(50% - 20px);\n padding-top: 15px;\n padding-bottom: 15px;\n margin-bottom: 20px;\n border-top: 1px solid var(--g-color-line-generic);\n}\n.dc-doc-leading-page__links-title_root {\n font-weight: 500;\n font-size: var(--g-text-header-1-font-size);\n line-height: var(--g-text-header-1-line-height);\n margin-bottom: 10px;\n font-weight: 500;\n}\n.dc-doc-leading-page__links-link {\n color: var(--g-color-text-link);\n text-decoration: none;\n cursor: pointer;\n border-radius: var(--g-focus-border-radius);\n outline: none;\n}\n.utilityfocus .dc-doc-leading-page__links-link:focus {\n outline: 2px solid #ffdb4d;\n}\n.dc-doc-leading-page__links-link:focus {\n box-shadow: 0 0 0 2px var(--g-color-line-focus);\n outline: 0;\n}\n.dc-doc-leading-page__links-link:focus:not(:focus-visible) {\n box-shadow: none;\n}\n.dc-doc-leading-page__links-link:hover, .dc-doc-leading-page__links-link:active {\n color: var(--g-color-text-link-hover);\n}\n@media (max-width: 768px) {\n .dc-doc-leading-page__main {\n margin-left: 0;\n margin-bottom: 40px;\n padding: 0 20px;\n }\n .dc-doc-leading-page__links-item {\n width: 100%;\n }\n}\n/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VSb290IjoiL2hvbWUvcnVubmVyL3dvcmsvY29tcG9uZW50cy9jb21wb25lbnRzL3NyYy9jb21wb25lbnRzL0RvY0xlYWRpbmdQYWdlIiwic291cmNlcyI6WyJEb2NMZWFkaW5nUGFnZS5zY3NzIiwiLi4vLi4vc3R5bGVzL21peGlucy5zY3NzIiwiLi4vLi4vc3R5bGVzL3ZhcmlhYmxlcy5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUlBO0VBQ0k7RUFDQTtFQ0ZBO0VBQ0E7O0FES0E7RUFDSTs7QUFHSjtFQUNJO0VBQ0E7O0FBR0o7RUNmQTtFQUNBOztBRGtCUTtFQzZIUjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUR4SlE7RUN5SFI7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FEbEpBO0VBQ0k7RUM5Qko7RUFDQTs7QURpQ0k7RUFMSjtJQU1ROzs7QUFLSjtFQ1dKO0VBQ0E7RUFDQTtFQUNBO0VBakNBOztBQUVBO0VBQ0k7O0FBZ0JBO0VBQ0k7RUFDQTs7QUFFSjtFQUNJOztBQWVSO0VBRUk7O0FEbkJJO0VBQ0k7O0FBS1o7RUM1Q0E7RUFDQTtFQUNBO0VENkNJO0VBQ0E7RUFDQTs7QUFFQTtFQUNJO0VBQ0E7RUFDQTs7QUFJUjtFQUNJOztBQUlBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsZUV6RWE7RUYwRWI7O0FBS0o7RUNRSjtFQXpGQTtFQUNBO0VEbUZRO0VBQ0E7O0FBSVI7RUN0Q0E7RUFDQTtFQUNBO0VBQ0E7RUFqQ0E7O0FBRUE7RUFDSTs7QUFnQkE7RUFDSTtFQUNBOztBQUVKO0VBQ0k7O0FBZVI7RUFFSTs7QUQrQko7RUFDSTtJQUNJO0lBQ0E7SUFDQTs7RUFHSjtJQUNJIiwic291cmNlc0NvbnRlbnQiOlsiQHVzZSAnc2FzczptYXAnO1xuQHVzZSAnLi4vLi4vc3R5bGVzL3ZhcmlhYmxlcyc7XG5AdXNlICcuLi8uLi9zdHlsZXMvbWl4aW5zJztcblxuLmRjLWRvYy1sZWFkaW5nLXBhZ2Uge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgbWF4LXdpZHRoOiAxNDQwcHg7XG5cbiAgICBAaW5jbHVkZSBtaXhpbnMudGV4dC1zaXplKGJvZHktMik7XG5cbiAgICAmX3JlZ3VsYXItcGFnZS13aWR0aCB7XG4gICAgICAgIG1heC13aWR0aDogMTI4MHB4O1xuICAgIH1cblxuICAgICZfX21haW4ge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA0MHB4O1xuICAgICAgICBwYWRkaW5nOiAwIDQwcHg7XG4gICAgfVxuXG4gICAgJl9fYm9keSB7XG4gICAgICAgIEBpbmNsdWRlIG1peGlucy50ZXh0LXNpemUoYm9keS0yKTtcblxuICAgICAgICAmX3RleHQtc2l6ZSB7XG4gICAgICAgICAgICAmX3Mge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1peGlucy5ncmF2aXR5LXVpLXRleHQtc2l6ZXMoLTJweCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICZfbCB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbWl4aW5zLmdyYXZpdHktdWktdGV4dC1zaXplcygycHgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fdGl0bGUge1xuICAgICAgICBtYXJnaW46IDQwcHggMCB2YXJpYWJsZXMuJG5vcm1hbE9mZnNldDtcblxuICAgICAgICBAaW5jbHVkZSBtaXhpbnMudGV4dC1zaXplKGRpc3BsYXktMik7XG5cbiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IG1hcC5nZXQodmFyaWFibGVzLiRzY3JlZW5CcmVha3BvaW50cywgJ21kJykgLSAxKSB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAyMHB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fZGVzY3JpcHRpb24ge1xuICAgICAgICBhIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1peGlucy5saW5rKCk7XG5cbiAgICAgICAgICAgICY6bm90KFtocmVmXSkge1xuICAgICAgICAgICAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fbGlua3Mge1xuICAgICAgICBAaW5jbHVkZSBtaXhpbnMucmVzZXQtbGlzdC1zdHlsZSgpO1xuXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgZmxleC1mbG93OiBjb2x1bW4gd3JhcDtcblxuICAgICAgICAmX3Jvb3Qge1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDcwcHg7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAtKHZhcmlhYmxlcy4kYmxvY2tNYXJnaW5Cb3R0b21MYXJnZSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19saW5rcy1sZWZ0IHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMTBweDtcbiAgICB9XG5cbiAgICAmX19saW5rcy1pdGVtIHtcbiAgICAgICAgJl9yb290IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBtaW4td2lkdGg6IDI4MHB4O1xuICAgICAgICAgICAgbWF4LXdpZHRoOiA0MDBweDtcbiAgICAgICAgICAgIHdpZHRoOiBjYWxjKDUwJSAtIDIwcHgpO1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IDE1cHg7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTVweDtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHZhcmlhYmxlcy4kYmxvY2tNYXJnaW5Cb3R0b21MYXJnZTtcbiAgICAgICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1nLWNvbG9yLWxpbmUtZ2VuZXJpYyk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19saW5rcy10aXRsZSB7XG4gICAgICAgICZfcm9vdCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBtaXhpbnMuaGVhZGluZzQoKTtcblxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19saW5rcy1saW5rIHtcbiAgICAgICAgQGluY2x1ZGUgbWl4aW5zLmxpbmsoKTtcbiAgICB9XG5cbiAgICBAbWVkaWEgKG1heC13aWR0aDogbWFwLmdldCh2YXJpYWJsZXMuJHNjcmVlbkJyZWFrcG9pbnRzLCAnbWQnKSAtIDEpIHtcbiAgICAgICAgJl9fbWFpbiB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDQwcHg7XG4gICAgICAgICAgICBwYWRkaW5nOiAwIDIwcHg7XG4gICAgICAgIH1cblxuICAgICAgICAmX19saW5rcy1pdGVtIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiQHVzZSAnc2FzczptYXAnO1xuQHVzZSAndmFyaWFibGVzJztcblxuQG1peGluIHRleHQtc2l6ZSgkbmFtZSkge1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZy10ZXh0LSN7JG5hbWV9LWZvbnQtc2l6ZSk7XG4gICAgbGluZS1oZWlnaHQ6IHZhcigtLWctdGV4dC0jeyRuYW1lfS1saW5lLWhlaWdodCk7XG59XG5cbkBtaXhpbiByZXNldC1saXN0LXN0eWxlKCkge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG59XG5cbkBtaXhpbiBmaXhBbmNob3JQb3NpdGlvbigkb2Zmc2V0OiAwcHgpIHtcbiAgICBwYWRkaW5nLXRvcDogY2FsYyh2YXIoLS1kYy1oZWFkZXItaGVpZ2h0LCAje3ZhcmlhYmxlcy4kaGVhZGVySGVpZ2h0fSkpO1xuICAgIG1hcmdpbi10b3A6IGNhbGMoI3skb2Zmc2V0fSAtIHZhcigtLWRjLWhlYWRlci1oZWlnaHQsICN7dmFyaWFibGVzLiRoZWFkZXJIZWlnaHR9KSk7XG59XG5cbkBtaXhpbiByZXNldC1saW5rLXN0eWxlKCkge1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuQG1peGluIGlzbGFuZHMtZm9jdXMoKSB7XG4gICAgb3V0bGluZTogbm9uZTtcblxuICAgIC51dGlsaXR5Zm9jdXMgJjpmb2N1cyB7XG4gICAgICAgIG91dGxpbmU6IDJweCBzb2xpZCAjZmZkYjRkO1xuICAgIH1cbn1cblxuQG1peGluIGZvY3VzYWJsZSgkb2Zmc2V0OiAwLCAkbW9kZTogJ291dGxpbmUnKSB7XG4gICAgQGlmICRtb2RlID09ICdvdXRsaW5lJyB7XG4gICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgb3V0bGluZTogMnB4IHNvbGlkIHZhcigtLWctY29sb3ItbGluZS1mb2N1cyk7XG4gICAgICAgICAgICBvdXRsaW5lLW9mZnNldDogJG9mZnNldDtcbiAgICAgICAgfVxuICAgICAgICAmOmZvY3VzOm5vdCg6Zm9jdXMtdmlzaWJsZSkge1xuICAgICAgICAgICAgb3V0bGluZTogMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBpZiAkbW9kZSA9PSAnYm94LXNoYWRvdycge1xuICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDJweCB2YXIoLS1nLWNvbG9yLWxpbmUtZm9jdXMpO1xuICAgICAgICAgICAgb3V0bGluZTogMDtcbiAgICAgICAgfVxuICAgICAgICAmOmZvY3VzOm5vdCg6Zm9jdXMtdmlzaWJsZSkge1xuICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuQG1peGluIGxpbmsoKSB7XG4gICAgY29sb3I6IHZhcigtLWctY29sb3ItdGV4dC1saW5rKTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWctZm9jdXMtYm9yZGVyLXJhZGl1cyk7XG5cbiAgICBAaW5jbHVkZSBpc2xhbmRzLWZvY3VzKCk7XG5cbiAgICBAaW5jbHVkZSBmb2N1c2FibGUoMCwgJ2JveC1zaGFkb3cnKTtcblxuICAgICY6aG92ZXIsXG4gICAgJjphY3RpdmUge1xuICAgICAgICBjb2xvcjogdmFyKC0tZy1jb2xvci10ZXh0LWxpbmstaG92ZXIpO1xuICAgIH1cbn1cblxuQG1peGluIGhlYWRpbmcxKCkge1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG5cbiAgICBAaW5jbHVkZSB0ZXh0LXNpemUoZGlzcGxheS0zKTtcblxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiBtYXAuZ2V0KHZhcmlhYmxlcy4kc2NyZWVuQnJlYWtwb2ludHMsICdtZCcpIC0gMSkge1xuICAgICAgICBAaW5jbHVkZSB0ZXh0LXNpemUoZGlzcGxheS0yKTtcbiAgICB9XG59XG5cbkBtaXhpbiBoZWFkaW5nMigpIHtcbiAgICBmb250LXdlaWdodDogNTAwO1xuXG4gICAgQGluY2x1ZGUgdGV4dC1zaXplKGRpc3BsYXktMSk7XG59XG5cbkBtaXhpbiBoZWFkaW5nMygpIHtcbiAgICBmb250LXdlaWdodDogNTAwO1xuXG4gICAgQGluY2x1ZGUgdGV4dC1zaXplKGhlYWRlci0yKTtcbn1cblxuQG1peGluIGhlYWRpbmc0KCkge1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG5cbiAgICBAaW5jbHVkZSB0ZXh0LXNpemUoaGVhZGVyLTEpO1xufVxuXG5AbWl4aW4gaGVhZGluZzUoKSB7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcblxuICAgIEBpbmNsdWRlIHRleHQtc2l6ZShib2R5LTMpO1xufVxuXG5AbWl4aW4gaGVhZGluZzYoKSB7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcblxuICAgIEBpbmNsdWRlIHRleHQtc2l6ZShib2R5LTMpO1xufVxuXG5AbWl4aW4gY29udHJpYnV0b3JzLXRleHQoKSB7XG4gICAgZm9udC1zaXplOiAxM3B4O1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgbWFyZ2luLXJpZ2h0OiA1cHg7XG4gICAgYWxpZ24tc2VsZjogY2VudGVyO1xufVxuXG5AbWl4aW4gdGV4dC1ib2R5LTEoKSB7XG4gICAgZm9udC1zaXplOiB2YXIoLS1nLXRleHQtYm9keS0xLWZvbnQtc2l6ZSk7XG4gICAgbGluZS1oZWlnaHQ6IHZhcigtLWctdGV4dC1ib2R5LTEtbGluZS1oZWlnaHQpO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1nLXRleHQtYm9keS1mb250LXdlaWdodCk7XG59XG5cbkBtaXhpbiBkZXNrdG9wLW9ubHkoKSB7XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IG1hcC5nZXQodmFyaWFibGVzLiRzY3JlZW5CcmVha3BvaW50cywgJ21kJykgLSAxKSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxufVxuXG5AbWl4aW4gZGVza3RvcC10YWJsZXQtb25seSgpIHtcbiAgICBAbWVkaWEgKG1heC13aWR0aDogbWFwLmdldCh2YXJpYWJsZXMuJHNjcmVlbkJyZWFrcG9pbnRzLCAnc20nKSAtIDEpIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG59XG5cbkBtaXhpbiBtb2JpbGUtdGFibGV0LW9ubHkoKSB7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IG1hcC5nZXQodmFyaWFibGVzLiRzY3JlZW5CcmVha3BvaW50cywgJ21kJykpIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG59XG5cbkBtaXhpbiBtb2JpbGUtb25seSgpIHtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogbWFwLmdldCh2YXJpYWJsZXMuJHNjcmVlbkJyZWFrcG9pbnRzLCAnc20nKSkge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbn1cblxuQG1peGluIGdyYXZpdHktdWktdGV4dC1zaXplcygkZGVsdGEpIHtcbiAgICAtLWctdGV4dC1ib2R5LTEtZm9udC1zaXplOiAjezEzcHggKyAkZGVsdGF9O1xuICAgIC0tZy10ZXh0LWJvZHktMS1saW5lLWhlaWdodDogI3sxOHB4ICsgJGRlbHRhfTtcbiAgICAtLWctdGV4dC1ib2R5LTItZm9udC1zaXplOiAjezE1cHggKyAkZGVsdGF9O1xuICAgIC0tZy10ZXh0LWJvZHktMi1saW5lLWhlaWdodDogI3syMHB4ICsgJGRlbHRhfTtcbiAgICAtLWctdGV4dC1ib2R5LTMtZm9udC1zaXplOiAjezE3cHggKyAkZGVsdGF9O1xuICAgIC0tZy10ZXh0LWJvZHktMy1saW5lLWhlaWdodDogI3syNHB4ICsgJGRlbHRhfTtcbiAgICAtLWctdGV4dC1ib2R5LXNob3J0LWZvbnQtc2l6ZTogI3sxM3B4ICsgJGRlbHRhfTtcbiAgICAtLWctdGV4dC1jYXB0aW9uLTEtZm9udC1zaXplOiAjezlweCArICRkZWx0YX07XG4gICAgLS1nLXRleHQtY2FwdGlvbi0yLWZvbnQtc2l6ZTogI3sxMXB4ICsgJGRlbHRhfTtcbiAgICAtLWctdGV4dC1oZWFkZXItMS1mb250LXNpemU6ICN7MjBweCArICRkZWx0YX07XG4gICAgLS1nLXRleHQtaGVhZGVyLTItZm9udC1zaXplOiAjezI0cHggKyAkZGVsdGF9O1xuICAgIC0tZy10ZXh0LXN1YmhlYWRlci0xLWZvbnQtc2l6ZTogI3sxM3B4ICsgJGRlbHRhfTtcbiAgICAtLWctdGV4dC1zdWJoZWFkZXItMi1mb250LXNpemU6ICN7MTVweCArICRkZWx0YX07XG4gICAgLS1nLXRleHQtc3ViaGVhZGVyLTMtZm9udC1zaXplOiAjezE3cHggKyAkZGVsdGF9O1xuICAgIC0tZy10ZXh0LWRpc3BsYXktMS1mb250LXNpemU6ICN7MjhweCArICRkZWx0YX07XG4gICAgLS1nLXRleHQtZGlzcGxheS0yLWZvbnQtc2l6ZTogI3szMnB4ICsgJGRlbHRhfTtcbiAgICAtLWctdGV4dC1kaXNwbGF5LTMtZm9udC1zaXplOiAjezQwcHggKyAkZGVsdGF9O1xuICAgIC0tZy10ZXh0LWRpc3BsYXktNC1mb250LXNpemU6ICN7NDhweCArICRkZWx0YX07XG4gICAgLS1nLXRleHQtY29kZS0xLWZvbnQtc2l6ZTogI3sxMnB4ICsgJGRlbHRhfTtcbiAgICAtLWctdGV4dC1jb2RlLTItZm9udC1zaXplOiAjezE0cHggKyAkZGVsdGF9O1xuICAgIC0tZy10ZXh0LWNvZGUtMy1mb250LXNpemU6ICN7MTZweCArICRkZWx0YX07XG4gICAgLS1nLXRleHQtY29kZS1pbmxpbmUtMS1mb250LXNpemU6ICN7MTJweCArICRkZWx0YX07XG4gICAgLS1nLXRleHQtY29kZS1pbmxpbmUtMi1mb250LXNpemU6ICN7MTRweCArICRkZWx0YX07XG4gICAgLS1nLXRleHQtY29kZS1pbmxpbmUtMy1mb250LXNpemU6ICN7MTZweCArICRkZWx0YX07XG5cbiAgICAtLXlmbS1mb250LXNpemU6IHZhcigtLWctdGV4dC1ib2R5LTItZm9udC1zaXplKTtcbiAgICAtLXlmbS1mb250LWxpbmUtaGVpZ2h0OiB2YXIoLS1nLXRleHQtYm9keS0yLWxpbmUtaGVpZ2h0KTtcbiAgICAtLXlmbS1mb250LXNpemUtaDI6IHZhcigtLWctdGV4dC1oZWFkZXItMi1mb250LXNpemUpO1xuICAgIC0teWZtLWZvbnQtc2l6ZS1oMzogdmFyKC0tZy10ZXh0LWhlYWRlci0xLWZvbnQtc2l6ZSk7XG4gICAgLS15Zm0tZm9udC1zaXplLWg0OiB2YXIoLS1nLXRleHQtc3ViaGVhZGVyLTMtZm9udC1zaXplKTtcbiAgICAtLXlmbS1mb250LXNpemUtaDU6IHZhcigtLWctdGV4dC1zdWJoZWFkZXItMi1mb250LXNpemUpO1xuICAgIC0teWZtLWZvbnQtc2l6ZS1oNjogdmFyKC0tZy10ZXh0LXN1YmhlYWRlci0xLWZvbnQtc2l6ZSk7XG59XG4iLCIvLyBTaXplc1xuJGhlYWRlckhlaWdodDogMHB4O1xuJHN1YkhlYWRlckhlaWdodDogNDBweDtcbiRzdWJOYXZpZ2F0aW9uSGVpZ2h0OiA1MnB4O1xuJG5vcm1hbE9mZnNldDogMjBweDtcbiRtaW5pVG9jT2Zmc2V0OiA1NnB4O1xuJGJsb2NrTWFyZ2luQm90dG9tTGFyZ2U6IDIwcHg7XG4kYmxvY2tNYXJnaW5Cb3R0b21NZWRpdW06IDE1cHg7XG4kaGVhZGVyTWFyZ2luVG9wTGFyZ2U6IDQwcHg7XG4kaGVhZGVyTWFyZ2luVG9wTWVkaXVtOiAzMnB4O1xuJHBvcHVwUGFkZGluZzogMTZweDtcbiRjZW50ZXJCbG9ja01heFdpZHRoOiA3MzZweDtcblxuLy8gTmF2aWdhdGlvblxuJHRvTWFpbk1lbnVWZXJ0aWNhbFBhZGRpbmc6IDRweDtcbiR0b01haW5NZW51SG9yaXpvbnRhbFBhZGRpbmc6IDEycHg7XG4kdG9NYWluTWVudUhlaWdodDogY2FsYyhcbiAgICB2YXIoLS1kYy1zdWJuYXZpZ2F0aW9uLWhlaWdodCwgJHN1Yk5hdmlnYXRpb25IZWlnaHQpIC0gI3skdG9NYWluTWVudVZlcnRpY2FsUGFkZGluZ30gLVxuICAgICAgICAjeyR0b01haW5NZW51VmVydGljYWxQYWRkaW5nfVxuKTtcblxuLy8gTWluaVRvY1xuJG1pbmlUb2NWZXJ0aWNhbFBhZGRpbmc6IDE2cHg7XG4kbWluaVRvY1RpdGxlSGVpZ2h0OiAyMHB4OyAvLyBsaW5lLWhlaWdodCBib2R5LTJcbiRtaW5pVG9jVGl0bGVNYXJnaW46IDEycHg7XG5cbi8vIE1vYmlsZUNvbnRyb2xzXG4kbW9iaWxlQ29udHJvbHNIZWlnaHQ6IDMycHg7XG4kbW9iaWxlQ29udHJvbHNUb3BQYWRkaW5nOiA4cHg7XG4kbW9iaWxlQ29udHJvbHNCb3R0b21QYWRkaW5nOiAxMnB4O1xuXG4kc2NyZWVuQnJlYWtwb2ludHM6IChcbiAgICAneHMnOiAzNzVweCxcbiAgICAnc20nOiA1NzdweCxcbiAgICAnbWQnOiA3NjlweCxcbiAgICAnbGcnOiAxMDgxcHgsXG4gICAgJ3hsJzogMTE4NXB4LFxuKTtcbiJdfQ== */", "// Sizes\n$headerHeight: 0px;\n$subHeaderHeight: 40px;\n$subNavigationHeight: 52px;\n$normalOffset: 20px;\n$miniTocOffset: 56px;\n$blockMarginBottomLarge: 20px;\n$blockMarginBottomMedium: 15px;\n$headerMarginTopLarge: 40px;\n$headerMarginTopMedium: 32px;\n$popupPadding: 16px;\n$centerBlockMaxWidth: 736px;\n\n// Navigation\n$toMainMenuVerticalPadding: 4px;\n$toMainMenuHorizontalPadding: 12px;\n$toMainMenuHeight: calc(\n var(--dc-subnavigation-height, $subNavigationHeight) - #{$toMainMenuVerticalPadding} -\n #{$toMainMenuVerticalPadding}\n);\n\n// MiniToc\n$miniTocVerticalPadding: 16px;\n$miniTocTitleHeight: 20px; // line-height body-2\n$miniTocTitleMargin: 12px;\n\n// MobileControls\n$mobileControlsHeight: 32px;\n$mobileControlsTopPadding: 8px;\n$mobileControlsBottomPadding: 12px;\n\n$screenBreakpoints: (\n 'xs': 375px,\n 'sm': 577px,\n 'md': 769px,\n 'lg': 1081px,\n 'xl': 1185px,\n);\n"],
5
5
  "mappings": "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",
6
6
  "names": []