@diplodoc/transform 4.24.0-beta3 → 4.24.0-beta5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/css/print.css.map +1 -1
- package/dist/css/yfm.css.map +1 -1
- package/dist/css/yfm.min.css.map +1 -1
- package/dist/js/yfm.js +3 -1
- package/dist/js/yfm.js.map +2 -2
- package/dist/js/yfm.min.js +1 -1
- package/dist/js/yfm.min.js.map +2 -2
- package/package.json +1 -1
- package/src/js/patch.ts +3 -1
- package/src/js/wide-mode/index.ts +1 -1
package/dist/css/print.css.map
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
|
-
"sources": ["../../src/scss/Users/v8tenko/diplodoc/packages/transform/src/scss/print/code.scss", "../../src/scss/%3Cinput%20css%
|
|
3
|
+
"sources": ["../../src/scss/Users/v8tenko/diplodoc/packages/transform/src/scss/print/code.scss", "../../src/scss/%3Cinput%20css%20QZVBva%3E", "../../src/scss/Users/v8tenko/diplodoc/packages/transform/src/scss/print/common.scss", "../../src/scss/Users/v8tenko/diplodoc/packages/transform/src/scss/print/cut.scss", "../../src/scss/Users/v8tenko/diplodoc/packages/transform/src/scss/print/note.scss", "../../src/scss/Users/v8tenko/diplodoc/packages/transform/src/scss/print/table.scss", "../../src/scss/Users/v8tenko/diplodoc/packages/transform/src/scss/print/tabs.scss", "../../src/scss/Users/v8tenko/diplodoc/packages/transform/src/scss/print/term.scss"],
|
|
4
4
|
"sourcesContent": ["@media print {\n .yfm {\n .yfm-clipboard {\n & > pre > code {\n white-space: pre-wrap;\n }\n }\n }\n}", "@media print {\n .yfm .yfm-clipboard > pre > code {\n white-space: pre-wrap;\n }\n}\n@media print {\n .yfm .yfm-page__delimeter {\n display: none;\n }\n .yfm h1[data-original-article], .yfm h2[data-original-article] {\n page-break-before: always;\n }\n}\n@media print {\n .yfm .yfm-cut-title {\n padding-left: 0;\n }\n .yfm .yfm-cut-title:before {\n display: none;\n }\n .yfm .yfm-cut-content {\n height: auto;\n display: block;\n padding: 5px 0 15px 30px;\n }\n}\n.yfm:not(.yfm_no-list-reset) .yfm-cut-content ol {\n counter-reset: cut-list;\n}\n.yfm:not(.yfm_no-list-reset) .yfm-cut-content ol > li {\n counter-increment: cut-list;\n}\n.yfm:not(.yfm_no-list-reset) .yfm-cut-content ol > li::before {\n content: counters(cut-list, \".\") \". \";\n}\n\n@media print {\n .yfm .yfm-note {\n page-break-inside: avoid;\n }\n}\n.yfm .yfm-table-container {\n position: relative;\n}\n.yfm .yfm-table-container > table {\n overflow: initial;\n position: absolute;\n top: 0;\n left: 0;\n max-width: initial;\n transform-origin: top left;\n}\n.yfm .yfm-table-container > table thead {\n display: table-row-group;\n}\n.yfm .yfm-table-container > table th, .yfm .yfm-table-container > table td {\n page-break-inside: avoid;\n white-space: pre-wrap;\n text-overflow: initial;\n}\n\n@media print {\n .yfm .yfm-tab-list {\n display: none;\n }\n .yfm .yfm-tab-panel {\n visibility: visible;\n height: auto;\n display: block;\n }\n .yfm .yfm-tab-panel:before {\n content: attr(data-title);\n margin-bottom: -1px;\n margin-right: 20px;\n border-bottom: 2px solid transparent;\n line-height: 33px;\n font-weight: 700;\n outline: 0;\n cursor: pointer;\n }\n}\n@media print {\n .yfm .yfm-term_title {\n color: currentColor;\n border-bottom: none;\n }\n}\n/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VSb290IjoiL1VzZXJzL3Y4dGVua28vZGlwbG9kb2MvcGFja2FnZXMvdHJhbnNmb3JtL3NyYy9zY3NzIiwic291cmNlcyI6WyJwcmludC9jb2RlLnNjc3MiLCJwcmludC9jb21tb24uc2NzcyIsInByaW50L2N1dC5zY3NzIiwicHJpbnQvbm90ZS5zY3NzIiwicHJpbnQvdGFibGUuc2NzcyIsInByaW50L3RhYnMuc2NzcyIsInByaW50L3Rlcm0uc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUdZO0lBQ0k7OztBQ0poQjtFQUVRO0lBQ0k7O0VBSUE7SUFDSTs7O0FDUmhCO0VBR1k7SUFDSTs7RUFFQTtJQUNJOztFQUlSO0lBQ0k7SUFDQTtJQUNBOzs7QUFPWjtFQUNJOztBQUVBO0VBQ0k7O0FBRUE7RUFDSTs7O0FDNUJoQjtFQUVRO0lBQ0k7OztBQ0ZSO0VBQ0k7O0FBRUE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDSTs7QUFHSjtFQUNJO0VBQ0E7RUFDQTs7O0FDbkJoQjtFQUdZO0lBQ0k7O0VBR0o7SUFDSTtJQUNBO0lBQ0E7O0VBR0o7SUFDSTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBOzs7QUNyQmhCO0VBR1k7SUFDSTtJQUNBIiwic291cmNlc0NvbnRlbnQiOlsiQG1lZGlhIHByaW50IHtcbiAgICAueWZtIHtcbiAgICAgICAgLnlmbS1jbGlwYm9hcmQge1xuICAgICAgICAgICAgJiA+IHByZSA+IGNvZGUge1xuICAgICAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBwcmUtd3JhcDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn0iLCJAbWVkaWEgcHJpbnQge1xuICAgIC55Zm0ge1xuICAgICAgICAueWZtLXBhZ2VfX2RlbGltZXRlciB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgaDEsIGgyIHtcbiAgICAgICAgICAgICZbZGF0YS1vcmlnaW5hbC1hcnRpY2xlXSB7XG4gICAgICAgICAgICAgICAgcGFnZS1icmVhay1iZWZvcmU6IGFsd2F5cztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn0iLCJAbWVkaWEgcHJpbnQge1xuICAgIC55Zm0ge1xuICAgICAgICAueWZtLWN1dCB7XG4gICAgICAgICAgICAmLXRpdGxlIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG5cbiAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLWNvbnRlbnQge1xuICAgICAgICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiA1cHggMCAxNXB4IDMwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi55Zm0tY3V0LWNvbnRlbnQge1xuICAgIC55Zm06bm90KC55Zm1fbm8tbGlzdC1yZXNldCkgJiBvbCB7XG4gICAgICAgIGNvdW50ZXItcmVzZXQ6IGN1dC1saXN0O1xuXG4gICAgICAgICYgPiBsaSB7XG4gICAgICAgICAgICBjb3VudGVyLWluY3JlbWVudDogY3V0LWxpc3Q7XG5cbiAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgY29udGVudDogY291bnRlcnMoY3V0LWxpc3QsICcuJykgJy4gJztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIkBtZWRpYSBwcmludCB7XG4gICAgLnlmbSB7XG4gICAgICAgIC55Zm0tbm90ZSB7XG4gICAgICAgICAgICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIueWZtIHtcbiAgICAueWZtLXRhYmxlLWNvbnRhaW5lciB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAmID4gdGFibGUge1xuICAgICAgICAgICAgb3ZlcmZsb3c6IGluaXRpYWw7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgbWF4LXdpZHRoOiBpbml0aWFsO1xuICAgICAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogdG9wIGxlZnQ7XG5cbiAgICAgICAgICAgIHRoZWFkIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiB0YWJsZS1yb3ctZ3JvdXA7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHRoLCB0ZCB7XG4gICAgICAgICAgICAgICAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkO1xuICAgICAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBwcmUtd3JhcDtcbiAgICAgICAgICAgICAgICB0ZXh0LW92ZXJmbG93OiBpbml0aWFsO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufSIsIkBtZWRpYSBwcmludCB7XG4gICAgLnlmbSB7XG4gICAgICAgIC55Zm0tdGFiIHtcbiAgICAgICAgICAgICYtbGlzdCB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi1wYW5lbCB7XG4gICAgICAgICAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYtcGFuZWw6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiBhdHRyKGRhdGEtdGl0bGUpO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IC0xcHg7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xuICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMzNweDtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICAgICAgICAgIG91dGxpbmU6IDA7XG4gICAgICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIiwiQG1lZGlhIHByaW50IHtcbiAgICAueWZtIHtcbiAgICAgICAgLnlmbS10ZXJtIHtcbiAgICAgICAgICAgICZfdGl0bGUge1xuICAgICAgICAgICAgICAgIGNvbG9yOiBjdXJyZW50Q29sb3I7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn0iXX0= */", "@media print {\n .yfm {\n .yfm-page__delimeter {\n display: none;\n }\n\n h1, h2 {\n &[data-original-article] {\n page-break-before: always;\n }\n }\n }\n}", "@media print {\n .yfm {\n .yfm-cut {\n &-title {\n padding-left: 0;\n\n &:before {\n display: none;\n }\n }\n\n &-content {\n height: auto;\n display: block;\n padding: 5px 0 15px 30px;\n }\n }\n }\n}\n\n.yfm-cut-content {\n .yfm:not(.yfm_no-list-reset) & ol {\n counter-reset: cut-list;\n\n & > li {\n counter-increment: cut-list;\n\n &::before {\n content: counters(cut-list, '.') '. ';\n }\n }\n }\n}\n", "@media print {\n .yfm {\n .yfm-note {\n page-break-inside: avoid;\n }\n }\n}\n", ".yfm {\n .yfm-table-container {\n position: relative;\n\n & > table {\n overflow: initial;\n position: absolute;\n top: 0;\n left: 0;\n max-width: initial;\n transform-origin: top left;\n\n thead {\n display: table-row-group;\n }\n\n th, td {\n page-break-inside: avoid;\n white-space: pre-wrap;\n text-overflow: initial;\n }\n }\n }\n}", "@media print {\n .yfm {\n .yfm-tab {\n &-list {\n display: none;\n }\n\n &-panel {\n visibility: visible;\n height: auto;\n display: block;\n }\n\n &-panel:before {\n content: attr(data-title);\n margin-bottom: -1px;\n margin-right: 20px;\n border-bottom: 2px solid transparent;\n line-height: 33px;\n font-weight: 700;\n outline: 0;\n cursor: pointer;\n }\n }\n }\n}\n", "@media print {\n .yfm {\n .yfm-term {\n &_title {\n color: currentColor;\n border-bottom: none;\n }\n }\n }\n}"],
|
|
5
5
|
"mappings": ";AAAA,OAAA;AAGY,GAAA,IAAA,CAAA,cAAA,EAAA,IAAA,EAAA;AACI,iBAAA;ACDd;AACF;ACJA,OAAA;AAEQ,GFCI,IEDJ,CAAA;AACI,aAAA;ADKV;ACDU,GFJA,IEIA,EAAA,CAAA;EAAA,CFJA,IEIA,EAAA,CAAA;AACI,uBAAA;ADGd;AACF;AEZA,OAAA;AAGY,GHAA,IGAA,CAAA;AACI,kBAAA;AFYd;AEVc,GHHJ,IGGI,CAHJ,aAGI;AACI,aAAA;AFYlB;AERU,GHRA,IGQA,CAAA;AACI,YAAA;AACA,aAAA;AACA,aAAA,IAAA,EAAA,KAAA;AFUd;AACF;AEJI,CHlBQ,GGkBR,KAAA,CAAA,mBAAA,CAVQ,gBAUR;AACI,iBAAA;AFMR;AEJQ,CHrBI,GGqBJ,KAAA,CAHJ,mBAGI,CAbI,gBAaJ,GAAA,EAAA;AACI,qBAAA;AFMZ;AEJY,CHxBA,GGwBA,KAAA,CANR,mBAMQ,CAhBA,gBAgBA,GAAA,EAAA,EAAA;AACI,WAAA,SAAA,QAAA,EAAA,KAAA;AFMhB;AGlCA,OAAA;AAEQ,GJCI,IIDJ,CAAA;AACI,uBAAA;AHoCV;AACF;AIvCI,CLEQ,IKFR,CAAA;AACI,YAAA;AJyCR;AIvCQ,CLDI,IKCJ,CAHJ,oBAGI,EAAA;AACI,YAAA;AAAA,YAAA;AACA,YAAA;AACA,OAAA;AACA,QAAA;AACA,aAAA;AAAA,aAAA;AACA,oBAAA,IAAA;AJyCZ;AIvCY,CLTA,IKSA,CAXR,oBAWQ,EAAA,MAAA;AACI,WAAA;AJyChB;AItCY,CLbA,IKaA,CAfR,oBAeQ,EAAA,MAAA;AAAA,CLbA,IKaA,CAfR,oBAeQ,EAAA,MAAA;AACI,qBAAA;AACA,eAAA;AACA,iBAAA;AJwChB;AK3DA,OAAA;AAGY,GNAA,IMAA,CAAA;AACI,aAAA;AL4Dd;AKzDU,GNJA,IMIA,CAAA;AACI,gBAAA;AACA,YAAA;AACA,aAAA;AL2Dd;AKxDU,GNVA,IMUA,CANA,aAMA;AACI,aAAA,KAAA;AACA,mBAAA;AACA,kBAAA;AACA,mBAAA,IAAA,MAAA;AACA,iBAAA;AACA,iBAAA;AACA,aAAA;AACA,YAAA;AL0Dd;AACF;AMhFA,OAAA;AAGY,GPAA,IOAA,CAAA;AACI,WAAA;AACA,mBAAA;ANgFd;AACF;",
|
|
6
6
|
"names": []
|
package/dist/css/yfm.css.map
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
|
-
"sources": ["../../src/scss/%3Cinput%20css%
|
|
3
|
+
"sources": ["../../src/scss/%3Cinput%20css%2031nnut%3E", "../../src/scss/Users/v8tenko/diplodoc/packages/transform/src/scss/_common.scss", "../../src/scss/Users/v8tenko/diplodoc/packages/transform/src/scss/_variables.scss", "../../src/scss/Users/v8tenko/diplodoc/packages/transform/src/scss/_note.scss", "../../src/scss/Users/v8tenko/diplodoc/packages/transform/src/scss/_anchor.scss", "../../src/scss/Users/v8tenko/diplodoc/packages/transform/src/scss/_highlight.scss", "../../src/scss/Users/v8tenko/diplodoc/packages/transform/src/scss/_code.scss", "../../src/scss/Users/v8tenko/diplodoc/packages/transform/src/scss/_cut.scss", "../../src/scss/Users/v8tenko/diplodoc/packages/transform/src/scss/_file.scss", "../../src/scss/Users/v8tenko/diplodoc/packages/transform/src/scss/_term.scss", "../../src/scss/Users/v8tenko/diplodoc/packages/transform/src/scss/_table.scss", "../../src/scss/Users/v8tenko/diplodoc/packages/transform/src/scss/_modal.scss", "../../src/scss/Users/v8tenko/diplodoc/node_modules/@diplodoc/tabs-extension/runtime/index.css"],
|
|
4
4
|
"sourcesContent": ["@charset \"UTF-8\";\n.yfm {\n font-family: var(--yfm-font-family-sans);\n font-size: 15px;\n line-height: 20px;\n word-wrap: break-word;\n color: rgba(0, 0, 0, 0.7);\n /*\n Hides element visually, but leaves it visible for search crawlers and screen readers\n\n https://www.a11yproject.com/posts/2013-01-11-how-to-hide-content/\n https://hugogiraudel.com/2016/10/13/css-hide-and-seek/\n */\n --yfm-color-hljs-background: rgba(107, 132, 153, 0.12);\n --yfm-color-hljs-subst: #444;\n --yfm-color-hljs-comment: #888888;\n --yfm-color-hljs-deletion: #880000;\n --yfm-color-hljs-section: #880000;\n --yfm-color-hljs-pseudo: #BC6060;\n --yfm-color-hljs-literal: #78A960;\n --yfm-color-hljs-addition: #397300;\n --yfm-color-hljs-meta: #1f7199;\n --yfm-color-hljs-meta-string: #4d99bf;\n --yfm-font-family-monospace: \"Menlo\", \"Monaco\", \"Consolas\", \"Ubuntu Mono\", \"Liberation Mono\", \"DejaVu Sans Mono\", \"Courier New\", \"Courier\", monospace;\n --yfm-font-family-sans: \"Segoe UI\", Arial, Helvetica, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";\n}\n.yfm * {\n box-sizing: border-box;\n}\n.yfm > *:not(h2):not(h3):not(h4):not(h5):not(h6):first-child {\n margin-top: 0 !important;\n}\n.yfm > *:last-child {\n margin-bottom: 0 !important;\n}\n.yfm h1, .yfm h2, .yfm h3, .yfm h4, .yfm h5, .yfm h6 {\n margin-bottom: 15px;\n font-weight: 500;\n}\n.yfm h1 {\n font-size: 32px;\n line-height: 40px;\n}\n.yfm h2 {\n font-size: 24px;\n line-height: 28px;\n}\n.yfm h3 {\n font-size: 20px;\n line-height: 24px;\n}\n.yfm h4 {\n font-size: 17px;\n line-height: 24px;\n}\n.yfm h5 {\n font-size: 15px;\n line-height: 20px;\n}\n.yfm h6 {\n font-size: 13px;\n line-height: 18px;\n}\n.yfm a {\n background-color: transparent;\n color: #027bf3;\n text-decoration: none;\n}\n.yfm a:hover, .yfm a:active {\n color: #004080;\n}\n.yfm a:not([href]) {\n color: inherit;\n}\n.yfm strong {\n font-weight: 700;\n}\n.yfm img, .yfm svg {\n box-sizing: content-box;\n max-width: 100%;\n border: none;\n vertical-align: middle;\n}\n.yfm img[align=right], .yfm svg[align=right] {\n padding-left: 20px;\n}\n.yfm img[align=left], .yfm svg[align=left] {\n padding-right: 20px;\n}\n.yfm img {\n object-fit: contain;\n background-color: #ffffff;\n}\n.yfm svg {\n height: auto;\n}\n.yfm .katex svg {\n height: initial;\n}\n.yfm img + small {\n display: block;\n}\n.yfm p,\n.yfm blockquote,\n.yfm ul,\n.yfm ol,\n.yfm dl,\n.yfm table,\n.yfm pre {\n margin: 0 0 15px 0;\n}\n.yfm ul pre, .yfm ol pre, .yfm dl pre {\n margin-top: 15px;\n}\n.yfm code,\n.yfm kbd,\n.yfm pre {\n font-family: var(--yfm-font-family-monospace);\n font-size: 1em;\n font-feature-settings: normal;\n}\n.yfm input {\n margin: 0;\n overflow: visible;\n font-family: inherit;\n font-size: inherit;\n line-height: inherit;\n}\n.yfm input[type=checkbox] {\n position: relative;\n top: 1px;\n box-sizing: border-box;\n padding: 0;\n}\n.yfm table {\n color: #333;\n display: inline-block;\n max-width: 100%;\n width: auto;\n overflow: auto;\n position: relative;\n z-index: 1;\n box-sizing: border-box;\n border: 1px solid rgba(0, 0, 0, 0.07);\n border-radius: 8px;\n border-collapse: collapse;\n border-spacing: 0;\n background: #ffffff;\n}\n.yfm table thead, .yfm table tr:nth-child(2n) {\n background-color: rgba(0, 0, 0, 0.02);\n}\n.yfm table tr:first-child td, .yfm table tr:first-child th {\n border-top: none;\n}\n.yfm table tr:last-child td, .yfm table tr:last-child th {\n border-bottom: none;\n}\n.yfm table th, .yfm table td {\n padding: 10px 20px;\n overflow: hidden;\n text-overflow: ellipsis;\n border: 1px solid rgba(0, 0, 0, 0.07);\n}\n.yfm table th > *:first-child, .yfm table td > *:first-child {\n margin-top: 0;\n}\n.yfm table th > *:last-child, .yfm table td > *:last-child {\n margin-bottom: 0;\n}\n.yfm table td {\n vertical-align: top;\n white-space: normal;\n}\n.yfm table th {\n font-weight: 500;\n text-align: left;\n}\n.yfm table tr td:first-child, .yfm table tr th:first-child {\n border-left: none;\n}\n.yfm table tr td:last-child, .yfm table tr th:last-child {\n border-right: none;\n}\n.yfm hr {\n box-sizing: content-box;\n height: 0.25em;\n padding: 0;\n margin: 1.5em 0;\n overflow: hidden;\n background-color: rgba(0, 0, 0, 0.07);\n border: none;\n}\n.yfm hr::before {\n content: \"\";\n display: table;\n}\n.yfm hr::after {\n content: \"\";\n display: table;\n clear: both;\n}\n.yfm blockquote {\n position: relative;\n padding-left: 12px;\n border-left: 3px solid #027bf3;\n}\n.yfm blockquote > *:first-child {\n margin-top: 0;\n}\n.yfm blockquote > *:last-child {\n margin-bottom: 0;\n}\n.yfm dl {\n padding: 0;\n}\n.yfm dl > *:first-child {\n margin-top: 0;\n}\n.yfm dl > *:last-child {\n margin-bottom: 0;\n}\n.yfm dl dt {\n margin-bottom: 5px;\n font-size: 1em;\n font-weight: 500;\n font-style: italic;\n}\n.yfm dl dd {\n margin-bottom: 15px;\n padding: 0 15px;\n}\n.yfm dd {\n margin-left: 0;\n}\n.yfm dd > ol:first-child, .yfm dd > ul:first-child, .yfm dd > dd:first-child {\n padding-left: 0;\n}\n.yfm ul, .yfm ol {\n padding-left: 2.2em;\n}\n.yfm ul ul,\n.yfm ul ol,\n.yfm ol ol,\n.yfm ol ul {\n margin-top: 0;\n margin-bottom: 0;\n}\n.yfm:not(.yfm_no-list-reset) ol {\n list-style-type: none;\n counter-reset: list;\n}\n.yfm:not(.yfm_no-list-reset) ol > li {\n position: relative;\n counter-increment: list;\n}\n.yfm:not(.yfm_no-list-reset) ol > li::before {\n position: absolute;\n right: 100%;\n margin-right: 4px;\n content: counters(list, \".\") \". \";\n}\n.yfm li {\n word-wrap: break-word;\n}\n.yfm li + li {\n margin-top: 0.33em;\n}\n.yfm li p,\n.yfm li blockquote {\n margin-top: 15px;\n}\n.yfm code {\n padding: 0.1em 0.4em 0.15em;\n background-color: rgba(107, 132, 153, 0.12);\n border-radius: 4px;\n font-size: 0.875em;\n white-space: normal;\n color: rgb(59, 96, 128);\n}\n.yfm pre {\n word-wrap: normal;\n}\n.yfm table code {\n white-space: nowrap;\n}\n.yfm pre * code {\n display: inline;\n padding: 0;\n margin: 0;\n overflow: visible;\n word-wrap: normal;\n background-color: transparent;\n border: 0;\n color: rgba(0, 0, 0, 0.7);\n}\n.yfm pre > code {\n display: block;\n padding: 16px;\n overflow: auto;\n background-color: rgba(107, 132, 153, 0.12);\n color: rgba(0, 0, 0, 0.7);\n white-space: pre;\n}\n.yfm sup, .yfm sub {\n line-height: 0;\n}\n.yfm .visually-hidden {\n position: absolute;\n overflow: hidden;\n clip: rect(0 0 0 0);\n width: 1px;\n height: 1px;\n margin: -1px;\n padding: 0;\n white-space: nowrap;\n border: 0;\n clip-path: inset(100%);\n user-select: none;\n}\n\n.yfm .yfm-note {\n max-width: 1296px;\n margin: 20px 0;\n padding: 20px 20px 20px 64px;\n border-radius: 10px;\n}\n.yfm .yfm-note .yfm-note-title {\n font-weight: 700;\n}\n.yfm .yfm-note > p {\n margin: 0 0 10px 0;\n}\n.yfm .yfm-note > p:first-child::before {\n box-sizing: content-box;\n display: block;\n width: 24px;\n height: 24px;\n margin-top: -2px;\n margin-left: -44px;\n padding-right: 20px;\n float: left;\n}\n.yfm .yfm-note > p:last-child {\n margin-bottom: 0;\n}\n.yfm .yfm-note.yfm-accent-info > p:first-child::before {\n content: url('data:image/svg+xml,%3Csvg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 16 16\"%3E%3Ccircle cx=\"8\" cy=\"8\" r=\"8\" fill=\"rgb(2,123,243)\"/%3E%3Crect width=\"1\" height=\"5\" x=\"7.5\" y=\"6.5\" stroke=\"%23fff\" rx=\".5\"/%3E%3Ccircle cx=\"8\" cy=\"4\" r=\"1\" fill=\"%23fff\"/%3E%3C/svg%3E');\n}\n.yfm .yfm-note.yfm-accent-tip > p:first-child::before {\n content: url('data:image/svg+xml,%3Csvg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 16 16\"%3E%3Ccircle cx=\"8\" cy=\"8\" r=\"8\" fill=\"rgb(86,189,103)\"/%3E%3Crect width=\"1\" height=\"5\" x=\"7.5\" y=\"6.5\" stroke=\"%23fff\" rx=\".5\"/%3E%3Ccircle cx=\"8\" cy=\"4\" r=\"1\" fill=\"%23fff\"/%3E%3C/svg%3E');\n}\n.yfm .yfm-note.yfm-accent-alert > p:first-child::before {\n content: url('data:image/svg+xml,%3Csvg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 16 16\"%3E%3Ccircle cx=\"8\" cy=\"8\" r=\"8\" fill=\"rgb(255,70,69)\"/%3E%3Crect width=\"1\" height=\"5\" x=\"7.5\" y=\"6.5\" stroke=\"%23fff\" rx=\".5\"/%3E%3Ccircle cx=\"8\" cy=\"4\" r=\"1\" fill=\"%23fff\"/%3E%3C/svg%3E');\n}\n.yfm .yfm-note.yfm-accent-warning > p:first-child::before {\n content: url('data:image/svg+xml,%3Csvg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 16 16\"%3E%3Ccircle cx=\"8\" cy=\"8\" r=\"8\" fill=\"rgb(241,149,24)\"/%3E%3Crect width=\"1\" height=\"5\" x=\"7.5\" y=\"6.5\" stroke=\"%23fff\" rx=\".5\"/%3E%3Ccircle cx=\"8\" cy=\"4\" r=\"1\" fill=\"%23fff\"/%3E%3C/svg%3E');\n}\n.yfm .yfm-note.yfm-accent-info {\n background: rgba(2, 123, 243, 0.08);\n}\n.yfm .yfm-note.yfm-accent-tip {\n background: rgba(63, 201, 46, 0.1);\n}\n.yfm .yfm-note.yfm-accent-alert {\n background: rgba(235, 50, 38, 0.08);\n}\n.yfm .yfm-note.yfm-accent-warning {\n background: rgba(255, 136, 0, 0.15);\n}\n\n.yfm h1 .yfm-anchor, .yfm h2 .yfm-anchor, .yfm h3 .yfm-anchor, .yfm h4 .yfm-anchor, .yfm h5 .yfm-anchor, .yfm h6 .yfm-anchor {\n display: inline-block;\n width: 24px;\n padding-right: 4px;\n margin-left: -24px;\n float: left;\n text-align: center;\n font-size: 18px;\n}\n.yfm h1 .yfm-anchor::before, .yfm h2 .yfm-anchor::before, .yfm h3 .yfm-anchor::before, .yfm h4 .yfm-anchor::before, .yfm h5 .yfm-anchor::before, .yfm h6 .yfm-anchor::before {\n content: \"#\";\n opacity: 0;\n}\n.yfm h1:hover .yfm-anchor::before, .yfm h2:hover .yfm-anchor::before, .yfm h3:hover .yfm-anchor::before, .yfm h4:hover .yfm-anchor::before, .yfm h5:hover .yfm-anchor::before, .yfm h6:hover .yfm-anchor::before {\n opacity: 1;\n}\n.yfm table h1 .yfm-anchor, .yfm table h2 .yfm-anchor, .yfm table h3 .yfm-anchor, .yfm table h4 .yfm-anchor, .yfm table h5 .yfm-anchor, .yfm table h6 .yfm-anchor {\n width: 1em;\n margin-left: -1em;\n padding-right: 0;\n}\n.yfm .yfm-tabs .yfm-anchor::before {\n position: absolute;\n padding-right: 2px;\n}\n\n.yfm .hljs {\n display: block;\n overflow-x: auto;\n padding: 16px;\n background: rgba(107, 132, 153, 0.12);\n background: var(--yfm-color-hljs-background);\n}\n.yfm .hljs,\n.yfm .hljs-subst {\n color: #444;\n color: var(--yfm-color-hljs-subst);\n}\n.yfm .hljs-comment {\n color: #888888;\n color: var(--yfm-color-hljs-comment);\n}\n.yfm .hljs-keyword,\n.yfm .hljs-attribute,\n.yfm .hljs-selector-tag,\n.yfm .hljs-meta-keyword,\n.yfm .hljs-doctag,\n.yfm .hljs-name {\n font-weight: bold;\n}\n.yfm .hljs-type,\n.yfm .hljs-string,\n.yfm .hljs-number,\n.yfm .hljs-selector-id,\n.yfm .hljs-selector-class,\n.yfm .hljs-quote,\n.yfm .hljs-template-tag,\n.yfm .hljs-deletion {\n color: #880000;\n color: var(--yfm-color-hljs-deletion);\n}\n.yfm .hljs-title,\n.yfm .hljs-section {\n color: #880000;\n color: var(--yfm-color-hljs-section);\n font-weight: bold;\n}\n.yfm .hljs-regexp,\n.yfm .hljs-symbol,\n.yfm .hljs-variable,\n.yfm .hljs-template-variable,\n.yfm .hljs-link,\n.yfm .hljs-selector-attr,\n.yfm .hljs-selector-pseudo {\n color: #BC6060;\n color: var(--yfm-color-hljs-pseudo);\n}\n.yfm .hljs-literal {\n color: #78A960;\n color: var(--yfm-color-hljs-literal);\n}\n.yfm .hljs-built_in,\n.yfm .hljs-bullet,\n.yfm .hljs-code,\n.yfm .hljs-addition {\n color: #397300;\n color: var(--yfm-color-hljs-addition);\n}\n.yfm .hljs-meta {\n color: #1f7199;\n color: var(--yfm-color-hljs-meta);\n}\n.yfm .hljs-meta-string {\n color: #4d99bf;\n color: var(--yfm-color-hljs-meta-string);\n}\n.yfm .hljs-emphasis {\n font-style: italic;\n}\n.yfm .hljs-strong {\n font-weight: bold;\n}\n\n.yfm-clipboard {\n position: relative;\n}\n.yfm-clipboard:hover .yfm-clipboard-button {\n display: block;\n}\n.yfm-clipboard > pre {\n border-radius: 10px;\n overflow: hidden;\n}\n.yfm-clipboard-button {\n display: none;\n position: absolute;\n cursor: pointer;\n top: 16px;\n right: 16px;\n z-index: 1;\n}\n\n.yfm-cut {\n margin-bottom: 15px;\n}\n.yfm-cut-title {\n cursor: pointer;\n position: relative;\n user-select: none;\n padding: 5px 0 5px 30px;\n}\n.yfm-cut-title:before {\n content: \"\";\n z-index: 1;\n left: 0;\n top: 50%;\n background-image: url(\"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNiAxNiI+CiAgICA8cGF0aCBzdHJva2U9ImN1cnJlbnRDb2xvciIgZmlsbD0ibm9uZSIgZD0iTTMgNmw1IDUgNS01Ii8+Cjwvc3ZnPgo=\");\n transform: translateY(-50%) rotate(-90deg);\n transition: transform 0.3s ease;\n height: 20px;\n width: 20px;\n position: absolute;\n}\n.yfm-cut-content {\n display: none;\n overflow: hidden;\n transition: height 0.3s ease-in-out;\n}\n.yfm-cut.open > .yfm-cut-content {\n display: revert;\n padding: 5px 0 15px 30px;\n}\n.yfm-cut.open > .yfm-cut-title:before {\n transform: translateY(-50%);\n}\n.yfm:not(.yfm_no-list-reset) .yfm-cut ol {\n counter-reset: cut-list;\n}\n.yfm:not(.yfm_no-list-reset) .yfm-cut ol > li {\n counter-increment: cut-list;\n}\n.yfm:not(.yfm_no-list-reset) .yfm-cut ol > li::before {\n content: counters(cut-list, \".\") \". \";\n}\n\n/**\n Public CSS variables:\n --yfm-file-icon sets file icon image\n --yfm-file-icon-color sets file icon color\n*/\n.yfm-file__icon {\n ---yfm-file-icon-img: var(--yfm-file-icon, url(\"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAzODQgNTEyIj48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Ik0zNjkuOSA5Ny45TDI4NiAxNEMyNzcgNSAyNjQuOC0uMSAyNTIuMS0uMUg0OEMyMS41IDAgMCAyMS41IDAgNDh2NDE2YzAgMjYuNSAyMS41IDQ4IDQ4IDQ4aDI4OGMyNi41IDAgNDgtMjEuNSA0OC00OFYxMzEuOWMwLTEyLjctNS4xLTI1LTE0LjEtMzR6bS0yMi42IDIyLjdjMi4xIDIuMSAzLjUgNC42IDQuMiA3LjRIMjU2VjMyLjVjMi44LjcgNS4zIDIuMSA3LjQgNC4ybDgzLjkgODMuOXpNMzM2IDQ4MEg0OGMtOC44IDAtMTYtNy4yLTE2LTE2VjQ4YzAtOC44IDcuMi0xNiAxNi0xNmgxNzZ2MTA0YzAgMTMuMyAxMC43IDI0IDI0IDI0aDEwNHYzMDRjMCA4LjgtNy4yIDE2LTE2IDE2em0tNDgtMjQ0djhjMCA2LjYtNS40IDEyLTEyIDEySDEwOGMtNi42IDAtMTItNS40LTEyLTEydi04YzAtNi42IDUuNC0xMiAxMi0xMmgxNjhjNi42IDAgMTIgNS40IDEyIDEyem0wIDY0djhjMCA2LjYtNS40IDEyLTEyIDEySDEwOGMtNi42IDAtMTItNS40LTEyLTEydi04YzAtNi42IDUuNC0xMiAxMi0xMmgxNjhjNi42IDAgMTIgNS40IDEyIDEyem0wIDY0djhjMCA2LjYtNS40IDEyLTEyIDEySDEwOGMtNi42IDAtMTItNS40LTEyLTEydi04YzAtNi42IDUuNC0xMiAxMi0xMmgxNjhjNi42IDAgMTIgNS40IDEyIDEyeiIvPjwvc3ZnPg==\"));\n display: inline-block;\n user-select: none;\n width: 16px;\n margin: 0 2px;\n color: var(--yfm-file-icon-color, rgba(0, 0, 0, 0.7));\n background-color: currentColor;\n background-repeat: no-repeat;\n background-position: 50%;\n background-size: 100%;\n mask-image: var(---yfm-file-icon-img);\n mask-position: center;\n mask-repeat: no-repeat;\n}\n.yfm-file__icon::before {\n content: \" \";\n}\n\n.yfm-term_title {\n color: #027bf3;\n cursor: pointer;\n border-bottom: 1px dotted;\n font-size: inherit;\n line-height: inherit;\n font-style: normal;\n}\n.yfm-term_title:hover {\n color: #004080;\n}\n.yfm-term_dfn {\n position: absolute;\n z-index: 100;\n width: fit-content;\n max-width: 450px;\n visibility: hidden;\n opacity: 0;\n padding: 10px;\n background-color: rgb(255, 255, 255);\n font-size: inherit;\n line-height: inherit;\n font-style: normal;\n border-radius: 4px;\n box-shadow: 0 8px 20px rgba(0, 0, 0, 0.15);\n outline: none;\n}\n@media screen and (max-width: 600px) {\n .yfm-term_dfn {\n max-width: 80%;\n }\n}\n.yfm-term_dfn::before {\n content: \"\";\n position: absolute;\n z-index: -1;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n border-radius: inherit;\n box-shadow: 0 0 0 1px rgb(229, 229, 229);\n}\n.yfm-term_dfn.open {\n visibility: visible;\n animation-name: popup;\n animation-duration: 0.1s;\n animation-timing-function: ease-out;\n animation-fill-mode: forwards;\n}\n@keyframes popup {\n 0% {\n opacity: 0;\n transform: translateY(10px);\n }\n 100% {\n opacity: 1;\n transform: translateY(0);\n }\n}\n\n.yfm table td.cell-align-top-left, .yfm table td.cell-align-bottom-left {\n text-align: start;\n}\n.yfm table td.cell-align-top-center, .yfm table td.cell-align-center {\n text-align: center;\n}\n.yfm table td.cell-align-top-right, .yfm table td.cell-align-bottom-right {\n text-align: end;\n}\n.yfm table td.cell-align-top-left, .yfm table td.cell-align-top-center, .yfm table td.cell-align-top-right {\n vertical-align: top;\n}\n.yfm table td.cell-align-center {\n vertical-align: middle;\n}\n.yfm table td.cell-align-bottom-left, .yfm table td.cell-align-bottom-right {\n vertical-align: bottom;\n}\n\n.wide-container {\n position: fixed;\n width: 100vw;\n height: 100vh;\n display: flex;\n justify-content: center;\n align-items: center;\n top: 0px;\n left: 0px;\n z-index: 200;\n}\n.wide-container.dc-doc-page {\n max-width: 100% !important;\n}\n.wide-container .wide-content-viewer {\n visibility: hidden;\n}\n.wide-container .wide-content-wrapper {\n z-index: 200;\n background-color: var(--g-color-base-background);\n height: 90vh;\n width: 70vw;\n border-radius: 10px;\n display: flex;\n flex-direction: column;\n}\n.wide-container .wide-content-wrapper .wide-content {\n height: 95%;\n width: 100%;\n}\n.wide-container .wide-content-wrapper .wide-content .wide-inner-element {\n max-width: 100%;\n width: 100%;\n height: 100%;\n}\n.wide-container .wide-content-wrapper .wide-content table {\n border-radius: 0px;\n}\n.wide-container .wide-content-wrapper .wide-content .wide-thead-content {\n display: table;\n width: 100%;\n}\n.wide-container .wide-content-wrapper .wide-toolbar {\n display: flex;\n flex-direction: row;\n width: 100%;\n justify-content: space-between;\n align-items: center;\n padding: 10px 12px;\n}\n.wide-container .wide-content-wrapper .wide-entity-name {\n margin: 0;\n font-size: 18px;\n}\n.wide-container .wide-content-wrapper .wide-actions {\n align-self: flex-end;\n}\n.wide-container .wide-content-wrapper .wide-actions .close-action {\n cursor: pointer;\n border-radius: 3px;\n transition: background 300ms;\n}\n.wide-container .wide-content-wrapper .wide-actions .close-action:hover {\n background: var(--g-color-base-simple-hover);\n}\n\n.wide-element-wrapper {\n display: flex;\n gap: 30px;\n position: relative;\n}\n.wide-element-wrapper:hover > .wide-content-viewer {\n visibility: visible;\n}\n.wide-element-wrapper .wide-inner-element {\n max-width: 700px;\n}\n\n.wide-content-viewer {\n visibility: hidden;\n width: 30px;\n height: 30px;\n z-index: 100;\n padding: 6px;\n box-sizing: content-box;\n color: var(--g-color-text-primary);\n cursor: pointer;\n}\n.wide-content-viewer > svg {\n width: 20px;\n height: 20px;\n}\n\n.wide-content-overlay {\n z-index: 100;\n width: 100vw;\n height: 100vh;\n position: fixed;\n top: 0;\n left: 0;\n background-color: black;\n opacity: 0.6;\n}\n\n.yfm-tabs {\n margin-bottom: 15px;\n}\n\n.yfm:not(.yfm_no-list-reset) .yfm-tabs ol {\n counter-reset: tabs-list;\n}\n\n.yfm:not(.yfm_no-list-reset) .yfm-tabs ol > li {\n counter-increment: tabs-list;\n}\n\n.yfm:not(.yfm_no-list-reset) .yfm-tabs ol > li:before {\n content: counters(tabs-list, \".\") \". \";\n}\n\n.yfm-tab-list {\n display: flex;\n flex-wrap: wrap;\n margin-bottom: 15px;\n border-bottom: 1px solid rgba(0, 0, 0, 0.07);\n}\n\n.yfm-tabs-vertical > .yfm-tab-list {\n flex-direction: column;\n border-bottom: unset;\n}\n\n.yfm-tabs-vertical > .yfm-tab-panel {\n margin-left: 30px;\n}\n\n.yfm-tabs-vertical > .yfm-tab-group {\n display: flex;\n flex-direction: row;\n margin-bottom: 5px;\n}\n\n.yfm-tabs-vertical .yfm-vertical-tab > input[type=radio] {\n visibility: hidden;\n width: 0;\n height: 0;\n}\n\n.yfm-tabs-vertical .yfm-vertical-tab > label {\n display: inline-block;\n cursor: pointer;\n position: relative;\n padding-left: 25px;\n margin-right: 0;\n line-height: 18px;\n user-select: none;\n}\n\n.yfm-tabs-vertical .yfm-vertical-tab > label:before {\n font-family: initial !important;\n content: \"\";\n position: absolute;\n left: 0;\n bottom: 1px;\n border-radius: 50%;\n width: 18px;\n height: 18px;\n border: #dfdfdf 1px solid;\n background-color: #fff;\n}\n\n.yfm-tabs-vertical .yfm-vertical-tab input[type=radio]:checked + label:before {\n content: \"•\";\n background-color: #5282ff;\n text-align: center;\n vertical-align: middle;\n font-size: 20px;\n white-space: pre;\n display: inline-flex;\n justify-content: center;\n align-items: center;\n color: #fff;\n}\n\n.yfm-tabs-vertical .yfm-vertical-tab {\n border-bottom: unset !important;\n}\n\n.yfm-tab {\n margin-bottom: -1px;\n margin-right: 20px;\n border-bottom: 2px solid transparent;\n padding: 6px 0 7px;\n font-weight: 700;\n outline: none;\n cursor: pointer;\n user-select: none;\n white-space: break-spaces;\n}\n\n.yfm-tab:last-child {\n margin-right: 0;\n}\n\n.yfm-tab:hover, .yfm-tab:active {\n color: #004080;\n}\n\n.yfm-tab.active {\n border-bottom-color: #027bf3;\n}\n\n.yfm-tab:focus {\n outline: 2px solid #4d90fe;\n border-radius: 2px;\n}\n\n.yfm-tab:focus:not(:focus-visible) {\n outline: 0;\n}\n\n.yfm-tab-panel {\n position: relative;\n visibility: hidden;\n overflow: hidden;\n height: 0;\n}\n\n.yfm-tab-panel:first-child {\n margin-top: 0 !important;\n}\n\n.yfm-tab-panel:last-child {\n margin-bottom: 0 !important;\n}\n\n.yfm-tab-panel.active {\n visibility: visible;\n height: auto;\n}\n\n\n/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VSb290IjoiL1VzZXJzL3Y4dGVua28vZGlwbG9kb2MvcGFja2FnZXMvdHJhbnNmb3JtL3NyYy9zY3NzIiwic291cmNlcyI6WyJfY29tbW9uLnNjc3MiLCJfdmFyaWFibGVzLnNjc3MiLCJfbm90ZS5zY3NzIiwiX2FuY2hvci5zY3NzIiwiX2hpZ2hsaWdodC5zY3NzIiwiX2NvZGUuc2NzcyIsIl9jdXQuc2NzcyIsIl9maWxlLnNjc3MiLCJfdGVybS5zY3NzIiwiX3RhYmxlLnNjc3MiLCJfbW9kYWwuc2NzcyIsIi4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9AZGlwbG9kb2MvdGFicy1leHRlbnNpb24vcnVudGltZS9pbmRleC5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQVlBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQSxPQ2RRO0FEeVdSO0FBQUE7O0FBQUE7QUFBQTtBQUFBO0VBMkJBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUEvWEE7RUFDSTs7QUFHSjtFQUNJOztBQUdKO0VBQ0k7O0FBR0o7RUFDSTtFQUNBOztBQUdKO0VBQ0k7RUFDQTs7QUFHSjtFQUNJO0VBQ0E7O0FBR0o7RUFDSTtFQUNBOztBQUdKO0VBQ0k7RUFDQTs7QUFHSjtFQUNJO0VBQ0E7O0FBR0o7RUFDSTtFQUNBOztBQUdKO0VBQ0k7RUFDQSxPQ25FTTtFRG9FTjs7QUFFQTtFQUNJLE9DekRLOztBRDREVDtFQUNJOztBQUtSO0VBQ0k7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNJOztBQUdKO0VBQ0k7O0FBSVI7RUFDSTtFQUNBLGtCQ3RHSTs7QUR5R1I7RUFDSTs7QUFHSjtFQUNJOztBQUdKO0VBQ0k7O0FBR0o7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7RUFPSTs7QUFJQTtFQUNJOztBQUlSO0FBQUE7QUFBQTtFQUdJO0VBQ0E7RUFDQTs7QUFHSjtFQUNJO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7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RUFBb0Q7OztBQUFxQztFQUFjO0VBQWE7RUFBZTtFQUFtQjs7O0FBQXdDO0VBQWlDO0VBQXNCOzs7QUFBb0I7RUFBa0M7OztBQUFpQjtFQUFrQztFQUFhO0VBQW1COzs7QUFBa0I7RUFBdUQ7RUFBa0I7RUFBUTs7O0FBQVM7RUFBMkM7RUFBcUI7RUFBZTtFQUFrQjtFQUFrQjtFQUFlO0VBQWlCOzs7QUFBaUI7RUFBa0Q7RUFBOEI7RUFBVztFQUFrQjtFQUFPO0VBQVc7RUFBa0I7RUFBVztFQUFZO0VBQXlCOzs7QUFBc0I7RUFBNEU7RUFBZ0I7RUFBeUI7RUFBa0I7RUFBc0I7RUFBZTtFQUFnQjtFQUFvQjtFQUF1QjtFQUFtQjs7O0FBQVc7RUFBcUM7OztBQUE4QjtFQUFTO0VBQW1CO0VBQWtCO0VBQW9DO0VBQWtCO0VBQWdCO0VBQWE7RUFBZTtFQUFpQjs7O0FBQXlCO0VBQW9COzs7QUFBZTtFQUErQjs7O0FBQWM7RUFBZ0I7OztBQUE0QjtFQUFlO0VBQTBCOzs7QUFBa0I7RUFBbUM7OztBQUFVO0VBQWU7RUFBa0I7RUFBa0I7RUFBZ0I7OztBQUFTO0VBQTJCOzs7QUFBdUI7RUFBMEI7OztBQUEwQjtFQUFzQjtFQUFtQjs7O0FBQy85RCIsInNvdXJjZXNDb250ZW50IjpbIkBpbXBvcnQgJ3ZhcmlhYmxlcyc7XG5cbkBtaXhpbiByZW1vdmVNYXJnaW5Gb3JFZGdlQ2hpbGRyZW4ge1xuICAgICYgPiAqOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICB9XG5cbiAgICAmID4gKjpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG59XG5cbi55Zm0ge1xuICAgIGZvbnQtZmFtaWx5OiB2YXIoLS15Zm0tZm9udC1mYW1pbHktc2Fucyk7XG4gICAgZm9udC1zaXplOiAxNXB4O1xuICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICAgIHdvcmQtd3JhcDogYnJlYWstd29yZDtcbiAgICBjb2xvcjogJHRleHRDb2xvcjtcblxuICAgICoge1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIH1cblxuICAgICYgPiAqOm5vdChoMik6bm90KGgzKTpub3QoaDQpOm5vdChoNSk6bm90KGg2KTpmaXJzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAmID4gKjpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIGgxLCBoMiwgaDMsIGg0LCBoNSwgaDYge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgIH1cblxuICAgIGgxIHtcbiAgICAgICAgZm9udC1zaXplOiAzMnB4O1xuICAgICAgICBsaW5lLWhlaWdodDogNDBweDtcbiAgICB9XG5cbiAgICBoMiB7XG4gICAgICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDI4cHg7XG4gICAgfVxuXG4gICAgaDMge1xuICAgICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyNHB4O1xuICAgIH1cblxuICAgIGg0IHtcbiAgICAgICAgZm9udC1zaXplOiAxN3B4O1xuICAgICAgICBsaW5lLWhlaWdodDogMjRweDtcbiAgICB9XG5cbiAgICBoNSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gICAgfVxuXG4gICAgaDYge1xuICAgICAgICBmb250LXNpemU6IDEzcHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxOHB4O1xuICAgIH1cblxuICAgIGEge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgY29sb3I6ICRsaW5rQ29sb3I7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuICAgICAgICAmOmhvdmVyLCAmOmFjdGl2ZSB7XG4gICAgICAgICAgICBjb2xvcjogJGxpbmtIb3ZlckNvbG9yO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpub3QoW2hyZWZdKSB7XG4gICAgICAgICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgICAgfVxuXG4gICAgfVxuXG4gICAgc3Ryb25nIHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICB9XG5cbiAgICBpbWcsIHN2ZyB7XG4gICAgICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcblxuICAgICAgICAmW2FsaWduPXJpZ2h0XSB7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gICAgICAgIH1cblxuICAgICAgICAmW2FsaWduPWxlZnRdIHtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDIwcHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBpbWcge1xuICAgICAgICBvYmplY3QtZml0OiBjb250YWluO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFzZUNvbG9yO1xuICAgIH1cblxuICAgIHN2ZyB7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICB9XG5cbiAgICAua2F0ZXggc3ZnIHtcbiAgICAgICAgaGVpZ2h0OiBpbml0aWFsO1xuICAgIH1cblxuICAgIGltZyArIHNtYWxsIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgcCxcbiAgICBibG9ja3F1b3RlLFxuICAgIHVsLFxuICAgIG9sLFxuICAgIGRsLFxuICAgIHRhYmxlLFxuICAgIHByZSB7XG4gICAgICAgIG1hcmdpbjogMCAwIDE1cHggMDtcbiAgICB9XG5cbiAgICB1bCwgb2wsIGRsIHtcbiAgICAgICAgJiBwcmUge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMTVweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGNvZGUsXG4gICAga2JkLFxuICAgIHByZSB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiB2YXIoLS15Zm0tZm9udC1mYW1pbHktbW9ub3NwYWNlKTtcbiAgICAgICAgZm9udC1zaXplOiAxZW07XG4gICAgICAgIGZvbnQtZmVhdHVyZS1zZXR0aW5nczogbm9ybWFsO1xuICAgIH1cblxuICAgIGlucHV0IHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBvdmVyZmxvdzogdmlzaWJsZTtcblxuICAgICAgICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgICAgICAgZm9udC1zaXplOiBpbmhlcml0O1xuICAgICAgICBsaW5lLWhlaWdodDogaW5oZXJpdDtcblxuICAgICAgICAmW3R5cGU9J2NoZWNrYm94J10ge1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgdG9wOiAxcHg7XG5cbiAgICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgdGFibGUge1xuICAgICAgICBjb2xvcjogIzMzMztcblxuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIG92ZXJmbG93OiBhdXRvO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHotaW5kZXg6IDE7XG5cbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJGJvcmRlckNvbG9yO1xuICAgICAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgICAgIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG4gICAgICAgIGJvcmRlci1zcGFjaW5nOiAwO1xuICAgICAgICBiYWNrZ3JvdW5kOiAkYmFzZUNvbG9yO1xuXG4gICAgICAgIHRoZWFkLCB0cjpudGgtY2hpbGQoMm4pIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZVJvd0JhY2tncm91bmRDb2xvcjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRyOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgIHRkLCB0aCB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXRvcDogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHRyOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgdGQsIHRoIHtcbiAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cblxuICAgICAgICB0aCwgdGQge1xuICAgICAgICAgICAgcGFkZGluZzogMTBweCAyMHB4O1xuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJGJvcmRlckNvbG9yO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSByZW1vdmVNYXJnaW5Gb3JFZGdlQ2hpbGRyZW4oKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRkIHtcbiAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICAgICAgICB9XG5cbiAgICAgICAgdGgge1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgIH1cblxuICAgICAgICB0ciB0ZDpmaXJzdC1jaGlsZCwgdHIgdGg6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IG5vbmU7XG4gICAgICAgIH1cbiAgICAgICAgdHIgdGQ6bGFzdC1jaGlsZCwgdHIgdGg6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICBib3JkZXItcmlnaHQ6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBociB7XG4gICAgICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICAgICAgICBoZWlnaHQ6IDAuMjVlbTtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgbWFyZ2luOiAxLjVlbSAwO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRib3JkZXJDb2xvcjtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuXG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgICAgICB9XG5cbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICAgICAgICAgIGNsZWFyOiBib3RoO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgYmxvY2txdW90ZSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAxMnB4O1xuICAgICAgICBib3JkZXItbGVmdDogM3B4IHNvbGlkICRhY2NlbnRDb2xvcjtcblxuICAgICAgICBAaW5jbHVkZSByZW1vdmVNYXJnaW5Gb3JFZGdlQ2hpbGRyZW4oKTtcbiAgICB9XG5cbiAgICBkbCB7XG4gICAgICAgIHBhZGRpbmc6IDA7XG5cbiAgICAgICAgQGluY2x1ZGUgcmVtb3ZlTWFyZ2luRm9yRWRnZUNoaWxkcmVuKCk7XG5cbiAgICAgICAgZHQge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICAgICAgICAgICAgZm9udC1zaXplOiAxZW07XG4gICAgICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgICAgICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgICAgICB9XG5cbiAgICAgICAgZGQge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgMTVweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGRkIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG5cbiAgICAgICAgJiA+IG9sOmZpcnN0LWNoaWxkLFxuICAgICAgICAmID4gdWw6Zmlyc3QtY2hpbGQsXG4gICAgICAgICYgPiBkZDpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICB1bCwgb2wge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDIuMmVtO1xuICAgIH1cblxuICAgIHVsIHVsLFxuICAgIHVsIG9sLFxuICAgIG9sIG9sLFxuICAgIG9sIHVsIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG5cbiAgICAmOm5vdCgueWZtX25vLWxpc3QtcmVzZXQpIHtcbiAgICAgICAgb2wge1xuICAgICAgICAgICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICAgICAgICAgICAgY291bnRlci1yZXNldDogbGlzdDtcblxuICAgICAgICAgICAgJiA+IGxpIHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgY291bnRlci1pbmNyZW1lbnQ6IGxpc3Q7XG5cbiAgICAgICAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgIHJpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDRweDtcbiAgICAgICAgICAgICAgICAgICAgY29udGVudDogY291bnRlcnMobGlzdCwgJy4nKSAnLiAnO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIGxpIHtcbiAgICAgICAgd29yZC13cmFwOiBicmVhay13b3JkO1xuICAgIH1cblxuICAgIGxpICsgbGkge1xuICAgICAgICBtYXJnaW4tdG9wOiAwLjMzZW07XG4gICAgfVxuXG4gICAgbGkgcCxcbiAgICBsaSBibG9ja3F1b3RlIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMTVweDtcbiAgICB9XG5cbiAgICBjb2RlIHtcbiAgICAgICAgcGFkZGluZzogMC4xZW0gMC40ZW0gMC4xNWVtO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5saW5lQ29kZUJhY2tncm91bmRDb2xvcjtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAgICAgICBmb250LXNpemU6IDAuODc1ZW07XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gICAgICAgIGNvbG9yOiAkaW5saW5lQ29kZUNvbG9yO1xuICAgIH1cblxuICAgIHByZSB7XG4gICAgICAgIHdvcmQtd3JhcDogbm9ybWFsO1xuICAgIH1cblxuICAgIHRhYmxlIGNvZGUge1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIH1cblxuICAgIHByZSAqIGNvZGUge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgICAgIHdvcmQtd3JhcDogbm9ybWFsO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICBjb2xvcjogJHRleHRDb2xvcjtcbiAgICB9XG5cbiAgICBwcmUgPiBjb2RlIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHBhZGRpbmc6IDE2cHg7XG4gICAgICAgIG92ZXJmbG93OiBhdXRvO1xuXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2RlQmFja2dyb3VuZENvbG9yO1xuICAgICAgICBjb2xvcjogJHRleHRDb2xvcjtcblxuICAgICAgICB3aGl0ZS1zcGFjZTogcHJlO1xuICAgIH1cblxuICAgIHN1cCwgc3ViIHtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDA7XG4gICAgfVxuXG4gICAgLypcbiAgICAgICAgSGlkZXMgZWxlbWVudCB2aXN1YWxseSwgYnV0IGxlYXZlcyBpdCB2aXNpYmxlIGZvciBzZWFyY2ggY3Jhd2xlcnMgYW5kIHNjcmVlbiByZWFkZXJzXG5cbiAgICAgICAgaHR0cHM6Ly93d3cuYTExeXByb2plY3QuY29tL3Bvc3RzLzIwMTMtMDEtMTEtaG93LXRvLWhpZGUtY29udGVudC9cbiAgICAgICAgaHR0cHM6Ly9odWdvZ2lyYXVkZWwuY29tLzIwMTYvMTAvMTMvY3NzLWhpZGUtYW5kLXNlZWsvXG4gICAgKi9cbiAgICAudmlzdWFsbHktaGlkZGVuIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuXG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIGNsaXA6IHJlY3QoMCAwIDAgMCk7XG5cbiAgICAgICAgd2lkdGg6IDFweDtcbiAgICAgICAgaGVpZ2h0OiAxcHg7XG4gICAgICAgIG1hcmdpbjogLTFweDtcblxuICAgICAgICBwYWRkaW5nOiAwO1xuXG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cbiAgICAgICAgYm9yZGVyOiAwO1xuXG4gICAgICAgIGNsaXAtcGF0aDogaW5zZXQoMTAwJSk7XG4gICAgICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgIH1cblxuICAgIC8vIGhpZ2hsaWdodC5qcyBjb2xvcnNcbiAgICAtLXlmbS1jb2xvci1obGpzLWJhY2tncm91bmQ6ICN7JGNvZGVCYWNrZ3JvdW5kQ29sb3J9O1xuICAgIC0teWZtLWNvbG9yLWhsanMtc3Vic3Q6ICM0NDQ7XG4gICAgLS15Zm0tY29sb3ItaGxqcy1jb21tZW50OiAjODg4ODg4O1xuICAgIC0teWZtLWNvbG9yLWhsanMtZGVsZXRpb246ICM4ODAwMDA7XG4gICAgLS15Zm0tY29sb3ItaGxqcy1zZWN0aW9uOiAjODgwMDAwO1xuICAgIC0teWZtLWNvbG9yLWhsanMtcHNldWRvOiAjQkM2MDYwO1xuICAgIC0teWZtLWNvbG9yLWhsanMtbGl0ZXJhbDogIzc4QTk2MDtcbiAgICAtLXlmbS1jb2xvci1obGpzLWFkZGl0aW9uOiAjMzk3MzAwO1xuICAgIC0teWZtLWNvbG9yLWhsanMtbWV0YTogIzFmNzE5OTtcbiAgICAtLXlmbS1jb2xvci1obGpzLW1ldGEtc3RyaW5nOiAjNGQ5OWJmO1xuICAgIC0teWZtLWZvbnQtZmFtaWx5LW1vbm9zcGFjZTogXCJNZW5sb1wiLCBcIk1vbmFjb1wiLCBcIkNvbnNvbGFzXCIsIFwiVWJ1bnR1IE1vbm9cIiwgXCJMaWJlcmF0aW9uIE1vbm9cIiwgXCJEZWphVnUgU2FucyBNb25vXCIsIFwiQ291cmllciBOZXdcIiwgXCJDb3VyaWVyXCIsIG1vbm9zcGFjZTtcbiAgICAtLXlmbS1mb250LWZhbWlseS1zYW5zOiAnU2Vnb2UgVUknLCBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmLCAnQXBwbGUgQ29sb3IgRW1vamknLCAnU2Vnb2UgVUkgRW1vamknLCAnU2Vnb2UgVUkgU3ltYm9sJztcbn1cbiIsIiRiYXNlQ29sb3I6ICNmZmZmZmY7XG4kYWNjZW50Q29sb3I6ICMwMjdiZjM7XG5cbiR0ZXh0Q29sb3I6IHJnYmEoMCwgMCwgMCwgMC43KTtcbiRib3JkZXJDb2xvcjogcmdiYSgwLCAwLCAwLCAwLjA3KTtcbiRiYWNrZ3JvdW5kQ29sb3I6IHJnYmEoMCwgMCwgMCwgMC4wMik7XG5cbiRpbmxpbmVDb2RlQ29sb3I6IHJnYmEoNTksIDk2LCAxMjgsIDEpO1xuJGlubGluZUNvZGVCYWNrZ3JvdW5kQ29sb3I6IHJnYmEoMTA3LCAxMzIsIDE1MywgMC4xMik7XG5cbiRjb2RlQmFja2dyb3VuZENvbG9yOiByZ2JhKDEwNywgMTMyLCAxNTMsIDAuMTIpO1xuXG4kdGFibGVSb3dCYWNrZ3JvdW5kQ29sb3I6IHJnYmEoMCwgMCwgMCwgMC4wMik7XG5cbiRsaW5rQ29sb3I6ICRhY2NlbnRDb2xvcjtcbiRsaW5rSG92ZXJDb2xvcjogIzAwNDA4MDtcbiIsIkBpbXBvcnQgJ3ZhcmlhYmxlcyc7XG5cbiRpbmZvQ29sb3I6ICRhY2NlbnRDb2xvcjtcbiR0aXBDb2xvcjogIzU2YmQ2NztcbiR3YXJuaW5nQ29sb3I6ICNmMTk1MTg7XG4kaW1wb3J0YW50Q29sb3I6ICNmZjQ2NDU7XG5cbiRpbmZvQmFja2dyb3VuZENvbG9yOiByZ2JhKDIsIDEyMywgMjQzLCAwLjA4KTtcbiR0aXBCYWNrZ3JvdW5kQ29sb3I6IHJnYmEoNjMsIDIwMSwgNDYsIDAuMSk7XG4kd2FybmluZ0JhY2tncm91bmRDb2xvcjogcmdiYSgyNTUsIDEzNiwgMCwgMC4xNSk7XG4kaW1wb3J0YW50QmFja2dyb3VuZENvbG9yOiByZ2JhKDIzNSwgNTAsIDM4LCAwLjA4KTtcblxuLnlmbSAueWZtLW5vdGUge1xuICAgIG1heC13aWR0aDogMTI5NnB4O1xuICAgIG1hcmdpbjogMjBweCAwO1xuICAgIHBhZGRpbmc6IDIwcHggMjBweCAyMHB4IDY0cHg7XG4gICAgYm9yZGVyLXJhZGl1czogMTBweDtcblxuICAgIC55Zm0tbm90ZS10aXRsZSB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgfVxuXG4gICAgJiA+IHAge1xuICAgICAgICBtYXJnaW46IDAgMCAxMHB4IDA7XG5cbiAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAyNHB4O1xuICAgICAgICAgICAgICAgIGhlaWdodDogMjRweDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAtMnB4O1xuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtNDRweDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAyMHB4O1xuICAgICAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAkY29sb3JzOiAoXG4gICAgICAgIHlmbS1hY2NlbnQtaW5mbzogJGluZm9Db2xvcixcbiAgICAgICAgeWZtLWFjY2VudC10aXA6ICR0aXBDb2xvcixcbiAgICAgICAgeWZtLWFjY2VudC1hbGVydDogJGltcG9ydGFudENvbG9yLFxuICAgICAgICB5Zm0tYWNjZW50LXdhcm5pbmc6ICR3YXJuaW5nQ29sb3JcbiAgICApO1xuXG4gICAgQGVhY2ggJHR5cGUsICRjb2xvciBpbiAkY29sb3JzIHtcbiAgICAgICAgJi4jeyR0eXBlfSA+IHA6Zmlyc3QtY2hpbGQ6OmJlZm9yZSB7XG4gICAgICAgICAgICAkcjogcmVkKCRjb2xvcik7XG4gICAgICAgICAgICAkZzogZ3JlZW4oJGNvbG9yKTtcbiAgICAgICAgICAgICRiOiBibHVlKCRjb2xvcik7XG4gICAgICAgICAgICAkcmdiQ29sb3I6ICdyZ2IoJyArICRyICsgJywnICsgJGcgKyAnLCcgKyAkYiArICcpJztcbiAgICAgICAgICAgIGNvbnRlbnQ6IHVybCgnZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIyNFwiIGhlaWdodD1cIjI0XCIgdmlld0JveD1cIjAgMCAxNiAxNlwiJTNFJTNDY2lyY2xlIGN4PVwiOFwiIGN5PVwiOFwiIHI9XCI4XCIgZmlsbD1cIicgKyAkcmdiQ29sb3IgKyAnXCIvJTNFJTNDcmVjdCB3aWR0aD1cIjFcIiBoZWlnaHQ9XCI1XCIgeD1cIjcuNVwiIHk9XCI2LjVcIiBzdHJva2U9XCIlMjNmZmZcIiByeD1cIi41XCIvJTNFJTNDY2lyY2xlIGN4PVwiOFwiIGN5PVwiNFwiIHI9XCIxXCIgZmlsbD1cIiUyM2ZmZlwiLyUzRSUzQy9zdmclM0UnKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICRiYWNrZ3JvdW5kQ29sb3JzOiAoXG4gICAgICAgIHlmbS1hY2NlbnQtaW5mbzogJGluZm9CYWNrZ3JvdW5kQ29sb3IsXG4gICAgICAgIHlmbS1hY2NlbnQtdGlwOiAkdGlwQmFja2dyb3VuZENvbG9yLFxuICAgICAgICB5Zm0tYWNjZW50LWFsZXJ0OiAkaW1wb3J0YW50QmFja2dyb3VuZENvbG9yLFxuICAgICAgICB5Zm0tYWNjZW50LXdhcm5pbmc6ICR3YXJuaW5nQmFja2dyb3VuZENvbG9yXG4gICAgKTtcblxuICAgIEBlYWNoICR0eXBlLCAkY29sb3IgaW4gJGJhY2tncm91bmRDb2xvcnMge1xuICAgICAgICAmLiN7JHR5cGV9IHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRjb2xvcjtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi55Zm0ge1xuICAgIGgxLCBoMiwgaDMsIGg0LCBoNSwgaDYge1xuICAgICAgICAueWZtLWFuY2hvciB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICB3aWR0aDogMjRweDtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDRweDtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtMjRweDtcbiAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICAgIH1cblxuICAgICAgICAueWZtLWFuY2hvcjo6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcjJztcbiAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIH1cblxuICAgICAgICAmOmhvdmVyIC55Zm0tYW5jaG9yOjpiZWZvcmUge1xuICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHRhYmxlIHtcbiAgICAgICAgaDEsIGgyLCBoMywgaDQsIGg1LCBoNiB7XG4gICAgICAgICAgICAueWZtLWFuY2hvciB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDFlbTtcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogLTFlbTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfTtcblxuICAgIC55Zm0tdGFicyB7XG4gICAgICAgIC55Zm0tYW5jaG9yOjpiZWZvcmUge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMnB4O1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiQGltcG9ydCAndmFyaWFibGVzJztcblxuLnlmbSB7XG4gICAgLmhsanMge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgb3ZlcmZsb3cteDogYXV0bztcbiAgICAgICAgcGFkZGluZzogMTZweDtcbiAgICAgICAgYmFja2dyb3VuZDogJGNvZGVCYWNrZ3JvdW5kQ29sb3I7XG4gICAgICAgIGJhY2tncm91bmQ6IHZhcigtLXlmbS1jb2xvci1obGpzLWJhY2tncm91bmQpO1xuICAgIH1cblxuICAgIC5obGpzLFxuICAgIC5obGpzLXN1YnN0IHtcbiAgICAgICAgY29sb3I6ICM0NDQ7XG4gICAgICAgIGNvbG9yOiB2YXIoLS15Zm0tY29sb3ItaGxqcy1zdWJzdCk7XG4gICAgfVxuXG4gICAgLmhsanMtY29tbWVudCB7XG4gICAgICAgIGNvbG9yOiAjODg4ODg4O1xuICAgICAgICBjb2xvcjogdmFyKC0teWZtLWNvbG9yLWhsanMtY29tbWVudCk7XG4gICAgfVxuXG5cbiAgICAuaGxqcy1rZXl3b3JkLFxuICAgIC5obGpzLWF0dHJpYnV0ZSxcbiAgICAuaGxqcy1zZWxlY3Rvci10YWcsXG4gICAgLmhsanMtbWV0YS1rZXl3b3JkLFxuICAgIC5obGpzLWRvY3RhZyxcbiAgICAuaGxqcy1uYW1lIHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgfVxuXG4gICAgLmhsanMtdHlwZSxcbiAgICAuaGxqcy1zdHJpbmcsXG4gICAgLmhsanMtbnVtYmVyLFxuICAgIC5obGpzLXNlbGVjdG9yLWlkLFxuICAgIC5obGpzLXNlbGVjdG9yLWNsYXNzLFxuICAgIC5obGpzLXF1b3RlLFxuICAgIC5obGpzLXRlbXBsYXRlLXRhZyxcbiAgICAuaGxqcy1kZWxldGlvbiB7XG4gICAgICAgIGNvbG9yOiAjODgwMDAwO1xuICAgICAgICBjb2xvcjogdmFyKC0teWZtLWNvbG9yLWhsanMtZGVsZXRpb24pO1xuICAgIH1cblxuICAgIC5obGpzLXRpdGxlLFxuICAgIC5obGpzLXNlY3Rpb24ge1xuICAgICAgICBjb2xvcjogIzg4MDAwMDtcbiAgICAgICAgY29sb3I6IHZhcigtLXlmbS1jb2xvci1obGpzLXNlY3Rpb24pO1xuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICB9XG5cbiAgICAuaGxqcy1yZWdleHAsXG4gICAgLmhsanMtc3ltYm9sLFxuICAgIC5obGpzLXZhcmlhYmxlLFxuICAgIC5obGpzLXRlbXBsYXRlLXZhcmlhYmxlLFxuICAgIC5obGpzLWxpbmssXG4gICAgLmhsanMtc2VsZWN0b3ItYXR0cixcbiAgICAuaGxqcy1zZWxlY3Rvci1wc2V1ZG8ge1xuICAgICAgICBjb2xvcjogI0JDNjA2MDtcbiAgICAgICAgY29sb3I6IHZhcigtLXlmbS1jb2xvci1obGpzLXBzZXVkbyk7XG4gICAgfVxuXG5cbiAgICAuaGxqcy1saXRlcmFsIHtcbiAgICAgICAgY29sb3I6ICM3OEE5NjA7XG4gICAgICAgIGNvbG9yOiB2YXIoLS15Zm0tY29sb3ItaGxqcy1saXRlcmFsKTtcbiAgICB9XG5cbiAgICAuaGxqcy1idWlsdF9pbixcbiAgICAuaGxqcy1idWxsZXQsXG4gICAgLmhsanMtY29kZSxcbiAgICAuaGxqcy1hZGRpdGlvbiB7XG4gICAgICAgIGNvbG9yOiAjMzk3MzAwO1xuICAgICAgICBjb2xvcjogdmFyKC0teWZtLWNvbG9yLWhsanMtYWRkaXRpb24pO1xuICAgIH1cblxuXG4gICAgLmhsanMtbWV0YSB7XG4gICAgICAgIGNvbG9yOiAjMWY3MTk5O1xuICAgICAgICBjb2xvcjogdmFyKC0teWZtLWNvbG9yLWhsanMtbWV0YSk7XG4gICAgfVxuXG4gICAgLmhsanMtbWV0YS1zdHJpbmcge1xuICAgICAgICBjb2xvcjogIzRkOTliZjtcbiAgICAgICAgY29sb3I6IHZhcigtLXlmbS1jb2xvci1obGpzLW1ldGEtc3RyaW5nKTtcbiAgICB9XG5cblxuICAgIC5obGpzLWVtcGhhc2lzIHtcbiAgICAgICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgIH1cblxuICAgIC5obGpzLXN0cm9uZyB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIH1cbn1cbiIsIi55Zm0ge1xuICAgICYtY2xpcGJvYXJkIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICY6aG92ZXIgJi1idXR0b24ge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cblxuICAgICAgICAmID4gcHJlIHtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi1jbGlwYm9hcmQtYnV0dG9uIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIHRvcDogMTZweDtcbiAgICAgICAgcmlnaHQ6IDE2cHg7XG4gICAgICAgIHotaW5kZXg6IDE7XG4gICAgfVxufVxuIiwiLnlmbS1jdXQge1xuICAgICRjbGFzczogJjtcbiAgICBcbiAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuXG4gICAgJi10aXRsZSB7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICAgICAgcGFkZGluZzogNXB4IDAgNXB4IDMwcHg7XG5cbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2Jhc2U2NCxQSE4yWnlCNGJXeHVjejBpYUhSMGNEb3ZMM2QzZHk1M015NXZjbWN2TWpBd01DOXpkbWNpSUhacFpYZENiM2c5SWpBZ01DQXhOaUF4TmlJK0NpQWdJQ0E4Y0dGMGFDQnpkSEp2YTJVOUltTjFjbkpsYm5SRGIyeHZjaUlnWm1sc2JEMGlibTl1WlNJZ1pEMGlUVE1nTm13MUlEVWdOUzAxSWk4K0Nqd3ZjM1puUGdvPVwiKTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKSByb3RhdGUoLTkwZGVnKTtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjNzIGVhc2U7XG4gICAgICAgICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICAgICAgICB3aWR0aDogMjBweDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYtY29udGVudCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIHRyYW5zaXRpb246IGhlaWdodCAwLjNzIGVhc2UtaW4tb3V0O1xuICAgIH1cblxuICAgICYub3BlbiB7XG4gICAgICAgID4gI3skY2xhc3N9LWNvbnRlbnQge1xuICAgICAgICAgICAgZGlzcGxheTogcmV2ZXJ0O1xuICAgICAgICAgICAgcGFkZGluZzogNXB4IDAgMTVweCAzMHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgPiAjeyRjbGFzc30tdGl0bGU6YmVmb3JlIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC55Zm06bm90KC55Zm1fbm8tbGlzdC1yZXNldCkgJiBvbCB7XG4gICAgICAgIGNvdW50ZXItcmVzZXQ6IGN1dC1saXN0O1xuXG4gICAgICAgICYgPiBsaSB7XG4gICAgICAgICAgICBjb3VudGVyLWluY3JlbWVudDogY3V0LWxpc3Q7XG5cbiAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgY29udGVudDogY291bnRlcnMoY3V0LWxpc3QsICcuJykgJy4gJztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuXG4iLCJAaW1wb3J0ICd2YXJpYWJsZXMnO1xuXG4kZGVmYXVsdEljb246IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEhOMlp5QjRiV3h1Y3owaWFIUjBjRG92TDNkM2R5NTNNeTV2Y21jdk1qQXdNQzl6ZG1jaUlIWnBaWGRDYjNnOUlqQWdNQ0F6T0RRZ05URXlJajQ4Y0dGMGFDQm1hV3hzUFNKamRYSnlaVzUwUTI5c2IzSWlJR1E5SWswek5qa3VPU0E1Tnk0NVRESTROaUF4TkVNeU56Y2dOU0F5TmpRdU9DMHVNU0F5TlRJdU1TMHVNVWcwT0VNeU1TNDFJREFnTUNBeU1TNDFJREFnTkRoMk5ERTJZekFnTWpZdU5TQXlNUzQxSURRNElEUTRJRFE0YURJNE9HTXlOaTQxSURBZ05EZ3RNakV1TlNBME9DMDBPRll4TXpFdU9XTXdMVEV5TGpjdE5TNHhMVEkxTFRFMExqRXRNelI2YlMweU1pNDJJREl5TGpkak1pNHhJREl1TVNBekxqVWdOQzQySURRdU1pQTNMalJJTWpVMlZqTXlMalZqTWk0NExqY2dOUzR6SURJdU1TQTNMalFnTkM0eWJEZ3pMamtnT0RNdU9YcE5Nek0ySURRNE1FZzBPR010T0M0NElEQXRNVFl0Tnk0eUxURTJMVEUyVmpRNFl6QXRPQzQ0SURjdU1pMHhOaUF4TmkweE5tZ3hOeloyTVRBMFl6QWdNVE11TXlBeE1DNDNJREkwSURJMElESTBhREV3TkhZek1EUmpNQ0E0TGpndE55NHlJREUyTFRFMklERTJlbTB0TkRndE1qUTBkamhqTUNBMkxqWXROUzQwSURFeUxURXlJREV5U0RFd09HTXROaTQySURBdE1USXROUzQwTFRFeUxURXlkaTA0WXpBdE5pNDJJRFV1TkMweE1pQXhNaTB4TW1neE5qaGpOaTQySURBZ01USWdOUzQwSURFeUlERXllbTB3SURZMGRqaGpNQ0EyTGpZdE5TNDBJREV5TFRFeUlERXlTREV3T0dNdE5pNDJJREF0TVRJdE5TNDBMVEV5TFRFeWRpMDRZekF0Tmk0MklEVXVOQzB4TWlBeE1pMHhNbWd4Tmpoak5pNDJJREFnTVRJZ05TNDBJREV5SURFeWVtMHdJRFkwZGpoak1DQTJMall0TlM0MElERXlMVEV5SURFeVNERXdPR010Tmk0MklEQXRNVEl0TlM0MExURXlMVEV5ZGkwNFl6QXROaTQySURVdU5DMHhNaUF4TWkweE1tZ3hOamhqTmk0MklEQWdNVElnTlM0MElERXlJREV5ZWlJdlBqd3ZjM1puUGc9PVwiKTtcblxuLyoqXG4gICAgUHVibGljIENTUyB2YXJpYWJsZXM6XG4gICAgLS15Zm0tZmlsZS1pY29uICAgICAgICAgICAgIHNldHMgZmlsZSBpY29uIGltYWdlXG4gICAgLS15Zm0tZmlsZS1pY29uLWNvbG9yICAgICAgIHNldHMgZmlsZSBpY29uIGNvbG9yXG4qL1xuXG4ueWZtLWZpbGUge1xuICAgICZfX2ljb24ge1xuICAgICAgICAtLS15Zm0tZmlsZS1pY29uLWltZzogdmFyKC0teWZtLWZpbGUtaWNvbiwgI3skZGVmYXVsdEljb259KTtcblxuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHVzZXItc2VsZWN0OiBub25lO1xuXG4gICAgICAgIHdpZHRoOiAxNnB4O1xuICAgICAgICBtYXJnaW46IDAgMnB4O1xuXG4gICAgICAgIGNvbG9yOiB2YXIoLS15Zm0tZmlsZS1pY29uLWNvbG9yLCAjeyR0ZXh0Q29sb3J9KTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogY3VycmVudENvbG9yO1xuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA1MCU7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJTtcblxuICAgICAgICBtYXNrLWltYWdlOiB2YXIoLS0teWZtLWZpbGUtaWNvbi1pbWcpO1xuICAgICAgICBtYXNrLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICAgIG1hc2stcmVwZWF0OiBuby1yZXBlYXQ7XG5cbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICdcXGEwJztcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi55Zm0tdGVybSB7XG4gICAgJl90aXRsZSB7XG4gICAgICAgIGNvbG9yOiAjMDI3YmYzO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IGRvdHRlZDtcblxuICAgICAgICBmb250LXNpemU6IGluaGVyaXQ7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBjb2xvcjogIzAwNDA4MDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfZGZuIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB6LWluZGV4OiAxMDA7XG5cbiAgICAgICAgd2lkdGg6IGZpdC1jb250ZW50O1xuICAgICAgICBtYXgtd2lkdGg6IDQ1MHB4O1xuXG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYwMHB4KSB7XG4gICAgICAgICAgICAmIHtcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDgwJTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgICAgb3BhY2l0eTogMDtcblxuICAgICAgICBwYWRkaW5nOiAxMHB4O1xuXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYigyNTUsIDI1NSwgMjU1KTtcblxuICAgICAgICBmb250LXNpemU6IGluaGVyaXQ7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7XG5cbiAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4O1xuXG4gICAgICAgIGJveC1zaGFkb3c6IDAgOHB4IDIwcHggcmdiYSgwLCAwLCAwLCAwLjE1KTtcbiAgICAgICAgb3V0bGluZTogbm9uZTtcblxuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB6LWluZGV4OiAtMTtcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgICAgbGVmdDogMDtcblxuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogaW5oZXJpdDtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDFweCByZ2IoMjI5LCAyMjksIDIyOSk7XG4gICAgICAgIH1cblxuICAgICAgICAmLm9wZW4ge1xuICAgICAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcblxuICAgICAgICAgICAgYW5pbWF0aW9uLW5hbWU6IHBvcHVwO1xuICAgICAgICAgICAgYW5pbWF0aW9uLWR1cmF0aW9uOiAwLjFzO1xuICAgICAgICAgICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XG4gICAgICAgICAgICBhbmltYXRpb24tZmlsbC1tb2RlOiBmb3J3YXJkcztcblxuICAgICAgICAgICAgQGtleWZyYW1lcyBwb3B1cCB7XG4gICAgICAgICAgICAgICAgMCUge1xuICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTBweCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIDEwMCUge1xuICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIiwiLnlmbSB0YWJsZSB0ZCB7XG4gICAgJi5jZWxsLWFsaWduLXRvcC1sZWZ0LFxuICAgICYuY2VsbC1hbGlnbi1ib3R0b20tbGVmdCB7XG4gICAgICAgIHRleHQtYWxpZ246IHN0YXJ0O1xuICAgIH1cblxuICAgICYuY2VsbC1hbGlnbi10b3AtY2VudGVyLFxuICAgICYuY2VsbC1hbGlnbi1jZW50ZXIge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfVxuXG4gICAgJi5jZWxsLWFsaWduLXRvcC1yaWdodCxcbiAgICAmLmNlbGwtYWxpZ24tYm90dG9tLXJpZ2h0IHtcbiAgICAgICAgdGV4dC1hbGlnbjogZW5kO1xuICAgIH1cblxuICAgICYuY2VsbC1hbGlnbi10b3AtbGVmdCxcbiAgICAmLmNlbGwtYWxpZ24tdG9wLWNlbnRlcixcbiAgICAmLmNlbGwtYWxpZ24tdG9wLXJpZ2h0IHtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICB9XG5cbiAgICAmLmNlbGwtYWxpZ24tY2VudGVyIHtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICB9XG5cbiAgICAmLmNlbGwtYWxpZ24tYm90dG9tLWxlZnQsXG4gICAgJi5jZWxsLWFsaWduLWJvdHRvbS1yaWdodCB7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBib3R0b207XG4gICAgfVxufVxuXG4iLCIud2lkZS1jb250YWluZXIge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB3aWR0aDogMTAwdnc7XG4gICAgaGVpZ2h0OiAxMDB2aDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgdG9wOiAwcHg7XG4gICAgbGVmdDogMHB4O1xuICAgIHotaW5kZXg6IDIwMDtcblxuICAgICYuZGMtZG9jLXBhZ2Uge1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAud2lkZS1jb250ZW50LXZpZXdlciB7XG4gICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICB9XG5cbiAgICAud2lkZS1jb250ZW50LXdyYXBwZXIge1xuICAgICAgICB6LWluZGV4OiAyMDA7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWctY29sb3ItYmFzZS1iYWNrZ3JvdW5kKTsgICBcbiAgICAgICAgaGVpZ2h0OiA5MHZoO1xuICAgICAgICB3aWR0aDogNzB2dztcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblxuICAgICAgIC53aWRlLWNvbnRlbnQge1xuICAgICAgICAgICAgaGVpZ2h0OiA5NSU7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICAgICAgLndpZGUtaW5uZXItZWxlbWVudCB7XG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdGFibGUge1xuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDBweDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLndpZGUtdGhlYWQtY29udGVudCB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogdGFibGU7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICB9XG4gICAgICAgfVxuXG4gICAgICAgLndpZGUtdG9vbGJhciB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIHBhZGRpbmc6IDEwcHggMTJweDtcbiAgICAgICB9XG5cbiAgICAgICAud2lkZS1lbnRpdHktbmFtZSB7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICAgfVxuXG4gICAgICAgLndpZGUtYWN0aW9ucyB7XG4gICAgICAgICAgICBhbGlnbi1zZWxmOiBmbGV4LWVuZDtcblxuICAgICAgICAgICAgLmNsb3NlLWFjdGlvbiB7XG4gICAgICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDNweDtcblxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgMzAwbXM7XG5cbiAgICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tZy1jb2xvci1iYXNlLXNpbXBsZS1ob3Zlcik7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgIH1cbiAgICB9XG59ICAgXG5cbi53aWRlLWVsZW1lbnQtd3JhcHBlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBnYXA6IDMwcHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgJjpob3ZlciA+IC53aWRlLWNvbnRlbnQtdmlld2VyIHtcbiAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICB9XG5cbiAgICAud2lkZS1pbm5lci1lbGVtZW50IHtcbiAgICAgICAgbWF4LXdpZHRoOiA3MDBweDtcbiAgICB9XG59XG5cbi53aWRlLWNvbnRlbnQtdmlld2VyIHtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgd2lkdGg6IDMwcHg7XG4gICAgaGVpZ2h0OiAzMHB4O1xuICAgIHotaW5kZXg6IDEwMDtcbiAgICBwYWRkaW5nOiA2cHg7XG4gICAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gICAgY29sb3I6IHZhcigtLWctY29sb3ItdGV4dC1wcmltYXJ5KTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAmID4gc3ZnIHtcbiAgICAgICAgd2lkdGg6IDIwcHg7XG4gICAgICAgIGhlaWdodDogMjBweDtcbiAgICB9XG59XG5cbi53aWRlLWNvbnRlbnQtb3ZlcmxheSB7XG4gICAgei1pbmRleDogMTAwO1xuICAgIHdpZHRoOiAxMDB2dztcbiAgICBoZWlnaHQ6IDEwMHZoO1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBibGFjaztcbiAgICBvcGFjaXR5OiAwLjY7XG59XG4iLCJAY2hhcnNldCBcIlVURi04XCI7LnlmbS10YWJze21hcmdpbi1ib3R0b206MTVweH0ueWZtOm5vdCgueWZtX25vLWxpc3QtcmVzZXQpIC55Zm0tdGFicyBvbHtjb3VudGVyLXJlc2V0OnRhYnMtbGlzdH0ueWZtOm5vdCgueWZtX25vLWxpc3QtcmVzZXQpIC55Zm0tdGFicyBvbD5saXtjb3VudGVyLWluY3JlbWVudDp0YWJzLWxpc3R9LnlmbTpub3QoLnlmbV9uby1saXN0LXJlc2V0KSAueWZtLXRhYnMgb2w+bGk6YmVmb3Jle2NvbnRlbnQ6Y291bnRlcnModGFicy1saXN0LFwiLlwiKSBcIi4gXCJ9LnlmbS10YWItbGlzdHtkaXNwbGF5OmZsZXg7ZmxleC13cmFwOndyYXA7bWFyZ2luLWJvdHRvbToxNXB4O2JvcmRlci1ib3R0b206MXB4IHNvbGlkIHJnYmEoMCwwLDAsLjA3KX0ueWZtLXRhYnMtdmVydGljYWw+LnlmbS10YWItbGlzdHtmbGV4LWRpcmVjdGlvbjpjb2x1bW47Ym9yZGVyLWJvdHRvbTp1bnNldH0ueWZtLXRhYnMtdmVydGljYWw+LnlmbS10YWItcGFuZWx7bWFyZ2luLWxlZnQ6MzBweH0ueWZtLXRhYnMtdmVydGljYWw+LnlmbS10YWItZ3JvdXB7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOnJvdzttYXJnaW4tYm90dG9tOjVweH0ueWZtLXRhYnMtdmVydGljYWwgLnlmbS12ZXJ0aWNhbC10YWI+aW5wdXRbdHlwZT1yYWRpb117dmlzaWJpbGl0eTpoaWRkZW47d2lkdGg6MDtoZWlnaHQ6MH0ueWZtLXRhYnMtdmVydGljYWwgLnlmbS12ZXJ0aWNhbC10YWI+bGFiZWx7ZGlzcGxheTppbmxpbmUtYmxvY2s7Y3Vyc29yOnBvaW50ZXI7cG9zaXRpb246cmVsYXRpdmU7cGFkZGluZy1sZWZ0OjI1cHg7bWFyZ2luLXJpZ2h0OjA7bGluZS1oZWlnaHQ6MThweDt1c2VyLXNlbGVjdDpub25lfS55Zm0tdGFicy12ZXJ0aWNhbCAueWZtLXZlcnRpY2FsLXRhYj5sYWJlbDpiZWZvcmV7Zm9udC1mYW1pbHk6aW5pdGlhbCFpbXBvcnRhbnQ7Y29udGVudDpcIlwiO3Bvc2l0aW9uOmFic29sdXRlO2xlZnQ6MDtib3R0b206MXB4O2JvcmRlci1yYWRpdXM6NTAlO3dpZHRoOjE4cHg7aGVpZ2h0OjE4cHg7Ym9yZGVyOiNkZmRmZGYgMXB4IHNvbGlkO2JhY2tncm91bmQtY29sb3I6I2ZmZn0ueWZtLXRhYnMtdmVydGljYWwgLnlmbS12ZXJ0aWNhbC10YWIgaW5wdXRbdHlwZT1yYWRpb106Y2hlY2tlZCtsYWJlbDpiZWZvcmV7Y29udGVudDpcIlxcMjAyMlwiO2JhY2tncm91bmQtY29sb3I6IzUyODJmZjt0ZXh0LWFsaWduOmNlbnRlcjt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7Zm9udC1zaXplOjIwcHg7d2hpdGUtc3BhY2U6cHJlO2Rpc3BsYXk6aW5saW5lLWZsZXg7anVzdGlmeS1jb250ZW50OmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7Y29sb3I6I2ZmZn0ueWZtLXRhYnMtdmVydGljYWwgLnlmbS12ZXJ0aWNhbC10YWJ7Ym9yZGVyLWJvdHRvbTp1bnNldCFpbXBvcnRhbnR9LnlmbS10YWJ7bWFyZ2luLWJvdHRvbTotMXB4O21hcmdpbi1yaWdodDoyMHB4O2JvcmRlci1ib3R0b206MnB4IHNvbGlkIHRyYW5zcGFyZW50O3BhZGRpbmc6NnB4IDAgN3B4O2ZvbnQtd2VpZ2h0OjcwMDtvdXRsaW5lOm5vbmU7Y3Vyc29yOnBvaW50ZXI7dXNlci1zZWxlY3Q6bm9uZTt3aGl0ZS1zcGFjZTpicmVhay1zcGFjZXN9LnlmbS10YWI6bGFzdC1jaGlsZHttYXJnaW4tcmlnaHQ6MH0ueWZtLXRhYjpob3ZlciwueWZtLXRhYjphY3RpdmV7Y29sb3I6IzAwNDA4MH0ueWZtLXRhYi5hY3RpdmV7Ym9yZGVyLWJvdHRvbS1jb2xvcjojMDI3YmYzfS55Zm0tdGFiOmZvY3Vze291dGxpbmU6MnB4IHNvbGlkICM0ZDkwZmU7Ym9yZGVyLXJhZGl1czoycHh9LnlmbS10YWI6Zm9jdXM6bm90KDpmb2N1cy12aXNpYmxlKXtvdXRsaW5lOjB9LnlmbS10YWItcGFuZWx7cG9zaXRpb246cmVsYXRpdmU7dmlzaWJpbGl0eTpoaWRkZW47b3ZlcmZsb3c6aGlkZGVuO2hlaWdodDowfS55Zm0tdGFiLXBhbmVsOmZpcnN0LWNoaWxke21hcmdpbi10b3A6MCFpbXBvcnRhbnR9LnlmbS10YWItcGFuZWw6bGFzdC1jaGlsZHttYXJnaW4tYm90dG9tOjAhaW1wb3J0YW50fS55Zm0tdGFiLXBhbmVsLmFjdGl2ZXt2aXNpYmlsaXR5OnZpc2libGU7aGVpZ2h0OmF1dG99XG4vKiMgc291cmNlTWFwcGluZ1VSTD1pbmRleC5jc3MubWFwICovXG4iXX0= */", "@import 'variables';\n\n@mixin removeMarginForEdgeChildren {\n & > *:first-child {\n margin-top: 0;\n }\n\n & > *:last-child {\n margin-bottom: 0;\n }\n}\n\n.yfm {\n font-family: var(--yfm-font-family-sans);\n font-size: 15px;\n line-height: 20px;\n word-wrap: break-word;\n color: $textColor;\n\n * {\n box-sizing: border-box;\n }\n\n & > *:not(h2):not(h3):not(h4):not(h5):not(h6):first-child {\n margin-top: 0 !important;\n }\n\n & > *:last-child {\n margin-bottom: 0 !important;\n }\n\n h1, h2, h3, h4, h5, h6 {\n margin-bottom: 15px;\n font-weight: 500;\n }\n\n h1 {\n font-size: 32px;\n line-height: 40px;\n }\n\n h2 {\n font-size: 24px;\n line-height: 28px;\n }\n\n h3 {\n font-size: 20px;\n line-height: 24px;\n }\n\n h4 {\n font-size: 17px;\n line-height: 24px;\n }\n\n h5 {\n font-size: 15px;\n line-height: 20px;\n }\n\n h6 {\n font-size: 13px;\n line-height: 18px;\n }\n\n a {\n background-color: transparent;\n color: $linkColor;\n text-decoration: none;\n\n &:hover, &:active {\n color: $linkHoverColor;\n }\n\n &:not([href]) {\n color: inherit;\n }\n\n }\n\n strong {\n font-weight: 700;\n }\n\n img, svg {\n box-sizing: content-box;\n max-width: 100%;\n border: none;\n vertical-align: middle;\n\n &[align=right] {\n padding-left: 20px;\n }\n\n &[align=left] {\n padding-right: 20px;\n }\n }\n\n img {\n object-fit: contain;\n background-color: $baseColor;\n }\n\n svg {\n height: auto;\n }\n\n .katex svg {\n height: initial;\n }\n\n img + small {\n display: block;\n }\n\n p,\n blockquote,\n ul,\n ol,\n dl,\n table,\n pre {\n margin: 0 0 15px 0;\n }\n\n ul, ol, dl {\n & pre {\n margin-top: 15px;\n }\n }\n\n code,\n kbd,\n pre {\n font-family: var(--yfm-font-family-monospace);\n font-size: 1em;\n font-feature-settings: normal;\n }\n\n input {\n margin: 0;\n overflow: visible;\n\n font-family: inherit;\n font-size: inherit;\n line-height: inherit;\n\n &[type='checkbox'] {\n position: relative;\n top: 1px;\n\n box-sizing: border-box;\n padding: 0;\n }\n }\n\n table {\n color: #333;\n\n display: inline-block;\n max-width: 100%;\n width: auto;\n overflow: auto;\n position: relative;\n z-index: 1;\n\n box-sizing: border-box;\n border: 1px solid $borderColor;\n border-radius: 8px;\n border-collapse: collapse;\n border-spacing: 0;\n background: $baseColor;\n\n thead, tr:nth-child(2n) {\n background-color: $tableRowBackgroundColor;\n }\n\n tr:first-child {\n td, th {\n border-top: none;\n }\n }\n\n tr:last-child {\n td, th {\n border-bottom: none;\n }\n }\n\n\n th, td {\n padding: 10px 20px;\n overflow: hidden;\n text-overflow: ellipsis;\n border: 1px solid $borderColor;\n\n @include removeMarginForEdgeChildren();\n }\n\n td {\n vertical-align: top;\n white-space: normal;\n }\n\n th {\n font-weight: 500;\n text-align: left;\n }\n\n tr td:first-child, tr th:first-child {\n border-left: none;\n }\n tr td:last-child, tr th:last-child {\n border-right: none;\n }\n }\n\n hr {\n box-sizing: content-box;\n height: 0.25em;\n padding: 0;\n margin: 1.5em 0;\n overflow: hidden;\n\n background-color: $borderColor;\n border: none;\n\n &::before {\n content: '';\n display: table;\n }\n\n &::after {\n content: '';\n display: table;\n clear: both;\n }\n }\n\n blockquote {\n position: relative;\n padding-left: 12px;\n border-left: 3px solid $accentColor;\n\n @include removeMarginForEdgeChildren();\n }\n\n dl {\n padding: 0;\n\n @include removeMarginForEdgeChildren();\n\n dt {\n margin-bottom: 5px;\n font-size: 1em;\n font-weight: 500;\n font-style: italic;\n }\n\n dd {\n margin-bottom: 15px;\n padding: 0 15px;\n }\n }\n\n dd {\n margin-left: 0;\n\n & > ol:first-child,\n & > ul:first-child,\n & > dd:first-child {\n padding-left: 0;\n }\n }\n\n ul, ol {\n padding-left: 2.2em;\n }\n\n ul ul,\n ul ol,\n ol ol,\n ol ul {\n margin-top: 0;\n margin-bottom: 0;\n }\n\n &:not(.yfm_no-list-reset) {\n ol {\n list-style-type: none;\n counter-reset: list;\n\n & > li {\n position: relative;\n counter-increment: list;\n\n &::before {\n position: absolute;\n right: 100%;\n margin-right: 4px;\n content: counters(list, '.') '. ';\n }\n }\n }\n }\n\n li {\n word-wrap: break-word;\n }\n\n li + li {\n margin-top: 0.33em;\n }\n\n li p,\n li blockquote {\n margin-top: 15px;\n }\n\n code {\n padding: 0.1em 0.4em 0.15em;\n background-color: $inlineCodeBackgroundColor;\n border-radius: 4px;\n font-size: 0.875em;\n white-space: normal;\n color: $inlineCodeColor;\n }\n\n pre {\n word-wrap: normal;\n }\n\n table code {\n white-space: nowrap;\n }\n\n pre * code {\n display: inline;\n padding: 0;\n margin: 0;\n overflow: visible;\n word-wrap: normal;\n background-color: transparent;\n border: 0;\n color: $textColor;\n }\n\n pre > code {\n display: block;\n padding: 16px;\n overflow: auto;\n\n background-color: $codeBackgroundColor;\n color: $textColor;\n\n white-space: pre;\n }\n\n sup, sub {\n line-height: 0;\n }\n\n /*\n Hides element visually, but leaves it visible for search crawlers and screen readers\n\n https://www.a11yproject.com/posts/2013-01-11-how-to-hide-content/\n https://hugogiraudel.com/2016/10/13/css-hide-and-seek/\n */\n .visually-hidden {\n position: absolute;\n\n overflow: hidden;\n clip: rect(0 0 0 0);\n\n width: 1px;\n height: 1px;\n margin: -1px;\n\n padding: 0;\n\n white-space: nowrap;\n\n border: 0;\n\n clip-path: inset(100%);\n user-select: none;\n }\n\n // highlight.js colors\n --yfm-color-hljs-background: #{$codeBackgroundColor};\n --yfm-color-hljs-subst: #444;\n --yfm-color-hljs-comment: #888888;\n --yfm-color-hljs-deletion: #880000;\n --yfm-color-hljs-section: #880000;\n --yfm-color-hljs-pseudo: #BC6060;\n --yfm-color-hljs-literal: #78A960;\n --yfm-color-hljs-addition: #397300;\n --yfm-color-hljs-meta: #1f7199;\n --yfm-color-hljs-meta-string: #4d99bf;\n --yfm-font-family-monospace: \"Menlo\", \"Monaco\", \"Consolas\", \"Ubuntu Mono\", \"Liberation Mono\", \"DejaVu Sans Mono\", \"Courier New\", \"Courier\", monospace;\n --yfm-font-family-sans: 'Segoe UI', Arial, Helvetica, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol';\n}\n", "$baseColor: #ffffff;\n$accentColor: #027bf3;\n\n$textColor: rgba(0, 0, 0, 0.7);\n$borderColor: rgba(0, 0, 0, 0.07);\n$backgroundColor: rgba(0, 0, 0, 0.02);\n\n$inlineCodeColor: rgba(59, 96, 128, 1);\n$inlineCodeBackgroundColor: rgba(107, 132, 153, 0.12);\n\n$codeBackgroundColor: rgba(107, 132, 153, 0.12);\n\n$tableRowBackgroundColor: rgba(0, 0, 0, 0.02);\n\n$linkColor: $accentColor;\n$linkHoverColor: #004080;\n", "@import 'variables';\n\n$infoColor: $accentColor;\n$tipColor: #56bd67;\n$warningColor: #f19518;\n$importantColor: #ff4645;\n\n$infoBackgroundColor: rgba(2, 123, 243, 0.08);\n$tipBackgroundColor: rgba(63, 201, 46, 0.1);\n$warningBackgroundColor: rgba(255, 136, 0, 0.15);\n$importantBackgroundColor: rgba(235, 50, 38, 0.08);\n\n.yfm .yfm-note {\n max-width: 1296px;\n margin: 20px 0;\n padding: 20px 20px 20px 64px;\n border-radius: 10px;\n\n .yfm-note-title {\n font-weight: 700;\n }\n\n & > p {\n margin: 0 0 10px 0;\n\n &:first-child {\n &::before {\n box-sizing: content-box;\n display: block;\n width: 24px;\n height: 24px;\n margin-top: -2px;\n margin-left: -44px;\n padding-right: 20px;\n float: left;\n }\n }\n\n &:last-child {\n margin-bottom: 0;\n }\n }\n\n $colors: (\n yfm-accent-info: $infoColor,\n yfm-accent-tip: $tipColor,\n yfm-accent-alert: $importantColor,\n yfm-accent-warning: $warningColor\n );\n\n @each $type, $color in $colors {\n &.#{$type} > p:first-child::before {\n $r: red($color);\n $g: green($color);\n $b: blue($color);\n $rgbColor: 'rgb(' + $r + ',' + $g + ',' + $b + ')';\n content: url('data:image/svg+xml,%3Csvg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 16 16\"%3E%3Ccircle cx=\"8\" cy=\"8\" r=\"8\" fill=\"' + $rgbColor + '\"/%3E%3Crect width=\"1\" height=\"5\" x=\"7.5\" y=\"6.5\" stroke=\"%23fff\" rx=\".5\"/%3E%3Ccircle cx=\"8\" cy=\"4\" r=\"1\" fill=\"%23fff\"/%3E%3C/svg%3E');\n }\n }\n\n $backgroundColors: (\n yfm-accent-info: $infoBackgroundColor,\n yfm-accent-tip: $tipBackgroundColor,\n yfm-accent-alert: $importantBackgroundColor,\n yfm-accent-warning: $warningBackgroundColor\n );\n\n @each $type, $color in $backgroundColors {\n &.#{$type} {\n background: $color;\n }\n }\n}\n", ".yfm {\n h1, h2, h3, h4, h5, h6 {\n .yfm-anchor {\n display: inline-block;\n width: 24px;\n padding-right: 4px;\n margin-left: -24px;\n float: left;\n\n text-align: center;\n font-size: 18px;\n }\n\n .yfm-anchor::before {\n content: '#';\n opacity: 0;\n }\n\n &:hover .yfm-anchor::before {\n opacity: 1;\n }\n }\n\n table {\n h1, h2, h3, h4, h5, h6 {\n .yfm-anchor {\n width: 1em;\n margin-left: -1em;\n padding-right: 0;\n }\n }\n };\n\n .yfm-tabs {\n .yfm-anchor::before {\n position: absolute;\n padding-right: 2px;\n }\n }\n}\n", "@import 'variables';\n\n.yfm {\n .hljs {\n display: block;\n overflow-x: auto;\n padding: 16px;\n background: $codeBackgroundColor;\n background: var(--yfm-color-hljs-background);\n }\n\n .hljs,\n .hljs-subst {\n color: #444;\n color: var(--yfm-color-hljs-subst);\n }\n\n .hljs-comment {\n color: #888888;\n color: var(--yfm-color-hljs-comment);\n }\n\n\n .hljs-keyword,\n .hljs-attribute,\n .hljs-selector-tag,\n .hljs-meta-keyword,\n .hljs-doctag,\n .hljs-name {\n font-weight: bold;\n }\n\n .hljs-type,\n .hljs-string,\n .hljs-number,\n .hljs-selector-id,\n .hljs-selector-class,\n .hljs-quote,\n .hljs-template-tag,\n .hljs-deletion {\n color: #880000;\n color: var(--yfm-color-hljs-deletion);\n }\n\n .hljs-title,\n .hljs-section {\n color: #880000;\n color: var(--yfm-color-hljs-section);\n font-weight: bold;\n }\n\n .hljs-regexp,\n .hljs-symbol,\n .hljs-variable,\n .hljs-template-variable,\n .hljs-link,\n .hljs-selector-attr,\n .hljs-selector-pseudo {\n color: #BC6060;\n color: var(--yfm-color-hljs-pseudo);\n }\n\n\n .hljs-literal {\n color: #78A960;\n color: var(--yfm-color-hljs-literal);\n }\n\n .hljs-built_in,\n .hljs-bullet,\n .hljs-code,\n .hljs-addition {\n color: #397300;\n color: var(--yfm-color-hljs-addition);\n }\n\n\n .hljs-meta {\n color: #1f7199;\n color: var(--yfm-color-hljs-meta);\n }\n\n .hljs-meta-string {\n color: #4d99bf;\n color: var(--yfm-color-hljs-meta-string);\n }\n\n\n .hljs-emphasis {\n font-style: italic;\n }\n\n .hljs-strong {\n font-weight: bold;\n }\n}\n", ".yfm {\n &-clipboard {\n position: relative;\n\n &:hover &-button {\n display: block;\n }\n\n & > pre {\n border-radius: 10px;\n overflow: hidden;\n }\n }\n\n &-clipboard-button {\n display: none;\n position: absolute;\n cursor: pointer;\n top: 16px;\n right: 16px;\n z-index: 1;\n }\n}\n", ".yfm-cut {\n $class: &;\n \n margin-bottom: 15px;\n\n &-title {\n cursor: pointer;\n position: relative;\n user-select: none;\n padding: 5px 0 5px 30px;\n\n &:before {\n content: '';\n z-index: 1;\n left: 0;\n top: 50%;\n background-image: url(\"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNiAxNiI+CiAgICA8cGF0aCBzdHJva2U9ImN1cnJlbnRDb2xvciIgZmlsbD0ibm9uZSIgZD0iTTMgNmw1IDUgNS01Ii8+Cjwvc3ZnPgo=\");\n transform: translateY(-50%) rotate(-90deg);\n transition: transform 0.3s ease;\n height: 20px;\n width: 20px;\n position: absolute;\n }\n }\n\n &-content {\n display: none;\n overflow: hidden;\n transition: height 0.3s ease-in-out;\n }\n\n &.open {\n > #{$class}-content {\n display: revert;\n padding: 5px 0 15px 30px;\n }\n\n > #{$class}-title:before {\n transform: translateY(-50%);\n }\n }\n\n .yfm:not(.yfm_no-list-reset) & ol {\n counter-reset: cut-list;\n\n & > li {\n counter-increment: cut-list;\n\n &::before {\n content: counters(cut-list, '.') '. ';\n }\n }\n }\n}\n\n\n", "@import 'variables';\n\n$defaultIcon: url(\"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAzODQgNTEyIj48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Ik0zNjkuOSA5Ny45TDI4NiAxNEMyNzcgNSAyNjQuOC0uMSAyNTIuMS0uMUg0OEMyMS41IDAgMCAyMS41IDAgNDh2NDE2YzAgMjYuNSAyMS41IDQ4IDQ4IDQ4aDI4OGMyNi41IDAgNDgtMjEuNSA0OC00OFYxMzEuOWMwLTEyLjctNS4xLTI1LTE0LjEtMzR6bS0yMi42IDIyLjdjMi4xIDIuMSAzLjUgNC42IDQuMiA3LjRIMjU2VjMyLjVjMi44LjcgNS4zIDIuMSA3LjQgNC4ybDgzLjkgODMuOXpNMzM2IDQ4MEg0OGMtOC44IDAtMTYtNy4yLTE2LTE2VjQ4YzAtOC44IDcuMi0xNiAxNi0xNmgxNzZ2MTA0YzAgMTMuMyAxMC43IDI0IDI0IDI0aDEwNHYzMDRjMCA4LjgtNy4yIDE2LTE2IDE2em0tNDgtMjQ0djhjMCA2LjYtNS40IDEyLTEyIDEySDEwOGMtNi42IDAtMTItNS40LTEyLTEydi04YzAtNi42IDUuNC0xMiAxMi0xMmgxNjhjNi42IDAgMTIgNS40IDEyIDEyem0wIDY0djhjMCA2LjYtNS40IDEyLTEyIDEySDEwOGMtNi42IDAtMTItNS40LTEyLTEydi04YzAtNi42IDUuNC0xMiAxMi0xMmgxNjhjNi42IDAgMTIgNS40IDEyIDEyem0wIDY0djhjMCA2LjYtNS40IDEyLTEyIDEySDEwOGMtNi42IDAtMTItNS40LTEyLTEydi04YzAtNi42IDUuNC0xMiAxMi0xMmgxNjhjNi42IDAgMTIgNS40IDEyIDEyeiIvPjwvc3ZnPg==\");\n\n/**\n Public CSS variables:\n --yfm-file-icon sets file icon image\n --yfm-file-icon-color sets file icon color\n*/\n\n.yfm-file {\n &__icon {\n ---yfm-file-icon-img: var(--yfm-file-icon, #{$defaultIcon});\n\n display: inline-block;\n user-select: none;\n\n width: 16px;\n margin: 0 2px;\n\n color: var(--yfm-file-icon-color, #{$textColor});\n background-color: currentColor;\n background-repeat: no-repeat;\n background-position: 50%;\n background-size: 100%;\n\n mask-image: var(---yfm-file-icon-img);\n mask-position: center;\n mask-repeat: no-repeat;\n\n &::before {\n content: '\\a0';\n }\n }\n}\n", ".yfm-term {\n &_title {\n color: #027bf3;\n cursor: pointer;\n\n border-bottom: 1px dotted;\n\n font-size: inherit;\n line-height: inherit;\n font-style: normal;\n\n &:hover {\n color: #004080;\n }\n }\n\n &_dfn {\n position: absolute;\n z-index: 100;\n\n width: fit-content;\n max-width: 450px;\n\n @media screen and (max-width: 600px) {\n & {\n max-width: 80%;\n }\n }\n\n visibility: hidden;\n opacity: 0;\n\n padding: 10px;\n\n background-color: rgb(255, 255, 255);\n\n font-size: inherit;\n line-height: inherit;\n font-style: normal;\n\n border-radius: 4px;\n\n box-shadow: 0 8px 20px rgba(0, 0, 0, 0.15);\n outline: none;\n\n &::before {\n content: '';\n position: absolute;\n z-index: -1;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n\n border-radius: inherit;\n box-shadow: 0 0 0 1px rgb(229, 229, 229);\n }\n\n &.open {\n visibility: visible;\n\n animation-name: popup;\n animation-duration: 0.1s;\n animation-timing-function: ease-out;\n animation-fill-mode: forwards;\n\n @keyframes popup {\n 0% {\n opacity: 0;\n transform: translateY(10px);\n }\n 100% {\n opacity: 1;\n transform: translateY(0);\n }\n }\n }\n }\n}\n", ".yfm table td {\n &.cell-align-top-left,\n &.cell-align-bottom-left {\n text-align: start;\n }\n\n &.cell-align-top-center,\n &.cell-align-center {\n text-align: center;\n }\n\n &.cell-align-top-right,\n &.cell-align-bottom-right {\n text-align: end;\n }\n\n &.cell-align-top-left,\n &.cell-align-top-center,\n &.cell-align-top-right {\n vertical-align: top;\n }\n\n &.cell-align-center {\n vertical-align: middle;\n }\n\n &.cell-align-bottom-left,\n &.cell-align-bottom-right {\n vertical-align: bottom;\n }\n}\n\n", ".wide-container {\n position: fixed;\n width: 100vw;\n height: 100vh;\n display: flex;\n justify-content: center;\n align-items: center;\n top: 0px;\n left: 0px;\n z-index: 200;\n\n &.dc-doc-page {\n max-width: 100% !important;\n }\n\n .wide-content-viewer {\n visibility: hidden;\n }\n\n .wide-content-wrapper {\n z-index: 200;\n background-color: var(--g-color-base-background); \n height: 90vh;\n width: 70vw;\n border-radius: 10px;\n display: flex;\n flex-direction: column;\n\n .wide-content {\n height: 95%;\n width: 100%;\n\n .wide-inner-element {\n max-width: 100%;\n width: 100%;\n height: 100%;\n }\n\n table {\n border-radius: 0px;\n }\n\n .wide-thead-content {\n display: table;\n width: 100%;\n }\n }\n\n .wide-toolbar {\n display: flex;\n flex-direction: row;\n width: 100%;\n justify-content: space-between;\n align-items: center;\n padding: 10px 12px;\n }\n\n .wide-entity-name {\n margin: 0;\n font-size: 18px;\n }\n\n .wide-actions {\n align-self: flex-end;\n\n .close-action {\n cursor: pointer;\n border-radius: 3px;\n\n transition: background 300ms;\n\n &:hover {\n background: var(--g-color-base-simple-hover);\n }\n }\n }\n }\n} \n\n.wide-element-wrapper {\n display: flex;\n gap: 30px;\n position: relative;\n\n &:hover > .wide-content-viewer {\n visibility: visible;\n }\n\n .wide-inner-element {\n max-width: 700px;\n }\n}\n\n.wide-content-viewer {\n visibility: hidden;\n width: 30px;\n height: 30px;\n z-index: 100;\n padding: 6px;\n box-sizing: content-box;\n color: var(--g-color-text-primary);\n cursor: pointer;\n\n & > svg {\n width: 20px;\n height: 20px;\n }\n}\n\n.wide-content-overlay {\n z-index: 100;\n width: 100vw;\n height: 100vh;\n position: fixed;\n top: 0;\n left: 0;\n background-color: black;\n opacity: 0.6;\n}\n", "@charset \"UTF-8\";.yfm-tabs{margin-bottom:15px}.yfm:not(.yfm_no-list-reset) .yfm-tabs ol{counter-reset:tabs-list}.yfm:not(.yfm_no-list-reset) .yfm-tabs ol>li{counter-increment:tabs-list}.yfm:not(.yfm_no-list-reset) .yfm-tabs ol>li:before{content:counters(tabs-list,\".\") \". \"}.yfm-tab-list{display:flex;flex-wrap:wrap;margin-bottom:15px;border-bottom:1px solid rgba(0,0,0,.07)}.yfm-tabs-vertical>.yfm-tab-list{flex-direction:column;border-bottom:unset}.yfm-tabs-vertical>.yfm-tab-panel{margin-left:30px}.yfm-tabs-vertical>.yfm-tab-group{display:flex;flex-direction:row;margin-bottom:5px}.yfm-tabs-vertical .yfm-vertical-tab>input[type=radio]{visibility:hidden;width:0;height:0}.yfm-tabs-vertical .yfm-vertical-tab>label{display:inline-block;cursor:pointer;position:relative;padding-left:25px;margin-right:0;line-height:18px;user-select:none}.yfm-tabs-vertical .yfm-vertical-tab>label:before{font-family:initial!important;content:\"\";position:absolute;left:0;bottom:1px;border-radius:50%;width:18px;height:18px;border:#dfdfdf 1px solid;background-color:#fff}.yfm-tabs-vertical .yfm-vertical-tab input[type=radio]:checked+label:before{content:\"\\2022\";background-color:#5282ff;text-align:center;vertical-align:middle;font-size:20px;white-space:pre;display:inline-flex;justify-content:center;align-items:center;color:#fff}.yfm-tabs-vertical .yfm-vertical-tab{border-bottom:unset!important}.yfm-tab{margin-bottom:-1px;margin-right:20px;border-bottom:2px solid transparent;padding:6px 0 7px;font-weight:700;outline:none;cursor:pointer;user-select:none;white-space:break-spaces}.yfm-tab:last-child{margin-right:0}.yfm-tab:hover,.yfm-tab:active{color:#004080}.yfm-tab.active{border-bottom-color:#027bf3}.yfm-tab:focus{outline:2px solid #4d90fe;border-radius:2px}.yfm-tab:focus:not(:focus-visible){outline:0}.yfm-tab-panel{position:relative;visibility:hidden;overflow:hidden;height:0}.yfm-tab-panel:first-child{margin-top:0!important}.yfm-tab-panel:last-child{margin-bottom:0!important}.yfm-tab-panel.active{visibility:visible;height:auto}\n/*# sourceMappingURL=index.css.map */\n"],
|
|
5
5
|
"mappings": "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",
|
|
6
6
|
"names": []
|
package/dist/css/yfm.min.css.map
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
|
-
"sources": ["../../src/scss/%3Cinput%20css%
|
|
3
|
+
"sources": ["../../src/scss/%3Cinput%20css%2031nnut%3E", "../../src/scss/Users/v8tenko/diplodoc/packages/transform/src/scss/_common.scss", "../../src/scss/Users/v8tenko/diplodoc/packages/transform/src/scss/_variables.scss", "../../src/scss/Users/v8tenko/diplodoc/packages/transform/src/scss/_note.scss", "../../src/scss/Users/v8tenko/diplodoc/packages/transform/src/scss/_anchor.scss", "../../src/scss/Users/v8tenko/diplodoc/packages/transform/src/scss/_highlight.scss", "../../src/scss/Users/v8tenko/diplodoc/packages/transform/src/scss/_code.scss", "../../src/scss/Users/v8tenko/diplodoc/packages/transform/src/scss/_cut.scss", "../../src/scss/Users/v8tenko/diplodoc/packages/transform/src/scss/_file.scss", "../../src/scss/Users/v8tenko/diplodoc/packages/transform/src/scss/_term.scss", "../../src/scss/Users/v8tenko/diplodoc/packages/transform/src/scss/_table.scss", "../../src/scss/Users/v8tenko/diplodoc/packages/transform/src/scss/_modal.scss", "../../src/scss/Users/v8tenko/diplodoc/node_modules/@diplodoc/tabs-extension/runtime/index.css"],
|
|
4
4
|
"sourcesContent": ["@charset \"UTF-8\";\n.yfm {\n font-family: var(--yfm-font-family-sans);\n font-size: 15px;\n line-height: 20px;\n word-wrap: break-word;\n color: rgba(0, 0, 0, 0.7);\n /*\n Hides element visually, but leaves it visible for search crawlers and screen readers\n\n https://www.a11yproject.com/posts/2013-01-11-how-to-hide-content/\n https://hugogiraudel.com/2016/10/13/css-hide-and-seek/\n */\n --yfm-color-hljs-background: rgba(107, 132, 153, 0.12);\n --yfm-color-hljs-subst: #444;\n --yfm-color-hljs-comment: #888888;\n --yfm-color-hljs-deletion: #880000;\n --yfm-color-hljs-section: #880000;\n --yfm-color-hljs-pseudo: #BC6060;\n --yfm-color-hljs-literal: #78A960;\n --yfm-color-hljs-addition: #397300;\n --yfm-color-hljs-meta: #1f7199;\n --yfm-color-hljs-meta-string: #4d99bf;\n --yfm-font-family-monospace: \"Menlo\", \"Monaco\", \"Consolas\", \"Ubuntu Mono\", \"Liberation Mono\", \"DejaVu Sans Mono\", \"Courier New\", \"Courier\", monospace;\n --yfm-font-family-sans: \"Segoe UI\", Arial, Helvetica, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";\n}\n.yfm * {\n box-sizing: border-box;\n}\n.yfm > *:not(h2):not(h3):not(h4):not(h5):not(h6):first-child {\n margin-top: 0 !important;\n}\n.yfm > *:last-child {\n margin-bottom: 0 !important;\n}\n.yfm h1, .yfm h2, .yfm h3, .yfm h4, .yfm h5, .yfm h6 {\n margin-bottom: 15px;\n font-weight: 500;\n}\n.yfm h1 {\n font-size: 32px;\n line-height: 40px;\n}\n.yfm h2 {\n font-size: 24px;\n line-height: 28px;\n}\n.yfm h3 {\n font-size: 20px;\n line-height: 24px;\n}\n.yfm h4 {\n font-size: 17px;\n line-height: 24px;\n}\n.yfm h5 {\n font-size: 15px;\n line-height: 20px;\n}\n.yfm h6 {\n font-size: 13px;\n line-height: 18px;\n}\n.yfm a {\n background-color: transparent;\n color: #027bf3;\n text-decoration: none;\n}\n.yfm a:hover, .yfm a:active {\n color: #004080;\n}\n.yfm a:not([href]) {\n color: inherit;\n}\n.yfm strong {\n font-weight: 700;\n}\n.yfm img, .yfm svg {\n box-sizing: content-box;\n max-width: 100%;\n border: none;\n vertical-align: middle;\n}\n.yfm img[align=right], .yfm svg[align=right] {\n padding-left: 20px;\n}\n.yfm img[align=left], .yfm svg[align=left] {\n padding-right: 20px;\n}\n.yfm img {\n object-fit: contain;\n background-color: #ffffff;\n}\n.yfm svg {\n height: auto;\n}\n.yfm .katex svg {\n height: initial;\n}\n.yfm img + small {\n display: block;\n}\n.yfm p,\n.yfm blockquote,\n.yfm ul,\n.yfm ol,\n.yfm dl,\n.yfm table,\n.yfm pre {\n margin: 0 0 15px 0;\n}\n.yfm ul pre, .yfm ol pre, .yfm dl pre {\n margin-top: 15px;\n}\n.yfm code,\n.yfm kbd,\n.yfm pre {\n font-family: var(--yfm-font-family-monospace);\n font-size: 1em;\n font-feature-settings: normal;\n}\n.yfm input {\n margin: 0;\n overflow: visible;\n font-family: inherit;\n font-size: inherit;\n line-height: inherit;\n}\n.yfm input[type=checkbox] {\n position: relative;\n top: 1px;\n box-sizing: border-box;\n padding: 0;\n}\n.yfm table {\n color: #333;\n display: inline-block;\n max-width: 100%;\n width: auto;\n overflow: auto;\n position: relative;\n z-index: 1;\n box-sizing: border-box;\n border: 1px solid rgba(0, 0, 0, 0.07);\n border-radius: 8px;\n border-collapse: collapse;\n border-spacing: 0;\n background: #ffffff;\n}\n.yfm table thead, .yfm table tr:nth-child(2n) {\n background-color: rgba(0, 0, 0, 0.02);\n}\n.yfm table tr:first-child td, .yfm table tr:first-child th {\n border-top: none;\n}\n.yfm table tr:last-child td, .yfm table tr:last-child th {\n border-bottom: none;\n}\n.yfm table th, .yfm table td {\n padding: 10px 20px;\n overflow: hidden;\n text-overflow: ellipsis;\n border: 1px solid rgba(0, 0, 0, 0.07);\n}\n.yfm table th > *:first-child, .yfm table td > *:first-child {\n margin-top: 0;\n}\n.yfm table th > *:last-child, .yfm table td > *:last-child {\n margin-bottom: 0;\n}\n.yfm table td {\n vertical-align: top;\n white-space: normal;\n}\n.yfm table th {\n font-weight: 500;\n text-align: left;\n}\n.yfm table tr td:first-child, .yfm table tr th:first-child {\n border-left: none;\n}\n.yfm table tr td:last-child, .yfm table tr th:last-child {\n border-right: none;\n}\n.yfm hr {\n box-sizing: content-box;\n height: 0.25em;\n padding: 0;\n margin: 1.5em 0;\n overflow: hidden;\n background-color: rgba(0, 0, 0, 0.07);\n border: none;\n}\n.yfm hr::before {\n content: \"\";\n display: table;\n}\n.yfm hr::after {\n content: \"\";\n display: table;\n clear: both;\n}\n.yfm blockquote {\n position: relative;\n padding-left: 12px;\n border-left: 3px solid #027bf3;\n}\n.yfm blockquote > *:first-child {\n margin-top: 0;\n}\n.yfm blockquote > *:last-child {\n margin-bottom: 0;\n}\n.yfm dl {\n padding: 0;\n}\n.yfm dl > *:first-child {\n margin-top: 0;\n}\n.yfm dl > *:last-child {\n margin-bottom: 0;\n}\n.yfm dl dt {\n margin-bottom: 5px;\n font-size: 1em;\n font-weight: 500;\n font-style: italic;\n}\n.yfm dl dd {\n margin-bottom: 15px;\n padding: 0 15px;\n}\n.yfm dd {\n margin-left: 0;\n}\n.yfm dd > ol:first-child, .yfm dd > ul:first-child, .yfm dd > dd:first-child {\n padding-left: 0;\n}\n.yfm ul, .yfm ol {\n padding-left: 2.2em;\n}\n.yfm ul ul,\n.yfm ul ol,\n.yfm ol ol,\n.yfm ol ul {\n margin-top: 0;\n margin-bottom: 0;\n}\n.yfm:not(.yfm_no-list-reset) ol {\n list-style-type: none;\n counter-reset: list;\n}\n.yfm:not(.yfm_no-list-reset) ol > li {\n position: relative;\n counter-increment: list;\n}\n.yfm:not(.yfm_no-list-reset) ol > li::before {\n position: absolute;\n right: 100%;\n margin-right: 4px;\n content: counters(list, \".\") \". \";\n}\n.yfm li {\n word-wrap: break-word;\n}\n.yfm li + li {\n margin-top: 0.33em;\n}\n.yfm li p,\n.yfm li blockquote {\n margin-top: 15px;\n}\n.yfm code {\n padding: 0.1em 0.4em 0.15em;\n background-color: rgba(107, 132, 153, 0.12);\n border-radius: 4px;\n font-size: 0.875em;\n white-space: normal;\n color: rgb(59, 96, 128);\n}\n.yfm pre {\n word-wrap: normal;\n}\n.yfm table code {\n white-space: nowrap;\n}\n.yfm pre * code {\n display: inline;\n padding: 0;\n margin: 0;\n overflow: visible;\n word-wrap: normal;\n background-color: transparent;\n border: 0;\n color: rgba(0, 0, 0, 0.7);\n}\n.yfm pre > code {\n display: block;\n padding: 16px;\n overflow: auto;\n background-color: rgba(107, 132, 153, 0.12);\n color: rgba(0, 0, 0, 0.7);\n white-space: pre;\n}\n.yfm sup, .yfm sub {\n line-height: 0;\n}\n.yfm .visually-hidden {\n position: absolute;\n overflow: hidden;\n clip: rect(0 0 0 0);\n width: 1px;\n height: 1px;\n margin: -1px;\n padding: 0;\n white-space: nowrap;\n border: 0;\n clip-path: inset(100%);\n user-select: none;\n}\n\n.yfm .yfm-note {\n max-width: 1296px;\n margin: 20px 0;\n padding: 20px 20px 20px 64px;\n border-radius: 10px;\n}\n.yfm .yfm-note .yfm-note-title {\n font-weight: 700;\n}\n.yfm .yfm-note > p {\n margin: 0 0 10px 0;\n}\n.yfm .yfm-note > p:first-child::before {\n box-sizing: content-box;\n display: block;\n width: 24px;\n height: 24px;\n margin-top: -2px;\n margin-left: -44px;\n padding-right: 20px;\n float: left;\n}\n.yfm .yfm-note > p:last-child {\n margin-bottom: 0;\n}\n.yfm .yfm-note.yfm-accent-info > p:first-child::before {\n content: url('data:image/svg+xml,%3Csvg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 16 16\"%3E%3Ccircle cx=\"8\" cy=\"8\" r=\"8\" fill=\"rgb(2,123,243)\"/%3E%3Crect width=\"1\" height=\"5\" x=\"7.5\" y=\"6.5\" stroke=\"%23fff\" rx=\".5\"/%3E%3Ccircle cx=\"8\" cy=\"4\" r=\"1\" fill=\"%23fff\"/%3E%3C/svg%3E');\n}\n.yfm .yfm-note.yfm-accent-tip > p:first-child::before {\n content: url('data:image/svg+xml,%3Csvg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 16 16\"%3E%3Ccircle cx=\"8\" cy=\"8\" r=\"8\" fill=\"rgb(86,189,103)\"/%3E%3Crect width=\"1\" height=\"5\" x=\"7.5\" y=\"6.5\" stroke=\"%23fff\" rx=\".5\"/%3E%3Ccircle cx=\"8\" cy=\"4\" r=\"1\" fill=\"%23fff\"/%3E%3C/svg%3E');\n}\n.yfm .yfm-note.yfm-accent-alert > p:first-child::before {\n content: url('data:image/svg+xml,%3Csvg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 16 16\"%3E%3Ccircle cx=\"8\" cy=\"8\" r=\"8\" fill=\"rgb(255,70,69)\"/%3E%3Crect width=\"1\" height=\"5\" x=\"7.5\" y=\"6.5\" stroke=\"%23fff\" rx=\".5\"/%3E%3Ccircle cx=\"8\" cy=\"4\" r=\"1\" fill=\"%23fff\"/%3E%3C/svg%3E');\n}\n.yfm .yfm-note.yfm-accent-warning > p:first-child::before {\n content: url('data:image/svg+xml,%3Csvg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 16 16\"%3E%3Ccircle cx=\"8\" cy=\"8\" r=\"8\" fill=\"rgb(241,149,24)\"/%3E%3Crect width=\"1\" height=\"5\" x=\"7.5\" y=\"6.5\" stroke=\"%23fff\" rx=\".5\"/%3E%3Ccircle cx=\"8\" cy=\"4\" r=\"1\" fill=\"%23fff\"/%3E%3C/svg%3E');\n}\n.yfm .yfm-note.yfm-accent-info {\n background: rgba(2, 123, 243, 0.08);\n}\n.yfm .yfm-note.yfm-accent-tip {\n background: rgba(63, 201, 46, 0.1);\n}\n.yfm .yfm-note.yfm-accent-alert {\n background: rgba(235, 50, 38, 0.08);\n}\n.yfm .yfm-note.yfm-accent-warning {\n background: rgba(255, 136, 0, 0.15);\n}\n\n.yfm h1 .yfm-anchor, .yfm h2 .yfm-anchor, .yfm h3 .yfm-anchor, .yfm h4 .yfm-anchor, .yfm h5 .yfm-anchor, .yfm h6 .yfm-anchor {\n display: inline-block;\n width: 24px;\n padding-right: 4px;\n margin-left: -24px;\n float: left;\n text-align: center;\n font-size: 18px;\n}\n.yfm h1 .yfm-anchor::before, .yfm h2 .yfm-anchor::before, .yfm h3 .yfm-anchor::before, .yfm h4 .yfm-anchor::before, .yfm h5 .yfm-anchor::before, .yfm h6 .yfm-anchor::before {\n content: \"#\";\n opacity: 0;\n}\n.yfm h1:hover .yfm-anchor::before, .yfm h2:hover .yfm-anchor::before, .yfm h3:hover .yfm-anchor::before, .yfm h4:hover .yfm-anchor::before, .yfm h5:hover .yfm-anchor::before, .yfm h6:hover .yfm-anchor::before {\n opacity: 1;\n}\n.yfm table h1 .yfm-anchor, .yfm table h2 .yfm-anchor, .yfm table h3 .yfm-anchor, .yfm table h4 .yfm-anchor, .yfm table h5 .yfm-anchor, .yfm table h6 .yfm-anchor {\n width: 1em;\n margin-left: -1em;\n padding-right: 0;\n}\n.yfm .yfm-tabs .yfm-anchor::before {\n position: absolute;\n padding-right: 2px;\n}\n\n.yfm .hljs {\n display: block;\n overflow-x: auto;\n padding: 16px;\n background: rgba(107, 132, 153, 0.12);\n background: var(--yfm-color-hljs-background);\n}\n.yfm .hljs,\n.yfm .hljs-subst {\n color: #444;\n color: var(--yfm-color-hljs-subst);\n}\n.yfm .hljs-comment {\n color: #888888;\n color: var(--yfm-color-hljs-comment);\n}\n.yfm .hljs-keyword,\n.yfm .hljs-attribute,\n.yfm .hljs-selector-tag,\n.yfm .hljs-meta-keyword,\n.yfm .hljs-doctag,\n.yfm .hljs-name {\n font-weight: bold;\n}\n.yfm .hljs-type,\n.yfm .hljs-string,\n.yfm .hljs-number,\n.yfm .hljs-selector-id,\n.yfm .hljs-selector-class,\n.yfm .hljs-quote,\n.yfm .hljs-template-tag,\n.yfm .hljs-deletion {\n color: #880000;\n color: var(--yfm-color-hljs-deletion);\n}\n.yfm .hljs-title,\n.yfm .hljs-section {\n color: #880000;\n color: var(--yfm-color-hljs-section);\n font-weight: bold;\n}\n.yfm .hljs-regexp,\n.yfm .hljs-symbol,\n.yfm .hljs-variable,\n.yfm .hljs-template-variable,\n.yfm .hljs-link,\n.yfm .hljs-selector-attr,\n.yfm .hljs-selector-pseudo {\n color: #BC6060;\n color: var(--yfm-color-hljs-pseudo);\n}\n.yfm .hljs-literal {\n color: #78A960;\n color: var(--yfm-color-hljs-literal);\n}\n.yfm .hljs-built_in,\n.yfm .hljs-bullet,\n.yfm .hljs-code,\n.yfm .hljs-addition {\n color: #397300;\n color: var(--yfm-color-hljs-addition);\n}\n.yfm .hljs-meta {\n color: #1f7199;\n color: var(--yfm-color-hljs-meta);\n}\n.yfm .hljs-meta-string {\n color: #4d99bf;\n color: var(--yfm-color-hljs-meta-string);\n}\n.yfm .hljs-emphasis {\n font-style: italic;\n}\n.yfm .hljs-strong {\n font-weight: bold;\n}\n\n.yfm-clipboard {\n position: relative;\n}\n.yfm-clipboard:hover .yfm-clipboard-button {\n display: block;\n}\n.yfm-clipboard > pre {\n border-radius: 10px;\n overflow: hidden;\n}\n.yfm-clipboard-button {\n display: none;\n position: absolute;\n cursor: pointer;\n top: 16px;\n right: 16px;\n z-index: 1;\n}\n\n.yfm-cut {\n margin-bottom: 15px;\n}\n.yfm-cut-title {\n cursor: pointer;\n position: relative;\n user-select: none;\n padding: 5px 0 5px 30px;\n}\n.yfm-cut-title:before {\n content: \"\";\n z-index: 1;\n left: 0;\n top: 50%;\n background-image: url(\"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNiAxNiI+CiAgICA8cGF0aCBzdHJva2U9ImN1cnJlbnRDb2xvciIgZmlsbD0ibm9uZSIgZD0iTTMgNmw1IDUgNS01Ii8+Cjwvc3ZnPgo=\");\n transform: translateY(-50%) rotate(-90deg);\n transition: transform 0.3s ease;\n height: 20px;\n width: 20px;\n position: absolute;\n}\n.yfm-cut-content {\n display: none;\n overflow: hidden;\n transition: height 0.3s ease-in-out;\n}\n.yfm-cut.open > .yfm-cut-content {\n display: revert;\n padding: 5px 0 15px 30px;\n}\n.yfm-cut.open > .yfm-cut-title:before {\n transform: translateY(-50%);\n}\n.yfm:not(.yfm_no-list-reset) .yfm-cut ol {\n counter-reset: cut-list;\n}\n.yfm:not(.yfm_no-list-reset) .yfm-cut ol > li {\n counter-increment: cut-list;\n}\n.yfm:not(.yfm_no-list-reset) .yfm-cut ol > li::before {\n content: counters(cut-list, \".\") \". \";\n}\n\n/**\n Public CSS variables:\n --yfm-file-icon sets file icon image\n --yfm-file-icon-color sets file icon color\n*/\n.yfm-file__icon {\n ---yfm-file-icon-img: var(--yfm-file-icon, url(\"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAzODQgNTEyIj48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Ik0zNjkuOSA5Ny45TDI4NiAxNEMyNzcgNSAyNjQuOC0uMSAyNTIuMS0uMUg0OEMyMS41IDAgMCAyMS41IDAgNDh2NDE2YzAgMjYuNSAyMS41IDQ4IDQ4IDQ4aDI4OGMyNi41IDAgNDgtMjEuNSA0OC00OFYxMzEuOWMwLTEyLjctNS4xLTI1LTE0LjEtMzR6bS0yMi42IDIyLjdjMi4xIDIuMSAzLjUgNC42IDQuMiA3LjRIMjU2VjMyLjVjMi44LjcgNS4zIDIuMSA3LjQgNC4ybDgzLjkgODMuOXpNMzM2IDQ4MEg0OGMtOC44IDAtMTYtNy4yLTE2LTE2VjQ4YzAtOC44IDcuMi0xNiAxNi0xNmgxNzZ2MTA0YzAgMTMuMyAxMC43IDI0IDI0IDI0aDEwNHYzMDRjMCA4LjgtNy4yIDE2LTE2IDE2em0tNDgtMjQ0djhjMCA2LjYtNS40IDEyLTEyIDEySDEwOGMtNi42IDAtMTItNS40LTEyLTEydi04YzAtNi42IDUuNC0xMiAxMi0xMmgxNjhjNi42IDAgMTIgNS40IDEyIDEyem0wIDY0djhjMCA2LjYtNS40IDEyLTEyIDEySDEwOGMtNi42IDAtMTItNS40LTEyLTEydi04YzAtNi42IDUuNC0xMiAxMi0xMmgxNjhjNi42IDAgMTIgNS40IDEyIDEyem0wIDY0djhjMCA2LjYtNS40IDEyLTEyIDEySDEwOGMtNi42IDAtMTItNS40LTEyLTEydi04YzAtNi42IDUuNC0xMiAxMi0xMmgxNjhjNi42IDAgMTIgNS40IDEyIDEyeiIvPjwvc3ZnPg==\"));\n display: inline-block;\n user-select: none;\n width: 16px;\n margin: 0 2px;\n color: var(--yfm-file-icon-color, rgba(0, 0, 0, 0.7));\n background-color: currentColor;\n background-repeat: no-repeat;\n background-position: 50%;\n background-size: 100%;\n mask-image: var(---yfm-file-icon-img);\n mask-position: center;\n mask-repeat: no-repeat;\n}\n.yfm-file__icon::before {\n content: \" \";\n}\n\n.yfm-term_title {\n color: #027bf3;\n cursor: pointer;\n border-bottom: 1px dotted;\n font-size: inherit;\n line-height: inherit;\n font-style: normal;\n}\n.yfm-term_title:hover {\n color: #004080;\n}\n.yfm-term_dfn {\n position: absolute;\n z-index: 100;\n width: fit-content;\n max-width: 450px;\n visibility: hidden;\n opacity: 0;\n padding: 10px;\n background-color: rgb(255, 255, 255);\n font-size: inherit;\n line-height: inherit;\n font-style: normal;\n border-radius: 4px;\n box-shadow: 0 8px 20px rgba(0, 0, 0, 0.15);\n outline: none;\n}\n@media screen and (max-width: 600px) {\n .yfm-term_dfn {\n max-width: 80%;\n }\n}\n.yfm-term_dfn::before {\n content: \"\";\n position: absolute;\n z-index: -1;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n border-radius: inherit;\n box-shadow: 0 0 0 1px rgb(229, 229, 229);\n}\n.yfm-term_dfn.open {\n visibility: visible;\n animation-name: popup;\n animation-duration: 0.1s;\n animation-timing-function: ease-out;\n animation-fill-mode: forwards;\n}\n@keyframes popup {\n 0% {\n opacity: 0;\n transform: translateY(10px);\n }\n 100% {\n opacity: 1;\n transform: translateY(0);\n }\n}\n\n.yfm table td.cell-align-top-left, .yfm table td.cell-align-bottom-left {\n text-align: start;\n}\n.yfm table td.cell-align-top-center, .yfm table td.cell-align-center {\n text-align: center;\n}\n.yfm table td.cell-align-top-right, .yfm table td.cell-align-bottom-right {\n text-align: end;\n}\n.yfm table td.cell-align-top-left, .yfm table td.cell-align-top-center, .yfm table td.cell-align-top-right {\n vertical-align: top;\n}\n.yfm table td.cell-align-center {\n vertical-align: middle;\n}\n.yfm table td.cell-align-bottom-left, .yfm table td.cell-align-bottom-right {\n vertical-align: bottom;\n}\n\n.wide-container {\n position: fixed;\n width: 100vw;\n height: 100vh;\n display: flex;\n justify-content: center;\n align-items: center;\n top: 0px;\n left: 0px;\n z-index: 200;\n}\n.wide-container.dc-doc-page {\n max-width: 100% !important;\n}\n.wide-container .wide-content-viewer {\n visibility: hidden;\n}\n.wide-container .wide-content-wrapper {\n z-index: 200;\n background-color: var(--g-color-base-background);\n height: 90vh;\n width: 70vw;\n border-radius: 10px;\n display: flex;\n flex-direction: column;\n}\n.wide-container .wide-content-wrapper .wide-content {\n height: 95%;\n width: 100%;\n}\n.wide-container .wide-content-wrapper .wide-content .wide-inner-element {\n max-width: 100%;\n width: 100%;\n height: 100%;\n}\n.wide-container .wide-content-wrapper .wide-content table {\n border-radius: 0px;\n}\n.wide-container .wide-content-wrapper .wide-content .wide-thead-content {\n display: table;\n width: 100%;\n}\n.wide-container .wide-content-wrapper .wide-toolbar {\n display: flex;\n flex-direction: row;\n width: 100%;\n justify-content: space-between;\n align-items: center;\n padding: 10px 12px;\n}\n.wide-container .wide-content-wrapper .wide-entity-name {\n margin: 0;\n font-size: 18px;\n}\n.wide-container .wide-content-wrapper .wide-actions {\n align-self: flex-end;\n}\n.wide-container .wide-content-wrapper .wide-actions .close-action {\n cursor: pointer;\n border-radius: 3px;\n transition: background 300ms;\n}\n.wide-container .wide-content-wrapper .wide-actions .close-action:hover {\n background: var(--g-color-base-simple-hover);\n}\n\n.wide-element-wrapper {\n display: flex;\n gap: 30px;\n position: relative;\n}\n.wide-element-wrapper:hover > .wide-content-viewer {\n visibility: visible;\n}\n.wide-element-wrapper .wide-inner-element {\n max-width: 700px;\n}\n\n.wide-content-viewer {\n visibility: hidden;\n width: 30px;\n height: 30px;\n z-index: 100;\n padding: 6px;\n box-sizing: content-box;\n color: var(--g-color-text-primary);\n cursor: pointer;\n}\n.wide-content-viewer > svg {\n width: 20px;\n height: 20px;\n}\n\n.wide-content-overlay {\n z-index: 100;\n width: 100vw;\n height: 100vh;\n position: fixed;\n top: 0;\n left: 0;\n background-color: black;\n opacity: 0.6;\n}\n\n.yfm-tabs {\n margin-bottom: 15px;\n}\n\n.yfm:not(.yfm_no-list-reset) .yfm-tabs ol {\n counter-reset: tabs-list;\n}\n\n.yfm:not(.yfm_no-list-reset) .yfm-tabs ol > li {\n counter-increment: tabs-list;\n}\n\n.yfm:not(.yfm_no-list-reset) .yfm-tabs ol > li:before {\n content: counters(tabs-list, \".\") \". \";\n}\n\n.yfm-tab-list {\n display: flex;\n flex-wrap: wrap;\n margin-bottom: 15px;\n border-bottom: 1px solid rgba(0, 0, 0, 0.07);\n}\n\n.yfm-tabs-vertical > .yfm-tab-list {\n flex-direction: column;\n border-bottom: unset;\n}\n\n.yfm-tabs-vertical > .yfm-tab-panel {\n margin-left: 30px;\n}\n\n.yfm-tabs-vertical > .yfm-tab-group {\n display: flex;\n flex-direction: row;\n margin-bottom: 5px;\n}\n\n.yfm-tabs-vertical .yfm-vertical-tab > input[type=radio] {\n visibility: hidden;\n width: 0;\n height: 0;\n}\n\n.yfm-tabs-vertical .yfm-vertical-tab > label {\n display: inline-block;\n cursor: pointer;\n position: relative;\n padding-left: 25px;\n margin-right: 0;\n line-height: 18px;\n user-select: none;\n}\n\n.yfm-tabs-vertical .yfm-vertical-tab > label:before {\n font-family: initial !important;\n content: \"\";\n position: absolute;\n left: 0;\n bottom: 1px;\n border-radius: 50%;\n width: 18px;\n height: 18px;\n border: #dfdfdf 1px solid;\n background-color: #fff;\n}\n\n.yfm-tabs-vertical .yfm-vertical-tab input[type=radio]:checked + label:before {\n content: \"•\";\n background-color: #5282ff;\n text-align: center;\n vertical-align: middle;\n font-size: 20px;\n white-space: pre;\n display: inline-flex;\n justify-content: center;\n align-items: center;\n color: #fff;\n}\n\n.yfm-tabs-vertical .yfm-vertical-tab {\n border-bottom: unset !important;\n}\n\n.yfm-tab {\n margin-bottom: -1px;\n margin-right: 20px;\n border-bottom: 2px solid transparent;\n padding: 6px 0 7px;\n font-weight: 700;\n outline: none;\n cursor: pointer;\n user-select: none;\n white-space: break-spaces;\n}\n\n.yfm-tab:last-child {\n margin-right: 0;\n}\n\n.yfm-tab:hover, .yfm-tab:active {\n color: #004080;\n}\n\n.yfm-tab.active {\n border-bottom-color: #027bf3;\n}\n\n.yfm-tab:focus {\n outline: 2px solid #4d90fe;\n border-radius: 2px;\n}\n\n.yfm-tab:focus:not(:focus-visible) {\n outline: 0;\n}\n\n.yfm-tab-panel {\n position: relative;\n visibility: hidden;\n overflow: hidden;\n height: 0;\n}\n\n.yfm-tab-panel:first-child {\n margin-top: 0 !important;\n}\n\n.yfm-tab-panel:last-child {\n margin-bottom: 0 !important;\n}\n\n.yfm-tab-panel.active {\n visibility: visible;\n height: auto;\n}\n\n\n/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VSb290IjoiL1VzZXJzL3Y4dGVua28vZGlwbG9kb2MvcGFja2FnZXMvdHJhbnNmb3JtL3NyYy9zY3NzIiwic291cmNlcyI6WyJfY29tbW9uLnNjc3MiLCJfdmFyaWFibGVzLnNjc3MiLCJfbm90ZS5zY3NzIiwiX2FuY2hvci5zY3NzIiwiX2hpZ2hsaWdodC5zY3NzIiwiX2NvZGUuc2NzcyIsIl9jdXQuc2NzcyIsIl9maWxlLnNjc3MiLCJfdGVybS5zY3NzIiwiX3RhYmxlLnNjc3MiLCJfbW9kYWwuc2NzcyIsIi4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9AZGlwbG9kb2MvdGFicy1leHRlbnNpb24vcnVudGltZS9pbmRleC5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQVlBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQSxPQ2RRO0FEeVdSO0FBQUE7O0FBQUE7QUFBQTtBQUFBO0VBMkJBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUEvWEE7RUFDSTs7QUFHSjtFQUNJOztBQUdKO0VBQ0k7O0FBR0o7RUFDSTtFQUNBOztBQUdKO0VBQ0k7RUFDQTs7QUFHSjtFQUNJO0VBQ0E7O0FBR0o7RUFDSTtFQUNBOztBQUdKO0VBQ0k7RUFDQTs7QUFHSjtFQUNJO0VBQ0E7O0FBR0o7RUFDSTtFQUNBOztBQUdKO0VBQ0k7RUFDQSxPQ25FTTtFRG9FTjs7QUFFQTtFQUNJLE9DekRLOztBRDREVDtFQUNJOztBQUtSO0VBQ0k7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNJOztBQUdKO0VBQ0k7O0FBSVI7RUFDSTtFQUNBLGtCQ3RHSTs7QUR5R1I7RUFDSTs7QUFHSjtFQUNJOztBQUdKO0VBQ0k7O0FBR0o7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7RUFPSTs7QUFJQTtFQUNJOztBQUlSO0FBQUE7QUFBQTtFQUdJO0VBQ0E7RUFDQTs7QUFHSjtFQUNJO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7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RUFBb0Q7OztBQUFxQztFQUFjO0VBQWE7RUFBZTtFQUFtQjs7O0FBQXdDO0VBQWlDO0VBQXNCOzs7QUFBb0I7RUFBa0M7OztBQUFpQjtFQUFrQztFQUFhO0VBQW1COzs7QUFBa0I7RUFBdUQ7RUFBa0I7RUFBUTs7O0FBQVM7RUFBMkM7RUFBcUI7RUFBZTtFQUFrQjtFQUFrQjtFQUFlO0VBQWlCOzs7QUFBaUI7RUFBa0Q7RUFBOEI7RUFBVztFQUFrQjtFQUFPO0VBQVc7RUFBa0I7RUFBVztFQUFZO0VBQXlCOzs7QUFBc0I7RUFBNEU7RUFBZ0I7RUFBeUI7RUFBa0I7RUFBc0I7RUFBZTtFQUFnQjtFQUFvQjtFQUF1QjtFQUFtQjs7O0FBQVc7RUFBcUM7OztBQUE4QjtFQUFTO0VBQW1CO0VBQWtCO0VBQW9DO0VBQWtCO0VBQWdCO0VBQWE7RUFBZTtFQUFpQjs7O0FBQXlCO0VBQW9COzs7QUFBZTtFQUErQjs7O0FBQWM7RUFBZ0I7OztBQUE0QjtFQUFlO0VBQTBCOzs7QUFBa0I7RUFBbUM7OztBQUFVO0VBQWU7RUFBa0I7RUFBa0I7RUFBZ0I7OztBQUFTO0VBQTJCOzs7QUFBdUI7RUFBMEI7OztBQUEwQjtFQUFzQjtFQUFtQjs7O0FBQy85RCIsInNvdXJjZXNDb250ZW50IjpbIkBpbXBvcnQgJ3ZhcmlhYmxlcyc7XG5cbkBtaXhpbiByZW1vdmVNYXJnaW5Gb3JFZGdlQ2hpbGRyZW4ge1xuICAgICYgPiAqOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICB9XG5cbiAgICAmID4gKjpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG59XG5cbi55Zm0ge1xuICAgIGZvbnQtZmFtaWx5OiB2YXIoLS15Zm0tZm9udC1mYW1pbHktc2Fucyk7XG4gICAgZm9udC1zaXplOiAxNXB4O1xuICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICAgIHdvcmQtd3JhcDogYnJlYWstd29yZDtcbiAgICBjb2xvcjogJHRleHRDb2xvcjtcblxuICAgICoge1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIH1cblxuICAgICYgPiAqOm5vdChoMik6bm90KGgzKTpub3QoaDQpOm5vdChoNSk6bm90KGg2KTpmaXJzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAmID4gKjpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIGgxLCBoMiwgaDMsIGg0LCBoNSwgaDYge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgIH1cblxuICAgIGgxIHtcbiAgICAgICAgZm9udC1zaXplOiAzMnB4O1xuICAgICAgICBsaW5lLWhlaWdodDogNDBweDtcbiAgICB9XG5cbiAgICBoMiB7XG4gICAgICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDI4cHg7XG4gICAgfVxuXG4gICAgaDMge1xuICAgICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyNHB4O1xuICAgIH1cblxuICAgIGg0IHtcbiAgICAgICAgZm9udC1zaXplOiAxN3B4O1xuICAgICAgICBsaW5lLWhlaWdodDogMjRweDtcbiAgICB9XG5cbiAgICBoNSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gICAgfVxuXG4gICAgaDYge1xuICAgICAgICBmb250LXNpemU6IDEzcHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxOHB4O1xuICAgIH1cblxuICAgIGEge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgY29sb3I6ICRsaW5rQ29sb3I7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuICAgICAgICAmOmhvdmVyLCAmOmFjdGl2ZSB7XG4gICAgICAgICAgICBjb2xvcjogJGxpbmtIb3ZlckNvbG9yO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpub3QoW2hyZWZdKSB7XG4gICAgICAgICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgICAgfVxuXG4gICAgfVxuXG4gICAgc3Ryb25nIHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICB9XG5cbiAgICBpbWcsIHN2ZyB7XG4gICAgICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcblxuICAgICAgICAmW2FsaWduPXJpZ2h0XSB7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gICAgICAgIH1cblxuICAgICAgICAmW2FsaWduPWxlZnRdIHtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDIwcHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBpbWcge1xuICAgICAgICBvYmplY3QtZml0OiBjb250YWluO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFzZUNvbG9yO1xuICAgIH1cblxuICAgIHN2ZyB7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICB9XG5cbiAgICAua2F0ZXggc3ZnIHtcbiAgICAgICAgaGVpZ2h0OiBpbml0aWFsO1xuICAgIH1cblxuICAgIGltZyArIHNtYWxsIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgcCxcbiAgICBibG9ja3F1b3RlLFxuICAgIHVsLFxuICAgIG9sLFxuICAgIGRsLFxuICAgIHRhYmxlLFxuICAgIHByZSB7XG4gICAgICAgIG1hcmdpbjogMCAwIDE1cHggMDtcbiAgICB9XG5cbiAgICB1bCwgb2wsIGRsIHtcbiAgICAgICAgJiBwcmUge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMTVweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGNvZGUsXG4gICAga2JkLFxuICAgIHByZSB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiB2YXIoLS15Zm0tZm9udC1mYW1pbHktbW9ub3NwYWNlKTtcbiAgICAgICAgZm9udC1zaXplOiAxZW07XG4gICAgICAgIGZvbnQtZmVhdHVyZS1zZXR0aW5nczogbm9ybWFsO1xuICAgIH1cblxuICAgIGlucHV0IHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBvdmVyZmxvdzogdmlzaWJsZTtcblxuICAgICAgICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgICAgICAgZm9udC1zaXplOiBpbmhlcml0O1xuICAgICAgICBsaW5lLWhlaWdodDogaW5oZXJpdDtcblxuICAgICAgICAmW3R5cGU9J2NoZWNrYm94J10ge1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgdG9wOiAxcHg7XG5cbiAgICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgdGFibGUge1xuICAgICAgICBjb2xvcjogIzMzMztcblxuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIG92ZXJmbG93OiBhdXRvO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHotaW5kZXg6IDE7XG5cbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJGJvcmRlckNvbG9yO1xuICAgICAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgICAgIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG4gICAgICAgIGJvcmRlci1zcGFjaW5nOiAwO1xuICAgICAgICBiYWNrZ3JvdW5kOiAkYmFzZUNvbG9yO1xuXG4gICAgICAgIHRoZWFkLCB0cjpudGgtY2hpbGQoMm4pIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZVJvd0JhY2tncm91bmRDb2xvcjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRyOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgIHRkLCB0aCB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXRvcDogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHRyOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgdGQsIHRoIHtcbiAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cblxuICAgICAgICB0aCwgdGQge1xuICAgICAgICAgICAgcGFkZGluZzogMTBweCAyMHB4O1xuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJGJvcmRlckNvbG9yO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSByZW1vdmVNYXJnaW5Gb3JFZGdlQ2hpbGRyZW4oKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRkIHtcbiAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICAgICAgICB9XG5cbiAgICAgICAgdGgge1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgIH1cblxuICAgICAgICB0ciB0ZDpmaXJzdC1jaGlsZCwgdHIgdGg6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IG5vbmU7XG4gICAgICAgIH1cbiAgICAgICAgdHIgdGQ6bGFzdC1jaGlsZCwgdHIgdGg6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICBib3JkZXItcmlnaHQ6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBociB7XG4gICAgICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICAgICAgICBoZWlnaHQ6IDAuMjVlbTtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgbWFyZ2luOiAxLjVlbSAwO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRib3JkZXJDb2xvcjtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuXG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgICAgICB9XG5cbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICAgICAgICAgIGNsZWFyOiBib3RoO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgYmxvY2txdW90ZSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAxMnB4O1xuICAgICAgICBib3JkZXItbGVmdDogM3B4IHNvbGlkICRhY2NlbnRDb2xvcjtcblxuICAgICAgICBAaW5jbHVkZSByZW1vdmVNYXJnaW5Gb3JFZGdlQ2hpbGRyZW4oKTtcbiAgICB9XG5cbiAgICBkbCB7XG4gICAgICAgIHBhZGRpbmc6IDA7XG5cbiAgICAgICAgQGluY2x1ZGUgcmVtb3ZlTWFyZ2luRm9yRWRnZUNoaWxkcmVuKCk7XG5cbiAgICAgICAgZHQge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICAgICAgICAgICAgZm9udC1zaXplOiAxZW07XG4gICAgICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgICAgICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgICAgICB9XG5cbiAgICAgICAgZGQge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgMTVweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGRkIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG5cbiAgICAgICAgJiA+IG9sOmZpcnN0LWNoaWxkLFxuICAgICAgICAmID4gdWw6Zmlyc3QtY2hpbGQsXG4gICAgICAgICYgPiBkZDpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICB1bCwgb2wge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDIuMmVtO1xuICAgIH1cblxuICAgIHVsIHVsLFxuICAgIHVsIG9sLFxuICAgIG9sIG9sLFxuICAgIG9sIHVsIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG5cbiAgICAmOm5vdCgueWZtX25vLWxpc3QtcmVzZXQpIHtcbiAgICAgICAgb2wge1xuICAgICAgICAgICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICAgICAgICAgICAgY291bnRlci1yZXNldDogbGlzdDtcblxuICAgICAgICAgICAgJiA+IGxpIHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgY291bnRlci1pbmNyZW1lbnQ6IGxpc3Q7XG5cbiAgICAgICAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgIHJpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDRweDtcbiAgICAgICAgICAgICAgICAgICAgY29udGVudDogY291bnRlcnMobGlzdCwgJy4nKSAnLiAnO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIGxpIHtcbiAgICAgICAgd29yZC13cmFwOiBicmVhay13b3JkO1xuICAgIH1cblxuICAgIGxpICsgbGkge1xuICAgICAgICBtYXJnaW4tdG9wOiAwLjMzZW07XG4gICAgfVxuXG4gICAgbGkgcCxcbiAgICBsaSBibG9ja3F1b3RlIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMTVweDtcbiAgICB9XG5cbiAgICBjb2RlIHtcbiAgICAgICAgcGFkZGluZzogMC4xZW0gMC40ZW0gMC4xNWVtO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5saW5lQ29kZUJhY2tncm91bmRDb2xvcjtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAgICAgICBmb250LXNpemU6IDAuODc1ZW07XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gICAgICAgIGNvbG9yOiAkaW5saW5lQ29kZUNvbG9yO1xuICAgIH1cblxuICAgIHByZSB7XG4gICAgICAgIHdvcmQtd3JhcDogbm9ybWFsO1xuICAgIH1cblxuICAgIHRhYmxlIGNvZGUge1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIH1cblxuICAgIHByZSAqIGNvZGUge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgICAgIHdvcmQtd3JhcDogbm9ybWFsO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICBjb2xvcjogJHRleHRDb2xvcjtcbiAgICB9XG5cbiAgICBwcmUgPiBjb2RlIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHBhZGRpbmc6IDE2cHg7XG4gICAgICAgIG92ZXJmbG93OiBhdXRvO1xuXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2RlQmFja2dyb3VuZENvbG9yO1xuICAgICAgICBjb2xvcjogJHRleHRDb2xvcjtcblxuICAgICAgICB3aGl0ZS1zcGFjZTogcHJlO1xuICAgIH1cblxuICAgIHN1cCwgc3ViIHtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDA7XG4gICAgfVxuXG4gICAgLypcbiAgICAgICAgSGlkZXMgZWxlbWVudCB2aXN1YWxseSwgYnV0IGxlYXZlcyBpdCB2aXNpYmxlIGZvciBzZWFyY2ggY3Jhd2xlcnMgYW5kIHNjcmVlbiByZWFkZXJzXG5cbiAgICAgICAgaHR0cHM6Ly93d3cuYTExeXByb2plY3QuY29tL3Bvc3RzLzIwMTMtMDEtMTEtaG93LXRvLWhpZGUtY29udGVudC9cbiAgICAgICAgaHR0cHM6Ly9odWdvZ2lyYXVkZWwuY29tLzIwMTYvMTAvMTMvY3NzLWhpZGUtYW5kLXNlZWsvXG4gICAgKi9cbiAgICAudmlzdWFsbHktaGlkZGVuIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuXG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIGNsaXA6IHJlY3QoMCAwIDAgMCk7XG5cbiAgICAgICAgd2lkdGg6IDFweDtcbiAgICAgICAgaGVpZ2h0OiAxcHg7XG4gICAgICAgIG1hcmdpbjogLTFweDtcblxuICAgICAgICBwYWRkaW5nOiAwO1xuXG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cbiAgICAgICAgYm9yZGVyOiAwO1xuXG4gICAgICAgIGNsaXAtcGF0aDogaW5zZXQoMTAwJSk7XG4gICAgICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgIH1cblxuICAgIC8vIGhpZ2hsaWdodC5qcyBjb2xvcnNcbiAgICAtLXlmbS1jb2xvci1obGpzLWJhY2tncm91bmQ6ICN7JGNvZGVCYWNrZ3JvdW5kQ29sb3J9O1xuICAgIC0teWZtLWNvbG9yLWhsanMtc3Vic3Q6ICM0NDQ7XG4gICAgLS15Zm0tY29sb3ItaGxqcy1jb21tZW50OiAjODg4ODg4O1xuICAgIC0teWZtLWNvbG9yLWhsanMtZGVsZXRpb246ICM4ODAwMDA7XG4gICAgLS15Zm0tY29sb3ItaGxqcy1zZWN0aW9uOiAjODgwMDAwO1xuICAgIC0teWZtLWNvbG9yLWhsanMtcHNldWRvOiAjQkM2MDYwO1xuICAgIC0teWZtLWNvbG9yLWhsanMtbGl0ZXJhbDogIzc4QTk2MDtcbiAgICAtLXlmbS1jb2xvci1obGpzLWFkZGl0aW9uOiAjMzk3MzAwO1xuICAgIC0teWZtLWNvbG9yLWhsanMtbWV0YTogIzFmNzE5OTtcbiAgICAtLXlmbS1jb2xvci1obGpzLW1ldGEtc3RyaW5nOiAjNGQ5OWJmO1xuICAgIC0teWZtLWZvbnQtZmFtaWx5LW1vbm9zcGFjZTogXCJNZW5sb1wiLCBcIk1vbmFjb1wiLCBcIkNvbnNvbGFzXCIsIFwiVWJ1bnR1IE1vbm9cIiwgXCJMaWJlcmF0aW9uIE1vbm9cIiwgXCJEZWphVnUgU2FucyBNb25vXCIsIFwiQ291cmllciBOZXdcIiwgXCJDb3VyaWVyXCIsIG1vbm9zcGFjZTtcbiAgICAtLXlmbS1mb250LWZhbWlseS1zYW5zOiAnU2Vnb2UgVUknLCBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmLCAnQXBwbGUgQ29sb3IgRW1vamknLCAnU2Vnb2UgVUkgRW1vamknLCAnU2Vnb2UgVUkgU3ltYm9sJztcbn1cbiIsIiRiYXNlQ29sb3I6ICNmZmZmZmY7XG4kYWNjZW50Q29sb3I6ICMwMjdiZjM7XG5cbiR0ZXh0Q29sb3I6IHJnYmEoMCwgMCwgMCwgMC43KTtcbiRib3JkZXJDb2xvcjogcmdiYSgwLCAwLCAwLCAwLjA3KTtcbiRiYWNrZ3JvdW5kQ29sb3I6IHJnYmEoMCwgMCwgMCwgMC4wMik7XG5cbiRpbmxpbmVDb2RlQ29sb3I6IHJnYmEoNTksIDk2LCAxMjgsIDEpO1xuJGlubGluZUNvZGVCYWNrZ3JvdW5kQ29sb3I6IHJnYmEoMTA3LCAxMzIsIDE1MywgMC4xMik7XG5cbiRjb2RlQmFja2dyb3VuZENvbG9yOiByZ2JhKDEwNywgMTMyLCAxNTMsIDAuMTIpO1xuXG4kdGFibGVSb3dCYWNrZ3JvdW5kQ29sb3I6IHJnYmEoMCwgMCwgMCwgMC4wMik7XG5cbiRsaW5rQ29sb3I6ICRhY2NlbnRDb2xvcjtcbiRsaW5rSG92ZXJDb2xvcjogIzAwNDA4MDtcbiIsIkBpbXBvcnQgJ3ZhcmlhYmxlcyc7XG5cbiRpbmZvQ29sb3I6ICRhY2NlbnRDb2xvcjtcbiR0aXBDb2xvcjogIzU2YmQ2NztcbiR3YXJuaW5nQ29sb3I6ICNmMTk1MTg7XG4kaW1wb3J0YW50Q29sb3I6ICNmZjQ2NDU7XG5cbiRpbmZvQmFja2dyb3VuZENvbG9yOiByZ2JhKDIsIDEyMywgMjQzLCAwLjA4KTtcbiR0aXBCYWNrZ3JvdW5kQ29sb3I6IHJnYmEoNjMsIDIwMSwgNDYsIDAuMSk7XG4kd2FybmluZ0JhY2tncm91bmRDb2xvcjogcmdiYSgyNTUsIDEzNiwgMCwgMC4xNSk7XG4kaW1wb3J0YW50QmFja2dyb3VuZENvbG9yOiByZ2JhKDIzNSwgNTAsIDM4LCAwLjA4KTtcblxuLnlmbSAueWZtLW5vdGUge1xuICAgIG1heC13aWR0aDogMTI5NnB4O1xuICAgIG1hcmdpbjogMjBweCAwO1xuICAgIHBhZGRpbmc6IDIwcHggMjBweCAyMHB4IDY0cHg7XG4gICAgYm9yZGVyLXJhZGl1czogMTBweDtcblxuICAgIC55Zm0tbm90ZS10aXRsZSB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgfVxuXG4gICAgJiA+IHAge1xuICAgICAgICBtYXJnaW46IDAgMCAxMHB4IDA7XG5cbiAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAyNHB4O1xuICAgICAgICAgICAgICAgIGhlaWdodDogMjRweDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAtMnB4O1xuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtNDRweDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAyMHB4O1xuICAgICAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAkY29sb3JzOiAoXG4gICAgICAgIHlmbS1hY2NlbnQtaW5mbzogJGluZm9Db2xvcixcbiAgICAgICAgeWZtLWFjY2VudC10aXA6ICR0aXBDb2xvcixcbiAgICAgICAgeWZtLWFjY2VudC1hbGVydDogJGltcG9ydGFudENvbG9yLFxuICAgICAgICB5Zm0tYWNjZW50LXdhcm5pbmc6ICR3YXJuaW5nQ29sb3JcbiAgICApO1xuXG4gICAgQGVhY2ggJHR5cGUsICRjb2xvciBpbiAkY29sb3JzIHtcbiAgICAgICAgJi4jeyR0eXBlfSA+IHA6Zmlyc3QtY2hpbGQ6OmJlZm9yZSB7XG4gICAgICAgICAgICAkcjogcmVkKCRjb2xvcik7XG4gICAgICAgICAgICAkZzogZ3JlZW4oJGNvbG9yKTtcbiAgICAgICAgICAgICRiOiBibHVlKCRjb2xvcik7XG4gICAgICAgICAgICAkcmdiQ29sb3I6ICdyZ2IoJyArICRyICsgJywnICsgJGcgKyAnLCcgKyAkYiArICcpJztcbiAgICAgICAgICAgIGNvbnRlbnQ6IHVybCgnZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIyNFwiIGhlaWdodD1cIjI0XCIgdmlld0JveD1cIjAgMCAxNiAxNlwiJTNFJTNDY2lyY2xlIGN4PVwiOFwiIGN5PVwiOFwiIHI9XCI4XCIgZmlsbD1cIicgKyAkcmdiQ29sb3IgKyAnXCIvJTNFJTNDcmVjdCB3aWR0aD1cIjFcIiBoZWlnaHQ9XCI1XCIgeD1cIjcuNVwiIHk9XCI2LjVcIiBzdHJva2U9XCIlMjNmZmZcIiByeD1cIi41XCIvJTNFJTNDY2lyY2xlIGN4PVwiOFwiIGN5PVwiNFwiIHI9XCIxXCIgZmlsbD1cIiUyM2ZmZlwiLyUzRSUzQy9zdmclM0UnKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICRiYWNrZ3JvdW5kQ29sb3JzOiAoXG4gICAgICAgIHlmbS1hY2NlbnQtaW5mbzogJGluZm9CYWNrZ3JvdW5kQ29sb3IsXG4gICAgICAgIHlmbS1hY2NlbnQtdGlwOiAkdGlwQmFja2dyb3VuZENvbG9yLFxuICAgICAgICB5Zm0tYWNjZW50LWFsZXJ0OiAkaW1wb3J0YW50QmFja2dyb3VuZENvbG9yLFxuICAgICAgICB5Zm0tYWNjZW50LXdhcm5pbmc6ICR3YXJuaW5nQmFja2dyb3VuZENvbG9yXG4gICAgKTtcblxuICAgIEBlYWNoICR0eXBlLCAkY29sb3IgaW4gJGJhY2tncm91bmRDb2xvcnMge1xuICAgICAgICAmLiN7JHR5cGV9IHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRjb2xvcjtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi55Zm0ge1xuICAgIGgxLCBoMiwgaDMsIGg0LCBoNSwgaDYge1xuICAgICAgICAueWZtLWFuY2hvciB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICB3aWR0aDogMjRweDtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDRweDtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtMjRweDtcbiAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICAgIH1cblxuICAgICAgICAueWZtLWFuY2hvcjo6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcjJztcbiAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIH1cblxuICAgICAgICAmOmhvdmVyIC55Zm0tYW5jaG9yOjpiZWZvcmUge1xuICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHRhYmxlIHtcbiAgICAgICAgaDEsIGgyLCBoMywgaDQsIGg1LCBoNiB7XG4gICAgICAgICAgICAueWZtLWFuY2hvciB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDFlbTtcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogLTFlbTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfTtcblxuICAgIC55Zm0tdGFicyB7XG4gICAgICAgIC55Zm0tYW5jaG9yOjpiZWZvcmUge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMnB4O1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiQGltcG9ydCAndmFyaWFibGVzJztcblxuLnlmbSB7XG4gICAgLmhsanMge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgb3ZlcmZsb3cteDogYXV0bztcbiAgICAgICAgcGFkZGluZzogMTZweDtcbiAgICAgICAgYmFja2dyb3VuZDogJGNvZGVCYWNrZ3JvdW5kQ29sb3I7XG4gICAgICAgIGJhY2tncm91bmQ6IHZhcigtLXlmbS1jb2xvci1obGpzLWJhY2tncm91bmQpO1xuICAgIH1cblxuICAgIC5obGpzLFxuICAgIC5obGpzLXN1YnN0IHtcbiAgICAgICAgY29sb3I6ICM0NDQ7XG4gICAgICAgIGNvbG9yOiB2YXIoLS15Zm0tY29sb3ItaGxqcy1zdWJzdCk7XG4gICAgfVxuXG4gICAgLmhsanMtY29tbWVudCB7XG4gICAgICAgIGNvbG9yOiAjODg4ODg4O1xuICAgICAgICBjb2xvcjogdmFyKC0teWZtLWNvbG9yLWhsanMtY29tbWVudCk7XG4gICAgfVxuXG5cbiAgICAuaGxqcy1rZXl3b3JkLFxuICAgIC5obGpzLWF0dHJpYnV0ZSxcbiAgICAuaGxqcy1zZWxlY3Rvci10YWcsXG4gICAgLmhsanMtbWV0YS1rZXl3b3JkLFxuICAgIC5obGpzLWRvY3RhZyxcbiAgICAuaGxqcy1uYW1lIHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgfVxuXG4gICAgLmhsanMtdHlwZSxcbiAgICAuaGxqcy1zdHJpbmcsXG4gICAgLmhsanMtbnVtYmVyLFxuICAgIC5obGpzLXNlbGVjdG9yLWlkLFxuICAgIC5obGpzLXNlbGVjdG9yLWNsYXNzLFxuICAgIC5obGpzLXF1b3RlLFxuICAgIC5obGpzLXRlbXBsYXRlLXRhZyxcbiAgICAuaGxqcy1kZWxldGlvbiB7XG4gICAgICAgIGNvbG9yOiAjODgwMDAwO1xuICAgICAgICBjb2xvcjogdmFyKC0teWZtLWNvbG9yLWhsanMtZGVsZXRpb24pO1xuICAgIH1cblxuICAgIC5obGpzLXRpdGxlLFxuICAgIC5obGpzLXNlY3Rpb24ge1xuICAgICAgICBjb2xvcjogIzg4MDAwMDtcbiAgICAgICAgY29sb3I6IHZhcigtLXlmbS1jb2xvci1obGpzLXNlY3Rpb24pO1xuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICB9XG5cbiAgICAuaGxqcy1yZWdleHAsXG4gICAgLmhsanMtc3ltYm9sLFxuICAgIC5obGpzLXZhcmlhYmxlLFxuICAgIC5obGpzLXRlbXBsYXRlLXZhcmlhYmxlLFxuICAgIC5obGpzLWxpbmssXG4gICAgLmhsanMtc2VsZWN0b3ItYXR0cixcbiAgICAuaGxqcy1zZWxlY3Rvci1wc2V1ZG8ge1xuICAgICAgICBjb2xvcjogI0JDNjA2MDtcbiAgICAgICAgY29sb3I6IHZhcigtLXlmbS1jb2xvci1obGpzLXBzZXVkbyk7XG4gICAgfVxuXG5cbiAgICAuaGxqcy1saXRlcmFsIHtcbiAgICAgICAgY29sb3I6ICM3OEE5NjA7XG4gICAgICAgIGNvbG9yOiB2YXIoLS15Zm0tY29sb3ItaGxqcy1saXRlcmFsKTtcbiAgICB9XG5cbiAgICAuaGxqcy1idWlsdF9pbixcbiAgICAuaGxqcy1idWxsZXQsXG4gICAgLmhsanMtY29kZSxcbiAgICAuaGxqcy1hZGRpdGlvbiB7XG4gICAgICAgIGNvbG9yOiAjMzk3MzAwO1xuICAgICAgICBjb2xvcjogdmFyKC0teWZtLWNvbG9yLWhsanMtYWRkaXRpb24pO1xuICAgIH1cblxuXG4gICAgLmhsanMtbWV0YSB7XG4gICAgICAgIGNvbG9yOiAjMWY3MTk5O1xuICAgICAgICBjb2xvcjogdmFyKC0teWZtLWNvbG9yLWhsanMtbWV0YSk7XG4gICAgfVxuXG4gICAgLmhsanMtbWV0YS1zdHJpbmcge1xuICAgICAgICBjb2xvcjogIzRkOTliZjtcbiAgICAgICAgY29sb3I6IHZhcigtLXlmbS1jb2xvci1obGpzLW1ldGEtc3RyaW5nKTtcbiAgICB9XG5cblxuICAgIC5obGpzLWVtcGhhc2lzIHtcbiAgICAgICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgIH1cblxuICAgIC5obGpzLXN0cm9uZyB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIH1cbn1cbiIsIi55Zm0ge1xuICAgICYtY2xpcGJvYXJkIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICY6aG92ZXIgJi1idXR0b24ge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cblxuICAgICAgICAmID4gcHJlIHtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi1jbGlwYm9hcmQtYnV0dG9uIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIHRvcDogMTZweDtcbiAgICAgICAgcmlnaHQ6IDE2cHg7XG4gICAgICAgIHotaW5kZXg6IDE7XG4gICAgfVxufVxuIiwiLnlmbS1jdXQge1xuICAgICRjbGFzczogJjtcbiAgICBcbiAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuXG4gICAgJi10aXRsZSB7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICAgICAgcGFkZGluZzogNXB4IDAgNXB4IDMwcHg7XG5cbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2Jhc2U2NCxQSE4yWnlCNGJXeHVjejBpYUhSMGNEb3ZMM2QzZHk1M015NXZjbWN2TWpBd01DOXpkbWNpSUhacFpYZENiM2c5SWpBZ01DQXhOaUF4TmlJK0NpQWdJQ0E4Y0dGMGFDQnpkSEp2YTJVOUltTjFjbkpsYm5SRGIyeHZjaUlnWm1sc2JEMGlibTl1WlNJZ1pEMGlUVE1nTm13MUlEVWdOUzAxSWk4K0Nqd3ZjM1puUGdvPVwiKTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKSByb3RhdGUoLTkwZGVnKTtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjNzIGVhc2U7XG4gICAgICAgICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICAgICAgICB3aWR0aDogMjBweDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYtY29udGVudCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIHRyYW5zaXRpb246IGhlaWdodCAwLjNzIGVhc2UtaW4tb3V0O1xuICAgIH1cblxuICAgICYub3BlbiB7XG4gICAgICAgID4gI3skY2xhc3N9LWNvbnRlbnQge1xuICAgICAgICAgICAgZGlzcGxheTogcmV2ZXJ0O1xuICAgICAgICAgICAgcGFkZGluZzogNXB4IDAgMTVweCAzMHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgPiAjeyRjbGFzc30tdGl0bGU6YmVmb3JlIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC55Zm06bm90KC55Zm1fbm8tbGlzdC1yZXNldCkgJiBvbCB7XG4gICAgICAgIGNvdW50ZXItcmVzZXQ6IGN1dC1saXN0O1xuXG4gICAgICAgICYgPiBsaSB7XG4gICAgICAgICAgICBjb3VudGVyLWluY3JlbWVudDogY3V0LWxpc3Q7XG5cbiAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgY29udGVudDogY291bnRlcnMoY3V0LWxpc3QsICcuJykgJy4gJztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuXG4iLCJAaW1wb3J0ICd2YXJpYWJsZXMnO1xuXG4kZGVmYXVsdEljb246IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEhOMlp5QjRiV3h1Y3owaWFIUjBjRG92TDNkM2R5NTNNeTV2Y21jdk1qQXdNQzl6ZG1jaUlIWnBaWGRDYjNnOUlqQWdNQ0F6T0RRZ05URXlJajQ4Y0dGMGFDQm1hV3hzUFNKamRYSnlaVzUwUTI5c2IzSWlJR1E5SWswek5qa3VPU0E1Tnk0NVRESTROaUF4TkVNeU56Y2dOU0F5TmpRdU9DMHVNU0F5TlRJdU1TMHVNVWcwT0VNeU1TNDFJREFnTUNBeU1TNDFJREFnTkRoMk5ERTJZekFnTWpZdU5TQXlNUzQxSURRNElEUTRJRFE0YURJNE9HTXlOaTQxSURBZ05EZ3RNakV1TlNBME9DMDBPRll4TXpFdU9XTXdMVEV5TGpjdE5TNHhMVEkxTFRFMExqRXRNelI2YlMweU1pNDJJREl5TGpkak1pNHhJREl1TVNBekxqVWdOQzQySURRdU1pQTNMalJJTWpVMlZqTXlMalZqTWk0NExqY2dOUzR6SURJdU1TQTNMalFnTkM0eWJEZ3pMamtnT0RNdU9YcE5Nek0ySURRNE1FZzBPR010T0M0NElEQXRNVFl0Tnk0eUxURTJMVEUyVmpRNFl6QXRPQzQ0SURjdU1pMHhOaUF4TmkweE5tZ3hOeloyTVRBMFl6QWdNVE11TXlBeE1DNDNJREkwSURJMElESTBhREV3TkhZek1EUmpNQ0E0TGpndE55NHlJREUyTFRFMklERTJlbTB0TkRndE1qUTBkamhqTUNBMkxqWXROUzQwSURFeUxURXlJREV5U0RFd09HTXROaTQySURBdE1USXROUzQwTFRFeUxURXlkaTA0WXpBdE5pNDJJRFV1TkMweE1pQXhNaTB4TW1neE5qaGpOaTQySURBZ01USWdOUzQwSURFeUlERXllbTB3SURZMGRqaGpNQ0EyTGpZdE5TNDBJREV5TFRFeUlERXlTREV3T0dNdE5pNDJJREF0TVRJdE5TNDBMVEV5TFRFeWRpMDRZekF0Tmk0MklEVXVOQzB4TWlBeE1pMHhNbWd4Tmpoak5pNDJJREFnTVRJZ05TNDBJREV5SURFeWVtMHdJRFkwZGpoak1DQTJMall0TlM0MElERXlMVEV5SURFeVNERXdPR010Tmk0MklEQXRNVEl0TlM0MExURXlMVEV5ZGkwNFl6QXROaTQySURVdU5DMHhNaUF4TWkweE1tZ3hOamhqTmk0MklEQWdNVElnTlM0MElERXlJREV5ZWlJdlBqd3ZjM1puUGc9PVwiKTtcblxuLyoqXG4gICAgUHVibGljIENTUyB2YXJpYWJsZXM6XG4gICAgLS15Zm0tZmlsZS1pY29uICAgICAgICAgICAgIHNldHMgZmlsZSBpY29uIGltYWdlXG4gICAgLS15Zm0tZmlsZS1pY29uLWNvbG9yICAgICAgIHNldHMgZmlsZSBpY29uIGNvbG9yXG4qL1xuXG4ueWZtLWZpbGUge1xuICAgICZfX2ljb24ge1xuICAgICAgICAtLS15Zm0tZmlsZS1pY29uLWltZzogdmFyKC0teWZtLWZpbGUtaWNvbiwgI3skZGVmYXVsdEljb259KTtcblxuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHVzZXItc2VsZWN0OiBub25lO1xuXG4gICAgICAgIHdpZHRoOiAxNnB4O1xuICAgICAgICBtYXJnaW46IDAgMnB4O1xuXG4gICAgICAgIGNvbG9yOiB2YXIoLS15Zm0tZmlsZS1pY29uLWNvbG9yLCAjeyR0ZXh0Q29sb3J9KTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogY3VycmVudENvbG9yO1xuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA1MCU7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJTtcblxuICAgICAgICBtYXNrLWltYWdlOiB2YXIoLS0teWZtLWZpbGUtaWNvbi1pbWcpO1xuICAgICAgICBtYXNrLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICAgIG1hc2stcmVwZWF0OiBuby1yZXBlYXQ7XG5cbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICdcXGEwJztcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi55Zm0tdGVybSB7XG4gICAgJl90aXRsZSB7XG4gICAgICAgIGNvbG9yOiAjMDI3YmYzO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IGRvdHRlZDtcblxuICAgICAgICBmb250LXNpemU6IGluaGVyaXQ7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBjb2xvcjogIzAwNDA4MDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfZGZuIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB6LWluZGV4OiAxMDA7XG5cbiAgICAgICAgd2lkdGg6IGZpdC1jb250ZW50O1xuICAgICAgICBtYXgtd2lkdGg6IDQ1MHB4O1xuXG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYwMHB4KSB7XG4gICAgICAgICAgICAmIHtcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDgwJTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgICAgb3BhY2l0eTogMDtcblxuICAgICAgICBwYWRkaW5nOiAxMHB4O1xuXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYigyNTUsIDI1NSwgMjU1KTtcblxuICAgICAgICBmb250LXNpemU6IGluaGVyaXQ7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7XG5cbiAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4O1xuXG4gICAgICAgIGJveC1zaGFkb3c6IDAgOHB4IDIwcHggcmdiYSgwLCAwLCAwLCAwLjE1KTtcbiAgICAgICAgb3V0bGluZTogbm9uZTtcblxuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB6LWluZGV4OiAtMTtcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgICAgbGVmdDogMDtcblxuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogaW5oZXJpdDtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDFweCByZ2IoMjI5LCAyMjksIDIyOSk7XG4gICAgICAgIH1cblxuICAgICAgICAmLm9wZW4ge1xuICAgICAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcblxuICAgICAgICAgICAgYW5pbWF0aW9uLW5hbWU6IHBvcHVwO1xuICAgICAgICAgICAgYW5pbWF0aW9uLWR1cmF0aW9uOiAwLjFzO1xuICAgICAgICAgICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XG4gICAgICAgICAgICBhbmltYXRpb24tZmlsbC1tb2RlOiBmb3J3YXJkcztcblxuICAgICAgICAgICAgQGtleWZyYW1lcyBwb3B1cCB7XG4gICAgICAgICAgICAgICAgMCUge1xuICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTBweCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIDEwMCUge1xuICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIiwiLnlmbSB0YWJsZSB0ZCB7XG4gICAgJi5jZWxsLWFsaWduLXRvcC1sZWZ0LFxuICAgICYuY2VsbC1hbGlnbi1ib3R0b20tbGVmdCB7XG4gICAgICAgIHRleHQtYWxpZ246IHN0YXJ0O1xuICAgIH1cblxuICAgICYuY2VsbC1hbGlnbi10b3AtY2VudGVyLFxuICAgICYuY2VsbC1hbGlnbi1jZW50ZXIge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfVxuXG4gICAgJi5jZWxsLWFsaWduLXRvcC1yaWdodCxcbiAgICAmLmNlbGwtYWxpZ24tYm90dG9tLXJpZ2h0IHtcbiAgICAgICAgdGV4dC1hbGlnbjogZW5kO1xuICAgIH1cblxuICAgICYuY2VsbC1hbGlnbi10b3AtbGVmdCxcbiAgICAmLmNlbGwtYWxpZ24tdG9wLWNlbnRlcixcbiAgICAmLmNlbGwtYWxpZ24tdG9wLXJpZ2h0IHtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICB9XG5cbiAgICAmLmNlbGwtYWxpZ24tY2VudGVyIHtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICB9XG5cbiAgICAmLmNlbGwtYWxpZ24tYm90dG9tLWxlZnQsXG4gICAgJi5jZWxsLWFsaWduLWJvdHRvbS1yaWdodCB7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBib3R0b207XG4gICAgfVxufVxuXG4iLCIud2lkZS1jb250YWluZXIge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB3aWR0aDogMTAwdnc7XG4gICAgaGVpZ2h0OiAxMDB2aDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgdG9wOiAwcHg7XG4gICAgbGVmdDogMHB4O1xuICAgIHotaW5kZXg6IDIwMDtcblxuICAgICYuZGMtZG9jLXBhZ2Uge1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAud2lkZS1jb250ZW50LXZpZXdlciB7XG4gICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICB9XG5cbiAgICAud2lkZS1jb250ZW50LXdyYXBwZXIge1xuICAgICAgICB6LWluZGV4OiAyMDA7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWctY29sb3ItYmFzZS1iYWNrZ3JvdW5kKTsgICBcbiAgICAgICAgaGVpZ2h0OiA5MHZoO1xuICAgICAgICB3aWR0aDogNzB2dztcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblxuICAgICAgIC53aWRlLWNvbnRlbnQge1xuICAgICAgICAgICAgaGVpZ2h0OiA5NSU7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICAgICAgLndpZGUtaW5uZXItZWxlbWVudCB7XG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdGFibGUge1xuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDBweDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLndpZGUtdGhlYWQtY29udGVudCB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogdGFibGU7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICB9XG4gICAgICAgfVxuXG4gICAgICAgLndpZGUtdG9vbGJhciB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIHBhZGRpbmc6IDEwcHggMTJweDtcbiAgICAgICB9XG5cbiAgICAgICAud2lkZS1lbnRpdHktbmFtZSB7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICAgfVxuXG4gICAgICAgLndpZGUtYWN0aW9ucyB7XG4gICAgICAgICAgICBhbGlnbi1zZWxmOiBmbGV4LWVuZDtcblxuICAgICAgICAgICAgLmNsb3NlLWFjdGlvbiB7XG4gICAgICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDNweDtcblxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgMzAwbXM7XG5cbiAgICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tZy1jb2xvci1iYXNlLXNpbXBsZS1ob3Zlcik7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgIH1cbiAgICB9XG59ICAgXG5cbi53aWRlLWVsZW1lbnQtd3JhcHBlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBnYXA6IDMwcHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgJjpob3ZlciA+IC53aWRlLWNvbnRlbnQtdmlld2VyIHtcbiAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICB9XG5cbiAgICAud2lkZS1pbm5lci1lbGVtZW50IHtcbiAgICAgICAgbWF4LXdpZHRoOiA3MDBweDtcbiAgICB9XG59XG5cbi53aWRlLWNvbnRlbnQtdmlld2VyIHtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgd2lkdGg6IDMwcHg7XG4gICAgaGVpZ2h0OiAzMHB4O1xuICAgIHotaW5kZXg6IDEwMDtcbiAgICBwYWRkaW5nOiA2cHg7XG4gICAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gICAgY29sb3I6IHZhcigtLWctY29sb3ItdGV4dC1wcmltYXJ5KTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAmID4gc3ZnIHtcbiAgICAgICAgd2lkdGg6IDIwcHg7XG4gICAgICAgIGhlaWdodDogMjBweDtcbiAgICB9XG59XG5cbi53aWRlLWNvbnRlbnQtb3ZlcmxheSB7XG4gICAgei1pbmRleDogMTAwO1xuICAgIHdpZHRoOiAxMDB2dztcbiAgICBoZWlnaHQ6IDEwMHZoO1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBibGFjaztcbiAgICBvcGFjaXR5OiAwLjY7XG59XG4iLCJAY2hhcnNldCBcIlVURi04XCI7LnlmbS10YWJze21hcmdpbi1ib3R0b206MTVweH0ueWZtOm5vdCgueWZtX25vLWxpc3QtcmVzZXQpIC55Zm0tdGFicyBvbHtjb3VudGVyLXJlc2V0OnRhYnMtbGlzdH0ueWZtOm5vdCgueWZtX25vLWxpc3QtcmVzZXQpIC55Zm0tdGFicyBvbD5saXtjb3VudGVyLWluY3JlbWVudDp0YWJzLWxpc3R9LnlmbTpub3QoLnlmbV9uby1saXN0LXJlc2V0KSAueWZtLXRhYnMgb2w+bGk6YmVmb3Jle2NvbnRlbnQ6Y291bnRlcnModGFicy1saXN0LFwiLlwiKSBcIi4gXCJ9LnlmbS10YWItbGlzdHtkaXNwbGF5OmZsZXg7ZmxleC13cmFwOndyYXA7bWFyZ2luLWJvdHRvbToxNXB4O2JvcmRlci1ib3R0b206MXB4IHNvbGlkIHJnYmEoMCwwLDAsLjA3KX0ueWZtLXRhYnMtdmVydGljYWw+LnlmbS10YWItbGlzdHtmbGV4LWRpcmVjdGlvbjpjb2x1bW47Ym9yZGVyLWJvdHRvbTp1bnNldH0ueWZtLXRhYnMtdmVydGljYWw+LnlmbS10YWItcGFuZWx7bWFyZ2luLWxlZnQ6MzBweH0ueWZtLXRhYnMtdmVydGljYWw+LnlmbS10YWItZ3JvdXB7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOnJvdzttYXJnaW4tYm90dG9tOjVweH0ueWZtLXRhYnMtdmVydGljYWwgLnlmbS12ZXJ0aWNhbC10YWI+aW5wdXRbdHlwZT1yYWRpb117dmlzaWJpbGl0eTpoaWRkZW47d2lkdGg6MDtoZWlnaHQ6MH0ueWZtLXRhYnMtdmVydGljYWwgLnlmbS12ZXJ0aWNhbC10YWI+bGFiZWx7ZGlzcGxheTppbmxpbmUtYmxvY2s7Y3Vyc29yOnBvaW50ZXI7cG9zaXRpb246cmVsYXRpdmU7cGFkZGluZy1sZWZ0OjI1cHg7bWFyZ2luLXJpZ2h0OjA7bGluZS1oZWlnaHQ6MThweDt1c2VyLXNlbGVjdDpub25lfS55Zm0tdGFicy12ZXJ0aWNhbCAueWZtLXZlcnRpY2FsLXRhYj5sYWJlbDpiZWZvcmV7Zm9udC1mYW1pbHk6aW5pdGlhbCFpbXBvcnRhbnQ7Y29udGVudDpcIlwiO3Bvc2l0aW9uOmFic29sdXRlO2xlZnQ6MDtib3R0b206MXB4O2JvcmRlci1yYWRpdXM6NTAlO3dpZHRoOjE4cHg7aGVpZ2h0OjE4cHg7Ym9yZGVyOiNkZmRmZGYgMXB4IHNvbGlkO2JhY2tncm91bmQtY29sb3I6I2ZmZn0ueWZtLXRhYnMtdmVydGljYWwgLnlmbS12ZXJ0aWNhbC10YWIgaW5wdXRbdHlwZT1yYWRpb106Y2hlY2tlZCtsYWJlbDpiZWZvcmV7Y29udGVudDpcIlxcMjAyMlwiO2JhY2tncm91bmQtY29sb3I6IzUyODJmZjt0ZXh0LWFsaWduOmNlbnRlcjt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7Zm9udC1zaXplOjIwcHg7d2hpdGUtc3BhY2U6cHJlO2Rpc3BsYXk6aW5saW5lLWZsZXg7anVzdGlmeS1jb250ZW50OmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7Y29sb3I6I2ZmZn0ueWZtLXRhYnMtdmVydGljYWwgLnlmbS12ZXJ0aWNhbC10YWJ7Ym9yZGVyLWJvdHRvbTp1bnNldCFpbXBvcnRhbnR9LnlmbS10YWJ7bWFyZ2luLWJvdHRvbTotMXB4O21hcmdpbi1yaWdodDoyMHB4O2JvcmRlci1ib3R0b206MnB4IHNvbGlkIHRyYW5zcGFyZW50O3BhZGRpbmc6NnB4IDAgN3B4O2ZvbnQtd2VpZ2h0OjcwMDtvdXRsaW5lOm5vbmU7Y3Vyc29yOnBvaW50ZXI7dXNlci1zZWxlY3Q6bm9uZTt3aGl0ZS1zcGFjZTpicmVhay1zcGFjZXN9LnlmbS10YWI6bGFzdC1jaGlsZHttYXJnaW4tcmlnaHQ6MH0ueWZtLXRhYjpob3ZlciwueWZtLXRhYjphY3RpdmV7Y29sb3I6IzAwNDA4MH0ueWZtLXRhYi5hY3RpdmV7Ym9yZGVyLWJvdHRvbS1jb2xvcjojMDI3YmYzfS55Zm0tdGFiOmZvY3Vze291dGxpbmU6MnB4IHNvbGlkICM0ZDkwZmU7Ym9yZGVyLXJhZGl1czoycHh9LnlmbS10YWI6Zm9jdXM6bm90KDpmb2N1cy12aXNpYmxlKXtvdXRsaW5lOjB9LnlmbS10YWItcGFuZWx7cG9zaXRpb246cmVsYXRpdmU7dmlzaWJpbGl0eTpoaWRkZW47b3ZlcmZsb3c6aGlkZGVuO2hlaWdodDowfS55Zm0tdGFiLXBhbmVsOmZpcnN0LWNoaWxke21hcmdpbi10b3A6MCFpbXBvcnRhbnR9LnlmbS10YWItcGFuZWw6bGFzdC1jaGlsZHttYXJnaW4tYm90dG9tOjAhaW1wb3J0YW50fS55Zm0tdGFiLXBhbmVsLmFjdGl2ZXt2aXNpYmlsaXR5OnZpc2libGU7aGVpZ2h0OmF1dG99XG4vKiMgc291cmNlTWFwcGluZ1VSTD1pbmRleC5jc3MubWFwICovXG4iXX0= */", "@import 'variables';\n\n@mixin removeMarginForEdgeChildren {\n & > *:first-child {\n margin-top: 0;\n }\n\n & > *:last-child {\n margin-bottom: 0;\n }\n}\n\n.yfm {\n font-family: var(--yfm-font-family-sans);\n font-size: 15px;\n line-height: 20px;\n word-wrap: break-word;\n color: $textColor;\n\n * {\n box-sizing: border-box;\n }\n\n & > *:not(h2):not(h3):not(h4):not(h5):not(h6):first-child {\n margin-top: 0 !important;\n }\n\n & > *:last-child {\n margin-bottom: 0 !important;\n }\n\n h1, h2, h3, h4, h5, h6 {\n margin-bottom: 15px;\n font-weight: 500;\n }\n\n h1 {\n font-size: 32px;\n line-height: 40px;\n }\n\n h2 {\n font-size: 24px;\n line-height: 28px;\n }\n\n h3 {\n font-size: 20px;\n line-height: 24px;\n }\n\n h4 {\n font-size: 17px;\n line-height: 24px;\n }\n\n h5 {\n font-size: 15px;\n line-height: 20px;\n }\n\n h6 {\n font-size: 13px;\n line-height: 18px;\n }\n\n a {\n background-color: transparent;\n color: $linkColor;\n text-decoration: none;\n\n &:hover, &:active {\n color: $linkHoverColor;\n }\n\n &:not([href]) {\n color: inherit;\n }\n\n }\n\n strong {\n font-weight: 700;\n }\n\n img, svg {\n box-sizing: content-box;\n max-width: 100%;\n border: none;\n vertical-align: middle;\n\n &[align=right] {\n padding-left: 20px;\n }\n\n &[align=left] {\n padding-right: 20px;\n }\n }\n\n img {\n object-fit: contain;\n background-color: $baseColor;\n }\n\n svg {\n height: auto;\n }\n\n .katex svg {\n height: initial;\n }\n\n img + small {\n display: block;\n }\n\n p,\n blockquote,\n ul,\n ol,\n dl,\n table,\n pre {\n margin: 0 0 15px 0;\n }\n\n ul, ol, dl {\n & pre {\n margin-top: 15px;\n }\n }\n\n code,\n kbd,\n pre {\n font-family: var(--yfm-font-family-monospace);\n font-size: 1em;\n font-feature-settings: normal;\n }\n\n input {\n margin: 0;\n overflow: visible;\n\n font-family: inherit;\n font-size: inherit;\n line-height: inherit;\n\n &[type='checkbox'] {\n position: relative;\n top: 1px;\n\n box-sizing: border-box;\n padding: 0;\n }\n }\n\n table {\n color: #333;\n\n display: inline-block;\n max-width: 100%;\n width: auto;\n overflow: auto;\n position: relative;\n z-index: 1;\n\n box-sizing: border-box;\n border: 1px solid $borderColor;\n border-radius: 8px;\n border-collapse: collapse;\n border-spacing: 0;\n background: $baseColor;\n\n thead, tr:nth-child(2n) {\n background-color: $tableRowBackgroundColor;\n }\n\n tr:first-child {\n td, th {\n border-top: none;\n }\n }\n\n tr:last-child {\n td, th {\n border-bottom: none;\n }\n }\n\n\n th, td {\n padding: 10px 20px;\n overflow: hidden;\n text-overflow: ellipsis;\n border: 1px solid $borderColor;\n\n @include removeMarginForEdgeChildren();\n }\n\n td {\n vertical-align: top;\n white-space: normal;\n }\n\n th {\n font-weight: 500;\n text-align: left;\n }\n\n tr td:first-child, tr th:first-child {\n border-left: none;\n }\n tr td:last-child, tr th:last-child {\n border-right: none;\n }\n }\n\n hr {\n box-sizing: content-box;\n height: 0.25em;\n padding: 0;\n margin: 1.5em 0;\n overflow: hidden;\n\n background-color: $borderColor;\n border: none;\n\n &::before {\n content: '';\n display: table;\n }\n\n &::after {\n content: '';\n display: table;\n clear: both;\n }\n }\n\n blockquote {\n position: relative;\n padding-left: 12px;\n border-left: 3px solid $accentColor;\n\n @include removeMarginForEdgeChildren();\n }\n\n dl {\n padding: 0;\n\n @include removeMarginForEdgeChildren();\n\n dt {\n margin-bottom: 5px;\n font-size: 1em;\n font-weight: 500;\n font-style: italic;\n }\n\n dd {\n margin-bottom: 15px;\n padding: 0 15px;\n }\n }\n\n dd {\n margin-left: 0;\n\n & > ol:first-child,\n & > ul:first-child,\n & > dd:first-child {\n padding-left: 0;\n }\n }\n\n ul, ol {\n padding-left: 2.2em;\n }\n\n ul ul,\n ul ol,\n ol ol,\n ol ul {\n margin-top: 0;\n margin-bottom: 0;\n }\n\n &:not(.yfm_no-list-reset) {\n ol {\n list-style-type: none;\n counter-reset: list;\n\n & > li {\n position: relative;\n counter-increment: list;\n\n &::before {\n position: absolute;\n right: 100%;\n margin-right: 4px;\n content: counters(list, '.') '. ';\n }\n }\n }\n }\n\n li {\n word-wrap: break-word;\n }\n\n li + li {\n margin-top: 0.33em;\n }\n\n li p,\n li blockquote {\n margin-top: 15px;\n }\n\n code {\n padding: 0.1em 0.4em 0.15em;\n background-color: $inlineCodeBackgroundColor;\n border-radius: 4px;\n font-size: 0.875em;\n white-space: normal;\n color: $inlineCodeColor;\n }\n\n pre {\n word-wrap: normal;\n }\n\n table code {\n white-space: nowrap;\n }\n\n pre * code {\n display: inline;\n padding: 0;\n margin: 0;\n overflow: visible;\n word-wrap: normal;\n background-color: transparent;\n border: 0;\n color: $textColor;\n }\n\n pre > code {\n display: block;\n padding: 16px;\n overflow: auto;\n\n background-color: $codeBackgroundColor;\n color: $textColor;\n\n white-space: pre;\n }\n\n sup, sub {\n line-height: 0;\n }\n\n /*\n Hides element visually, but leaves it visible for search crawlers and screen readers\n\n https://www.a11yproject.com/posts/2013-01-11-how-to-hide-content/\n https://hugogiraudel.com/2016/10/13/css-hide-and-seek/\n */\n .visually-hidden {\n position: absolute;\n\n overflow: hidden;\n clip: rect(0 0 0 0);\n\n width: 1px;\n height: 1px;\n margin: -1px;\n\n padding: 0;\n\n white-space: nowrap;\n\n border: 0;\n\n clip-path: inset(100%);\n user-select: none;\n }\n\n // highlight.js colors\n --yfm-color-hljs-background: #{$codeBackgroundColor};\n --yfm-color-hljs-subst: #444;\n --yfm-color-hljs-comment: #888888;\n --yfm-color-hljs-deletion: #880000;\n --yfm-color-hljs-section: #880000;\n --yfm-color-hljs-pseudo: #BC6060;\n --yfm-color-hljs-literal: #78A960;\n --yfm-color-hljs-addition: #397300;\n --yfm-color-hljs-meta: #1f7199;\n --yfm-color-hljs-meta-string: #4d99bf;\n --yfm-font-family-monospace: \"Menlo\", \"Monaco\", \"Consolas\", \"Ubuntu Mono\", \"Liberation Mono\", \"DejaVu Sans Mono\", \"Courier New\", \"Courier\", monospace;\n --yfm-font-family-sans: 'Segoe UI', Arial, Helvetica, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol';\n}\n", "$baseColor: #ffffff;\n$accentColor: #027bf3;\n\n$textColor: rgba(0, 0, 0, 0.7);\n$borderColor: rgba(0, 0, 0, 0.07);\n$backgroundColor: rgba(0, 0, 0, 0.02);\n\n$inlineCodeColor: rgba(59, 96, 128, 1);\n$inlineCodeBackgroundColor: rgba(107, 132, 153, 0.12);\n\n$codeBackgroundColor: rgba(107, 132, 153, 0.12);\n\n$tableRowBackgroundColor: rgba(0, 0, 0, 0.02);\n\n$linkColor: $accentColor;\n$linkHoverColor: #004080;\n", "@import 'variables';\n\n$infoColor: $accentColor;\n$tipColor: #56bd67;\n$warningColor: #f19518;\n$importantColor: #ff4645;\n\n$infoBackgroundColor: rgba(2, 123, 243, 0.08);\n$tipBackgroundColor: rgba(63, 201, 46, 0.1);\n$warningBackgroundColor: rgba(255, 136, 0, 0.15);\n$importantBackgroundColor: rgba(235, 50, 38, 0.08);\n\n.yfm .yfm-note {\n max-width: 1296px;\n margin: 20px 0;\n padding: 20px 20px 20px 64px;\n border-radius: 10px;\n\n .yfm-note-title {\n font-weight: 700;\n }\n\n & > p {\n margin: 0 0 10px 0;\n\n &:first-child {\n &::before {\n box-sizing: content-box;\n display: block;\n width: 24px;\n height: 24px;\n margin-top: -2px;\n margin-left: -44px;\n padding-right: 20px;\n float: left;\n }\n }\n\n &:last-child {\n margin-bottom: 0;\n }\n }\n\n $colors: (\n yfm-accent-info: $infoColor,\n yfm-accent-tip: $tipColor,\n yfm-accent-alert: $importantColor,\n yfm-accent-warning: $warningColor\n );\n\n @each $type, $color in $colors {\n &.#{$type} > p:first-child::before {\n $r: red($color);\n $g: green($color);\n $b: blue($color);\n $rgbColor: 'rgb(' + $r + ',' + $g + ',' + $b + ')';\n content: url('data:image/svg+xml,%3Csvg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 16 16\"%3E%3Ccircle cx=\"8\" cy=\"8\" r=\"8\" fill=\"' + $rgbColor + '\"/%3E%3Crect width=\"1\" height=\"5\" x=\"7.5\" y=\"6.5\" stroke=\"%23fff\" rx=\".5\"/%3E%3Ccircle cx=\"8\" cy=\"4\" r=\"1\" fill=\"%23fff\"/%3E%3C/svg%3E');\n }\n }\n\n $backgroundColors: (\n yfm-accent-info: $infoBackgroundColor,\n yfm-accent-tip: $tipBackgroundColor,\n yfm-accent-alert: $importantBackgroundColor,\n yfm-accent-warning: $warningBackgroundColor\n );\n\n @each $type, $color in $backgroundColors {\n &.#{$type} {\n background: $color;\n }\n }\n}\n", ".yfm {\n h1, h2, h3, h4, h5, h6 {\n .yfm-anchor {\n display: inline-block;\n width: 24px;\n padding-right: 4px;\n margin-left: -24px;\n float: left;\n\n text-align: center;\n font-size: 18px;\n }\n\n .yfm-anchor::before {\n content: '#';\n opacity: 0;\n }\n\n &:hover .yfm-anchor::before {\n opacity: 1;\n }\n }\n\n table {\n h1, h2, h3, h4, h5, h6 {\n .yfm-anchor {\n width: 1em;\n margin-left: -1em;\n padding-right: 0;\n }\n }\n };\n\n .yfm-tabs {\n .yfm-anchor::before {\n position: absolute;\n padding-right: 2px;\n }\n }\n}\n", "@import 'variables';\n\n.yfm {\n .hljs {\n display: block;\n overflow-x: auto;\n padding: 16px;\n background: $codeBackgroundColor;\n background: var(--yfm-color-hljs-background);\n }\n\n .hljs,\n .hljs-subst {\n color: #444;\n color: var(--yfm-color-hljs-subst);\n }\n\n .hljs-comment {\n color: #888888;\n color: var(--yfm-color-hljs-comment);\n }\n\n\n .hljs-keyword,\n .hljs-attribute,\n .hljs-selector-tag,\n .hljs-meta-keyword,\n .hljs-doctag,\n .hljs-name {\n font-weight: bold;\n }\n\n .hljs-type,\n .hljs-string,\n .hljs-number,\n .hljs-selector-id,\n .hljs-selector-class,\n .hljs-quote,\n .hljs-template-tag,\n .hljs-deletion {\n color: #880000;\n color: var(--yfm-color-hljs-deletion);\n }\n\n .hljs-title,\n .hljs-section {\n color: #880000;\n color: var(--yfm-color-hljs-section);\n font-weight: bold;\n }\n\n .hljs-regexp,\n .hljs-symbol,\n .hljs-variable,\n .hljs-template-variable,\n .hljs-link,\n .hljs-selector-attr,\n .hljs-selector-pseudo {\n color: #BC6060;\n color: var(--yfm-color-hljs-pseudo);\n }\n\n\n .hljs-literal {\n color: #78A960;\n color: var(--yfm-color-hljs-literal);\n }\n\n .hljs-built_in,\n .hljs-bullet,\n .hljs-code,\n .hljs-addition {\n color: #397300;\n color: var(--yfm-color-hljs-addition);\n }\n\n\n .hljs-meta {\n color: #1f7199;\n color: var(--yfm-color-hljs-meta);\n }\n\n .hljs-meta-string {\n color: #4d99bf;\n color: var(--yfm-color-hljs-meta-string);\n }\n\n\n .hljs-emphasis {\n font-style: italic;\n }\n\n .hljs-strong {\n font-weight: bold;\n }\n}\n", ".yfm {\n &-clipboard {\n position: relative;\n\n &:hover &-button {\n display: block;\n }\n\n & > pre {\n border-radius: 10px;\n overflow: hidden;\n }\n }\n\n &-clipboard-button {\n display: none;\n position: absolute;\n cursor: pointer;\n top: 16px;\n right: 16px;\n z-index: 1;\n }\n}\n", ".yfm-cut {\n $class: &;\n \n margin-bottom: 15px;\n\n &-title {\n cursor: pointer;\n position: relative;\n user-select: none;\n padding: 5px 0 5px 30px;\n\n &:before {\n content: '';\n z-index: 1;\n left: 0;\n top: 50%;\n background-image: url(\"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNiAxNiI+CiAgICA8cGF0aCBzdHJva2U9ImN1cnJlbnRDb2xvciIgZmlsbD0ibm9uZSIgZD0iTTMgNmw1IDUgNS01Ii8+Cjwvc3ZnPgo=\");\n transform: translateY(-50%) rotate(-90deg);\n transition: transform 0.3s ease;\n height: 20px;\n width: 20px;\n position: absolute;\n }\n }\n\n &-content {\n display: none;\n overflow: hidden;\n transition: height 0.3s ease-in-out;\n }\n\n &.open {\n > #{$class}-content {\n display: revert;\n padding: 5px 0 15px 30px;\n }\n\n > #{$class}-title:before {\n transform: translateY(-50%);\n }\n }\n\n .yfm:not(.yfm_no-list-reset) & ol {\n counter-reset: cut-list;\n\n & > li {\n counter-increment: cut-list;\n\n &::before {\n content: counters(cut-list, '.') '. ';\n }\n }\n }\n}\n\n\n", "@import 'variables';\n\n$defaultIcon: url(\"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAzODQgNTEyIj48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Ik0zNjkuOSA5Ny45TDI4NiAxNEMyNzcgNSAyNjQuOC0uMSAyNTIuMS0uMUg0OEMyMS41IDAgMCAyMS41IDAgNDh2NDE2YzAgMjYuNSAyMS41IDQ4IDQ4IDQ4aDI4OGMyNi41IDAgNDgtMjEuNSA0OC00OFYxMzEuOWMwLTEyLjctNS4xLTI1LTE0LjEtMzR6bS0yMi42IDIyLjdjMi4xIDIuMSAzLjUgNC42IDQuMiA3LjRIMjU2VjMyLjVjMi44LjcgNS4zIDIuMSA3LjQgNC4ybDgzLjkgODMuOXpNMzM2IDQ4MEg0OGMtOC44IDAtMTYtNy4yLTE2LTE2VjQ4YzAtOC44IDcuMi0xNiAxNi0xNmgxNzZ2MTA0YzAgMTMuMyAxMC43IDI0IDI0IDI0aDEwNHYzMDRjMCA4LjgtNy4yIDE2LTE2IDE2em0tNDgtMjQ0djhjMCA2LjYtNS40IDEyLTEyIDEySDEwOGMtNi42IDAtMTItNS40LTEyLTEydi04YzAtNi42IDUuNC0xMiAxMi0xMmgxNjhjNi42IDAgMTIgNS40IDEyIDEyem0wIDY0djhjMCA2LjYtNS40IDEyLTEyIDEySDEwOGMtNi42IDAtMTItNS40LTEyLTEydi04YzAtNi42IDUuNC0xMiAxMi0xMmgxNjhjNi42IDAgMTIgNS40IDEyIDEyem0wIDY0djhjMCA2LjYtNS40IDEyLTEyIDEySDEwOGMtNi42IDAtMTItNS40LTEyLTEydi04YzAtNi42IDUuNC0xMiAxMi0xMmgxNjhjNi42IDAgMTIgNS40IDEyIDEyeiIvPjwvc3ZnPg==\");\n\n/**\n Public CSS variables:\n --yfm-file-icon sets file icon image\n --yfm-file-icon-color sets file icon color\n*/\n\n.yfm-file {\n &__icon {\n ---yfm-file-icon-img: var(--yfm-file-icon, #{$defaultIcon});\n\n display: inline-block;\n user-select: none;\n\n width: 16px;\n margin: 0 2px;\n\n color: var(--yfm-file-icon-color, #{$textColor});\n background-color: currentColor;\n background-repeat: no-repeat;\n background-position: 50%;\n background-size: 100%;\n\n mask-image: var(---yfm-file-icon-img);\n mask-position: center;\n mask-repeat: no-repeat;\n\n &::before {\n content: '\\a0';\n }\n }\n}\n", ".yfm-term {\n &_title {\n color: #027bf3;\n cursor: pointer;\n\n border-bottom: 1px dotted;\n\n font-size: inherit;\n line-height: inherit;\n font-style: normal;\n\n &:hover {\n color: #004080;\n }\n }\n\n &_dfn {\n position: absolute;\n z-index: 100;\n\n width: fit-content;\n max-width: 450px;\n\n @media screen and (max-width: 600px) {\n & {\n max-width: 80%;\n }\n }\n\n visibility: hidden;\n opacity: 0;\n\n padding: 10px;\n\n background-color: rgb(255, 255, 255);\n\n font-size: inherit;\n line-height: inherit;\n font-style: normal;\n\n border-radius: 4px;\n\n box-shadow: 0 8px 20px rgba(0, 0, 0, 0.15);\n outline: none;\n\n &::before {\n content: '';\n position: absolute;\n z-index: -1;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n\n border-radius: inherit;\n box-shadow: 0 0 0 1px rgb(229, 229, 229);\n }\n\n &.open {\n visibility: visible;\n\n animation-name: popup;\n animation-duration: 0.1s;\n animation-timing-function: ease-out;\n animation-fill-mode: forwards;\n\n @keyframes popup {\n 0% {\n opacity: 0;\n transform: translateY(10px);\n }\n 100% {\n opacity: 1;\n transform: translateY(0);\n }\n }\n }\n }\n}\n", ".yfm table td {\n &.cell-align-top-left,\n &.cell-align-bottom-left {\n text-align: start;\n }\n\n &.cell-align-top-center,\n &.cell-align-center {\n text-align: center;\n }\n\n &.cell-align-top-right,\n &.cell-align-bottom-right {\n text-align: end;\n }\n\n &.cell-align-top-left,\n &.cell-align-top-center,\n &.cell-align-top-right {\n vertical-align: top;\n }\n\n &.cell-align-center {\n vertical-align: middle;\n }\n\n &.cell-align-bottom-left,\n &.cell-align-bottom-right {\n vertical-align: bottom;\n }\n}\n\n", ".wide-container {\n position: fixed;\n width: 100vw;\n height: 100vh;\n display: flex;\n justify-content: center;\n align-items: center;\n top: 0px;\n left: 0px;\n z-index: 200;\n\n &.dc-doc-page {\n max-width: 100% !important;\n }\n\n .wide-content-viewer {\n visibility: hidden;\n }\n\n .wide-content-wrapper {\n z-index: 200;\n background-color: var(--g-color-base-background); \n height: 90vh;\n width: 70vw;\n border-radius: 10px;\n display: flex;\n flex-direction: column;\n\n .wide-content {\n height: 95%;\n width: 100%;\n\n .wide-inner-element {\n max-width: 100%;\n width: 100%;\n height: 100%;\n }\n\n table {\n border-radius: 0px;\n }\n\n .wide-thead-content {\n display: table;\n width: 100%;\n }\n }\n\n .wide-toolbar {\n display: flex;\n flex-direction: row;\n width: 100%;\n justify-content: space-between;\n align-items: center;\n padding: 10px 12px;\n }\n\n .wide-entity-name {\n margin: 0;\n font-size: 18px;\n }\n\n .wide-actions {\n align-self: flex-end;\n\n .close-action {\n cursor: pointer;\n border-radius: 3px;\n\n transition: background 300ms;\n\n &:hover {\n background: var(--g-color-base-simple-hover);\n }\n }\n }\n }\n} \n\n.wide-element-wrapper {\n display: flex;\n gap: 30px;\n position: relative;\n\n &:hover > .wide-content-viewer {\n visibility: visible;\n }\n\n .wide-inner-element {\n max-width: 700px;\n }\n}\n\n.wide-content-viewer {\n visibility: hidden;\n width: 30px;\n height: 30px;\n z-index: 100;\n padding: 6px;\n box-sizing: content-box;\n color: var(--g-color-text-primary);\n cursor: pointer;\n\n & > svg {\n width: 20px;\n height: 20px;\n }\n}\n\n.wide-content-overlay {\n z-index: 100;\n width: 100vw;\n height: 100vh;\n position: fixed;\n top: 0;\n left: 0;\n background-color: black;\n opacity: 0.6;\n}\n", "@charset \"UTF-8\";.yfm-tabs{margin-bottom:15px}.yfm:not(.yfm_no-list-reset) .yfm-tabs ol{counter-reset:tabs-list}.yfm:not(.yfm_no-list-reset) .yfm-tabs ol>li{counter-increment:tabs-list}.yfm:not(.yfm_no-list-reset) .yfm-tabs ol>li:before{content:counters(tabs-list,\".\") \". \"}.yfm-tab-list{display:flex;flex-wrap:wrap;margin-bottom:15px;border-bottom:1px solid rgba(0,0,0,.07)}.yfm-tabs-vertical>.yfm-tab-list{flex-direction:column;border-bottom:unset}.yfm-tabs-vertical>.yfm-tab-panel{margin-left:30px}.yfm-tabs-vertical>.yfm-tab-group{display:flex;flex-direction:row;margin-bottom:5px}.yfm-tabs-vertical .yfm-vertical-tab>input[type=radio]{visibility:hidden;width:0;height:0}.yfm-tabs-vertical .yfm-vertical-tab>label{display:inline-block;cursor:pointer;position:relative;padding-left:25px;margin-right:0;line-height:18px;user-select:none}.yfm-tabs-vertical .yfm-vertical-tab>label:before{font-family:initial!important;content:\"\";position:absolute;left:0;bottom:1px;border-radius:50%;width:18px;height:18px;border:#dfdfdf 1px solid;background-color:#fff}.yfm-tabs-vertical .yfm-vertical-tab input[type=radio]:checked+label:before{content:\"\\2022\";background-color:#5282ff;text-align:center;vertical-align:middle;font-size:20px;white-space:pre;display:inline-flex;justify-content:center;align-items:center;color:#fff}.yfm-tabs-vertical .yfm-vertical-tab{border-bottom:unset!important}.yfm-tab{margin-bottom:-1px;margin-right:20px;border-bottom:2px solid transparent;padding:6px 0 7px;font-weight:700;outline:none;cursor:pointer;user-select:none;white-space:break-spaces}.yfm-tab:last-child{margin-right:0}.yfm-tab:hover,.yfm-tab:active{color:#004080}.yfm-tab.active{border-bottom-color:#027bf3}.yfm-tab:focus{outline:2px solid #4d90fe;border-radius:2px}.yfm-tab:focus:not(:focus-visible){outline:0}.yfm-tab-panel{position:relative;visibility:hidden;overflow:hidden;height:0}.yfm-tab-panel:first-child{margin-top:0!important}.yfm-tab-panel:last-child{margin-bottom:0!important}.yfm-tab-panel.active{visibility:visible;height:auto}\n/*# sourceMappingURL=index.css.map */\n"],
|
|
5
5
|
"mappings": "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",
|
|
6
6
|
"names": []
|
package/dist/js/yfm.js
CHANGED
package/dist/js/yfm.js.map
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../node_modules/get-root-node-polyfill/index.js", "../../../../extensions/tabs/src/common.ts", "../../../../extensions/tabs/src/runtime/utils.ts", "../../../../extensions/tabs/src/runtime/TabsController.ts", "../../../../extensions/tabs/src/runtime/index.ts", "../../src/js/polyfill.js", "../../src/js/utils.ts", "../../src/js/code.ts", "../../src/js/cut.ts", "../../src/js/term/utils.ts", "../../src/js/term/index.ts", "../../src/js/wide-mode/constants.ts", "../../src/js/wide-mode/icons/expand.ts", "../../src/js/wide-mode/icons/close.ts", "../../src/js/wide-mode/modal.ts", "../../src/js/wide-mode/apply.ts", "../../src/js/patch.ts"],
|
|
4
|
-
"sourcesContent": ["'use strict';\n\n// Node getRootNode(optional GetRootNodeOptions options);\n\n/**\n * Returns the context object\u2019s shadow-including root if options\u2019s composed is true.\n * Returns the context object\u2019s root otherwise.\n *\n * The root of an object is itself, if its parent is null, or else it is the root of its parent.\n *\n * The shadow-including root of an object is its root\u2019s host\u2019s shadow-including root,\n * if the object\u2019s root is a shadow root, and its root otherwise.\n *\n * https://dom.spec.whatwg.org/#dom-node-getrootnode\n *\n * @memberof Node.prototype\n * @param {!Object} [opt = {}] - Options.\n * @param {!boolean} [opt.composed] - See above description.\n * @returns {!Node} The root node.\n */\nfunction getRootNode(opt) {\n var composed = typeof opt === 'object' && Boolean(opt.composed);\n\n return composed ? getShadowIncludingRoot(this) : getRoot(this);\n}\n\nfunction getShadowIncludingRoot(node) {\n var root = getRoot(node);\n\n if (isShadowRoot(root)) {\n return getShadowIncludingRoot(root.host);\n }\n\n return root;\n}\n\nfunction getRoot(node) {\n if (node.parentNode != null) {\n return getRoot(node.parentNode);\n }\n\n return node;\n}\n\nfunction isShadowRoot(node) {\n return node.nodeName === '#document-fragment' && node.constructor.name === 'ShadowRoot';\n}\n\nif (typeof module === 'object' && module.exports) {\n module.exports = getRootNode;\n}\n", "import type {TabsOrientation} from './plugin/transform';\nimport type {TabsController} from './runtime/TabsController';\n\nexport const TABS_CLASSNAME = 'yfm-tabs';\nexport const TABS_VERTICAL_CLASSNAME = 'yfm-tabs-vertical';\nexport const TABS_LIST_CLASSNAME = 'yfm-tab-list';\nexport const TAB_CLASSNAME = 'yfm-tab';\nexport const TAB_PANEL_CLASSNAME = 'yfm-tab-panel';\nexport const ACTIVE_CLASSNAME = 'active';\nexport const VERTICAL_TAB_CLASSNAME = 'yfm-vertical-tab';\n\nexport const GROUP_DATA_KEY = 'data-diplodoc-group';\nexport const TAB_DATA_KEY = 'data-diplodoc-key';\nexport const TAB_DATA_ID = 'data-diplodoc-id';\nexport const TAB_DATA_VERTICAL_TAB = 'data-diplodoc-vertical-tab';\nexport const TAB_ACTIVE_KEY = 'data-diplodoc-is-active';\nexport const TAB_RADIO_KEY = 'data-diplodoc-input';\n\nexport const DEFAULT_TABS_GROUP_PREFIX = 'defaultTabsGroup-';\n\nexport interface Tab {\n group?: string;\n key: string;\n align: TabsOrientation;\n}\n\nexport interface SelectedTabEvent {\n tab: Tab;\n currentTabId?: string;\n}\n\nexport const GLOBAL_SYMBOL: unique symbol = Symbol.for('diplodocTabs');\n\ndeclare global {\n interface Window {\n [GLOBAL_SYMBOL]: TabsController;\n }\n}\n", "export const getEventTarget = (event: Event) => {\n const path = event.composedPath();\n return Array.isArray(path) && path.length > 0 ? path[0] : event.target;\n};\n\nexport const isCustom = (event: Event) => {\n const target = getEventTarget(event);\n return !target || !(target as HTMLElement).matches;\n};\n\nexport const getClosestScrollableParent = (element: HTMLElement): HTMLElement | undefined => {\n if (Math.abs(element.scrollHeight - element.clientHeight) > 1) {\n return element;\n }\n\n return element.parentElement ? getClosestScrollableParent(element.parentElement) : undefined;\n};\n\nexport interface ElementOffset {\n top: number;\n left: number;\n scrollTop: number;\n scrollLeft: number;\n}\n\nexport const getOffsetByScrollableParent = (\n element: HTMLElement,\n scrollableParent: HTMLElement,\n): ElementOffset => {\n const elementBounds = element.getBoundingClientRect();\n const scrollableParentBounds = scrollableParent.getBoundingClientRect();\n return {\n top: elementBounds.top - scrollableParentBounds.top,\n left: elementBounds.left - scrollableParentBounds.left,\n scrollTop: scrollableParent.scrollTop,\n scrollLeft: scrollableParent.scrollLeft,\n };\n};\n", "import {\n ACTIVE_CLASSNAME,\n DEFAULT_TABS_GROUP_PREFIX,\n GROUP_DATA_KEY,\n SelectedTabEvent,\n TABS_CLASSNAME,\n TABS_LIST_CLASSNAME,\n TABS_VERTICAL_CLASSNAME,\n TAB_CLASSNAME,\n TAB_DATA_ID,\n TAB_DATA_KEY,\n TAB_PANEL_CLASSNAME,\n Tab,\n} from '../common';\nimport type {TabsOrientation} from '../plugin/transform';\nimport {\n ElementOffset,\n getClosestScrollableParent,\n getEventTarget,\n getOffsetByScrollableParent,\n isCustom,\n} from './utils';\n\nconst Selector = {\n TABS: `.${TABS_CLASSNAME}`,\n TAB_LIST: `.${TABS_LIST_CLASSNAME}`,\n TAB: `.${TAB_CLASSNAME}`,\n TAB_PANEL: `.${TAB_PANEL_CLASSNAME}`,\n VERTICAL_TABS: `.${TABS_VERTICAL_CLASSNAME}`,\n};\n\nexport interface ISelectTabByIdOptions {\n scrollToElement: boolean;\n}\n\ntype Handler = (data: SelectedTabEvent) => void;\n\ntype TabSwitchDirection = 'left' | 'right';\n\nexport class TabsController {\n private _document: Document;\n\n private _onSelectTabHandlers: Set<Handler> = new Set();\n\n constructor(document: Document) {\n this._document = document;\n this._document.addEventListener('click', (event) => {\n const target = getEventTarget(event) as HTMLElement;\n const areVertical = this.areTabsVertical(target);\n\n if (isCustom(event)) {\n return;\n }\n\n if (!(this.isValidTabElement(target) || areVertical)) {\n return;\n }\n\n const tab = this.getTabDataFromHTMLElement(target);\n\n if (tab) {\n this._selectTab(tab, target);\n }\n });\n this._document.addEventListener('keydown', (event) => {\n let direction: TabSwitchDirection | null = null;\n switch (event.key) {\n case 'ArrowLeft': {\n direction = 'left';\n break;\n }\n case 'ArrowRight': {\n direction = 'right';\n break;\n }\n }\n if (!direction) {\n return;\n }\n\n const target = getEventTarget(event) as HTMLElement;\n\n if (isCustom(event) || !this.isValidTabElement(target)) {\n return;\n }\n\n const {tabs, nodes} = this.getTabs(target);\n const currentTab = this.getTabDataFromHTMLElement(target);\n const currentTabIndex = tabs.findIndex(\n ({key}) => currentTab?.key && key === currentTab.key,\n );\n if (!currentTab || tabs.length <= 1 || currentTabIndex === -1) {\n return;\n }\n\n const newIndex =\n (currentTabIndex + (direction === 'left' ? -1 : 1) + tabs.length) % tabs.length;\n\n this.selectTab(tabs[newIndex]);\n nodes[newIndex].focus();\n });\n }\n\n onSelectTab(handler: Handler) {\n this._onSelectTabHandlers.add(handler);\n\n return () => {\n this._onSelectTabHandlers.delete(handler);\n };\n }\n\n selectTabById(id: string, options?: ISelectTabByIdOptions) {\n const target = this._document.querySelector(\n `${Selector.TAB}[${TAB_DATA_ID}=\"${id}\"]`,\n ) as HTMLElement;\n\n if (!target || !this.isValidTabElement(target)) {\n return;\n }\n\n const tab = this.getTabDataFromHTMLElement(target);\n\n if (tab) {\n this._selectTab(tab, target);\n }\n\n if (options?.scrollToElement) {\n target.scrollIntoView();\n }\n }\n\n selectTab(tab: Tab) {\n this._selectTab(tab);\n }\n\n private _selectTab(tab: Tab, targetTab?: HTMLElement) {\n const {group, key, align} = tab;\n\n if (!group) {\n return;\n }\n\n const scrollableParent = targetTab && getClosestScrollableParent(targetTab);\n const previousTargetOffset =\n scrollableParent && getOffsetByScrollableParent(targetTab, scrollableParent);\n\n const updatedTabs = this.updateHTML({group, key, align}, align);\n\n if (updatedTabs > 0) {\n this.fireSelectTabEvent({group, key, align}, targetTab?.dataset.diplodocId);\n\n if (previousTargetOffset) {\n this.resetScroll(targetTab, scrollableParent, previousTargetOffset);\n }\n }\n }\n\n private updateHTML(tab: Required<Tab>, align: TabsOrientation) {\n switch (align) {\n case 'radio': {\n return this.updateHTMLVertical(tab);\n }\n case 'horizontal': {\n return this.updateHTMLHorizontal(tab);\n }\n }\n\n return 0;\n }\n\n private updateHTMLVertical(tab: Required<Tab>) {\n const {group, key} = tab;\n\n const tabs = this._document.querySelectorAll(\n `${Selector.TABS}[${GROUP_DATA_KEY}=\"${group}\"] ${Selector.TAB}[${TAB_DATA_KEY}=\"${key}\"]`,\n );\n\n let updated = 0;\n\n tabs.forEach((tab) => {\n const root = tab.parentNode!;\n const elements = root.children;\n\n for (let i = 0; i < elements.length; i += 2) {\n const [title, content] = [elements.item(i), elements.item(i + 1)] as HTMLElement[];\n\n const input = title.children.item(0) as HTMLInputElement;\n\n if (input.hasAttribute('checked')) {\n title.classList.remove('active');\n content?.classList.remove('active');\n input.removeAttribute('checked');\n }\n\n if (title === tab) {\n title.classList.add('active');\n content?.classList.add('active');\n input.setAttribute('checked', 'true');\n }\n\n updated++;\n }\n });\n\n return updated;\n }\n\n private updateHTMLHorizontal(tab: Required<Tab>) {\n const {group, key} = tab;\n\n const tabs = this._document.querySelectorAll(\n `${Selector.TABS}[${GROUP_DATA_KEY}=\"${group}\"] ${Selector.TAB}[${TAB_DATA_KEY}=\"${key}\"]`,\n );\n\n let updated = 0;\n\n tabs.forEach((element) => {\n const htmlElem = element as HTMLElement;\n if (!this.isValidTabElement(htmlElem) || htmlElem.dataset.diplodocIsActive === 'true') {\n return;\n }\n\n updated++;\n\n const tab = element;\n const tabList = tab.parentNode;\n const tabsContainer = tabList?.parentNode;\n const allTabs = Array.from(tabList?.querySelectorAll(Selector.TAB) || []);\n const allPanels = Array.from(tabsContainer?.children || []).filter((node) =>\n node.classList.contains(TAB_PANEL_CLASSNAME),\n );\n const targetIndex = allTabs.indexOf(tab);\n\n allTabs.forEach((tab, i) => {\n const panel = allPanels[i];\n const isTargetTab = i === targetIndex;\n const htmlElem = tab as HTMLElement;\n\n htmlElem.dataset.diplodocIsActive = isTargetTab ? 'true' : 'false';\n\n tab.classList.toggle(ACTIVE_CLASSNAME, isTargetTab);\n tab.setAttribute('aria-selected', isTargetTab.toString());\n tab.setAttribute('tabindex', isTargetTab ? '0' : '-1');\n panel.classList.toggle(ACTIVE_CLASSNAME, isTargetTab);\n });\n });\n\n return updated;\n }\n\n private resetScroll(\n target: HTMLElement,\n scrollableParent: HTMLElement,\n previousTargetOffset: ElementOffset,\n ) {\n const targetOffset = getOffsetByScrollableParent(target, scrollableParent);\n const topDelta = targetOffset.top - previousTargetOffset.top;\n const leftDelta = targetOffset.left - previousTargetOffset.left;\n const scrollTopDelta = targetOffset.scrollTop - previousTargetOffset.scrollTop;\n const scrollLeftDelta = targetOffset.scrollLeft - previousTargetOffset.scrollLeft;\n scrollableParent.scrollTo(\n scrollableParent.scrollLeft + leftDelta - scrollLeftDelta,\n scrollableParent.scrollTop + topDelta - scrollTopDelta,\n );\n }\n\n private fireSelectTabEvent(tab: Required<Tab>, diplodocId?: string) {\n const {group, key, align} = tab;\n\n const eventTab: Tab = group.startsWith(DEFAULT_TABS_GROUP_PREFIX) ? {key, align} : tab;\n\n this._onSelectTabHandlers.forEach((handler) => {\n handler({tab: eventTab, currentTabId: diplodocId});\n });\n }\n\n private isValidTabElement(element: HTMLElement) {\n const tabList =\n element.matches(Selector.TAB) && element.dataset.diplodocId\n ? element.closest(Selector.TAB_LIST)\n : null;\n\n return tabList?.closest(Selector.TABS);\n }\n\n private areTabsVertical(target: HTMLElement) {\n const parent = target.parentElement;\n\n return target.dataset.diplodocVerticalTab || Boolean(parent?.dataset.diplodocVerticalTab);\n }\n\n private getTabDataFromHTMLElement(target: HTMLElement): Tab | null {\n if (this.areTabsVertical(target)) {\n const tab = target.dataset.diplodocVerticalTab ? target : target.parentElement!;\n\n const key = tab.dataset.diplodocKey;\n const group = (tab.closest(Selector.TABS) as HTMLElement)?.dataset.diplodocGroup;\n return key && group ? {group, key, align: 'radio'} : null;\n }\n\n const key = target.dataset.diplodocKey;\n const group = (target.closest(Selector.TABS) as HTMLElement)?.dataset.diplodocGroup;\n return key && group ? {group, key, align: 'horizontal'} : null;\n }\n\n private getTabs(target: HTMLElement): {tabs: Tab[]; nodes: NodeListOf<HTMLElement>} {\n const group = (target.closest(Selector.TABS) as HTMLElement)?.dataset.diplodocGroup;\n const nodes = (\n target.closest(Selector.TAB_LIST) as HTMLElement\n )?.querySelectorAll<HTMLElement>(Selector.TAB);\n\n const tabs: Tab[] = [];\n nodes.forEach((tabEl) => {\n const key = tabEl?.dataset.diplodocKey;\n if (!key) {\n return;\n }\n\n /** horizontal-only supported feature (used in left/right button click) */\n tabs.push({\n group,\n key,\n align: 'horizontal',\n });\n });\n\n return {tabs, nodes};\n }\n}\n", "import {GLOBAL_SYMBOL} from '../common';\nimport {TabsController} from './TabsController';\nimport './scss/tabs.scss';\n\nif (typeof window !== 'undefined' && typeof document !== 'undefined' && !window[GLOBAL_SYMBOL]) {\n window[GLOBAL_SYMBOL] = new TabsController(document);\n}\n", "import getRootNode from 'get-root-node-polyfill';\n\nif (typeof document !== 'undefined') {\n // matches polyfill for old edge\n (function (e) {\n const matches =\n e.matches ||\n e.matchesSelector ||\n e.webkitMatchesSelector ||\n e.mozMatchesSelector ||\n e.msMatchesSelector ||\n e.oMatchesSelector;\n\n if (matches) {\n e.matches = e.matchesSelector = matches;\n } else {\n e.matches = e.matchesSelector = function matches(selector) {\n const rootNode = e.getRootNode ? e.getRootNode() : getRootNode.call(e);\n const matches = rootNode.querySelectorAll(selector);\n const th = this;\n return Array.prototype.some.call(matches, (e) => {\n return e === th;\n });\n };\n }\n })(Element.prototype);\n}\n", "export const getEventTarget = (event: Event) => {\n const path = event.composedPath();\n return Array.isArray(path) && path.length > 0 ? path[0] : event.target;\n};\n\nexport const isCustom = (event: Event) => {\n const target = getEventTarget(event);\n return !target || !(target as HTMLElement).matches;\n};\n", "import {getEventTarget, isCustom} from './utils';\n\nconst BUTTON_SELECTOR = '.yfm-clipboard-button';\n\nfunction copyToClipboard(text: string) {\n if (!text) {\n return Promise.resolve();\n }\n\n if (navigator.clipboard && typeof navigator.clipboard.writeText) {\n return navigator.clipboard.writeText(text);\n }\n const textarea = document.createElement('textarea');\n textarea.setAttribute('style', 'position: absolute; left: 1000%');\n textarea.textContent = text;\n document.body.append(textarea);\n\n textarea.select();\n document.execCommand('copy');\n\n document.body.removeChild(textarea);\n\n return Promise.resolve();\n}\n\nfunction notifySuccess(svgButton: HTMLElement | null) {\n if (!svgButton) {\n return;\n }\n\n const id = svgButton.getAttribute('data-animation');\n // @ts-expect-error\n const icon = svgButton.getRootNode().getElementById(`visibileAnimation-${id}`);\n\n if (!icon) {\n return;\n }\n\n icon.beginElement();\n}\n\nif (typeof document !== 'undefined') {\n document.addEventListener('click', (event) => {\n const target = getEventTarget(event) as HTMLElement;\n\n if (isCustom(event) || !target.matches(BUTTON_SELECTOR)) {\n return;\n }\n\n const parent = target.parentNode;\n\n if (!parent) {\n return;\n }\n\n const code = parent.querySelector<HTMLElement>('pre code');\n if (!code) {\n return;\n }\n\n copyToClipboard(code.innerText).then(() => {\n notifySuccess(parent.querySelector('.yfm-clipboard-button'));\n });\n });\n}\n", "import {getEventTarget, isCustom} from './utils';\n\nconst Selector = {\n CUT: '.yfm .yfm-cut',\n TITLE: '.yfm .yfm-cut-title',\n CONTENT: '.yfm .yfm-cut-content',\n};\n\nconst ClassName = {\n OPEN: 'open',\n};\n\nfunction toggleCut(element: HTMLElement) {\n const cutNode = element.parentNode;\n\n if (!(cutNode instanceof HTMLElement)) {\n return;\n }\n\n cutNode.classList.toggle(ClassName.OPEN);\n}\n\nfunction matchTitle(target: EventTarget | null) {\n if (!(target instanceof HTMLElement)) {\n return false;\n }\n\n return target?.matches?.(Selector.TITLE);\n}\n\nfunction findTitleInPath(event: MouseEvent): HTMLElement | undefined {\n const target = getEventTarget(event);\n\n if (matchTitle(target)) {\n return target as HTMLElement;\n }\n\n const path = event.composedPath?.();\n\n return path?.find(matchTitle) as HTMLElement | undefined;\n}\n\nif (typeof document !== 'undefined') {\n document.addEventListener('click', (event) => {\n if (isCustom(event)) {\n return;\n }\n\n const title = findTitleInPath(event);\n\n if (!title) {\n return;\n }\n\n toggleCut(title);\n });\n}\n", "export const Selector = {\n TITLE: '.yfm .yfm-term_title',\n CONTENT: '.yfm .yfm-term_dfn',\n};\nexport const openClass = 'open';\nexport const openDefinitionClass = Selector.CONTENT.replace(/\\./g, '') + ' ' + openClass;\nlet isListenerNeeded = true;\n\nexport function createDefinitionElement(termElement: HTMLElement) {\n const termKey = termElement.getAttribute('term-key');\n const definitionTemplate = document.getElementById(\n `${termKey}_template`,\n ) as HTMLTemplateElement;\n const definitionElement = definitionTemplate?.content.cloneNode(true).firstChild as HTMLElement;\n\n definitionTemplate?.parentElement?.appendChild(definitionElement);\n definitionTemplate.remove();\n\n return definitionElement;\n}\n\nexport function setDefinitionId(definitionElement: HTMLElement, termElement: HTMLElement): void {\n const termId = termElement.getAttribute('id') || Math.random().toString(36).substr(2, 8);\n definitionElement?.setAttribute('term-id', termId);\n}\n\nexport function setDefinitionPosition(\n definitionElement: HTMLElement,\n termElement: HTMLElement,\n): void {\n const {\n x: termX,\n y: termY,\n right: termRight,\n left: termLeft,\n width: termWidth,\n height: termHeight,\n } = termElement.getBoundingClientRect();\n\n const termParent = termParentElement(termElement);\n\n if (!termParent) {\n return;\n }\n\n const {right: termParentRight, left: termParentLeft} = termParent.getBoundingClientRect();\n\n if ((termParentRight < termLeft || termParentLeft > termRight) && !isListenerNeeded) {\n closeDefinition(definitionElement);\n return;\n }\n\n if (isListenerNeeded && termParent) {\n termParent.addEventListener('scroll', termOnResize);\n isListenerNeeded = false;\n }\n\n const relativeX = Number(definitionElement.getAttribute('relativeX'));\n const relativeY = Number(definitionElement.getAttribute('relativeY'));\n\n if (relativeX === termX && relativeY === termY) {\n return;\n }\n\n definitionElement.setAttribute('relativeX', String(termX));\n definitionElement.setAttribute('relativeY', String(termY));\n\n const offsetTop = termHeight + 5;\n const definitionParent = definitionElement.parentElement;\n\n if (!definitionParent) {\n return;\n }\n\n const {width: definitionWidth} = definitionElement.getBoundingClientRect();\n const {left: definitionParentLeft} = definitionParent.getBoundingClientRect();\n\n // If definition not fit document change base alignment\n const definitionLeftCoordinate = Number(getCoords(termElement).left);\n const definitionRightCoordinate = definitionWidth + definitionLeftCoordinate;\n\n const definitionOutOfScreenOnLeft = definitionLeftCoordinate - definitionWidth < 0;\n const definitionOutOfScreenOnRight = definitionRightCoordinate > document.body.clientWidth;\n\n const isAlignSwapped = definitionOutOfScreenOnRight || document.dir === 'rtl';\n const fitDefinitionDocument =\n isAlignSwapped && !definitionOutOfScreenOnLeft ? definitionWidth - termWidth : 0;\n const customHeaderTop = getCoords(definitionParent).top - definitionParent.offsetTop;\n const offsetRight = 5;\n const shiftLeft = definitionOutOfScreenOnRight\n ? definitionRightCoordinate - document.body.clientWidth + offsetRight\n : 0;\n const offsetLeft =\n getCoords(termElement).left -\n definitionParentLeft +\n definitionParent.offsetLeft -\n fitDefinitionDocument;\n\n const isShiftLeftNeeded = offsetLeft + definitionWidth >= document.body.clientWidth;\n\n definitionElement.style.top =\n Number(getCoords(termElement).top + offsetTop - customHeaderTop) + 'px';\n definitionElement.style.left = Number(offsetLeft - (isShiftLeftNeeded ? shiftLeft : 0)) + 'px';\n}\n\nfunction termOnResize() {\n const openDefinition = document.getElementsByClassName(openDefinitionClass)[0] as HTMLElement;\n\n if (!openDefinition) {\n return;\n }\n const termId = openDefinition.getAttribute('term-id') || '';\n const termElement = document.getElementById(termId);\n\n if (!termElement) {\n return;\n }\n\n setDefinitionPosition(openDefinition, termElement);\n}\n\nfunction termParentElement(term: HTMLElement | null) {\n if (!term) {\n return null;\n }\n\n const closestScrollableParent = term.closest('table') || term.closest('code');\n\n return closestScrollableParent || term.parentElement;\n}\n\nexport function closeDefinition(definition: HTMLElement) {\n definition.classList.remove(openClass);\n const termId = definition.getAttribute('term-id') || '';\n const termParent = termParentElement(document.getElementById(termId));\n\n if (!termParent) {\n return;\n }\n\n termParent.removeEventListener('scroll', termOnResize);\n isListenerNeeded = true;\n}\n\nfunction getCoords(elem: HTMLElement) {\n const box = elem.getBoundingClientRect();\n\n const body = document.body;\n const docEl = document.documentElement;\n\n const scrollTop = window.pageYOffset || docEl.scrollTop || body.scrollTop;\n const scrollLeft = window.pageXOffset || docEl.scrollLeft || body.scrollLeft;\n\n const clientTop = docEl.clientTop || body.clientTop || 0;\n const clientLeft = docEl.clientLeft || body.clientLeft || 0;\n\n const top = box.top + scrollTop - clientTop;\n const left = box.left + scrollLeft - clientLeft;\n\n return {top: Math.round(top), left: Math.round(left)};\n}\n", "import {\n Selector,\n closeDefinition,\n createDefinitionElement,\n openClass,\n openDefinitionClass,\n setDefinitionId,\n setDefinitionPosition,\n} from './utils';\nimport {getEventTarget, isCustom} from '../utils';\n\nif (typeof document !== 'undefined') {\n document.addEventListener('click', (event) => {\n const openDefinition = document.getElementsByClassName(\n openDefinitionClass,\n )[0] as HTMLElement;\n const target = getEventTarget(event) as HTMLElement;\n\n const termId = target.getAttribute('id');\n const termKey = target.getAttribute('term-key');\n let definitionElement = document.getElementById(termKey + '_element');\n\n if (termKey && !definitionElement) {\n definitionElement = createDefinitionElement(target);\n }\n\n const isSameTerm = openDefinition && termId === openDefinition.getAttribute('term-id');\n if (isSameTerm) {\n closeDefinition(openDefinition);\n return;\n }\n\n const isTargetDefinitionContent = target.closest(\n [Selector.CONTENT.replace(' ', ''), openClass].join('.'),\n );\n\n if (openDefinition && !isTargetDefinitionContent) {\n closeDefinition(openDefinition);\n }\n\n if (isCustom(event) || !target.matches(Selector.TITLE) || !definitionElement) {\n return;\n }\n\n setDefinitionId(definitionElement, target);\n setDefinitionPosition(definitionElement, target);\n\n definitionElement.classList.toggle(openClass);\n });\n\n document.addEventListener('keydown', (event) => {\n const openDefinition = document.getElementsByClassName(\n openDefinitionClass,\n )[0] as HTMLElement;\n if (event.key === 'Escape' && openDefinition) {\n closeDefinition(openDefinition);\n }\n });\n\n window.addEventListener('resize', () => {\n const openDefinition = document.getElementsByClassName(\n openDefinitionClass,\n )[0] as HTMLElement;\n\n if (!openDefinition) {\n return;\n }\n\n const termId = openDefinition.getAttribute('term-id') || '';\n const termElement = document.getElementById(termId);\n\n if (!termElement) {\n openDefinition.classList.toggle(openClass);\n return;\n }\n\n setDefinitionPosition(openDefinition, termElement);\n });\n}\n", "export const WIDE_ELEMENTS_SELECTOR = '[wide-content]';\n", "export default `<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" fill=\"none\" viewBox=\"0 0 16 16\"><path fill=\"currentColor\" fill-rule=\"evenodd\" d=\"M7.754 2.004a.75.75 0 0 0 0 1.5h4.75v4.742a.75.75 0 0 0 1.5 0V2.754a.75.75 0 0 0-.75-.75zm.492 11.992a.75.75 0 0 0 0-1.5h-4.75V7.754a.75.75 0 0 0-1.5 0v5.492a.75.75 0 0 0 .75.75z\" clip-rule=\"evenodd\"/></svg>`;\n", "export default `<svg width=\"28\" height=\"28\" viewBox=\"0 0 28 28\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" class=\"close-action\"><path fillRule=\"evenodd\" clipRule=\"evenodd\" d=\"M9.46967 9.46967C9.76256 9.17678 10.2374 9.17678 10.5303 9.46967L14 12.9393L17.4697 9.46967C17.7626 9.17678 18.2374 9.17678 18.5303 9.46967C18.8232 9.76256 18.8232 10.2374 18.5303 10.5303L15.0607 14L18.5303 17.4697C18.8232 17.7626 18.8232 18.2374 18.5303 18.5303C18.2374 18.8232 17.7626 18.8232 17.4697 18.5303L14 15.0607L10.5303 18.5303C10.2374 18.8232 9.76256 18.8232 9.46967 18.5303C9.17678 18.2374 9.17678 17.7626 9.46967 17.4697L12.9393 14L9.46967 10.5303C9.17678 10.2374 9.17678 9.76256 9.46967 9.46967Z\" fill=\"var(--g-color-text-primary)\" fillOpacity=\"0.85\"/></svg>`;\n", "import closeIcon from './icons/close';\n\nconst remove = () => {\n if (!window.wideTemplate) {\n return;\n }\n\n window.wideTemplate.style.display = 'none';\n window.wideTemplate.content(undefined);\n};\n\nconst tbodyOf = (node: HTMLElement) => {\n if (node.tagName !== 'TABLE') {\n return undefined;\n }\n\n const elements = Array.from(node.children);\n\n const thead = elements.find((child) => child.tagName === 'THEAD');\n\n if (thead) {\n return undefined;\n }\n\n const tbody = elements.find((child) => child.tagName === 'TBODY');\n\n return tbody;\n};\n\ntype ModalContainer = NonNullable<typeof window.wideTemplate>;\n\n/* @todo refactor to markup with innerHTML @v8tenko */\n\nconst container = () => {\n if (window.wideTemplate) {\n return window.wideTemplate;\n }\n\n const template = document.createElement('div') as ModalContainer;\n template.classList.add('dc-doc-page', 'wide-container');\n\n const overlay = document.createElement('div');\n overlay.classList.add('wide-content-overlay');\n overlay.addEventListener('click', remove);\n\n const wrapper = document.createElement('div');\n wrapper.classList.add('yfm', 'wide-content-wrapper');\n\n const toolbar = document.createElement('div');\n toolbar.classList.add('wide-toolbar');\n\n const close = document.createElement('div');\n close.classList.add('wide-actions');\n close.addEventListener('click', remove);\n close.innerHTML = closeIcon;\n\n const title = document.createElement('p');\n title.classList.add('wide-entity-name');\n\n template.label = (content: string) => {\n title.innerHTML = content;\n };\n\n const content = document.createElement('div');\n content.classList.add('wide-content');\n\n template.content = (target?: Element) => {\n if (typeof target === 'undefined') {\n content.innerHTML = '';\n\n return;\n }\n\n const cloned = target.cloneNode(true) as HTMLElement;\n\n const tbody = tbodyOf(cloned);\n\n /* used to stretch single tbody to 100% */\n tbody?.classList?.add('wide-thead-content');\n\n content.replaceChildren(cloned);\n };\n\n toolbar.append(title, close);\n wrapper.append(toolbar, content);\n template.append(overlay, wrapper);\n\n template.style.display = 'none';\n document.body.appendChild(template);\n\n window.wideTemplate = template;\n\n return template;\n};\n\nconst render = (content: HTMLElement) => {\n const template = container();\n\n if (content.title) {\n template.label(content.title);\n }\n\n template.content(content);\n\n template.style.display = 'flex';\n};\n\nexport const modal = {\n render,\n remove,\n};\n", "import {WIDE_ELEMENTS_SELECTOR} from './constants';\nimport expand from './icons/expand';\nimport {modal} from './modal';\n\nconst wrap = (target: HTMLElement) => {\n if (target.parentElement?.classList.contains('wide-element-wrapper')) {\n return;\n }\n\n target.classList.add('wide-inner-element');\n\n const handler = document.createElement('div');\n\n handler.innerHTML = expand;\n handler.classList.add('wide-content-viewer');\n handler.addEventListener('click', () => modal.render(target));\n\n const container = document.createElement('div');\n\n container.classList.add('wide-element-wrapper');\n\n target.before(container);\n\n container.appendChild(target);\n container.appendChild(handler);\n};\n\nexport const applyWideMode = () => {\n const allWideElements = Array.from(\n document.querySelectorAll(WIDE_ELEMENTS_SELECTOR),\n ) as HTMLElement[];\n\n allWideElements.forEach(wrap);\n};\n", "import {applyWideMode} from './wide-mode/apply';\n\nconst patch = () => {\n applyWideMode();\n};\n\nwindow.patchAfterRender = patch;\n"],
|
|
5
|
-
"mappings": "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",
|
|
4
|
+
"sourcesContent": ["'use strict';\n\n// Node getRootNode(optional GetRootNodeOptions options);\n\n/**\n * Returns the context object\u2019s shadow-including root if options\u2019s composed is true.\n * Returns the context object\u2019s root otherwise.\n *\n * The root of an object is itself, if its parent is null, or else it is the root of its parent.\n *\n * The shadow-including root of an object is its root\u2019s host\u2019s shadow-including root,\n * if the object\u2019s root is a shadow root, and its root otherwise.\n *\n * https://dom.spec.whatwg.org/#dom-node-getrootnode\n *\n * @memberof Node.prototype\n * @param {!Object} [opt = {}] - Options.\n * @param {!boolean} [opt.composed] - See above description.\n * @returns {!Node} The root node.\n */\nfunction getRootNode(opt) {\n var composed = typeof opt === 'object' && Boolean(opt.composed);\n\n return composed ? getShadowIncludingRoot(this) : getRoot(this);\n}\n\nfunction getShadowIncludingRoot(node) {\n var root = getRoot(node);\n\n if (isShadowRoot(root)) {\n return getShadowIncludingRoot(root.host);\n }\n\n return root;\n}\n\nfunction getRoot(node) {\n if (node.parentNode != null) {\n return getRoot(node.parentNode);\n }\n\n return node;\n}\n\nfunction isShadowRoot(node) {\n return node.nodeName === '#document-fragment' && node.constructor.name === 'ShadowRoot';\n}\n\nif (typeof module === 'object' && module.exports) {\n module.exports = getRootNode;\n}\n", "import type {TabsOrientation} from './plugin/transform';\nimport type {TabsController} from './runtime/TabsController';\n\nexport const TABS_CLASSNAME = 'yfm-tabs';\nexport const TABS_VERTICAL_CLASSNAME = 'yfm-tabs-vertical';\nexport const TABS_LIST_CLASSNAME = 'yfm-tab-list';\nexport const TAB_CLASSNAME = 'yfm-tab';\nexport const TAB_PANEL_CLASSNAME = 'yfm-tab-panel';\nexport const ACTIVE_CLASSNAME = 'active';\nexport const VERTICAL_TAB_CLASSNAME = 'yfm-vertical-tab';\n\nexport const GROUP_DATA_KEY = 'data-diplodoc-group';\nexport const TAB_DATA_KEY = 'data-diplodoc-key';\nexport const TAB_DATA_ID = 'data-diplodoc-id';\nexport const TAB_DATA_VERTICAL_TAB = 'data-diplodoc-vertical-tab';\nexport const TAB_ACTIVE_KEY = 'data-diplodoc-is-active';\nexport const TAB_RADIO_KEY = 'data-diplodoc-input';\n\nexport const DEFAULT_TABS_GROUP_PREFIX = 'defaultTabsGroup-';\n\nexport interface Tab {\n group?: string;\n key: string;\n align: TabsOrientation;\n}\n\nexport interface SelectedTabEvent {\n tab: Tab;\n currentTabId?: string;\n}\n\nexport const GLOBAL_SYMBOL: unique symbol = Symbol.for('diplodocTabs');\n\ndeclare global {\n interface Window {\n [GLOBAL_SYMBOL]: TabsController;\n }\n}\n", "export const getEventTarget = (event: Event) => {\n const path = event.composedPath();\n return Array.isArray(path) && path.length > 0 ? path[0] : event.target;\n};\n\nexport const isCustom = (event: Event) => {\n const target = getEventTarget(event);\n return !target || !(target as HTMLElement).matches;\n};\n\nexport const getClosestScrollableParent = (element: HTMLElement): HTMLElement | undefined => {\n if (Math.abs(element.scrollHeight - element.clientHeight) > 1) {\n return element;\n }\n\n return element.parentElement ? getClosestScrollableParent(element.parentElement) : undefined;\n};\n\nexport interface ElementOffset {\n top: number;\n left: number;\n scrollTop: number;\n scrollLeft: number;\n}\n\nexport const getOffsetByScrollableParent = (\n element: HTMLElement,\n scrollableParent: HTMLElement,\n): ElementOffset => {\n const elementBounds = element.getBoundingClientRect();\n const scrollableParentBounds = scrollableParent.getBoundingClientRect();\n return {\n top: elementBounds.top - scrollableParentBounds.top,\n left: elementBounds.left - scrollableParentBounds.left,\n scrollTop: scrollableParent.scrollTop,\n scrollLeft: scrollableParent.scrollLeft,\n };\n};\n", "import {\n ACTIVE_CLASSNAME,\n DEFAULT_TABS_GROUP_PREFIX,\n GROUP_DATA_KEY,\n SelectedTabEvent,\n TABS_CLASSNAME,\n TABS_LIST_CLASSNAME,\n TABS_VERTICAL_CLASSNAME,\n TAB_CLASSNAME,\n TAB_DATA_ID,\n TAB_DATA_KEY,\n TAB_PANEL_CLASSNAME,\n Tab,\n} from '../common';\nimport type {TabsOrientation} from '../plugin/transform';\nimport {\n ElementOffset,\n getClosestScrollableParent,\n getEventTarget,\n getOffsetByScrollableParent,\n isCustom,\n} from './utils';\n\nconst Selector = {\n TABS: `.${TABS_CLASSNAME}`,\n TAB_LIST: `.${TABS_LIST_CLASSNAME}`,\n TAB: `.${TAB_CLASSNAME}`,\n TAB_PANEL: `.${TAB_PANEL_CLASSNAME}`,\n VERTICAL_TABS: `.${TABS_VERTICAL_CLASSNAME}`,\n};\n\nexport interface ISelectTabByIdOptions {\n scrollToElement: boolean;\n}\n\ntype Handler = (data: SelectedTabEvent) => void;\n\ntype TabSwitchDirection = 'left' | 'right';\n\nexport class TabsController {\n private _document: Document;\n\n private _onSelectTabHandlers: Set<Handler> = new Set();\n\n constructor(document: Document) {\n this._document = document;\n this._document.addEventListener('click', (event) => {\n const target = getEventTarget(event) as HTMLElement;\n const areVertical = this.areTabsVertical(target);\n\n if (isCustom(event)) {\n return;\n }\n\n if (!(this.isValidTabElement(target) || areVertical)) {\n return;\n }\n\n const tab = this.getTabDataFromHTMLElement(target);\n\n if (tab) {\n this._selectTab(tab, target);\n }\n });\n this._document.addEventListener('keydown', (event) => {\n let direction: TabSwitchDirection | null = null;\n switch (event.key) {\n case 'ArrowLeft': {\n direction = 'left';\n break;\n }\n case 'ArrowRight': {\n direction = 'right';\n break;\n }\n }\n if (!direction) {\n return;\n }\n\n const target = getEventTarget(event) as HTMLElement;\n\n if (isCustom(event) || !this.isValidTabElement(target)) {\n return;\n }\n\n const {tabs, nodes} = this.getTabs(target);\n const currentTab = this.getTabDataFromHTMLElement(target);\n const currentTabIndex = tabs.findIndex(\n ({key}) => currentTab?.key && key === currentTab.key,\n );\n if (!currentTab || tabs.length <= 1 || currentTabIndex === -1) {\n return;\n }\n\n const newIndex =\n (currentTabIndex + (direction === 'left' ? -1 : 1) + tabs.length) % tabs.length;\n\n this.selectTab(tabs[newIndex]);\n nodes[newIndex].focus();\n });\n }\n\n onSelectTab(handler: Handler) {\n this._onSelectTabHandlers.add(handler);\n\n return () => {\n this._onSelectTabHandlers.delete(handler);\n };\n }\n\n selectTabById(id: string, options?: ISelectTabByIdOptions) {\n const target = this._document.querySelector(\n `${Selector.TAB}[${TAB_DATA_ID}=\"${id}\"]`,\n ) as HTMLElement;\n\n if (!target || !this.isValidTabElement(target)) {\n return;\n }\n\n const tab = this.getTabDataFromHTMLElement(target);\n\n if (tab) {\n this._selectTab(tab, target);\n }\n\n if (options?.scrollToElement) {\n target.scrollIntoView();\n }\n }\n\n selectTab(tab: Tab) {\n this._selectTab(tab);\n }\n\n private _selectTab(tab: Tab, targetTab?: HTMLElement) {\n const {group, key, align} = tab;\n\n if (!group) {\n return;\n }\n\n const scrollableParent = targetTab && getClosestScrollableParent(targetTab);\n const previousTargetOffset =\n scrollableParent && getOffsetByScrollableParent(targetTab, scrollableParent);\n\n const updatedTabs = this.updateHTML({group, key, align}, align);\n\n if (updatedTabs > 0) {\n this.fireSelectTabEvent({group, key, align}, targetTab?.dataset.diplodocId);\n\n if (previousTargetOffset) {\n this.resetScroll(targetTab, scrollableParent, previousTargetOffset);\n }\n }\n }\n\n private updateHTML(tab: Required<Tab>, align: TabsOrientation) {\n switch (align) {\n case 'radio': {\n return this.updateHTMLVertical(tab);\n }\n case 'horizontal': {\n return this.updateHTMLHorizontal(tab);\n }\n }\n\n return 0;\n }\n\n private updateHTMLVertical(tab: Required<Tab>) {\n const {group, key} = tab;\n\n const tabs = this._document.querySelectorAll(\n `${Selector.TABS}[${GROUP_DATA_KEY}=\"${group}\"] ${Selector.TAB}[${TAB_DATA_KEY}=\"${key}\"]`,\n );\n\n let updated = 0;\n\n tabs.forEach((tab) => {\n const root = tab.parentNode!;\n const elements = root.children;\n\n for (let i = 0; i < elements.length; i += 2) {\n const [title, content] = [elements.item(i), elements.item(i + 1)] as HTMLElement[];\n\n const input = title.children.item(0) as HTMLInputElement;\n\n if (input.hasAttribute('checked')) {\n title.classList.remove('active');\n content?.classList.remove('active');\n input.removeAttribute('checked');\n }\n\n if (title === tab) {\n title.classList.add('active');\n content?.classList.add('active');\n input.setAttribute('checked', 'true');\n }\n\n updated++;\n }\n });\n\n return updated;\n }\n\n private updateHTMLHorizontal(tab: Required<Tab>) {\n const {group, key} = tab;\n\n const tabs = this._document.querySelectorAll(\n `${Selector.TABS}[${GROUP_DATA_KEY}=\"${group}\"] ${Selector.TAB}[${TAB_DATA_KEY}=\"${key}\"]`,\n );\n\n let updated = 0;\n\n tabs.forEach((element) => {\n const htmlElem = element as HTMLElement;\n if (!this.isValidTabElement(htmlElem) || htmlElem.dataset.diplodocIsActive === 'true') {\n return;\n }\n\n updated++;\n\n const tab = element;\n const tabList = tab.parentNode;\n const tabsContainer = tabList?.parentNode;\n const allTabs = Array.from(tabList?.querySelectorAll(Selector.TAB) || []);\n const allPanels = Array.from(tabsContainer?.children || []).filter((node) =>\n node.classList.contains(TAB_PANEL_CLASSNAME),\n );\n const targetIndex = allTabs.indexOf(tab);\n\n allTabs.forEach((tab, i) => {\n const panel = allPanels[i];\n const isTargetTab = i === targetIndex;\n const htmlElem = tab as HTMLElement;\n\n htmlElem.dataset.diplodocIsActive = isTargetTab ? 'true' : 'false';\n\n tab.classList.toggle(ACTIVE_CLASSNAME, isTargetTab);\n tab.setAttribute('aria-selected', isTargetTab.toString());\n tab.setAttribute('tabindex', isTargetTab ? '0' : '-1');\n panel.classList.toggle(ACTIVE_CLASSNAME, isTargetTab);\n });\n });\n\n return updated;\n }\n\n private resetScroll(\n target: HTMLElement,\n scrollableParent: HTMLElement,\n previousTargetOffset: ElementOffset,\n ) {\n const targetOffset = getOffsetByScrollableParent(target, scrollableParent);\n const topDelta = targetOffset.top - previousTargetOffset.top;\n const leftDelta = targetOffset.left - previousTargetOffset.left;\n const scrollTopDelta = targetOffset.scrollTop - previousTargetOffset.scrollTop;\n const scrollLeftDelta = targetOffset.scrollLeft - previousTargetOffset.scrollLeft;\n scrollableParent.scrollTo(\n scrollableParent.scrollLeft + leftDelta - scrollLeftDelta,\n scrollableParent.scrollTop + topDelta - scrollTopDelta,\n );\n }\n\n private fireSelectTabEvent(tab: Required<Tab>, diplodocId?: string) {\n const {group, key, align} = tab;\n\n const eventTab: Tab = group.startsWith(DEFAULT_TABS_GROUP_PREFIX) ? {key, align} : tab;\n\n this._onSelectTabHandlers.forEach((handler) => {\n handler({tab: eventTab, currentTabId: diplodocId});\n });\n }\n\n private isValidTabElement(element: HTMLElement) {\n const tabList =\n element.matches(Selector.TAB) && element.dataset.diplodocId\n ? element.closest(Selector.TAB_LIST)\n : null;\n\n return tabList?.closest(Selector.TABS);\n }\n\n private areTabsVertical(target: HTMLElement) {\n const parent = target.parentElement;\n\n return target.dataset.diplodocVerticalTab || Boolean(parent?.dataset.diplodocVerticalTab);\n }\n\n private getTabDataFromHTMLElement(target: HTMLElement): Tab | null {\n if (this.areTabsVertical(target)) {\n const tab = target.dataset.diplodocVerticalTab ? target : target.parentElement!;\n\n const key = tab.dataset.diplodocKey;\n const group = (tab.closest(Selector.TABS) as HTMLElement)?.dataset.diplodocGroup;\n return key && group ? {group, key, align: 'radio'} : null;\n }\n\n const key = target.dataset.diplodocKey;\n const group = (target.closest(Selector.TABS) as HTMLElement)?.dataset.diplodocGroup;\n return key && group ? {group, key, align: 'horizontal'} : null;\n }\n\n private getTabs(target: HTMLElement): {tabs: Tab[]; nodes: NodeListOf<HTMLElement>} {\n const group = (target.closest(Selector.TABS) as HTMLElement)?.dataset.diplodocGroup;\n const nodes = (\n target.closest(Selector.TAB_LIST) as HTMLElement\n )?.querySelectorAll<HTMLElement>(Selector.TAB);\n\n const tabs: Tab[] = [];\n nodes.forEach((tabEl) => {\n const key = tabEl?.dataset.diplodocKey;\n if (!key) {\n return;\n }\n\n /** horizontal-only supported feature (used in left/right button click) */\n tabs.push({\n group,\n key,\n align: 'horizontal',\n });\n });\n\n return {tabs, nodes};\n }\n}\n", "import {GLOBAL_SYMBOL} from '../common';\nimport {TabsController} from './TabsController';\nimport './scss/tabs.scss';\n\nif (typeof window !== 'undefined' && typeof document !== 'undefined' && !window[GLOBAL_SYMBOL]) {\n window[GLOBAL_SYMBOL] = new TabsController(document);\n}\n", "import getRootNode from 'get-root-node-polyfill';\n\nif (typeof document !== 'undefined') {\n // matches polyfill for old edge\n (function (e) {\n const matches =\n e.matches ||\n e.matchesSelector ||\n e.webkitMatchesSelector ||\n e.mozMatchesSelector ||\n e.msMatchesSelector ||\n e.oMatchesSelector;\n\n if (matches) {\n e.matches = e.matchesSelector = matches;\n } else {\n e.matches = e.matchesSelector = function matches(selector) {\n const rootNode = e.getRootNode ? e.getRootNode() : getRootNode.call(e);\n const matches = rootNode.querySelectorAll(selector);\n const th = this;\n return Array.prototype.some.call(matches, (e) => {\n return e === th;\n });\n };\n }\n })(Element.prototype);\n}\n", "export const getEventTarget = (event: Event) => {\n const path = event.composedPath();\n return Array.isArray(path) && path.length > 0 ? path[0] : event.target;\n};\n\nexport const isCustom = (event: Event) => {\n const target = getEventTarget(event);\n return !target || !(target as HTMLElement).matches;\n};\n", "import {getEventTarget, isCustom} from './utils';\n\nconst BUTTON_SELECTOR = '.yfm-clipboard-button';\n\nfunction copyToClipboard(text: string) {\n if (!text) {\n return Promise.resolve();\n }\n\n if (navigator.clipboard && typeof navigator.clipboard.writeText) {\n return navigator.clipboard.writeText(text);\n }\n const textarea = document.createElement('textarea');\n textarea.setAttribute('style', 'position: absolute; left: 1000%');\n textarea.textContent = text;\n document.body.append(textarea);\n\n textarea.select();\n document.execCommand('copy');\n\n document.body.removeChild(textarea);\n\n return Promise.resolve();\n}\n\nfunction notifySuccess(svgButton: HTMLElement | null) {\n if (!svgButton) {\n return;\n }\n\n const id = svgButton.getAttribute('data-animation');\n // @ts-expect-error\n const icon = svgButton.getRootNode().getElementById(`visibileAnimation-${id}`);\n\n if (!icon) {\n return;\n }\n\n icon.beginElement();\n}\n\nif (typeof document !== 'undefined') {\n document.addEventListener('click', (event) => {\n const target = getEventTarget(event) as HTMLElement;\n\n if (isCustom(event) || !target.matches(BUTTON_SELECTOR)) {\n return;\n }\n\n const parent = target.parentNode;\n\n if (!parent) {\n return;\n }\n\n const code = parent.querySelector<HTMLElement>('pre code');\n if (!code) {\n return;\n }\n\n copyToClipboard(code.innerText).then(() => {\n notifySuccess(parent.querySelector('.yfm-clipboard-button'));\n });\n });\n}\n", "import {getEventTarget, isCustom} from './utils';\n\nconst Selector = {\n CUT: '.yfm .yfm-cut',\n TITLE: '.yfm .yfm-cut-title',\n CONTENT: '.yfm .yfm-cut-content',\n};\n\nconst ClassName = {\n OPEN: 'open',\n};\n\nfunction toggleCut(element: HTMLElement) {\n const cutNode = element.parentNode;\n\n if (!(cutNode instanceof HTMLElement)) {\n return;\n }\n\n cutNode.classList.toggle(ClassName.OPEN);\n}\n\nfunction matchTitle(target: EventTarget | null) {\n if (!(target instanceof HTMLElement)) {\n return false;\n }\n\n return target?.matches?.(Selector.TITLE);\n}\n\nfunction findTitleInPath(event: MouseEvent): HTMLElement | undefined {\n const target = getEventTarget(event);\n\n if (matchTitle(target)) {\n return target as HTMLElement;\n }\n\n const path = event.composedPath?.();\n\n return path?.find(matchTitle) as HTMLElement | undefined;\n}\n\nif (typeof document !== 'undefined') {\n document.addEventListener('click', (event) => {\n if (isCustom(event)) {\n return;\n }\n\n const title = findTitleInPath(event);\n\n if (!title) {\n return;\n }\n\n toggleCut(title);\n });\n}\n", "export const Selector = {\n TITLE: '.yfm .yfm-term_title',\n CONTENT: '.yfm .yfm-term_dfn',\n};\nexport const openClass = 'open';\nexport const openDefinitionClass = Selector.CONTENT.replace(/\\./g, '') + ' ' + openClass;\nlet isListenerNeeded = true;\n\nexport function createDefinitionElement(termElement: HTMLElement) {\n const termKey = termElement.getAttribute('term-key');\n const definitionTemplate = document.getElementById(\n `${termKey}_template`,\n ) as HTMLTemplateElement;\n const definitionElement = definitionTemplate?.content.cloneNode(true).firstChild as HTMLElement;\n\n definitionTemplate?.parentElement?.appendChild(definitionElement);\n definitionTemplate.remove();\n\n return definitionElement;\n}\n\nexport function setDefinitionId(definitionElement: HTMLElement, termElement: HTMLElement): void {\n const termId = termElement.getAttribute('id') || Math.random().toString(36).substr(2, 8);\n definitionElement?.setAttribute('term-id', termId);\n}\n\nexport function setDefinitionPosition(\n definitionElement: HTMLElement,\n termElement: HTMLElement,\n): void {\n const {\n x: termX,\n y: termY,\n right: termRight,\n left: termLeft,\n width: termWidth,\n height: termHeight,\n } = termElement.getBoundingClientRect();\n\n const termParent = termParentElement(termElement);\n\n if (!termParent) {\n return;\n }\n\n const {right: termParentRight, left: termParentLeft} = termParent.getBoundingClientRect();\n\n if ((termParentRight < termLeft || termParentLeft > termRight) && !isListenerNeeded) {\n closeDefinition(definitionElement);\n return;\n }\n\n if (isListenerNeeded && termParent) {\n termParent.addEventListener('scroll', termOnResize);\n isListenerNeeded = false;\n }\n\n const relativeX = Number(definitionElement.getAttribute('relativeX'));\n const relativeY = Number(definitionElement.getAttribute('relativeY'));\n\n if (relativeX === termX && relativeY === termY) {\n return;\n }\n\n definitionElement.setAttribute('relativeX', String(termX));\n definitionElement.setAttribute('relativeY', String(termY));\n\n const offsetTop = termHeight + 5;\n const definitionParent = definitionElement.parentElement;\n\n if (!definitionParent) {\n return;\n }\n\n const {width: definitionWidth} = definitionElement.getBoundingClientRect();\n const {left: definitionParentLeft} = definitionParent.getBoundingClientRect();\n\n // If definition not fit document change base alignment\n const definitionLeftCoordinate = Number(getCoords(termElement).left);\n const definitionRightCoordinate = definitionWidth + definitionLeftCoordinate;\n\n const definitionOutOfScreenOnLeft = definitionLeftCoordinate - definitionWidth < 0;\n const definitionOutOfScreenOnRight = definitionRightCoordinate > document.body.clientWidth;\n\n const isAlignSwapped = definitionOutOfScreenOnRight || document.dir === 'rtl';\n const fitDefinitionDocument =\n isAlignSwapped && !definitionOutOfScreenOnLeft ? definitionWidth - termWidth : 0;\n const customHeaderTop = getCoords(definitionParent).top - definitionParent.offsetTop;\n const offsetRight = 5;\n const shiftLeft = definitionOutOfScreenOnRight\n ? definitionRightCoordinate - document.body.clientWidth + offsetRight\n : 0;\n const offsetLeft =\n getCoords(termElement).left -\n definitionParentLeft +\n definitionParent.offsetLeft -\n fitDefinitionDocument;\n\n const isShiftLeftNeeded = offsetLeft + definitionWidth >= document.body.clientWidth;\n\n definitionElement.style.top =\n Number(getCoords(termElement).top + offsetTop - customHeaderTop) + 'px';\n definitionElement.style.left = Number(offsetLeft - (isShiftLeftNeeded ? shiftLeft : 0)) + 'px';\n}\n\nfunction termOnResize() {\n const openDefinition = document.getElementsByClassName(openDefinitionClass)[0] as HTMLElement;\n\n if (!openDefinition) {\n return;\n }\n const termId = openDefinition.getAttribute('term-id') || '';\n const termElement = document.getElementById(termId);\n\n if (!termElement) {\n return;\n }\n\n setDefinitionPosition(openDefinition, termElement);\n}\n\nfunction termParentElement(term: HTMLElement | null) {\n if (!term) {\n return null;\n }\n\n const closestScrollableParent = term.closest('table') || term.closest('code');\n\n return closestScrollableParent || term.parentElement;\n}\n\nexport function closeDefinition(definition: HTMLElement) {\n definition.classList.remove(openClass);\n const termId = definition.getAttribute('term-id') || '';\n const termParent = termParentElement(document.getElementById(termId));\n\n if (!termParent) {\n return;\n }\n\n termParent.removeEventListener('scroll', termOnResize);\n isListenerNeeded = true;\n}\n\nfunction getCoords(elem: HTMLElement) {\n const box = elem.getBoundingClientRect();\n\n const body = document.body;\n const docEl = document.documentElement;\n\n const scrollTop = window.pageYOffset || docEl.scrollTop || body.scrollTop;\n const scrollLeft = window.pageXOffset || docEl.scrollLeft || body.scrollLeft;\n\n const clientTop = docEl.clientTop || body.clientTop || 0;\n const clientLeft = docEl.clientLeft || body.clientLeft || 0;\n\n const top = box.top + scrollTop - clientTop;\n const left = box.left + scrollLeft - clientLeft;\n\n return {top: Math.round(top), left: Math.round(left)};\n}\n", "import {\n Selector,\n closeDefinition,\n createDefinitionElement,\n openClass,\n openDefinitionClass,\n setDefinitionId,\n setDefinitionPosition,\n} from './utils';\nimport {getEventTarget, isCustom} from '../utils';\n\nif (typeof document !== 'undefined') {\n document.addEventListener('click', (event) => {\n const openDefinition = document.getElementsByClassName(\n openDefinitionClass,\n )[0] as HTMLElement;\n const target = getEventTarget(event) as HTMLElement;\n\n const termId = target.getAttribute('id');\n const termKey = target.getAttribute('term-key');\n let definitionElement = document.getElementById(termKey + '_element');\n\n if (termKey && !definitionElement) {\n definitionElement = createDefinitionElement(target);\n }\n\n const isSameTerm = openDefinition && termId === openDefinition.getAttribute('term-id');\n if (isSameTerm) {\n closeDefinition(openDefinition);\n return;\n }\n\n const isTargetDefinitionContent = target.closest(\n [Selector.CONTENT.replace(' ', ''), openClass].join('.'),\n );\n\n if (openDefinition && !isTargetDefinitionContent) {\n closeDefinition(openDefinition);\n }\n\n if (isCustom(event) || !target.matches(Selector.TITLE) || !definitionElement) {\n return;\n }\n\n setDefinitionId(definitionElement, target);\n setDefinitionPosition(definitionElement, target);\n\n definitionElement.classList.toggle(openClass);\n });\n\n document.addEventListener('keydown', (event) => {\n const openDefinition = document.getElementsByClassName(\n openDefinitionClass,\n )[0] as HTMLElement;\n if (event.key === 'Escape' && openDefinition) {\n closeDefinition(openDefinition);\n }\n });\n\n window.addEventListener('resize', () => {\n const openDefinition = document.getElementsByClassName(\n openDefinitionClass,\n )[0] as HTMLElement;\n\n if (!openDefinition) {\n return;\n }\n\n const termId = openDefinition.getAttribute('term-id') || '';\n const termElement = document.getElementById(termId);\n\n if (!termElement) {\n openDefinition.classList.toggle(openClass);\n return;\n }\n\n setDefinitionPosition(openDefinition, termElement);\n });\n}\n", "export const WIDE_ELEMENTS_SELECTOR = '[wide-content]';\n", "export default `<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" fill=\"none\" viewBox=\"0 0 16 16\"><path fill=\"currentColor\" fill-rule=\"evenodd\" d=\"M7.754 2.004a.75.75 0 0 0 0 1.5h4.75v4.742a.75.75 0 0 0 1.5 0V2.754a.75.75 0 0 0-.75-.75zm.492 11.992a.75.75 0 0 0 0-1.5h-4.75V7.754a.75.75 0 0 0-1.5 0v5.492a.75.75 0 0 0 .75.75z\" clip-rule=\"evenodd\"/></svg>`;\n", "export default `<svg width=\"28\" height=\"28\" viewBox=\"0 0 28 28\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" class=\"close-action\"><path fillRule=\"evenodd\" clipRule=\"evenodd\" d=\"M9.46967 9.46967C9.76256 9.17678 10.2374 9.17678 10.5303 9.46967L14 12.9393L17.4697 9.46967C17.7626 9.17678 18.2374 9.17678 18.5303 9.46967C18.8232 9.76256 18.8232 10.2374 18.5303 10.5303L15.0607 14L18.5303 17.4697C18.8232 17.7626 18.8232 18.2374 18.5303 18.5303C18.2374 18.8232 17.7626 18.8232 17.4697 18.5303L14 15.0607L10.5303 18.5303C10.2374 18.8232 9.76256 18.8232 9.46967 18.5303C9.17678 18.2374 9.17678 17.7626 9.46967 17.4697L12.9393 14L9.46967 10.5303C9.17678 10.2374 9.17678 9.76256 9.46967 9.46967Z\" fill=\"var(--g-color-text-primary)\" fillOpacity=\"0.85\"/></svg>`;\n", "import closeIcon from './icons/close';\n\nconst remove = () => {\n if (!window.wideTemplate) {\n return;\n }\n\n window.wideTemplate.style.display = 'none';\n window.wideTemplate.content(undefined);\n};\n\nconst tbodyOf = (node: HTMLElement) => {\n if (node.tagName !== 'TABLE') {\n return undefined;\n }\n\n const elements = Array.from(node.children);\n\n const thead = elements.find((child) => child.tagName === 'THEAD');\n\n if (thead) {\n return undefined;\n }\n\n const tbody = elements.find((child) => child.tagName === 'TBODY');\n\n return tbody;\n};\n\ntype ModalContainer = NonNullable<typeof window.wideTemplate>;\n\n/* @todo refactor to markup with innerHTML @v8tenko */\n\nconst container = () => {\n if (window.wideTemplate) {\n return window.wideTemplate;\n }\n\n const template = document.createElement('div') as ModalContainer;\n template.classList.add('dc-doc-page', 'wide-container');\n\n const overlay = document.createElement('div');\n overlay.classList.add('wide-content-overlay');\n overlay.addEventListener('click', remove);\n\n const wrapper = document.createElement('div');\n wrapper.classList.add('yfm', 'wide-content-wrapper');\n\n const toolbar = document.createElement('div');\n toolbar.classList.add('wide-toolbar');\n\n const close = document.createElement('div');\n close.classList.add('wide-actions');\n close.addEventListener('click', remove);\n close.innerHTML = closeIcon;\n\n const title = document.createElement('p');\n title.classList.add('wide-entity-name');\n\n template.label = (content: string) => {\n title.innerHTML = content;\n };\n\n const content = document.createElement('div');\n content.classList.add('wide-content');\n\n template.content = (target?: Element) => {\n if (typeof target === 'undefined') {\n content.innerHTML = '';\n\n return;\n }\n\n const cloned = target.cloneNode(true) as HTMLElement;\n\n const tbody = tbodyOf(cloned);\n\n /* used to stretch single tbody to 100% */\n tbody?.classList?.add('wide-thead-content');\n\n content.replaceChildren(cloned);\n };\n\n toolbar.append(title, close);\n wrapper.append(toolbar, content);\n template.append(overlay, wrapper);\n\n template.style.display = 'none';\n document.body.appendChild(template);\n\n window.wideTemplate = template;\n\n return template;\n};\n\nconst render = (content: HTMLElement) => {\n const template = container();\n\n if (content.title) {\n template.label(content.title);\n }\n\n template.content(content);\n\n template.style.display = 'flex';\n};\n\nexport const modal = {\n render,\n remove,\n};\n", "import {WIDE_ELEMENTS_SELECTOR} from './constants';\nimport expand from './icons/expand';\nimport {modal} from './modal';\n\nconst wrap = (target: HTMLElement) => {\n if (target.parentElement?.classList.contains('wide-element-wrapper')) {\n return;\n }\n\n target.classList.add('wide-inner-element');\n\n const handler = document.createElement('div');\n\n handler.innerHTML = expand;\n handler.classList.add('wide-content-viewer');\n handler.addEventListener('click', () => modal.render(target));\n\n const container = document.createElement('div');\n\n container.classList.add('wide-element-wrapper');\n\n target.before(container);\n\n container.appendChild(target);\n container.appendChild(handler);\n};\n\nexport const applyWideMode = () => {\n const allWideElements = Array.from(\n document.querySelectorAll(WIDE_ELEMENTS_SELECTOR),\n ) as HTMLElement[];\n\n allWideElements.forEach(wrap);\n};\n", "import {applyWideMode} from './wide-mode/apply';\n\nconst patch = () => {\n applyWideMode();\n};\n\nif (typeof window !== 'undefined') {\n window.patchAfterRender = patch;\n}\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": ["getRootNode", "TABS_CLASSNAME", "TABS_VERTICAL_CLASSNAME", "TABS_LIST_CLASSNAME", "TAB_CLASSNAME", "TAB_PANEL_CLASSNAME", "ACTIVE_CLASSNAME", "GROUP_DATA_KEY", "TAB_DATA_KEY", "TAB_DATA_ID", "DEFAULT_TABS_GROUP_PREFIX", "GLOBAL_SYMBOL", "getEventTarget", "event", "path", "isCustom", "target", "getClosestScrollableParent", "element", "getOffsetByScrollableParent", "scrollableParent", "elementBounds", "scrollableParentBounds", "Selector", "TabsController", "document", "areVertical", "tab", "direction", "tabs", "nodes", "currentTab", "currentTabIndex", "key", "newIndex", "handler", "id", "options", "targetTab", "group", "align", "previousTargetOffset", "updated", "elements", "i", "title", "content", "input", "htmlElem", "tabList", "tabsContainer", "allTabs", "allPanels", "node", "targetIndex", "panel", "isTargetTab", "targetOffset", "topDelta", "leftDelta", "scrollTopDelta", "scrollLeftDelta", "diplodocId", "eventTab", "parent", "_a", "_b", "tabEl", "matches", "getRootNode", "e", "Selector", "Selector", "content", "container"]
|
|
7
7
|
}
|
package/dist/js/yfm.min.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";(()=>{(()=>{var Y=Object.create,V=Object.defineProperty,F=Object.getOwnPropertyDescriptor,j=Object.getOwnPropertyNames,G=Object.getPrototypeOf,K=Object.prototype.hasOwnProperty,U=(e,t)=>function(){return t||(0,e[j(e)[0]])((t={exports:{}}).exports,t),t.exports},Z=(e,t,n,i)=>{if(t&&typeof t=="object"||typeof t=="function")for(let c of j(t))!K.call(e,c)&&c!==n&&V(e,c,{get:()=>t[c],enumerable:!(i=F(t,c))||i.enumerable});return e},J=(e,t,n)=>(n=e!=null?Y(G(e)):{},Z(t||!e||!e.__esModule?V(n,"default",{value:e,enumerable:!0}):n,e)),Q=U({"../../node_modules/get-root-node-polyfill/index.js"(e,t){"use strict";function n(d){var p=typeof d=="object"&&!!d.composed;return p?i(this):c(this)}function i(d){var p=c(d);return m(p)?i(p.host):p}function c(d){return d.parentNode!=null?c(d.parentNode):d}function m(d){return d.nodeName==="#document-fragment"&&d.constructor.name==="ShadowRoot"}typeof t=="object"&&t.exports&&(t.exports=n)}});(()=>{var e="yfm-tabs",t="yfm-tabs-vertical",n="yfm-tab-list",i="yfm-tab",c="yfm-tab-panel",m="active",d="data-diplodoc-group",p="data-diplodoc-key",y="data-diplodoc-id",b="defaultTabsGroup-",E=Symbol.for("diplodocTabs"),S=o=>{let r=o.composedPath();return Array.isArray(r)&&r.length>0?r[0]:o.target},M=o=>{let r=S(o);return!r||!r.matches},P=o=>Math.abs(o.scrollHeight-o.clientHeight)>1?o:o.parentElement?P(o.parentElement):void 0,L=(o,r)=>{let l=o.getBoundingClientRect(),a=r.getBoundingClientRect();return{top:l.top-a.top,left:l.left-a.left,scrollTop:r.scrollTop,scrollLeft:r.scrollLeft}},h={TABS:`.${e}`,TAB_LIST:`.${n}`,TAB:`.${i}`,TAB_PANEL:`.${c}`,VERTICAL_TABS:`.${t}`},D=class{constructor(o){this._onSelectTabHandlers=new Set,this._document=o,this._document.addEventListener("click",r=>{let l=S(r),a=this.areTabsVertical(l);if(M(r)||!(this.isValidTabElement(l)||a))return;let s=this.getTabDataFromHTMLElement(l);s&&this._selectTab(s,l)}),this._document.addEventListener("keydown",r=>{let l=null;switch(r.key){case"ArrowLeft":{l="left";break}case"ArrowRight":{l="right";break}}if(!l)return;let a=S(r);if(M(r)||!this.isValidTabElement(a))return;let{tabs:s,nodes:f}=this.getTabs(a),u=this.getTabDataFromHTMLElement(a),v=s.findIndex(({key:g})=>(u==null?void 0:u.key)&&g===u.key);if(!u||s.length<=1||v===-1)return;let T=(v+(l==="left"?-1:1)+s.length)%s.length;this.selectTab(s[T]),f[T].focus()})}onSelectTab(o){return this._onSelectTabHandlers.add(o),()=>{this._onSelectTabHandlers.delete(o)}}selectTabById(o,r){let l=this._document.querySelector(`${h.TAB}[${y}="${o}"]`);if(!l||!this.isValidTabElement(l))return;let a=this.getTabDataFromHTMLElement(l);a&&this._selectTab(a,l),r!=null&&r.scrollToElement&&l.scrollIntoView()}selectTab(o){this._selectTab(o)}_selectTab(o,r){let{group:l,key:a,align:s}=o;if(!l)return;let f=r&&P(r),u=f&&L(r,f);this.updateHTML({group:l,key:a,align:s},s)>0&&(this.fireSelectTabEvent({group:l,key:a,align:s},r==null?void 0:r.dataset.diplodocId),u&&this.resetScroll(r,f,u))}updateHTML(o,r){switch(r){case"radio":return this.updateHTMLVertical(o);case"horizontal":return this.updateHTMLHorizontal(o)}return 0}updateHTMLVertical(o){let{group:r,key:l}=o,a=this._document.querySelectorAll(`${h.TABS}[${d}="${r}"] ${h.TAB}[${p}="${l}"]`),s=0;return a.forEach(f=>{let u=f.parentNode.children;for(let v=0;v<u.length;v+=2){let[T,g]=[u.item(v),u.item(v+1)],w=T.children.item(0);w.hasAttribute("checked")&&(T.classList.remove("active"),g==null||g.classList.remove("active"),w.removeAttribute("checked")),T===f&&(T.classList.add("active"),g==null||g.classList.add("active"),w.setAttribute("checked","true")),s++}}),s}updateHTMLHorizontal(o){let{group:r,key:l}=o,a=this._document.querySelectorAll(`${h.TABS}[${d}="${r}"] ${h.TAB}[${p}="${l}"]`),s=0;return a.forEach(f=>{let u=f;if(!this.isValidTabElement(u)||u.dataset.diplodocIsActive==="true")return;s++;let v=f,T=v.parentNode,g=T==null?void 0:T.parentNode,w=Array.from((T==null?void 0:T.querySelectorAll(h.TAB))||[]),be=Array.from((g==null?void 0:g.children)||[]).filter(A=>A.classList.contains(c)),Le=w.indexOf(v);w.forEach((A,X)=>{let we=be[X],C=X===Le,Ee=A;Ee.dataset.diplodocIsActive=C?"true":"false",A.classList.toggle(m,C),A.setAttribute("aria-selected",C.toString()),A.setAttribute("tabindex",C?"0":"-1"),we.classList.toggle(m,C)})}),s}resetScroll(o,r,l){let a=L(o,r),s=a.top-l.top,f=a.left-l.left,u=a.scrollTop-l.scrollTop,v=a.scrollLeft-l.scrollLeft;r.scrollTo(r.scrollLeft+f-v,r.scrollTop+s-u)}fireSelectTabEvent(o,r){let{group:l,key:a,align:s}=o,f=l.startsWith(b)?{key:a,align:s}:o;this._onSelectTabHandlers.forEach(u=>{u({tab:f,currentTabId:r})})}isValidTabElement(o){let r=o.matches(h.TAB)&&o.dataset.diplodocId?o.closest(h.TAB_LIST):null;return r==null?void 0:r.closest(h.TABS)}areTabsVertical(o){let r=o.parentElement;return o.dataset.diplodocVerticalTab||!!(r!=null&&r.dataset.diplodocVerticalTab)}getTabDataFromHTMLElement(o){var r,l;if(this.areTabsVertical(o)){let f=o.dataset.diplodocVerticalTab?o:o.parentElement,u=f.dataset.diplodocKey,v=(r=f.closest(h.TABS))==null?void 0:r.dataset.diplodocGroup;return u&&v?{group:v,key:u,align:"radio"}:null}let a=o.dataset.diplodocKey,s=(l=o.closest(h.TABS))==null?void 0:l.dataset.diplodocGroup;return a&&s?{group:s,key:a,align:"horizontal"}:null}getTabs(o){var r,l;let a=(r=o.closest(h.TABS))==null?void 0:r.dataset.diplodocGroup,s=(l=o.closest(h.TAB_LIST))==null?void 0:l.querySelectorAll(h.TAB),f=[];return s.forEach(u=>{let v=u==null?void 0:u.dataset.diplodocKey;v&&f.push({group:a,key:v,align:"horizontal"})}),{tabs:f,nodes:s}}};typeof window!="undefined"&&typeof document!="undefined"&&!window[E]&&(window[E]=new D(document))})();var ee=J(Q());typeof document!="undefined"&&function(e){let t=e.matches||e.matchesSelector||e.webkitMatchesSelector||e.mozMatchesSelector||e.msMatchesSelector||e.oMatchesSelector;t?e.matches=e.matchesSelector=t:e.matches=e.matchesSelector=function(i){let m=(e.getRootNode?e.getRootNode():ee.default.call(e)).querySelectorAll(i),d=this;return Array.prototype.some.call(m,p=>p===d)}}(Element.prototype);var N=e=>{let t=e.composedPath();return Array.isArray(t)&&t.length>0?t[0]:e.target},R=e=>{let t=N(e);return!t||!t.matches},te=".yfm-clipboard-button";function ne(e){if(!e)return Promise.resolve();if(navigator.clipboard&&typeof navigator.clipboard.writeText)return navigator.clipboard.writeText(e);let t=document.createElement("textarea");return t.setAttribute("style","position: absolute; left: 1000%"),t.textContent=e,document.body.append(t),t.select(),document.execCommand("copy"),document.body.removeChild(t),Promise.resolve()}function oe(e){if(!e)return;let t=e.getAttribute("data-animation"),n=e.getRootNode().getElementById(`visibileAnimation-${t}`);n&&n.beginElement()}typeof document!="undefined"&&document.addEventListener("click",e=>{let t=N(e);if(R(e)||!t.matches(te))return;let n=t.parentNode;if(!n)return;let i=n.querySelector("pre code");i&&ne(i.innerText).then(()=>{oe(n.querySelector(".yfm-clipboard-button"))})});var re={CUT:".yfm .yfm-cut",TITLE:".yfm .yfm-cut-title",CONTENT:".yfm .yfm-cut-content"},ie={OPEN:"open"};function le(e){let t=e.parentNode;t instanceof HTMLElement&&t.classList.toggle(ie.OPEN)}function q(e){var t;return e instanceof HTMLElement?(t=e==null?void 0:e.matches)==null?void 0:t.call(e,re.TITLE):!1}function ae(e){var t;let n=N(e);if(q(n))return n;let i=(t=e.composedPath)==null?void 0:t.call(e);return i==null?void 0:i.find(q)}typeof document!="undefined"&&document.addEventListener("click",e=>{if(R(e))return;let t=ae(e);t&&le(t)});var H={TITLE:".yfm .yfm-term_title",CONTENT:".yfm .yfm-term_dfn"},_="open",B=H.CONTENT.replace(/\./g,"")+" "+_,O=!0;function ce(e){var t;let n=e.getAttribute("term-key"),i=document.getElementById(`${n}_template`),c=i==null?void 0:i.content.cloneNode(!0).firstChild;return(t=i==null?void 0:i.parentElement)==null||t.appendChild(c),i.remove(),c}function se(e,t){let n=t.getAttribute("id")||Math.random().toString(36).substr(2,8);e==null||e.setAttribute("term-id",n)}function x(e,t){let{x:n,y:i,right:c,left:m,width:d,height:p}=t.getBoundingClientRect(),y=z(t);if(!y)return;let{right:b,left:E}=y.getBoundingClientRect();if((b<m||E>c)&&!O){k(e);return}O&&y&&(y.addEventListener("scroll",W),O=!1);let S=Number(e.getAttribute("relativeX")),M=Number(e.getAttribute("relativeY"));if(S===n&&M===i)return;e.setAttribute("relativeX",String(n)),e.setAttribute("relativeY",String(i));let P=p+5,L=e.parentElement;if(!L)return;let{width:h}=e.getBoundingClientRect(),{left:D}=L.getBoundingClientRect(),o=Number(I(t).left),r=h+o,l=o-h<0,a=r>document.body.clientWidth,f=(a||document.dir==="rtl")&&!l?h-d:0,u=I(L).top-L.offsetTop,T=a?r-document.body.clientWidth+5:0,g=I(t).left-D+L.offsetLeft-f,w=g+h>=document.body.clientWidth;e.style.top=Number(I(t).top+P-u)+"px",e.style.left=Number(g-(w?T:0))+"px"}function W(){let e=document.getElementsByClassName(B)[0];if(!e)return;let t=e.getAttribute("term-id")||"",n=document.getElementById(t);n&&x(e,n)}function z(e){return e?e.closest("table")||e.closest("code")||e.parentElement:null}function k(e){e.classList.remove(_);let t=e.getAttribute("term-id")||"",n=z(document.getElementById(t));n&&(n.removeEventListener("scroll",W),O=!0)}function I(e){let t=e.getBoundingClientRect(),n=document.body,i=document.documentElement,c=window.pageYOffset||i.scrollTop||n.scrollTop,m=window.pageXOffset||i.scrollLeft||n.scrollLeft,d=i.clientTop||n.clientTop||0,p=i.clientLeft||n.clientLeft||0,y=t.top+c-d,b=t.left+m-p;return{top:Math.round(y),left:Math.round(b)}}typeof document!="undefined"&&(document.addEventListener("click",e=>{let t=document.getElementsByClassName(B)[0],n=N(e),i=n.getAttribute("id"),c=n.getAttribute("term-key"),m=document.getElementById(c+"_element");if(c&&!m&&(m=ce(n)),t&&i===t.getAttribute("term-id")){k(t);return}let p=n.closest([H.CONTENT.replace(" ",""),_].join("."));t&&!p&&k(t),!(R(e)||!n.matches(H.TITLE)||!m)&&(se(m,n),x(m,n),m.classList.toggle(_))}),document.addEventListener("keydown",e=>{let t=document.getElementsByClassName(B)[0];e.key==="Escape"&&t&&k(t)}),window.addEventListener("resize",()=>{let e=document.getElementsByClassName(B)[0];if(!e)return;let t=e.getAttribute("term-id")||"",n=document.getElementById(t);if(!n){e.classList.toggle(_);return}x(e,n)}));var de="[wide-content]",ue='<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="none" viewBox="0 0 16 16"><path fill="currentColor" fill-rule="evenodd" d="M7.754 2.004a.75.75 0 0 0 0 1.5h4.75v4.742a.75.75 0 0 0 1.5 0V2.754a.75.75 0 0 0-.75-.75zm.492 11.992a.75.75 0 0 0 0-1.5h-4.75V7.754a.75.75 0 0 0-1.5 0v5.492a.75.75 0 0 0 .75.75z" clip-rule="evenodd"/></svg>',fe='<svg width="28" height="28" viewBox="0 0 28 28" fill="none" xmlns="http://www.w3.org/2000/svg" class="close-action"><path fillRule="evenodd" clipRule="evenodd" d="M9.46967 9.46967C9.76256 9.17678 10.2374 9.17678 10.5303 9.46967L14 12.9393L17.4697 9.46967C17.7626 9.17678 18.2374 9.17678 18.5303 9.46967C18.8232 9.76256 18.8232 10.2374 18.5303 10.5303L15.0607 14L18.5303 17.4697C18.8232 17.7626 18.8232 18.2374 18.5303 18.5303C18.2374 18.8232 17.7626 18.8232 17.4697 18.5303L14 15.0607L10.5303 18.5303C10.2374 18.8232 9.76256 18.8232 9.46967 18.5303C9.17678 18.2374 9.17678 17.7626 9.46967 17.4697L12.9393 14L9.46967 10.5303C9.17678 10.2374 9.17678 9.76256 9.46967 9.46967Z" fill="var(--g-color-text-primary)" fillOpacity="0.85"/></svg>',$=()=>{window.wideTemplate&&(window.wideTemplate.style.display="none",window.wideTemplate.content(void 0))},me=e=>{if(e.tagName!=="TABLE")return;let t=Array.from(e.children);return t.find(c=>c.tagName==="THEAD")?void 0:t.find(c=>c.tagName==="TBODY")},pe=()=>{if(window.wideTemplate)return window.wideTemplate;let e=document.createElement("div");e.classList.add("dc-doc-page","wide-container");let t=document.createElement("div");t.classList.add("wide-content-overlay"),t.addEventListener("click",$);let n=document.createElement("div");n.classList.add("yfm","wide-content-wrapper");let i=document.createElement("div");i.classList.add("wide-toolbar");let c=document.createElement("div");c.classList.add("wide-actions"),c.addEventListener("click",$),c.innerHTML=fe;let m=document.createElement("p");m.classList.add("wide-entity-name"),e.label=p=>{m.innerHTML=p};let d=document.createElement("div");return d.classList.add("wide-content"),e.content=p=>{var y;if(typeof p=="undefined"){d.innerHTML="";return}let b=p.cloneNode(!0),E=me(b);(y=E==null?void 0:E.classList)==null||y.add("wide-thead-content"),d.replaceChildren(b)},i.append(m,c),n.append(i,d),e.append(t,n),e.style.display="none",document.body.appendChild(e),window.wideTemplate=e,e},he=e=>{let t=pe();e.title&&t.label(e.title),t.content(e),t.style.display="flex"},ve={render:he,remove:$},Te=e=>{var t;if((t=e.parentElement)!=null&&t.classList.contains("wide-element-wrapper"))return;e.classList.add("wide-inner-element");let n=document.createElement("div");n.innerHTML=ue,n.classList.add("wide-content-viewer"),n.addEventListener("click",()=>ve.render(e));let i=document.createElement("div");i.classList.add("wide-element-wrapper"),e.before(i),i.appendChild(e),i.appendChild(n)},ge=()=>{Array.from(document.querySelectorAll(de)).forEach(Te)},ye=()=>{ge()};window.patchAfterRender=ye})();})();
|
|
1
|
+
"use strict";(()=>{(()=>{var Y=Object.create,V=Object.defineProperty,F=Object.getOwnPropertyDescriptor,j=Object.getOwnPropertyNames,G=Object.getPrototypeOf,K=Object.prototype.hasOwnProperty,U=(e,t)=>function(){return t||(0,e[j(e)[0]])((t={exports:{}}).exports,t),t.exports},Z=(e,t,n,i)=>{if(t&&typeof t=="object"||typeof t=="function")for(let c of j(t))!K.call(e,c)&&c!==n&&V(e,c,{get:()=>t[c],enumerable:!(i=F(t,c))||i.enumerable});return e},J=(e,t,n)=>(n=e!=null?Y(G(e)):{},Z(t||!e||!e.__esModule?V(n,"default",{value:e,enumerable:!0}):n,e)),Q=U({"../../node_modules/get-root-node-polyfill/index.js"(e,t){"use strict";function n(d){var p=typeof d=="object"&&!!d.composed;return p?i(this):c(this)}function i(d){var p=c(d);return m(p)?i(p.host):p}function c(d){return d.parentNode!=null?c(d.parentNode):d}function m(d){return d.nodeName==="#document-fragment"&&d.constructor.name==="ShadowRoot"}typeof t=="object"&&t.exports&&(t.exports=n)}});(()=>{var e="yfm-tabs",t="yfm-tabs-vertical",n="yfm-tab-list",i="yfm-tab",c="yfm-tab-panel",m="active",d="data-diplodoc-group",p="data-diplodoc-key",g="data-diplodoc-id",b="defaultTabsGroup-",E=Symbol.for("diplodocTabs"),S=o=>{let r=o.composedPath();return Array.isArray(r)&&r.length>0?r[0]:o.target},M=o=>{let r=S(o);return!r||!r.matches},P=o=>Math.abs(o.scrollHeight-o.clientHeight)>1?o:o.parentElement?P(o.parentElement):void 0,L=(o,r)=>{let l=o.getBoundingClientRect(),a=r.getBoundingClientRect();return{top:l.top-a.top,left:l.left-a.left,scrollTop:r.scrollTop,scrollLeft:r.scrollLeft}},h={TABS:`.${e}`,TAB_LIST:`.${n}`,TAB:`.${i}`,TAB_PANEL:`.${c}`,VERTICAL_TABS:`.${t}`},D=class{constructor(o){this._onSelectTabHandlers=new Set,this._document=o,this._document.addEventListener("click",r=>{let l=S(r),a=this.areTabsVertical(l);if(M(r)||!(this.isValidTabElement(l)||a))return;let s=this.getTabDataFromHTMLElement(l);s&&this._selectTab(s,l)}),this._document.addEventListener("keydown",r=>{let l=null;switch(r.key){case"ArrowLeft":{l="left";break}case"ArrowRight":{l="right";break}}if(!l)return;let a=S(r);if(M(r)||!this.isValidTabElement(a))return;let{tabs:s,nodes:f}=this.getTabs(a),u=this.getTabDataFromHTMLElement(a),v=s.findIndex(({key:y})=>(u==null?void 0:u.key)&&y===u.key);if(!u||s.length<=1||v===-1)return;let T=(v+(l==="left"?-1:1)+s.length)%s.length;this.selectTab(s[T]),f[T].focus()})}onSelectTab(o){return this._onSelectTabHandlers.add(o),()=>{this._onSelectTabHandlers.delete(o)}}selectTabById(o,r){let l=this._document.querySelector(`${h.TAB}[${g}="${o}"]`);if(!l||!this.isValidTabElement(l))return;let a=this.getTabDataFromHTMLElement(l);a&&this._selectTab(a,l),r!=null&&r.scrollToElement&&l.scrollIntoView()}selectTab(o){this._selectTab(o)}_selectTab(o,r){let{group:l,key:a,align:s}=o;if(!l)return;let f=r&&P(r),u=f&&L(r,f);this.updateHTML({group:l,key:a,align:s},s)>0&&(this.fireSelectTabEvent({group:l,key:a,align:s},r==null?void 0:r.dataset.diplodocId),u&&this.resetScroll(r,f,u))}updateHTML(o,r){switch(r){case"radio":return this.updateHTMLVertical(o);case"horizontal":return this.updateHTMLHorizontal(o)}return 0}updateHTMLVertical(o){let{group:r,key:l}=o,a=this._document.querySelectorAll(`${h.TABS}[${d}="${r}"] ${h.TAB}[${p}="${l}"]`),s=0;return a.forEach(f=>{let u=f.parentNode.children;for(let v=0;v<u.length;v+=2){let[T,y]=[u.item(v),u.item(v+1)],w=T.children.item(0);w.hasAttribute("checked")&&(T.classList.remove("active"),y==null||y.classList.remove("active"),w.removeAttribute("checked")),T===f&&(T.classList.add("active"),y==null||y.classList.add("active"),w.setAttribute("checked","true")),s++}}),s}updateHTMLHorizontal(o){let{group:r,key:l}=o,a=this._document.querySelectorAll(`${h.TABS}[${d}="${r}"] ${h.TAB}[${p}="${l}"]`),s=0;return a.forEach(f=>{let u=f;if(!this.isValidTabElement(u)||u.dataset.diplodocIsActive==="true")return;s++;let v=f,T=v.parentNode,y=T==null?void 0:T.parentNode,w=Array.from((T==null?void 0:T.querySelectorAll(h.TAB))||[]),be=Array.from((y==null?void 0:y.children)||[]).filter(A=>A.classList.contains(c)),Le=w.indexOf(v);w.forEach((A,X)=>{let we=be[X],C=X===Le,Ee=A;Ee.dataset.diplodocIsActive=C?"true":"false",A.classList.toggle(m,C),A.setAttribute("aria-selected",C.toString()),A.setAttribute("tabindex",C?"0":"-1"),we.classList.toggle(m,C)})}),s}resetScroll(o,r,l){let a=L(o,r),s=a.top-l.top,f=a.left-l.left,u=a.scrollTop-l.scrollTop,v=a.scrollLeft-l.scrollLeft;r.scrollTo(r.scrollLeft+f-v,r.scrollTop+s-u)}fireSelectTabEvent(o,r){let{group:l,key:a,align:s}=o,f=l.startsWith(b)?{key:a,align:s}:o;this._onSelectTabHandlers.forEach(u=>{u({tab:f,currentTabId:r})})}isValidTabElement(o){let r=o.matches(h.TAB)&&o.dataset.diplodocId?o.closest(h.TAB_LIST):null;return r==null?void 0:r.closest(h.TABS)}areTabsVertical(o){let r=o.parentElement;return o.dataset.diplodocVerticalTab||!!(r!=null&&r.dataset.diplodocVerticalTab)}getTabDataFromHTMLElement(o){var r,l;if(this.areTabsVertical(o)){let f=o.dataset.diplodocVerticalTab?o:o.parentElement,u=f.dataset.diplodocKey,v=(r=f.closest(h.TABS))==null?void 0:r.dataset.diplodocGroup;return u&&v?{group:v,key:u,align:"radio"}:null}let a=o.dataset.diplodocKey,s=(l=o.closest(h.TABS))==null?void 0:l.dataset.diplodocGroup;return a&&s?{group:s,key:a,align:"horizontal"}:null}getTabs(o){var r,l;let a=(r=o.closest(h.TABS))==null?void 0:r.dataset.diplodocGroup,s=(l=o.closest(h.TAB_LIST))==null?void 0:l.querySelectorAll(h.TAB),f=[];return s.forEach(u=>{let v=u==null?void 0:u.dataset.diplodocKey;v&&f.push({group:a,key:v,align:"horizontal"})}),{tabs:f,nodes:s}}};typeof window!="undefined"&&typeof document!="undefined"&&!window[E]&&(window[E]=new D(document))})();var ee=J(Q());typeof document!="undefined"&&function(e){let t=e.matches||e.matchesSelector||e.webkitMatchesSelector||e.mozMatchesSelector||e.msMatchesSelector||e.oMatchesSelector;t?e.matches=e.matchesSelector=t:e.matches=e.matchesSelector=function(i){let m=(e.getRootNode?e.getRootNode():ee.default.call(e)).querySelectorAll(i),d=this;return Array.prototype.some.call(m,p=>p===d)}}(Element.prototype);var N=e=>{let t=e.composedPath();return Array.isArray(t)&&t.length>0?t[0]:e.target},R=e=>{let t=N(e);return!t||!t.matches},te=".yfm-clipboard-button";function ne(e){if(!e)return Promise.resolve();if(navigator.clipboard&&typeof navigator.clipboard.writeText)return navigator.clipboard.writeText(e);let t=document.createElement("textarea");return t.setAttribute("style","position: absolute; left: 1000%"),t.textContent=e,document.body.append(t),t.select(),document.execCommand("copy"),document.body.removeChild(t),Promise.resolve()}function oe(e){if(!e)return;let t=e.getAttribute("data-animation"),n=e.getRootNode().getElementById(`visibileAnimation-${t}`);n&&n.beginElement()}typeof document!="undefined"&&document.addEventListener("click",e=>{let t=N(e);if(R(e)||!t.matches(te))return;let n=t.parentNode;if(!n)return;let i=n.querySelector("pre code");i&&ne(i.innerText).then(()=>{oe(n.querySelector(".yfm-clipboard-button"))})});var re={CUT:".yfm .yfm-cut",TITLE:".yfm .yfm-cut-title",CONTENT:".yfm .yfm-cut-content"},ie={OPEN:"open"};function le(e){let t=e.parentNode;t instanceof HTMLElement&&t.classList.toggle(ie.OPEN)}function q(e){var t;return e instanceof HTMLElement?(t=e==null?void 0:e.matches)==null?void 0:t.call(e,re.TITLE):!1}function ae(e){var t;let n=N(e);if(q(n))return n;let i=(t=e.composedPath)==null?void 0:t.call(e);return i==null?void 0:i.find(q)}typeof document!="undefined"&&document.addEventListener("click",e=>{if(R(e))return;let t=ae(e);t&&le(t)});var H={TITLE:".yfm .yfm-term_title",CONTENT:".yfm .yfm-term_dfn"},_="open",B=H.CONTENT.replace(/\./g,"")+" "+_,O=!0;function ce(e){var t;let n=e.getAttribute("term-key"),i=document.getElementById(`${n}_template`),c=i==null?void 0:i.content.cloneNode(!0).firstChild;return(t=i==null?void 0:i.parentElement)==null||t.appendChild(c),i.remove(),c}function se(e,t){let n=t.getAttribute("id")||Math.random().toString(36).substr(2,8);e==null||e.setAttribute("term-id",n)}function x(e,t){let{x:n,y:i,right:c,left:m,width:d,height:p}=t.getBoundingClientRect(),g=z(t);if(!g)return;let{right:b,left:E}=g.getBoundingClientRect();if((b<m||E>c)&&!O){k(e);return}O&&g&&(g.addEventListener("scroll",W),O=!1);let S=Number(e.getAttribute("relativeX")),M=Number(e.getAttribute("relativeY"));if(S===n&&M===i)return;e.setAttribute("relativeX",String(n)),e.setAttribute("relativeY",String(i));let P=p+5,L=e.parentElement;if(!L)return;let{width:h}=e.getBoundingClientRect(),{left:D}=L.getBoundingClientRect(),o=Number(I(t).left),r=h+o,l=o-h<0,a=r>document.body.clientWidth,f=(a||document.dir==="rtl")&&!l?h-d:0,u=I(L).top-L.offsetTop,T=a?r-document.body.clientWidth+5:0,y=I(t).left-D+L.offsetLeft-f,w=y+h>=document.body.clientWidth;e.style.top=Number(I(t).top+P-u)+"px",e.style.left=Number(y-(w?T:0))+"px"}function W(){let e=document.getElementsByClassName(B)[0];if(!e)return;let t=e.getAttribute("term-id")||"",n=document.getElementById(t);n&&x(e,n)}function z(e){return e?e.closest("table")||e.closest("code")||e.parentElement:null}function k(e){e.classList.remove(_);let t=e.getAttribute("term-id")||"",n=z(document.getElementById(t));n&&(n.removeEventListener("scroll",W),O=!0)}function I(e){let t=e.getBoundingClientRect(),n=document.body,i=document.documentElement,c=window.pageYOffset||i.scrollTop||n.scrollTop,m=window.pageXOffset||i.scrollLeft||n.scrollLeft,d=i.clientTop||n.clientTop||0,p=i.clientLeft||n.clientLeft||0,g=t.top+c-d,b=t.left+m-p;return{top:Math.round(g),left:Math.round(b)}}typeof document!="undefined"&&(document.addEventListener("click",e=>{let t=document.getElementsByClassName(B)[0],n=N(e),i=n.getAttribute("id"),c=n.getAttribute("term-key"),m=document.getElementById(c+"_element");if(c&&!m&&(m=ce(n)),t&&i===t.getAttribute("term-id")){k(t);return}let p=n.closest([H.CONTENT.replace(" ",""),_].join("."));t&&!p&&k(t),!(R(e)||!n.matches(H.TITLE)||!m)&&(se(m,n),x(m,n),m.classList.toggle(_))}),document.addEventListener("keydown",e=>{let t=document.getElementsByClassName(B)[0];e.key==="Escape"&&t&&k(t)}),window.addEventListener("resize",()=>{let e=document.getElementsByClassName(B)[0];if(!e)return;let t=e.getAttribute("term-id")||"",n=document.getElementById(t);if(!n){e.classList.toggle(_);return}x(e,n)}));var de="[wide-content]",ue='<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="none" viewBox="0 0 16 16"><path fill="currentColor" fill-rule="evenodd" d="M7.754 2.004a.75.75 0 0 0 0 1.5h4.75v4.742a.75.75 0 0 0 1.5 0V2.754a.75.75 0 0 0-.75-.75zm.492 11.992a.75.75 0 0 0 0-1.5h-4.75V7.754a.75.75 0 0 0-1.5 0v5.492a.75.75 0 0 0 .75.75z" clip-rule="evenodd"/></svg>',fe='<svg width="28" height="28" viewBox="0 0 28 28" fill="none" xmlns="http://www.w3.org/2000/svg" class="close-action"><path fillRule="evenodd" clipRule="evenodd" d="M9.46967 9.46967C9.76256 9.17678 10.2374 9.17678 10.5303 9.46967L14 12.9393L17.4697 9.46967C17.7626 9.17678 18.2374 9.17678 18.5303 9.46967C18.8232 9.76256 18.8232 10.2374 18.5303 10.5303L15.0607 14L18.5303 17.4697C18.8232 17.7626 18.8232 18.2374 18.5303 18.5303C18.2374 18.8232 17.7626 18.8232 17.4697 18.5303L14 15.0607L10.5303 18.5303C10.2374 18.8232 9.76256 18.8232 9.46967 18.5303C9.17678 18.2374 9.17678 17.7626 9.46967 17.4697L12.9393 14L9.46967 10.5303C9.17678 10.2374 9.17678 9.76256 9.46967 9.46967Z" fill="var(--g-color-text-primary)" fillOpacity="0.85"/></svg>',$=()=>{window.wideTemplate&&(window.wideTemplate.style.display="none",window.wideTemplate.content(void 0))},me=e=>{if(e.tagName!=="TABLE")return;let t=Array.from(e.children);return t.find(c=>c.tagName==="THEAD")?void 0:t.find(c=>c.tagName==="TBODY")},pe=()=>{if(window.wideTemplate)return window.wideTemplate;let e=document.createElement("div");e.classList.add("dc-doc-page","wide-container");let t=document.createElement("div");t.classList.add("wide-content-overlay"),t.addEventListener("click",$);let n=document.createElement("div");n.classList.add("yfm","wide-content-wrapper");let i=document.createElement("div");i.classList.add("wide-toolbar");let c=document.createElement("div");c.classList.add("wide-actions"),c.addEventListener("click",$),c.innerHTML=fe;let m=document.createElement("p");m.classList.add("wide-entity-name"),e.label=p=>{m.innerHTML=p};let d=document.createElement("div");return d.classList.add("wide-content"),e.content=p=>{var g;if(typeof p=="undefined"){d.innerHTML="";return}let b=p.cloneNode(!0),E=me(b);(g=E==null?void 0:E.classList)==null||g.add("wide-thead-content"),d.replaceChildren(b)},i.append(m,c),n.append(i,d),e.append(t,n),e.style.display="none",document.body.appendChild(e),window.wideTemplate=e,e},he=e=>{let t=pe();e.title&&t.label(e.title),t.content(e),t.style.display="flex"},ve={render:he,remove:$},Te=e=>{var t;if((t=e.parentElement)!=null&&t.classList.contains("wide-element-wrapper"))return;e.classList.add("wide-inner-element");let n=document.createElement("div");n.innerHTML=ue,n.classList.add("wide-content-viewer"),n.addEventListener("click",()=>ve.render(e));let i=document.createElement("div");i.classList.add("wide-element-wrapper"),e.before(i),i.appendChild(e),i.appendChild(n)},ye=()=>{Array.from(document.querySelectorAll(de)).forEach(Te)},ge=()=>{ye()};typeof window!="undefined"&&(window.patchAfterRender=ge)})();})();
|
|
2
2
|
//# sourceMappingURL=yfm.min.js.map
|
package/dist/js/yfm.min.js.map
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../node_modules/get-root-node-polyfill/index.js", "../../../../extensions/tabs/src/common.ts", "../../../../extensions/tabs/src/runtime/utils.ts", "../../../../extensions/tabs/src/runtime/TabsController.ts", "../../../../extensions/tabs/src/runtime/index.ts", "../../src/js/polyfill.js", "../../src/js/utils.ts", "../../src/js/code.ts", "../../src/js/cut.ts", "../../src/js/term/utils.ts", "../../src/js/term/index.ts", "../../src/js/wide-mode/constants.ts", "../../src/js/wide-mode/icons/expand.ts", "../../src/js/wide-mode/icons/close.ts", "../../src/js/wide-mode/modal.ts", "../../src/js/wide-mode/apply.ts", "../../src/js/patch.ts"],
|
|
4
|
-
"sourcesContent": ["'use strict';\n\n// Node getRootNode(optional GetRootNodeOptions options);\n\n/**\n * Returns the context object\u2019s shadow-including root if options\u2019s composed is true.\n * Returns the context object\u2019s root otherwise.\n *\n * The root of an object is itself, if its parent is null, or else it is the root of its parent.\n *\n * The shadow-including root of an object is its root\u2019s host\u2019s shadow-including root,\n * if the object\u2019s root is a shadow root, and its root otherwise.\n *\n * https://dom.spec.whatwg.org/#dom-node-getrootnode\n *\n * @memberof Node.prototype\n * @param {!Object} [opt = {}] - Options.\n * @param {!boolean} [opt.composed] - See above description.\n * @returns {!Node} The root node.\n */\nfunction getRootNode(opt) {\n var composed = typeof opt === 'object' && Boolean(opt.composed);\n\n return composed ? getShadowIncludingRoot(this) : getRoot(this);\n}\n\nfunction getShadowIncludingRoot(node) {\n var root = getRoot(node);\n\n if (isShadowRoot(root)) {\n return getShadowIncludingRoot(root.host);\n }\n\n return root;\n}\n\nfunction getRoot(node) {\n if (node.parentNode != null) {\n return getRoot(node.parentNode);\n }\n\n return node;\n}\n\nfunction isShadowRoot(node) {\n return node.nodeName === '#document-fragment' && node.constructor.name === 'ShadowRoot';\n}\n\nif (typeof module === 'object' && module.exports) {\n module.exports = getRootNode;\n}\n", "import type {TabsOrientation} from './plugin/transform';\nimport type {TabsController} from './runtime/TabsController';\n\nexport const TABS_CLASSNAME = 'yfm-tabs';\nexport const TABS_VERTICAL_CLASSNAME = 'yfm-tabs-vertical';\nexport const TABS_LIST_CLASSNAME = 'yfm-tab-list';\nexport const TAB_CLASSNAME = 'yfm-tab';\nexport const TAB_PANEL_CLASSNAME = 'yfm-tab-panel';\nexport const ACTIVE_CLASSNAME = 'active';\nexport const VERTICAL_TAB_CLASSNAME = 'yfm-vertical-tab';\n\nexport const GROUP_DATA_KEY = 'data-diplodoc-group';\nexport const TAB_DATA_KEY = 'data-diplodoc-key';\nexport const TAB_DATA_ID = 'data-diplodoc-id';\nexport const TAB_DATA_VERTICAL_TAB = 'data-diplodoc-vertical-tab';\nexport const TAB_ACTIVE_KEY = 'data-diplodoc-is-active';\nexport const TAB_RADIO_KEY = 'data-diplodoc-input';\n\nexport const DEFAULT_TABS_GROUP_PREFIX = 'defaultTabsGroup-';\n\nexport interface Tab {\n group?: string;\n key: string;\n align: TabsOrientation;\n}\n\nexport interface SelectedTabEvent {\n tab: Tab;\n currentTabId?: string;\n}\n\nexport const GLOBAL_SYMBOL: unique symbol = Symbol.for('diplodocTabs');\n\ndeclare global {\n interface Window {\n [GLOBAL_SYMBOL]: TabsController;\n }\n}\n", "export const getEventTarget = (event: Event) => {\n const path = event.composedPath();\n return Array.isArray(path) && path.length > 0 ? path[0] : event.target;\n};\n\nexport const isCustom = (event: Event) => {\n const target = getEventTarget(event);\n return !target || !(target as HTMLElement).matches;\n};\n\nexport const getClosestScrollableParent = (element: HTMLElement): HTMLElement | undefined => {\n if (Math.abs(element.scrollHeight - element.clientHeight) > 1) {\n return element;\n }\n\n return element.parentElement ? getClosestScrollableParent(element.parentElement) : undefined;\n};\n\nexport interface ElementOffset {\n top: number;\n left: number;\n scrollTop: number;\n scrollLeft: number;\n}\n\nexport const getOffsetByScrollableParent = (\n element: HTMLElement,\n scrollableParent: HTMLElement,\n): ElementOffset => {\n const elementBounds = element.getBoundingClientRect();\n const scrollableParentBounds = scrollableParent.getBoundingClientRect();\n return {\n top: elementBounds.top - scrollableParentBounds.top,\n left: elementBounds.left - scrollableParentBounds.left,\n scrollTop: scrollableParent.scrollTop,\n scrollLeft: scrollableParent.scrollLeft,\n };\n};\n", "import {\n ACTIVE_CLASSNAME,\n DEFAULT_TABS_GROUP_PREFIX,\n GROUP_DATA_KEY,\n SelectedTabEvent,\n TABS_CLASSNAME,\n TABS_LIST_CLASSNAME,\n TABS_VERTICAL_CLASSNAME,\n TAB_CLASSNAME,\n TAB_DATA_ID,\n TAB_DATA_KEY,\n TAB_PANEL_CLASSNAME,\n Tab,\n} from '../common';\nimport type {TabsOrientation} from '../plugin/transform';\nimport {\n ElementOffset,\n getClosestScrollableParent,\n getEventTarget,\n getOffsetByScrollableParent,\n isCustom,\n} from './utils';\n\nconst Selector = {\n TABS: `.${TABS_CLASSNAME}`,\n TAB_LIST: `.${TABS_LIST_CLASSNAME}`,\n TAB: `.${TAB_CLASSNAME}`,\n TAB_PANEL: `.${TAB_PANEL_CLASSNAME}`,\n VERTICAL_TABS: `.${TABS_VERTICAL_CLASSNAME}`,\n};\n\nexport interface ISelectTabByIdOptions {\n scrollToElement: boolean;\n}\n\ntype Handler = (data: SelectedTabEvent) => void;\n\ntype TabSwitchDirection = 'left' | 'right';\n\nexport class TabsController {\n private _document: Document;\n\n private _onSelectTabHandlers: Set<Handler> = new Set();\n\n constructor(document: Document) {\n this._document = document;\n this._document.addEventListener('click', (event) => {\n const target = getEventTarget(event) as HTMLElement;\n const areVertical = this.areTabsVertical(target);\n\n if (isCustom(event)) {\n return;\n }\n\n if (!(this.isValidTabElement(target) || areVertical)) {\n return;\n }\n\n const tab = this.getTabDataFromHTMLElement(target);\n\n if (tab) {\n this._selectTab(tab, target);\n }\n });\n this._document.addEventListener('keydown', (event) => {\n let direction: TabSwitchDirection | null = null;\n switch (event.key) {\n case 'ArrowLeft': {\n direction = 'left';\n break;\n }\n case 'ArrowRight': {\n direction = 'right';\n break;\n }\n }\n if (!direction) {\n return;\n }\n\n const target = getEventTarget(event) as HTMLElement;\n\n if (isCustom(event) || !this.isValidTabElement(target)) {\n return;\n }\n\n const {tabs, nodes} = this.getTabs(target);\n const currentTab = this.getTabDataFromHTMLElement(target);\n const currentTabIndex = tabs.findIndex(\n ({key}) => currentTab?.key && key === currentTab.key,\n );\n if (!currentTab || tabs.length <= 1 || currentTabIndex === -1) {\n return;\n }\n\n const newIndex =\n (currentTabIndex + (direction === 'left' ? -1 : 1) + tabs.length) % tabs.length;\n\n this.selectTab(tabs[newIndex]);\n nodes[newIndex].focus();\n });\n }\n\n onSelectTab(handler: Handler) {\n this._onSelectTabHandlers.add(handler);\n\n return () => {\n this._onSelectTabHandlers.delete(handler);\n };\n }\n\n selectTabById(id: string, options?: ISelectTabByIdOptions) {\n const target = this._document.querySelector(\n `${Selector.TAB}[${TAB_DATA_ID}=\"${id}\"]`,\n ) as HTMLElement;\n\n if (!target || !this.isValidTabElement(target)) {\n return;\n }\n\n const tab = this.getTabDataFromHTMLElement(target);\n\n if (tab) {\n this._selectTab(tab, target);\n }\n\n if (options?.scrollToElement) {\n target.scrollIntoView();\n }\n }\n\n selectTab(tab: Tab) {\n this._selectTab(tab);\n }\n\n private _selectTab(tab: Tab, targetTab?: HTMLElement) {\n const {group, key, align} = tab;\n\n if (!group) {\n return;\n }\n\n const scrollableParent = targetTab && getClosestScrollableParent(targetTab);\n const previousTargetOffset =\n scrollableParent && getOffsetByScrollableParent(targetTab, scrollableParent);\n\n const updatedTabs = this.updateHTML({group, key, align}, align);\n\n if (updatedTabs > 0) {\n this.fireSelectTabEvent({group, key, align}, targetTab?.dataset.diplodocId);\n\n if (previousTargetOffset) {\n this.resetScroll(targetTab, scrollableParent, previousTargetOffset);\n }\n }\n }\n\n private updateHTML(tab: Required<Tab>, align: TabsOrientation) {\n switch (align) {\n case 'radio': {\n return this.updateHTMLVertical(tab);\n }\n case 'horizontal': {\n return this.updateHTMLHorizontal(tab);\n }\n }\n\n return 0;\n }\n\n private updateHTMLVertical(tab: Required<Tab>) {\n const {group, key} = tab;\n\n const tabs = this._document.querySelectorAll(\n `${Selector.TABS}[${GROUP_DATA_KEY}=\"${group}\"] ${Selector.TAB}[${TAB_DATA_KEY}=\"${key}\"]`,\n );\n\n let updated = 0;\n\n tabs.forEach((tab) => {\n const root = tab.parentNode!;\n const elements = root.children;\n\n for (let i = 0; i < elements.length; i += 2) {\n const [title, content] = [elements.item(i), elements.item(i + 1)] as HTMLElement[];\n\n const input = title.children.item(0) as HTMLInputElement;\n\n if (input.hasAttribute('checked')) {\n title.classList.remove('active');\n content?.classList.remove('active');\n input.removeAttribute('checked');\n }\n\n if (title === tab) {\n title.classList.add('active');\n content?.classList.add('active');\n input.setAttribute('checked', 'true');\n }\n\n updated++;\n }\n });\n\n return updated;\n }\n\n private updateHTMLHorizontal(tab: Required<Tab>) {\n const {group, key} = tab;\n\n const tabs = this._document.querySelectorAll(\n `${Selector.TABS}[${GROUP_DATA_KEY}=\"${group}\"] ${Selector.TAB}[${TAB_DATA_KEY}=\"${key}\"]`,\n );\n\n let updated = 0;\n\n tabs.forEach((element) => {\n const htmlElem = element as HTMLElement;\n if (!this.isValidTabElement(htmlElem) || htmlElem.dataset.diplodocIsActive === 'true') {\n return;\n }\n\n updated++;\n\n const tab = element;\n const tabList = tab.parentNode;\n const tabsContainer = tabList?.parentNode;\n const allTabs = Array.from(tabList?.querySelectorAll(Selector.TAB) || []);\n const allPanels = Array.from(tabsContainer?.children || []).filter((node) =>\n node.classList.contains(TAB_PANEL_CLASSNAME),\n );\n const targetIndex = allTabs.indexOf(tab);\n\n allTabs.forEach((tab, i) => {\n const panel = allPanels[i];\n const isTargetTab = i === targetIndex;\n const htmlElem = tab as HTMLElement;\n\n htmlElem.dataset.diplodocIsActive = isTargetTab ? 'true' : 'false';\n\n tab.classList.toggle(ACTIVE_CLASSNAME, isTargetTab);\n tab.setAttribute('aria-selected', isTargetTab.toString());\n tab.setAttribute('tabindex', isTargetTab ? '0' : '-1');\n panel.classList.toggle(ACTIVE_CLASSNAME, isTargetTab);\n });\n });\n\n return updated;\n }\n\n private resetScroll(\n target: HTMLElement,\n scrollableParent: HTMLElement,\n previousTargetOffset: ElementOffset,\n ) {\n const targetOffset = getOffsetByScrollableParent(target, scrollableParent);\n const topDelta = targetOffset.top - previousTargetOffset.top;\n const leftDelta = targetOffset.left - previousTargetOffset.left;\n const scrollTopDelta = targetOffset.scrollTop - previousTargetOffset.scrollTop;\n const scrollLeftDelta = targetOffset.scrollLeft - previousTargetOffset.scrollLeft;\n scrollableParent.scrollTo(\n scrollableParent.scrollLeft + leftDelta - scrollLeftDelta,\n scrollableParent.scrollTop + topDelta - scrollTopDelta,\n );\n }\n\n private fireSelectTabEvent(tab: Required<Tab>, diplodocId?: string) {\n const {group, key, align} = tab;\n\n const eventTab: Tab = group.startsWith(DEFAULT_TABS_GROUP_PREFIX) ? {key, align} : tab;\n\n this._onSelectTabHandlers.forEach((handler) => {\n handler({tab: eventTab, currentTabId: diplodocId});\n });\n }\n\n private isValidTabElement(element: HTMLElement) {\n const tabList =\n element.matches(Selector.TAB) && element.dataset.diplodocId\n ? element.closest(Selector.TAB_LIST)\n : null;\n\n return tabList?.closest(Selector.TABS);\n }\n\n private areTabsVertical(target: HTMLElement) {\n const parent = target.parentElement;\n\n return target.dataset.diplodocVerticalTab || Boolean(parent?.dataset.diplodocVerticalTab);\n }\n\n private getTabDataFromHTMLElement(target: HTMLElement): Tab | null {\n if (this.areTabsVertical(target)) {\n const tab = target.dataset.diplodocVerticalTab ? target : target.parentElement!;\n\n const key = tab.dataset.diplodocKey;\n const group = (tab.closest(Selector.TABS) as HTMLElement)?.dataset.diplodocGroup;\n return key && group ? {group, key, align: 'radio'} : null;\n }\n\n const key = target.dataset.diplodocKey;\n const group = (target.closest(Selector.TABS) as HTMLElement)?.dataset.diplodocGroup;\n return key && group ? {group, key, align: 'horizontal'} : null;\n }\n\n private getTabs(target: HTMLElement): {tabs: Tab[]; nodes: NodeListOf<HTMLElement>} {\n const group = (target.closest(Selector.TABS) as HTMLElement)?.dataset.diplodocGroup;\n const nodes = (\n target.closest(Selector.TAB_LIST) as HTMLElement\n )?.querySelectorAll<HTMLElement>(Selector.TAB);\n\n const tabs: Tab[] = [];\n nodes.forEach((tabEl) => {\n const key = tabEl?.dataset.diplodocKey;\n if (!key) {\n return;\n }\n\n /** horizontal-only supported feature (used in left/right button click) */\n tabs.push({\n group,\n key,\n align: 'horizontal',\n });\n });\n\n return {tabs, nodes};\n }\n}\n", "import {GLOBAL_SYMBOL} from '../common';\nimport {TabsController} from './TabsController';\nimport './scss/tabs.scss';\n\nif (typeof window !== 'undefined' && typeof document !== 'undefined' && !window[GLOBAL_SYMBOL]) {\n window[GLOBAL_SYMBOL] = new TabsController(document);\n}\n", "import getRootNode from 'get-root-node-polyfill';\n\nif (typeof document !== 'undefined') {\n // matches polyfill for old edge\n (function (e) {\n const matches =\n e.matches ||\n e.matchesSelector ||\n e.webkitMatchesSelector ||\n e.mozMatchesSelector ||\n e.msMatchesSelector ||\n e.oMatchesSelector;\n\n if (matches) {\n e.matches = e.matchesSelector = matches;\n } else {\n e.matches = e.matchesSelector = function matches(selector) {\n const rootNode = e.getRootNode ? e.getRootNode() : getRootNode.call(e);\n const matches = rootNode.querySelectorAll(selector);\n const th = this;\n return Array.prototype.some.call(matches, (e) => {\n return e === th;\n });\n };\n }\n })(Element.prototype);\n}\n", "export const getEventTarget = (event: Event) => {\n const path = event.composedPath();\n return Array.isArray(path) && path.length > 0 ? path[0] : event.target;\n};\n\nexport const isCustom = (event: Event) => {\n const target = getEventTarget(event);\n return !target || !(target as HTMLElement).matches;\n};\n", "import {getEventTarget, isCustom} from './utils';\n\nconst BUTTON_SELECTOR = '.yfm-clipboard-button';\n\nfunction copyToClipboard(text: string) {\n if (!text) {\n return Promise.resolve();\n }\n\n if (navigator.clipboard && typeof navigator.clipboard.writeText) {\n return navigator.clipboard.writeText(text);\n }\n const textarea = document.createElement('textarea');\n textarea.setAttribute('style', 'position: absolute; left: 1000%');\n textarea.textContent = text;\n document.body.append(textarea);\n\n textarea.select();\n document.execCommand('copy');\n\n document.body.removeChild(textarea);\n\n return Promise.resolve();\n}\n\nfunction notifySuccess(svgButton: HTMLElement | null) {\n if (!svgButton) {\n return;\n }\n\n const id = svgButton.getAttribute('data-animation');\n // @ts-expect-error\n const icon = svgButton.getRootNode().getElementById(`visibileAnimation-${id}`);\n\n if (!icon) {\n return;\n }\n\n icon.beginElement();\n}\n\nif (typeof document !== 'undefined') {\n document.addEventListener('click', (event) => {\n const target = getEventTarget(event) as HTMLElement;\n\n if (isCustom(event) || !target.matches(BUTTON_SELECTOR)) {\n return;\n }\n\n const parent = target.parentNode;\n\n if (!parent) {\n return;\n }\n\n const code = parent.querySelector<HTMLElement>('pre code');\n if (!code) {\n return;\n }\n\n copyToClipboard(code.innerText).then(() => {\n notifySuccess(parent.querySelector('.yfm-clipboard-button'));\n });\n });\n}\n", "import {getEventTarget, isCustom} from './utils';\n\nconst Selector = {\n CUT: '.yfm .yfm-cut',\n TITLE: '.yfm .yfm-cut-title',\n CONTENT: '.yfm .yfm-cut-content',\n};\n\nconst ClassName = {\n OPEN: 'open',\n};\n\nfunction toggleCut(element: HTMLElement) {\n const cutNode = element.parentNode;\n\n if (!(cutNode instanceof HTMLElement)) {\n return;\n }\n\n cutNode.classList.toggle(ClassName.OPEN);\n}\n\nfunction matchTitle(target: EventTarget | null) {\n if (!(target instanceof HTMLElement)) {\n return false;\n }\n\n return target?.matches?.(Selector.TITLE);\n}\n\nfunction findTitleInPath(event: MouseEvent): HTMLElement | undefined {\n const target = getEventTarget(event);\n\n if (matchTitle(target)) {\n return target as HTMLElement;\n }\n\n const path = event.composedPath?.();\n\n return path?.find(matchTitle) as HTMLElement | undefined;\n}\n\nif (typeof document !== 'undefined') {\n document.addEventListener('click', (event) => {\n if (isCustom(event)) {\n return;\n }\n\n const title = findTitleInPath(event);\n\n if (!title) {\n return;\n }\n\n toggleCut(title);\n });\n}\n", "export const Selector = {\n TITLE: '.yfm .yfm-term_title',\n CONTENT: '.yfm .yfm-term_dfn',\n};\nexport const openClass = 'open';\nexport const openDefinitionClass = Selector.CONTENT.replace(/\\./g, '') + ' ' + openClass;\nlet isListenerNeeded = true;\n\nexport function createDefinitionElement(termElement: HTMLElement) {\n const termKey = termElement.getAttribute('term-key');\n const definitionTemplate = document.getElementById(\n `${termKey}_template`,\n ) as HTMLTemplateElement;\n const definitionElement = definitionTemplate?.content.cloneNode(true).firstChild as HTMLElement;\n\n definitionTemplate?.parentElement?.appendChild(definitionElement);\n definitionTemplate.remove();\n\n return definitionElement;\n}\n\nexport function setDefinitionId(definitionElement: HTMLElement, termElement: HTMLElement): void {\n const termId = termElement.getAttribute('id') || Math.random().toString(36).substr(2, 8);\n definitionElement?.setAttribute('term-id', termId);\n}\n\nexport function setDefinitionPosition(\n definitionElement: HTMLElement,\n termElement: HTMLElement,\n): void {\n const {\n x: termX,\n y: termY,\n right: termRight,\n left: termLeft,\n width: termWidth,\n height: termHeight,\n } = termElement.getBoundingClientRect();\n\n const termParent = termParentElement(termElement);\n\n if (!termParent) {\n return;\n }\n\n const {right: termParentRight, left: termParentLeft} = termParent.getBoundingClientRect();\n\n if ((termParentRight < termLeft || termParentLeft > termRight) && !isListenerNeeded) {\n closeDefinition(definitionElement);\n return;\n }\n\n if (isListenerNeeded && termParent) {\n termParent.addEventListener('scroll', termOnResize);\n isListenerNeeded = false;\n }\n\n const relativeX = Number(definitionElement.getAttribute('relativeX'));\n const relativeY = Number(definitionElement.getAttribute('relativeY'));\n\n if (relativeX === termX && relativeY === termY) {\n return;\n }\n\n definitionElement.setAttribute('relativeX', String(termX));\n definitionElement.setAttribute('relativeY', String(termY));\n\n const offsetTop = termHeight + 5;\n const definitionParent = definitionElement.parentElement;\n\n if (!definitionParent) {\n return;\n }\n\n const {width: definitionWidth} = definitionElement.getBoundingClientRect();\n const {left: definitionParentLeft} = definitionParent.getBoundingClientRect();\n\n // If definition not fit document change base alignment\n const definitionLeftCoordinate = Number(getCoords(termElement).left);\n const definitionRightCoordinate = definitionWidth + definitionLeftCoordinate;\n\n const definitionOutOfScreenOnLeft = definitionLeftCoordinate - definitionWidth < 0;\n const definitionOutOfScreenOnRight = definitionRightCoordinate > document.body.clientWidth;\n\n const isAlignSwapped = definitionOutOfScreenOnRight || document.dir === 'rtl';\n const fitDefinitionDocument =\n isAlignSwapped && !definitionOutOfScreenOnLeft ? definitionWidth - termWidth : 0;\n const customHeaderTop = getCoords(definitionParent).top - definitionParent.offsetTop;\n const offsetRight = 5;\n const shiftLeft = definitionOutOfScreenOnRight\n ? definitionRightCoordinate - document.body.clientWidth + offsetRight\n : 0;\n const offsetLeft =\n getCoords(termElement).left -\n definitionParentLeft +\n definitionParent.offsetLeft -\n fitDefinitionDocument;\n\n const isShiftLeftNeeded = offsetLeft + definitionWidth >= document.body.clientWidth;\n\n definitionElement.style.top =\n Number(getCoords(termElement).top + offsetTop - customHeaderTop) + 'px';\n definitionElement.style.left = Number(offsetLeft - (isShiftLeftNeeded ? shiftLeft : 0)) + 'px';\n}\n\nfunction termOnResize() {\n const openDefinition = document.getElementsByClassName(openDefinitionClass)[0] as HTMLElement;\n\n if (!openDefinition) {\n return;\n }\n const termId = openDefinition.getAttribute('term-id') || '';\n const termElement = document.getElementById(termId);\n\n if (!termElement) {\n return;\n }\n\n setDefinitionPosition(openDefinition, termElement);\n}\n\nfunction termParentElement(term: HTMLElement | null) {\n if (!term) {\n return null;\n }\n\n const closestScrollableParent = term.closest('table') || term.closest('code');\n\n return closestScrollableParent || term.parentElement;\n}\n\nexport function closeDefinition(definition: HTMLElement) {\n definition.classList.remove(openClass);\n const termId = definition.getAttribute('term-id') || '';\n const termParent = termParentElement(document.getElementById(termId));\n\n if (!termParent) {\n return;\n }\n\n termParent.removeEventListener('scroll', termOnResize);\n isListenerNeeded = true;\n}\n\nfunction getCoords(elem: HTMLElement) {\n const box = elem.getBoundingClientRect();\n\n const body = document.body;\n const docEl = document.documentElement;\n\n const scrollTop = window.pageYOffset || docEl.scrollTop || body.scrollTop;\n const scrollLeft = window.pageXOffset || docEl.scrollLeft || body.scrollLeft;\n\n const clientTop = docEl.clientTop || body.clientTop || 0;\n const clientLeft = docEl.clientLeft || body.clientLeft || 0;\n\n const top = box.top + scrollTop - clientTop;\n const left = box.left + scrollLeft - clientLeft;\n\n return {top: Math.round(top), left: Math.round(left)};\n}\n", "import {\n Selector,\n closeDefinition,\n createDefinitionElement,\n openClass,\n openDefinitionClass,\n setDefinitionId,\n setDefinitionPosition,\n} from './utils';\nimport {getEventTarget, isCustom} from '../utils';\n\nif (typeof document !== 'undefined') {\n document.addEventListener('click', (event) => {\n const openDefinition = document.getElementsByClassName(\n openDefinitionClass,\n )[0] as HTMLElement;\n const target = getEventTarget(event) as HTMLElement;\n\n const termId = target.getAttribute('id');\n const termKey = target.getAttribute('term-key');\n let definitionElement = document.getElementById(termKey + '_element');\n\n if (termKey && !definitionElement) {\n definitionElement = createDefinitionElement(target);\n }\n\n const isSameTerm = openDefinition && termId === openDefinition.getAttribute('term-id');\n if (isSameTerm) {\n closeDefinition(openDefinition);\n return;\n }\n\n const isTargetDefinitionContent = target.closest(\n [Selector.CONTENT.replace(' ', ''), openClass].join('.'),\n );\n\n if (openDefinition && !isTargetDefinitionContent) {\n closeDefinition(openDefinition);\n }\n\n if (isCustom(event) || !target.matches(Selector.TITLE) || !definitionElement) {\n return;\n }\n\n setDefinitionId(definitionElement, target);\n setDefinitionPosition(definitionElement, target);\n\n definitionElement.classList.toggle(openClass);\n });\n\n document.addEventListener('keydown', (event) => {\n const openDefinition = document.getElementsByClassName(\n openDefinitionClass,\n )[0] as HTMLElement;\n if (event.key === 'Escape' && openDefinition) {\n closeDefinition(openDefinition);\n }\n });\n\n window.addEventListener('resize', () => {\n const openDefinition = document.getElementsByClassName(\n openDefinitionClass,\n )[0] as HTMLElement;\n\n if (!openDefinition) {\n return;\n }\n\n const termId = openDefinition.getAttribute('term-id') || '';\n const termElement = document.getElementById(termId);\n\n if (!termElement) {\n openDefinition.classList.toggle(openClass);\n return;\n }\n\n setDefinitionPosition(openDefinition, termElement);\n });\n}\n", "export const WIDE_ELEMENTS_SELECTOR = '[wide-content]';\n", "export default `<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" fill=\"none\" viewBox=\"0 0 16 16\"><path fill=\"currentColor\" fill-rule=\"evenodd\" d=\"M7.754 2.004a.75.75 0 0 0 0 1.5h4.75v4.742a.75.75 0 0 0 1.5 0V2.754a.75.75 0 0 0-.75-.75zm.492 11.992a.75.75 0 0 0 0-1.5h-4.75V7.754a.75.75 0 0 0-1.5 0v5.492a.75.75 0 0 0 .75.75z\" clip-rule=\"evenodd\"/></svg>`;\n", "export default `<svg width=\"28\" height=\"28\" viewBox=\"0 0 28 28\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" class=\"close-action\"><path fillRule=\"evenodd\" clipRule=\"evenodd\" d=\"M9.46967 9.46967C9.76256 9.17678 10.2374 9.17678 10.5303 9.46967L14 12.9393L17.4697 9.46967C17.7626 9.17678 18.2374 9.17678 18.5303 9.46967C18.8232 9.76256 18.8232 10.2374 18.5303 10.5303L15.0607 14L18.5303 17.4697C18.8232 17.7626 18.8232 18.2374 18.5303 18.5303C18.2374 18.8232 17.7626 18.8232 17.4697 18.5303L14 15.0607L10.5303 18.5303C10.2374 18.8232 9.76256 18.8232 9.46967 18.5303C9.17678 18.2374 9.17678 17.7626 9.46967 17.4697L12.9393 14L9.46967 10.5303C9.17678 10.2374 9.17678 9.76256 9.46967 9.46967Z\" fill=\"var(--g-color-text-primary)\" fillOpacity=\"0.85\"/></svg>`;\n", "import closeIcon from './icons/close';\n\nconst remove = () => {\n if (!window.wideTemplate) {\n return;\n }\n\n window.wideTemplate.style.display = 'none';\n window.wideTemplate.content(undefined);\n};\n\nconst tbodyOf = (node: HTMLElement) => {\n if (node.tagName !== 'TABLE') {\n return undefined;\n }\n\n const elements = Array.from(node.children);\n\n const thead = elements.find((child) => child.tagName === 'THEAD');\n\n if (thead) {\n return undefined;\n }\n\n const tbody = elements.find((child) => child.tagName === 'TBODY');\n\n return tbody;\n};\n\ntype ModalContainer = NonNullable<typeof window.wideTemplate>;\n\n/* @todo refactor to markup with innerHTML @v8tenko */\n\nconst container = () => {\n if (window.wideTemplate) {\n return window.wideTemplate;\n }\n\n const template = document.createElement('div') as ModalContainer;\n template.classList.add('dc-doc-page', 'wide-container');\n\n const overlay = document.createElement('div');\n overlay.classList.add('wide-content-overlay');\n overlay.addEventListener('click', remove);\n\n const wrapper = document.createElement('div');\n wrapper.classList.add('yfm', 'wide-content-wrapper');\n\n const toolbar = document.createElement('div');\n toolbar.classList.add('wide-toolbar');\n\n const close = document.createElement('div');\n close.classList.add('wide-actions');\n close.addEventListener('click', remove);\n close.innerHTML = closeIcon;\n\n const title = document.createElement('p');\n title.classList.add('wide-entity-name');\n\n template.label = (content: string) => {\n title.innerHTML = content;\n };\n\n const content = document.createElement('div');\n content.classList.add('wide-content');\n\n template.content = (target?: Element) => {\n if (typeof target === 'undefined') {\n content.innerHTML = '';\n\n return;\n }\n\n const cloned = target.cloneNode(true) as HTMLElement;\n\n const tbody = tbodyOf(cloned);\n\n /* used to stretch single tbody to 100% */\n tbody?.classList?.add('wide-thead-content');\n\n content.replaceChildren(cloned);\n };\n\n toolbar.append(title, close);\n wrapper.append(toolbar, content);\n template.append(overlay, wrapper);\n\n template.style.display = 'none';\n document.body.appendChild(template);\n\n window.wideTemplate = template;\n\n return template;\n};\n\nconst render = (content: HTMLElement) => {\n const template = container();\n\n if (content.title) {\n template.label(content.title);\n }\n\n template.content(content);\n\n template.style.display = 'flex';\n};\n\nexport const modal = {\n render,\n remove,\n};\n", "import {WIDE_ELEMENTS_SELECTOR} from './constants';\nimport expand from './icons/expand';\nimport {modal} from './modal';\n\nconst wrap = (target: HTMLElement) => {\n if (target.parentElement?.classList.contains('wide-element-wrapper')) {\n return;\n }\n\n target.classList.add('wide-inner-element');\n\n const handler = document.createElement('div');\n\n handler.innerHTML = expand;\n handler.classList.add('wide-content-viewer');\n handler.addEventListener('click', () => modal.render(target));\n\n const container = document.createElement('div');\n\n container.classList.add('wide-element-wrapper');\n\n target.before(container);\n\n container.appendChild(target);\n container.appendChild(handler);\n};\n\nexport const applyWideMode = () => {\n const allWideElements = Array.from(\n document.querySelectorAll(WIDE_ELEMENTS_SELECTOR),\n ) as HTMLElement[];\n\n allWideElements.forEach(wrap);\n};\n", "import {applyWideMode} from './wide-mode/apply';\n\nconst patch = () => {\n applyWideMode();\n};\n\nwindow.patchAfterRender = patch;\n"],
|
|
5
|
-
"mappings": "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",
|
|
4
|
+
"sourcesContent": ["'use strict';\n\n// Node getRootNode(optional GetRootNodeOptions options);\n\n/**\n * Returns the context object\u2019s shadow-including root if options\u2019s composed is true.\n * Returns the context object\u2019s root otherwise.\n *\n * The root of an object is itself, if its parent is null, or else it is the root of its parent.\n *\n * The shadow-including root of an object is its root\u2019s host\u2019s shadow-including root,\n * if the object\u2019s root is a shadow root, and its root otherwise.\n *\n * https://dom.spec.whatwg.org/#dom-node-getrootnode\n *\n * @memberof Node.prototype\n * @param {!Object} [opt = {}] - Options.\n * @param {!boolean} [opt.composed] - See above description.\n * @returns {!Node} The root node.\n */\nfunction getRootNode(opt) {\n var composed = typeof opt === 'object' && Boolean(opt.composed);\n\n return composed ? getShadowIncludingRoot(this) : getRoot(this);\n}\n\nfunction getShadowIncludingRoot(node) {\n var root = getRoot(node);\n\n if (isShadowRoot(root)) {\n return getShadowIncludingRoot(root.host);\n }\n\n return root;\n}\n\nfunction getRoot(node) {\n if (node.parentNode != null) {\n return getRoot(node.parentNode);\n }\n\n return node;\n}\n\nfunction isShadowRoot(node) {\n return node.nodeName === '#document-fragment' && node.constructor.name === 'ShadowRoot';\n}\n\nif (typeof module === 'object' && module.exports) {\n module.exports = getRootNode;\n}\n", "import type {TabsOrientation} from './plugin/transform';\nimport type {TabsController} from './runtime/TabsController';\n\nexport const TABS_CLASSNAME = 'yfm-tabs';\nexport const TABS_VERTICAL_CLASSNAME = 'yfm-tabs-vertical';\nexport const TABS_LIST_CLASSNAME = 'yfm-tab-list';\nexport const TAB_CLASSNAME = 'yfm-tab';\nexport const TAB_PANEL_CLASSNAME = 'yfm-tab-panel';\nexport const ACTIVE_CLASSNAME = 'active';\nexport const VERTICAL_TAB_CLASSNAME = 'yfm-vertical-tab';\n\nexport const GROUP_DATA_KEY = 'data-diplodoc-group';\nexport const TAB_DATA_KEY = 'data-diplodoc-key';\nexport const TAB_DATA_ID = 'data-diplodoc-id';\nexport const TAB_DATA_VERTICAL_TAB = 'data-diplodoc-vertical-tab';\nexport const TAB_ACTIVE_KEY = 'data-diplodoc-is-active';\nexport const TAB_RADIO_KEY = 'data-diplodoc-input';\n\nexport const DEFAULT_TABS_GROUP_PREFIX = 'defaultTabsGroup-';\n\nexport interface Tab {\n group?: string;\n key: string;\n align: TabsOrientation;\n}\n\nexport interface SelectedTabEvent {\n tab: Tab;\n currentTabId?: string;\n}\n\nexport const GLOBAL_SYMBOL: unique symbol = Symbol.for('diplodocTabs');\n\ndeclare global {\n interface Window {\n [GLOBAL_SYMBOL]: TabsController;\n }\n}\n", "export const getEventTarget = (event: Event) => {\n const path = event.composedPath();\n return Array.isArray(path) && path.length > 0 ? path[0] : event.target;\n};\n\nexport const isCustom = (event: Event) => {\n const target = getEventTarget(event);\n return !target || !(target as HTMLElement).matches;\n};\n\nexport const getClosestScrollableParent = (element: HTMLElement): HTMLElement | undefined => {\n if (Math.abs(element.scrollHeight - element.clientHeight) > 1) {\n return element;\n }\n\n return element.parentElement ? getClosestScrollableParent(element.parentElement) : undefined;\n};\n\nexport interface ElementOffset {\n top: number;\n left: number;\n scrollTop: number;\n scrollLeft: number;\n}\n\nexport const getOffsetByScrollableParent = (\n element: HTMLElement,\n scrollableParent: HTMLElement,\n): ElementOffset => {\n const elementBounds = element.getBoundingClientRect();\n const scrollableParentBounds = scrollableParent.getBoundingClientRect();\n return {\n top: elementBounds.top - scrollableParentBounds.top,\n left: elementBounds.left - scrollableParentBounds.left,\n scrollTop: scrollableParent.scrollTop,\n scrollLeft: scrollableParent.scrollLeft,\n };\n};\n", "import {\n ACTIVE_CLASSNAME,\n DEFAULT_TABS_GROUP_PREFIX,\n GROUP_DATA_KEY,\n SelectedTabEvent,\n TABS_CLASSNAME,\n TABS_LIST_CLASSNAME,\n TABS_VERTICAL_CLASSNAME,\n TAB_CLASSNAME,\n TAB_DATA_ID,\n TAB_DATA_KEY,\n TAB_PANEL_CLASSNAME,\n Tab,\n} from '../common';\nimport type {TabsOrientation} from '../plugin/transform';\nimport {\n ElementOffset,\n getClosestScrollableParent,\n getEventTarget,\n getOffsetByScrollableParent,\n isCustom,\n} from './utils';\n\nconst Selector = {\n TABS: `.${TABS_CLASSNAME}`,\n TAB_LIST: `.${TABS_LIST_CLASSNAME}`,\n TAB: `.${TAB_CLASSNAME}`,\n TAB_PANEL: `.${TAB_PANEL_CLASSNAME}`,\n VERTICAL_TABS: `.${TABS_VERTICAL_CLASSNAME}`,\n};\n\nexport interface ISelectTabByIdOptions {\n scrollToElement: boolean;\n}\n\ntype Handler = (data: SelectedTabEvent) => void;\n\ntype TabSwitchDirection = 'left' | 'right';\n\nexport class TabsController {\n private _document: Document;\n\n private _onSelectTabHandlers: Set<Handler> = new Set();\n\n constructor(document: Document) {\n this._document = document;\n this._document.addEventListener('click', (event) => {\n const target = getEventTarget(event) as HTMLElement;\n const areVertical = this.areTabsVertical(target);\n\n if (isCustom(event)) {\n return;\n }\n\n if (!(this.isValidTabElement(target) || areVertical)) {\n return;\n }\n\n const tab = this.getTabDataFromHTMLElement(target);\n\n if (tab) {\n this._selectTab(tab, target);\n }\n });\n this._document.addEventListener('keydown', (event) => {\n let direction: TabSwitchDirection | null = null;\n switch (event.key) {\n case 'ArrowLeft': {\n direction = 'left';\n break;\n }\n case 'ArrowRight': {\n direction = 'right';\n break;\n }\n }\n if (!direction) {\n return;\n }\n\n const target = getEventTarget(event) as HTMLElement;\n\n if (isCustom(event) || !this.isValidTabElement(target)) {\n return;\n }\n\n const {tabs, nodes} = this.getTabs(target);\n const currentTab = this.getTabDataFromHTMLElement(target);\n const currentTabIndex = tabs.findIndex(\n ({key}) => currentTab?.key && key === currentTab.key,\n );\n if (!currentTab || tabs.length <= 1 || currentTabIndex === -1) {\n return;\n }\n\n const newIndex =\n (currentTabIndex + (direction === 'left' ? -1 : 1) + tabs.length) % tabs.length;\n\n this.selectTab(tabs[newIndex]);\n nodes[newIndex].focus();\n });\n }\n\n onSelectTab(handler: Handler) {\n this._onSelectTabHandlers.add(handler);\n\n return () => {\n this._onSelectTabHandlers.delete(handler);\n };\n }\n\n selectTabById(id: string, options?: ISelectTabByIdOptions) {\n const target = this._document.querySelector(\n `${Selector.TAB}[${TAB_DATA_ID}=\"${id}\"]`,\n ) as HTMLElement;\n\n if (!target || !this.isValidTabElement(target)) {\n return;\n }\n\n const tab = this.getTabDataFromHTMLElement(target);\n\n if (tab) {\n this._selectTab(tab, target);\n }\n\n if (options?.scrollToElement) {\n target.scrollIntoView();\n }\n }\n\n selectTab(tab: Tab) {\n this._selectTab(tab);\n }\n\n private _selectTab(tab: Tab, targetTab?: HTMLElement) {\n const {group, key, align} = tab;\n\n if (!group) {\n return;\n }\n\n const scrollableParent = targetTab && getClosestScrollableParent(targetTab);\n const previousTargetOffset =\n scrollableParent && getOffsetByScrollableParent(targetTab, scrollableParent);\n\n const updatedTabs = this.updateHTML({group, key, align}, align);\n\n if (updatedTabs > 0) {\n this.fireSelectTabEvent({group, key, align}, targetTab?.dataset.diplodocId);\n\n if (previousTargetOffset) {\n this.resetScroll(targetTab, scrollableParent, previousTargetOffset);\n }\n }\n }\n\n private updateHTML(tab: Required<Tab>, align: TabsOrientation) {\n switch (align) {\n case 'radio': {\n return this.updateHTMLVertical(tab);\n }\n case 'horizontal': {\n return this.updateHTMLHorizontal(tab);\n }\n }\n\n return 0;\n }\n\n private updateHTMLVertical(tab: Required<Tab>) {\n const {group, key} = tab;\n\n const tabs = this._document.querySelectorAll(\n `${Selector.TABS}[${GROUP_DATA_KEY}=\"${group}\"] ${Selector.TAB}[${TAB_DATA_KEY}=\"${key}\"]`,\n );\n\n let updated = 0;\n\n tabs.forEach((tab) => {\n const root = tab.parentNode!;\n const elements = root.children;\n\n for (let i = 0; i < elements.length; i += 2) {\n const [title, content] = [elements.item(i), elements.item(i + 1)] as HTMLElement[];\n\n const input = title.children.item(0) as HTMLInputElement;\n\n if (input.hasAttribute('checked')) {\n title.classList.remove('active');\n content?.classList.remove('active');\n input.removeAttribute('checked');\n }\n\n if (title === tab) {\n title.classList.add('active');\n content?.classList.add('active');\n input.setAttribute('checked', 'true');\n }\n\n updated++;\n }\n });\n\n return updated;\n }\n\n private updateHTMLHorizontal(tab: Required<Tab>) {\n const {group, key} = tab;\n\n const tabs = this._document.querySelectorAll(\n `${Selector.TABS}[${GROUP_DATA_KEY}=\"${group}\"] ${Selector.TAB}[${TAB_DATA_KEY}=\"${key}\"]`,\n );\n\n let updated = 0;\n\n tabs.forEach((element) => {\n const htmlElem = element as HTMLElement;\n if (!this.isValidTabElement(htmlElem) || htmlElem.dataset.diplodocIsActive === 'true') {\n return;\n }\n\n updated++;\n\n const tab = element;\n const tabList = tab.parentNode;\n const tabsContainer = tabList?.parentNode;\n const allTabs = Array.from(tabList?.querySelectorAll(Selector.TAB) || []);\n const allPanels = Array.from(tabsContainer?.children || []).filter((node) =>\n node.classList.contains(TAB_PANEL_CLASSNAME),\n );\n const targetIndex = allTabs.indexOf(tab);\n\n allTabs.forEach((tab, i) => {\n const panel = allPanels[i];\n const isTargetTab = i === targetIndex;\n const htmlElem = tab as HTMLElement;\n\n htmlElem.dataset.diplodocIsActive = isTargetTab ? 'true' : 'false';\n\n tab.classList.toggle(ACTIVE_CLASSNAME, isTargetTab);\n tab.setAttribute('aria-selected', isTargetTab.toString());\n tab.setAttribute('tabindex', isTargetTab ? '0' : '-1');\n panel.classList.toggle(ACTIVE_CLASSNAME, isTargetTab);\n });\n });\n\n return updated;\n }\n\n private resetScroll(\n target: HTMLElement,\n scrollableParent: HTMLElement,\n previousTargetOffset: ElementOffset,\n ) {\n const targetOffset = getOffsetByScrollableParent(target, scrollableParent);\n const topDelta = targetOffset.top - previousTargetOffset.top;\n const leftDelta = targetOffset.left - previousTargetOffset.left;\n const scrollTopDelta = targetOffset.scrollTop - previousTargetOffset.scrollTop;\n const scrollLeftDelta = targetOffset.scrollLeft - previousTargetOffset.scrollLeft;\n scrollableParent.scrollTo(\n scrollableParent.scrollLeft + leftDelta - scrollLeftDelta,\n scrollableParent.scrollTop + topDelta - scrollTopDelta,\n );\n }\n\n private fireSelectTabEvent(tab: Required<Tab>, diplodocId?: string) {\n const {group, key, align} = tab;\n\n const eventTab: Tab = group.startsWith(DEFAULT_TABS_GROUP_PREFIX) ? {key, align} : tab;\n\n this._onSelectTabHandlers.forEach((handler) => {\n handler({tab: eventTab, currentTabId: diplodocId});\n });\n }\n\n private isValidTabElement(element: HTMLElement) {\n const tabList =\n element.matches(Selector.TAB) && element.dataset.diplodocId\n ? element.closest(Selector.TAB_LIST)\n : null;\n\n return tabList?.closest(Selector.TABS);\n }\n\n private areTabsVertical(target: HTMLElement) {\n const parent = target.parentElement;\n\n return target.dataset.diplodocVerticalTab || Boolean(parent?.dataset.diplodocVerticalTab);\n }\n\n private getTabDataFromHTMLElement(target: HTMLElement): Tab | null {\n if (this.areTabsVertical(target)) {\n const tab = target.dataset.diplodocVerticalTab ? target : target.parentElement!;\n\n const key = tab.dataset.diplodocKey;\n const group = (tab.closest(Selector.TABS) as HTMLElement)?.dataset.diplodocGroup;\n return key && group ? {group, key, align: 'radio'} : null;\n }\n\n const key = target.dataset.diplodocKey;\n const group = (target.closest(Selector.TABS) as HTMLElement)?.dataset.diplodocGroup;\n return key && group ? {group, key, align: 'horizontal'} : null;\n }\n\n private getTabs(target: HTMLElement): {tabs: Tab[]; nodes: NodeListOf<HTMLElement>} {\n const group = (target.closest(Selector.TABS) as HTMLElement)?.dataset.diplodocGroup;\n const nodes = (\n target.closest(Selector.TAB_LIST) as HTMLElement\n )?.querySelectorAll<HTMLElement>(Selector.TAB);\n\n const tabs: Tab[] = [];\n nodes.forEach((tabEl) => {\n const key = tabEl?.dataset.diplodocKey;\n if (!key) {\n return;\n }\n\n /** horizontal-only supported feature (used in left/right button click) */\n tabs.push({\n group,\n key,\n align: 'horizontal',\n });\n });\n\n return {tabs, nodes};\n }\n}\n", "import {GLOBAL_SYMBOL} from '../common';\nimport {TabsController} from './TabsController';\nimport './scss/tabs.scss';\n\nif (typeof window !== 'undefined' && typeof document !== 'undefined' && !window[GLOBAL_SYMBOL]) {\n window[GLOBAL_SYMBOL] = new TabsController(document);\n}\n", "import getRootNode from 'get-root-node-polyfill';\n\nif (typeof document !== 'undefined') {\n // matches polyfill for old edge\n (function (e) {\n const matches =\n e.matches ||\n e.matchesSelector ||\n e.webkitMatchesSelector ||\n e.mozMatchesSelector ||\n e.msMatchesSelector ||\n e.oMatchesSelector;\n\n if (matches) {\n e.matches = e.matchesSelector = matches;\n } else {\n e.matches = e.matchesSelector = function matches(selector) {\n const rootNode = e.getRootNode ? e.getRootNode() : getRootNode.call(e);\n const matches = rootNode.querySelectorAll(selector);\n const th = this;\n return Array.prototype.some.call(matches, (e) => {\n return e === th;\n });\n };\n }\n })(Element.prototype);\n}\n", "export const getEventTarget = (event: Event) => {\n const path = event.composedPath();\n return Array.isArray(path) && path.length > 0 ? path[0] : event.target;\n};\n\nexport const isCustom = (event: Event) => {\n const target = getEventTarget(event);\n return !target || !(target as HTMLElement).matches;\n};\n", "import {getEventTarget, isCustom} from './utils';\n\nconst BUTTON_SELECTOR = '.yfm-clipboard-button';\n\nfunction copyToClipboard(text: string) {\n if (!text) {\n return Promise.resolve();\n }\n\n if (navigator.clipboard && typeof navigator.clipboard.writeText) {\n return navigator.clipboard.writeText(text);\n }\n const textarea = document.createElement('textarea');\n textarea.setAttribute('style', 'position: absolute; left: 1000%');\n textarea.textContent = text;\n document.body.append(textarea);\n\n textarea.select();\n document.execCommand('copy');\n\n document.body.removeChild(textarea);\n\n return Promise.resolve();\n}\n\nfunction notifySuccess(svgButton: HTMLElement | null) {\n if (!svgButton) {\n return;\n }\n\n const id = svgButton.getAttribute('data-animation');\n // @ts-expect-error\n const icon = svgButton.getRootNode().getElementById(`visibileAnimation-${id}`);\n\n if (!icon) {\n return;\n }\n\n icon.beginElement();\n}\n\nif (typeof document !== 'undefined') {\n document.addEventListener('click', (event) => {\n const target = getEventTarget(event) as HTMLElement;\n\n if (isCustom(event) || !target.matches(BUTTON_SELECTOR)) {\n return;\n }\n\n const parent = target.parentNode;\n\n if (!parent) {\n return;\n }\n\n const code = parent.querySelector<HTMLElement>('pre code');\n if (!code) {\n return;\n }\n\n copyToClipboard(code.innerText).then(() => {\n notifySuccess(parent.querySelector('.yfm-clipboard-button'));\n });\n });\n}\n", "import {getEventTarget, isCustom} from './utils';\n\nconst Selector = {\n CUT: '.yfm .yfm-cut',\n TITLE: '.yfm .yfm-cut-title',\n CONTENT: '.yfm .yfm-cut-content',\n};\n\nconst ClassName = {\n OPEN: 'open',\n};\n\nfunction toggleCut(element: HTMLElement) {\n const cutNode = element.parentNode;\n\n if (!(cutNode instanceof HTMLElement)) {\n return;\n }\n\n cutNode.classList.toggle(ClassName.OPEN);\n}\n\nfunction matchTitle(target: EventTarget | null) {\n if (!(target instanceof HTMLElement)) {\n return false;\n }\n\n return target?.matches?.(Selector.TITLE);\n}\n\nfunction findTitleInPath(event: MouseEvent): HTMLElement | undefined {\n const target = getEventTarget(event);\n\n if (matchTitle(target)) {\n return target as HTMLElement;\n }\n\n const path = event.composedPath?.();\n\n return path?.find(matchTitle) as HTMLElement | undefined;\n}\n\nif (typeof document !== 'undefined') {\n document.addEventListener('click', (event) => {\n if (isCustom(event)) {\n return;\n }\n\n const title = findTitleInPath(event);\n\n if (!title) {\n return;\n }\n\n toggleCut(title);\n });\n}\n", "export const Selector = {\n TITLE: '.yfm .yfm-term_title',\n CONTENT: '.yfm .yfm-term_dfn',\n};\nexport const openClass = 'open';\nexport const openDefinitionClass = Selector.CONTENT.replace(/\\./g, '') + ' ' + openClass;\nlet isListenerNeeded = true;\n\nexport function createDefinitionElement(termElement: HTMLElement) {\n const termKey = termElement.getAttribute('term-key');\n const definitionTemplate = document.getElementById(\n `${termKey}_template`,\n ) as HTMLTemplateElement;\n const definitionElement = definitionTemplate?.content.cloneNode(true).firstChild as HTMLElement;\n\n definitionTemplate?.parentElement?.appendChild(definitionElement);\n definitionTemplate.remove();\n\n return definitionElement;\n}\n\nexport function setDefinitionId(definitionElement: HTMLElement, termElement: HTMLElement): void {\n const termId = termElement.getAttribute('id') || Math.random().toString(36).substr(2, 8);\n definitionElement?.setAttribute('term-id', termId);\n}\n\nexport function setDefinitionPosition(\n definitionElement: HTMLElement,\n termElement: HTMLElement,\n): void {\n const {\n x: termX,\n y: termY,\n right: termRight,\n left: termLeft,\n width: termWidth,\n height: termHeight,\n } = termElement.getBoundingClientRect();\n\n const termParent = termParentElement(termElement);\n\n if (!termParent) {\n return;\n }\n\n const {right: termParentRight, left: termParentLeft} = termParent.getBoundingClientRect();\n\n if ((termParentRight < termLeft || termParentLeft > termRight) && !isListenerNeeded) {\n closeDefinition(definitionElement);\n return;\n }\n\n if (isListenerNeeded && termParent) {\n termParent.addEventListener('scroll', termOnResize);\n isListenerNeeded = false;\n }\n\n const relativeX = Number(definitionElement.getAttribute('relativeX'));\n const relativeY = Number(definitionElement.getAttribute('relativeY'));\n\n if (relativeX === termX && relativeY === termY) {\n return;\n }\n\n definitionElement.setAttribute('relativeX', String(termX));\n definitionElement.setAttribute('relativeY', String(termY));\n\n const offsetTop = termHeight + 5;\n const definitionParent = definitionElement.parentElement;\n\n if (!definitionParent) {\n return;\n }\n\n const {width: definitionWidth} = definitionElement.getBoundingClientRect();\n const {left: definitionParentLeft} = definitionParent.getBoundingClientRect();\n\n // If definition not fit document change base alignment\n const definitionLeftCoordinate = Number(getCoords(termElement).left);\n const definitionRightCoordinate = definitionWidth + definitionLeftCoordinate;\n\n const definitionOutOfScreenOnLeft = definitionLeftCoordinate - definitionWidth < 0;\n const definitionOutOfScreenOnRight = definitionRightCoordinate > document.body.clientWidth;\n\n const isAlignSwapped = definitionOutOfScreenOnRight || document.dir === 'rtl';\n const fitDefinitionDocument =\n isAlignSwapped && !definitionOutOfScreenOnLeft ? definitionWidth - termWidth : 0;\n const customHeaderTop = getCoords(definitionParent).top - definitionParent.offsetTop;\n const offsetRight = 5;\n const shiftLeft = definitionOutOfScreenOnRight\n ? definitionRightCoordinate - document.body.clientWidth + offsetRight\n : 0;\n const offsetLeft =\n getCoords(termElement).left -\n definitionParentLeft +\n definitionParent.offsetLeft -\n fitDefinitionDocument;\n\n const isShiftLeftNeeded = offsetLeft + definitionWidth >= document.body.clientWidth;\n\n definitionElement.style.top =\n Number(getCoords(termElement).top + offsetTop - customHeaderTop) + 'px';\n definitionElement.style.left = Number(offsetLeft - (isShiftLeftNeeded ? shiftLeft : 0)) + 'px';\n}\n\nfunction termOnResize() {\n const openDefinition = document.getElementsByClassName(openDefinitionClass)[0] as HTMLElement;\n\n if (!openDefinition) {\n return;\n }\n const termId = openDefinition.getAttribute('term-id') || '';\n const termElement = document.getElementById(termId);\n\n if (!termElement) {\n return;\n }\n\n setDefinitionPosition(openDefinition, termElement);\n}\n\nfunction termParentElement(term: HTMLElement | null) {\n if (!term) {\n return null;\n }\n\n const closestScrollableParent = term.closest('table') || term.closest('code');\n\n return closestScrollableParent || term.parentElement;\n}\n\nexport function closeDefinition(definition: HTMLElement) {\n definition.classList.remove(openClass);\n const termId = definition.getAttribute('term-id') || '';\n const termParent = termParentElement(document.getElementById(termId));\n\n if (!termParent) {\n return;\n }\n\n termParent.removeEventListener('scroll', termOnResize);\n isListenerNeeded = true;\n}\n\nfunction getCoords(elem: HTMLElement) {\n const box = elem.getBoundingClientRect();\n\n const body = document.body;\n const docEl = document.documentElement;\n\n const scrollTop = window.pageYOffset || docEl.scrollTop || body.scrollTop;\n const scrollLeft = window.pageXOffset || docEl.scrollLeft || body.scrollLeft;\n\n const clientTop = docEl.clientTop || body.clientTop || 0;\n const clientLeft = docEl.clientLeft || body.clientLeft || 0;\n\n const top = box.top + scrollTop - clientTop;\n const left = box.left + scrollLeft - clientLeft;\n\n return {top: Math.round(top), left: Math.round(left)};\n}\n", "import {\n Selector,\n closeDefinition,\n createDefinitionElement,\n openClass,\n openDefinitionClass,\n setDefinitionId,\n setDefinitionPosition,\n} from './utils';\nimport {getEventTarget, isCustom} from '../utils';\n\nif (typeof document !== 'undefined') {\n document.addEventListener('click', (event) => {\n const openDefinition = document.getElementsByClassName(\n openDefinitionClass,\n )[0] as HTMLElement;\n const target = getEventTarget(event) as HTMLElement;\n\n const termId = target.getAttribute('id');\n const termKey = target.getAttribute('term-key');\n let definitionElement = document.getElementById(termKey + '_element');\n\n if (termKey && !definitionElement) {\n definitionElement = createDefinitionElement(target);\n }\n\n const isSameTerm = openDefinition && termId === openDefinition.getAttribute('term-id');\n if (isSameTerm) {\n closeDefinition(openDefinition);\n return;\n }\n\n const isTargetDefinitionContent = target.closest(\n [Selector.CONTENT.replace(' ', ''), openClass].join('.'),\n );\n\n if (openDefinition && !isTargetDefinitionContent) {\n closeDefinition(openDefinition);\n }\n\n if (isCustom(event) || !target.matches(Selector.TITLE) || !definitionElement) {\n return;\n }\n\n setDefinitionId(definitionElement, target);\n setDefinitionPosition(definitionElement, target);\n\n definitionElement.classList.toggle(openClass);\n });\n\n document.addEventListener('keydown', (event) => {\n const openDefinition = document.getElementsByClassName(\n openDefinitionClass,\n )[0] as HTMLElement;\n if (event.key === 'Escape' && openDefinition) {\n closeDefinition(openDefinition);\n }\n });\n\n window.addEventListener('resize', () => {\n const openDefinition = document.getElementsByClassName(\n openDefinitionClass,\n )[0] as HTMLElement;\n\n if (!openDefinition) {\n return;\n }\n\n const termId = openDefinition.getAttribute('term-id') || '';\n const termElement = document.getElementById(termId);\n\n if (!termElement) {\n openDefinition.classList.toggle(openClass);\n return;\n }\n\n setDefinitionPosition(openDefinition, termElement);\n });\n}\n", "export const WIDE_ELEMENTS_SELECTOR = '[wide-content]';\n", "export default `<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" fill=\"none\" viewBox=\"0 0 16 16\"><path fill=\"currentColor\" fill-rule=\"evenodd\" d=\"M7.754 2.004a.75.75 0 0 0 0 1.5h4.75v4.742a.75.75 0 0 0 1.5 0V2.754a.75.75 0 0 0-.75-.75zm.492 11.992a.75.75 0 0 0 0-1.5h-4.75V7.754a.75.75 0 0 0-1.5 0v5.492a.75.75 0 0 0 .75.75z\" clip-rule=\"evenodd\"/></svg>`;\n", "export default `<svg width=\"28\" height=\"28\" viewBox=\"0 0 28 28\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" class=\"close-action\"><path fillRule=\"evenodd\" clipRule=\"evenodd\" d=\"M9.46967 9.46967C9.76256 9.17678 10.2374 9.17678 10.5303 9.46967L14 12.9393L17.4697 9.46967C17.7626 9.17678 18.2374 9.17678 18.5303 9.46967C18.8232 9.76256 18.8232 10.2374 18.5303 10.5303L15.0607 14L18.5303 17.4697C18.8232 17.7626 18.8232 18.2374 18.5303 18.5303C18.2374 18.8232 17.7626 18.8232 17.4697 18.5303L14 15.0607L10.5303 18.5303C10.2374 18.8232 9.76256 18.8232 9.46967 18.5303C9.17678 18.2374 9.17678 17.7626 9.46967 17.4697L12.9393 14L9.46967 10.5303C9.17678 10.2374 9.17678 9.76256 9.46967 9.46967Z\" fill=\"var(--g-color-text-primary)\" fillOpacity=\"0.85\"/></svg>`;\n", "import closeIcon from './icons/close';\n\nconst remove = () => {\n if (!window.wideTemplate) {\n return;\n }\n\n window.wideTemplate.style.display = 'none';\n window.wideTemplate.content(undefined);\n};\n\nconst tbodyOf = (node: HTMLElement) => {\n if (node.tagName !== 'TABLE') {\n return undefined;\n }\n\n const elements = Array.from(node.children);\n\n const thead = elements.find((child) => child.tagName === 'THEAD');\n\n if (thead) {\n return undefined;\n }\n\n const tbody = elements.find((child) => child.tagName === 'TBODY');\n\n return tbody;\n};\n\ntype ModalContainer = NonNullable<typeof window.wideTemplate>;\n\n/* @todo refactor to markup with innerHTML @v8tenko */\n\nconst container = () => {\n if (window.wideTemplate) {\n return window.wideTemplate;\n }\n\n const template = document.createElement('div') as ModalContainer;\n template.classList.add('dc-doc-page', 'wide-container');\n\n const overlay = document.createElement('div');\n overlay.classList.add('wide-content-overlay');\n overlay.addEventListener('click', remove);\n\n const wrapper = document.createElement('div');\n wrapper.classList.add('yfm', 'wide-content-wrapper');\n\n const toolbar = document.createElement('div');\n toolbar.classList.add('wide-toolbar');\n\n const close = document.createElement('div');\n close.classList.add('wide-actions');\n close.addEventListener('click', remove);\n close.innerHTML = closeIcon;\n\n const title = document.createElement('p');\n title.classList.add('wide-entity-name');\n\n template.label = (content: string) => {\n title.innerHTML = content;\n };\n\n const content = document.createElement('div');\n content.classList.add('wide-content');\n\n template.content = (target?: Element) => {\n if (typeof target === 'undefined') {\n content.innerHTML = '';\n\n return;\n }\n\n const cloned = target.cloneNode(true) as HTMLElement;\n\n const tbody = tbodyOf(cloned);\n\n /* used to stretch single tbody to 100% */\n tbody?.classList?.add('wide-thead-content');\n\n content.replaceChildren(cloned);\n };\n\n toolbar.append(title, close);\n wrapper.append(toolbar, content);\n template.append(overlay, wrapper);\n\n template.style.display = 'none';\n document.body.appendChild(template);\n\n window.wideTemplate = template;\n\n return template;\n};\n\nconst render = (content: HTMLElement) => {\n const template = container();\n\n if (content.title) {\n template.label(content.title);\n }\n\n template.content(content);\n\n template.style.display = 'flex';\n};\n\nexport const modal = {\n render,\n remove,\n};\n", "import {WIDE_ELEMENTS_SELECTOR} from './constants';\nimport expand from './icons/expand';\nimport {modal} from './modal';\n\nconst wrap = (target: HTMLElement) => {\n if (target.parentElement?.classList.contains('wide-element-wrapper')) {\n return;\n }\n\n target.classList.add('wide-inner-element');\n\n const handler = document.createElement('div');\n\n handler.innerHTML = expand;\n handler.classList.add('wide-content-viewer');\n handler.addEventListener('click', () => modal.render(target));\n\n const container = document.createElement('div');\n\n container.classList.add('wide-element-wrapper');\n\n target.before(container);\n\n container.appendChild(target);\n container.appendChild(handler);\n};\n\nexport const applyWideMode = () => {\n const allWideElements = Array.from(\n document.querySelectorAll(WIDE_ELEMENTS_SELECTOR),\n ) as HTMLElement[];\n\n allWideElements.forEach(wrap);\n};\n", "import {applyWideMode} from './wide-mode/apply';\n\nconst patch = () => {\n applyWideMode();\n};\n\nif (typeof window !== 'undefined') {\n window.patchAfterRender = patch;\n}\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": ["require_get_root_node_polyfill", "__commonJS", "exports", "module", "getRootNode", "opt", "composed", "getShadowIncludingRoot", "getRoot", "node", "root", "isShadowRoot", "TABS_CLASSNAME", "TABS_VERTICAL_CLASSNAME", "TABS_LIST_CLASSNAME", "TAB_CLASSNAME", "TAB_PANEL_CLASSNAME", "ACTIVE_CLASSNAME", "GROUP_DATA_KEY", "TAB_DATA_KEY", "TAB_DATA_ID", "DEFAULT_TABS_GROUP_PREFIX", "GLOBAL_SYMBOL", "getEventTarget", "event", "path", "isCustom", "target", "getClosestScrollableParent", "element", "getOffsetByScrollableParent", "scrollableParent", "elementBounds", "scrollableParentBounds", "Selector", "TabsController", "document", "areVertical", "tab", "direction", "tabs", "nodes", "currentTab", "currentTabIndex", "key", "newIndex", "handler", "id", "options", "targetTab", "group", "align", "previousTargetOffset", "updated", "elements", "i", "title", "content", "input", "htmlElem", "tabList", "tabsContainer", "allTabs", "allPanels", "targetIndex", "panel", "isTargetTab", "targetOffset", "topDelta", "leftDelta", "scrollTopDelta", "scrollLeftDelta", "diplodocId", "eventTab", "parent", "_a", "_b", "tabEl", "import_get_root_node_polyfill", "__toESM", "matches", "selector", "th", "e", "BUTTON_SELECTOR", "copyToClipboard", "text", "textarea", "notifySuccess", "svgButton", "icon", "code", "ClassName", "toggleCut", "cutNode", "matchTitle", "findTitleInPath", "openClass", "openDefinitionClass", "isListenerNeeded", "createDefinitionElement", "termElement", "termKey", "definitionTemplate", "definitionElement", "setDefinitionId", "termId", "setDefinitionPosition", "termX", "termY", "termRight", "termLeft", "termWidth", "termHeight", "termParent", "termParentElement", "termParentRight", "termParentLeft", "closeDefinition", "termOnResize", "relativeX", "relativeY", "offsetTop", "definitionParent", "definitionWidth", "definitionParentLeft", "definitionLeftCoordinate", "getCoords", "definitionRightCoordinate", "definitionOutOfScreenOnLeft", "definitionOutOfScreenOnRight", "fitDefinitionDocument", "customHeaderTop", "shiftLeft", "offsetLeft", "isShiftLeftNeeded", "openDefinition", "term", "definition", "elem", "box", "body", "docEl", "scrollTop", "scrollLeft", "clientTop", "clientLeft", "top", "left", "isTargetDefinitionContent", "WIDE_ELEMENTS_SELECTOR", "expand_default", "close_default", "remove", "tbodyOf", "child", "container", "template", "overlay", "wrapper", "toolbar", "close", "cloned", "tbody", "render", "modal", "wrap", "applyWideMode", "patch"]
|
|
7
7
|
}
|
package/package.json
CHANGED
package/src/js/patch.ts
CHANGED