neko-ui 2.15.0 → 2.15.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (165) hide show
  1. package/es/avatar/group.js +2 -2
  2. package/es/avatar/index.js +2 -2
  3. package/es/back-top/index.js +2 -2
  4. package/es/basic-config/index.d.ts +1 -0
  5. package/es/basic-config/index.js +2 -2
  6. package/es/button/index.js +2 -2
  7. package/es/button/style.js +2 -2
  8. package/es/capture-screen/index.js +10 -10
  9. package/es/carousel/index.js +2 -2
  10. package/es/checkbox/index.js +2 -2
  11. package/es/code/copy-icon.js +2 -2
  12. package/es/code/index.js +3 -3
  13. package/es/code/worker.js +2 -2
  14. package/es/color-palette/index.js +2 -2
  15. package/es/color-picker/index.js +2 -2
  16. package/es/cron/begin-interval.js +2 -2
  17. package/es/cron/day.js +2 -2
  18. package/es/cron/hour.js +2 -2
  19. package/es/cron/index.js +2 -2
  20. package/es/cron/item.js +2 -2
  21. package/es/cron/minute.js +2 -2
  22. package/es/cron/month.js +2 -2
  23. package/es/cron/period.js +2 -2
  24. package/es/cron/second.js +2 -2
  25. package/es/cron/some.js +2 -2
  26. package/es/cron/week.js +2 -2
  27. package/es/cron/year.js +2 -2
  28. package/es/date-picker/date.js +2 -2
  29. package/es/date-picker/index.js +3 -3
  30. package/es/date-picker/month.js +2 -2
  31. package/es/date-picker/panel.js +2 -2
  32. package/es/date-picker/time.js +2 -2
  33. package/es/date-picker/year.js +2 -2
  34. package/es/dropdown/index.js +2 -2
  35. package/es/empty/index.js +2 -2
  36. package/es/from-schema/index.js +2 -2
  37. package/es/get-options/index.js +2 -2
  38. package/es/glass-panel/index.js +2 -2
  39. package/es/highlight-text/index.js +2 -2
  40. package/es/icon/index.js +2 -2
  41. package/es/img/index.js +2 -2
  42. package/es/img/lazy.js +2 -2
  43. package/es/index.d.ts +1 -7
  44. package/es/index.js +2 -2
  45. package/es/input/index.js +2 -2
  46. package/es/input-number/index.js +2 -2
  47. package/es/marquee/index.d.ts +5 -0
  48. package/es/marquee/index.js +2 -2
  49. package/es/md/index.js +2 -2
  50. package/es/md/worker.js +2 -2
  51. package/es/menu/index.js +2 -2
  52. package/es/modal/hooks.js +2 -2
  53. package/es/modal/index.js +2 -2
  54. package/es/modal/posi.js +2 -2
  55. package/es/modal/store.js +2 -2
  56. package/es/notification/notification.js +2 -2
  57. package/es/notification/queque.js +2 -2
  58. package/es/pagination/index.js +2 -2
  59. package/es/popover/index.js +2 -2
  60. package/es/provider/index.js +2 -2
  61. package/es/qrcode/index.d.ts +1 -0
  62. package/es/qrcode/index.js +4 -4
  63. package/es/qrcode/qrcode.js +61 -61
  64. package/es/radio/index.js +2 -2
  65. package/es/segmented/index.js +2 -2
  66. package/es/select/index.js +3 -3
  67. package/es/skeleton/index.js +2 -2
  68. package/es/spin/index.js +2 -2
  69. package/es/switch/index.js +2 -2
  70. package/es/table/index.js +3 -3
  71. package/es/tabs/index.js +2 -2
  72. package/es/tag/index.js +2 -2
  73. package/es/theme/index.js +3 -3
  74. package/es/tree/index.js +2 -2
  75. package/es/tree/type.d.ts +1 -0
  76. package/es/tree/type.js +1 -1
  77. package/es/typography/index.js +2 -2
  78. package/es/utils/index.js +2 -2
  79. package/lib/avatar/group.js +2 -2
  80. package/lib/avatar/index.js +2 -2
  81. package/lib/back-top/index.js +2 -2
  82. package/lib/basic-config/index.d.ts +1 -0
  83. package/lib/basic-config/index.js +2 -2
  84. package/lib/button/index.js +2 -2
  85. package/lib/button/style.js +2 -2
  86. package/lib/capture-screen/index.js +10 -10
  87. package/lib/carousel/index.js +2 -2
  88. package/lib/checkbox/index.js +2 -2
  89. package/lib/code/copy-icon.js +2 -2
  90. package/lib/code/index.js +3 -3
  91. package/lib/code/worker.js +2 -2
  92. package/lib/color-palette/index.js +2 -2
  93. package/lib/color-picker/index.js +2 -2
  94. package/lib/cron/begin-interval.js +2 -2
  95. package/lib/cron/day.js +2 -2
  96. package/lib/cron/hour.js +2 -2
  97. package/lib/cron/index.js +2 -2
  98. package/lib/cron/item.js +2 -2
  99. package/lib/cron/minute.js +2 -2
  100. package/lib/cron/month.js +2 -2
  101. package/lib/cron/period.js +2 -2
  102. package/lib/cron/second.js +2 -2
  103. package/lib/cron/some.js +2 -2
  104. package/lib/cron/week.js +2 -2
  105. package/lib/cron/year.js +2 -2
  106. package/lib/date-picker/date.js +2 -2
  107. package/lib/date-picker/dayjs.js +1 -1
  108. package/lib/date-picker/index.js +3 -3
  109. package/lib/date-picker/month.js +2 -2
  110. package/lib/date-picker/panel.js +2 -2
  111. package/lib/date-picker/time.js +2 -2
  112. package/lib/date-picker/year.js +2 -2
  113. package/lib/dropdown/index.js +2 -2
  114. package/lib/empty/index.js +2 -2
  115. package/lib/from-schema/index.js +2 -2
  116. package/lib/get-options/index.js +2 -2
  117. package/lib/glass-panel/index.js +2 -2
  118. package/lib/highlight-text/index.js +2 -2
  119. package/lib/icon/index.js +2 -2
  120. package/lib/img/index.js +2 -2
  121. package/lib/img/lazy.js +2 -2
  122. package/lib/index.d.ts +1 -7
  123. package/lib/index.js +2 -2
  124. package/lib/input/index.js +2 -2
  125. package/lib/input-number/index.js +2 -2
  126. package/lib/marquee/index.d.ts +5 -0
  127. package/lib/marquee/index.js +2 -2
  128. package/lib/md/index.js +2 -2
  129. package/lib/md/worker.js +2 -2
  130. package/lib/menu/index.js +2 -2
  131. package/lib/modal/hooks.js +2 -2
  132. package/lib/modal/index.js +2 -2
  133. package/lib/modal/posi.js +2 -2
  134. package/lib/modal/store.js +2 -2
  135. package/lib/notification/notification.js +2 -2
  136. package/lib/notification/queque.js +2 -2
  137. package/lib/pagination/index.js +2 -2
  138. package/lib/popover/index.js +2 -2
  139. package/lib/provider/index.js +2 -2
  140. package/lib/qrcode/index.d.ts +1 -0
  141. package/lib/qrcode/index.js +4 -4
  142. package/lib/qrcode/qrcode.js +61 -61
  143. package/lib/radio/index.js +2 -2
  144. package/lib/segmented/index.js +2 -2
  145. package/lib/select/index.js +3 -3
  146. package/lib/skeleton/index.js +2 -2
  147. package/lib/spin/index.js +2 -2
  148. package/lib/switch/index.js +2 -2
  149. package/lib/table/index.js +3 -3
  150. package/lib/tabs/index.js +2 -2
  151. package/lib/tag/index.js +2 -2
  152. package/lib/theme/index.js +3 -3
  153. package/lib/tree/index.js +2 -2
  154. package/lib/tree/type.d.ts +1 -0
  155. package/lib/tree/type.js +1 -1
  156. package/lib/typography/index.js +2 -2
  157. package/lib/utils/index.js +2 -2
  158. package/package.json +8 -17
  159. package/es/collapse/index.d.ts +0 -16
  160. package/es/collapse/index.js +0 -2
  161. package/lib/collapse/index.d.ts +0 -16
  162. package/lib/collapse/index.js +0 -2
  163. package/umd/app-resource.json +0 -1
  164. package/umd/index.js +0 -5053
  165. package/umd/site.webmanifest +0 -1
@@ -1,2 +1,2 @@
1
- function _typeof(o){"@babel/helpers - typeof";return _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(o){return typeof o}:function(o){return o&&"function"==typeof Symbol&&o.constructor===Symbol&&o!==Symbol.prototype?"symbol":typeof o},_typeof(o)}import{template as _$template}from"solid-js/web";import{addEventListener as _$addEventListener}from"solid-js/web";import{memo as _$memo}from"solid-js/web";import{insert as _$insert}from"solid-js/web";import{use as _$use}from"solid-js/web";import{spread as _$spread}from"solid-js/web";import{mergeProps as _$mergeProps}from"solid-js/web";import{createComponent as _$createComponent}from"solid-js/web";import{effect as _$effect}from"solid-js/web";var _tmpl$=/*#__PURE__*/_$template(`<style>`),_tmpl$2=/*#__PURE__*/_$template(`<style> `),_tmpl$3=/*#__PURE__*/_$template(`<span>`),_tmpl$4=/*#__PURE__*/_$template(`<div>`);function _toConsumableArray(r){return _arrayWithoutHoles(r)||_iterableToArray(r)||_unsupportedIterableToArray(r)||_nonIterableSpread()}function _nonIterableSpread(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _iterableToArray(r){if("undefined"!=typeof Symbol&&null!=r[Symbol.iterator]||null!=r["@@iterator"])return Array.from(r)}function _arrayWithoutHoles(r){if(Array.isArray(r))return _arrayLikeToArray(r)}function _defineAccessor(e,r,n,t){var c={configurable:!0,enumerable:!0};return c[e]=t,Object.defineProperty(r,n,c)}function ownKeys(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);r&&(o=o.filter(function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable})),t.push.apply(t,o)}return t}function _objectSpread(e){for(var r=1;r<arguments.length;r++){var t=null!=arguments[r]?arguments[r]:{};r%2?ownKeys(Object(t),!0).forEach(function(r){_defineProperty(e,r,t[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):ownKeys(Object(t)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))})}return e}function _defineProperty(e,r,t){return(r=_toPropertyKey(r))in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t,e}function _toPropertyKey(t){var i=_toPrimitive(t,"string");return"symbol"==_typeof(i)?i:i+""}function _toPrimitive(t,r){if("object"!=_typeof(t)||!t)return t;var e=t[Symbol.toPrimitive];if(void 0!==e){var i=e.call(t,r||"default");if("object"!=_typeof(i))return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===r?String:Number)(t)}function _slicedToArray(r,e){return _arrayWithHoles(r)||_iterableToArrayLimit(r,e)||_unsupportedIterableToArray(r,e)||_nonIterableRest()}function _nonIterableRest(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _unsupportedIterableToArray(r,a){if(r){if("string"==typeof r)return _arrayLikeToArray(r,a);var t={}.toString.call(r).slice(8,-1);return"Object"===t&&r.constructor&&(t=r.constructor.name),"Map"===t||"Set"===t?Array.from(r):"Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?_arrayLikeToArray(r,a):void 0}}function _arrayLikeToArray(r,a){(null==a||a>r.length)&&(a=r.length);for(var e=0,n=Array(a);e<a;e++)n[e]=r[e];return n}function _iterableToArrayLimit(r,l){var t=null==r?null:"undefined"!=typeof Symbol&&r[Symbol.iterator]||r["@@iterator"];if(null!=t){var e,n,i,u,a=[],f=!0,o=!1;try{if(i=(t=t.call(r)).next,0===l){if(Object(t)!==t)return;f=!1}else for(;!(f=(e=i.call(t)).done)&&(a.push(e.value),a.length!==l);f=!0);}catch(r){o=!0,n=r}finally{try{if(!f&&null!=t["return"]&&(u=t["return"](),Object(u)!==u))return}finally{if(o)throw n}}return a}}function _arrayWithHoles(r){if(Array.isArray(r))return r}import{createEffect,createMemo,createSignal,mergeProps,onCleanup,onMount,Show,splitProps}from"solid-js";import{Portal}from"solid-js/web";import{isElementInside,isEqual,isFunction,passiveSupported}from"@moneko/common";import{css,cx}from"@moneko/css";import{customElement}from"solid-element";import{clearAttribute}from"../basic-config";import Empty from"../empty";import theme,{inline}from"../theme";import{popoverCss,portalCss}from"./style";export var TriggerOption=/*#__PURE__*/function(TriggerOption){/** 鼠标移入 */TriggerOption["hover"]="hover";/** 点击 */TriggerOption["click"]="click";/** 右键 */TriggerOption["contextMenu"]="contextMenu";/** 无 */TriggerOption["none"]="none";return TriggerOption}({});export var Placement=/*#__PURE__*/function(Placement){/** 左下 */Placement["bottomLeft"]="bottomLeft";/** 下 */Placement["bottom"]="bottom";/** 右下 */Placement["bottomRight"]="bottomRight";/** 左上 */Placement["topLeft"]="topLeft";/** 上 */Placement["top"]="top";/** 右上 */Placement["topRight"]="topRight";/** 左 */Placement["left"]="left";/** 右 */Placement["right"]="right";return Placement}({});function Popover(props){var isDark=theme.isDark,baseStyle=theme.baseStyle;var mp=mergeProps({trigger:"hover"},props);var _splitProps=splitProps(mp,["class","css","popupClass","popupCss","size","trigger","open","disabled","onOpenChange","dropdownMatchSelectWidth","destroyInactive","arrow","placement","getPopupContainer","children","content","encodeUri"]),_splitProps2=_slicedToArray(_splitProps,1),local=_splitProps2[0];var ref;var childRef;var closeTimer;var _createSignal=createSignal(null),_createSignal2=_slicedToArray(_createSignal,2),open=_createSignal2[0],setOpen=_createSignal2[1];var _createSignal3=createSignal({}),_createSignal4=_slicedToArray(_createSignal3,2),posi=_createSignal4[0],setPosi=_createSignal4[1];var _createSignal5=createSignal(false),_createSignal6=_slicedToArray(_createSignal5,2),up=_createSignal6[0],setUp=_createSignal6[1];var _createSignal7=createSignal(""),_createSignal8=_slicedToArray(_createSignal7,2),width=_createSignal8[0],setWidth=_createSignal8[1];createEffect(function(){if(local.open!==void 0){setOpen(local.open)}});function openChange(next){if(!local.disabled){if(local.onOpenChange){local.onOpenChange(next)}if(local.open===void 0){setOpen(next)}}}function exit(){if(open()===false){setOpen(null);openChange(null)}}createEffect(function(){if(open()&&local.dropdownMatchSelectWidth&&childRef){setWidth(".portal {width: ".concat(childRef.offsetWidth,"px;}"))}});function close(e){clearTimeout(closeTimer);closeTimer=setTimeout(function(){clearTimeout(closeTimer);if(e.target&&e.target.getAttribute("handle-closed")==="false"){return}var isContains=isElementInside(e.target,ref);if(open()&&!isContains||isContains&&e.type!=="mousedown"){openChange(false)}},local.trigger==="hover"?300:0)}var portalTimer;var showPortal=function showPortal(e){clearTimeout(portalTimer);portalTimer=setTimeout(function(){clearTimeout(portalTimer);if(!ref||!childRef||!e&&local.trigger==="contextMenu"){return}if((e===null||e===void 0?void 0:e.type)==="scroll"&&local.trigger==="contextMenu"){openChange(false);return}var elRect=childRef.getBoundingClientRect();var portalRect=ref.getBoundingClientRect();var offsetX=portalRect.width/2-elRect.width/2;var margin=window.innerHeight-elRect.bottom;var _placement=local.placement;var _isBottom=!(_placement!==null&&_placement!==void 0&&_placement.startsWith("top"))&&margin>ref.offsetHeight*0.8&&margin>elRect.top||(_placement===null||_placement===void 0?void 0:_placement.startsWith("bottom"));var arrowHeight=local.arrow?8:4;var _posi={};switch(local.placement){case"bottomLeft":case"left":case"topLeft":_posi.left=elRect.left;_posi["--x"]=-portalRect.width/2+16;break;case"bottomRight":case"right":case"topRight":_posi.left=elRect.right-portalRect.width;_posi["--x"]=portalRect.width/2-16;break;case"bottom":case"top":default:_posi.left=Math.abs(offsetX>elRect.left?elRect.left:elRect.left-offsetX);_posi["--x"]=-(_posi.left-elRect.left+offsetX);break}if(_isBottom){_posi.top=elRect.bottom+arrowHeight}else{_posi.bottom=window.innerHeight-elRect.top+arrowHeight}setPosi(function(prev){return isEqual(prev,_posi)?prev:_posi});setUp(function(prev){return prev===!_isBottom?prev:!_isBottom})},32)};function handleOpen(e){clearTimeout(closeTimer);e.stopPropagation();if(local.trigger==="contextMenu"&&e.type==="contextmenu"){e.preventDefault();setPosi(function(prev){return _objectSpread(_objectSpread({},prev),{},_defineProperty({left:e.clientX,top:e.clientY},"--x",-((ref===null||ref===void 0?void 0:ref.getBoundingClientRect().width)||0)/2+16))})}openChange(true)}var container=createMemo(function(){if(isFunction(local.getPopupContainer)){return local.getPopupContainer(childRef)}return document.body});var childrenProps=createMemo(function(){var _props={};var openEvent={click:"on:mousedown",hover:"on:mouseenter",contextMenu:"on:contextmenu",none:void 0};var closeEvent={hover:"on:mouseleave",click:void 0,contextMenu:void 0,none:void 0};var openFn=openEvent[local.trigger];var closeFn=closeEvent[local.trigger];Object.assign(_props,openFn&&_defineProperty({},openFn,handleOpen),closeFn&&_defineProperty({},closeFn,close));return _props});var portalStyle=createMemo(function(){var p=posi();return".portal {".concat(Object.keys(p).map(function(k){return"".concat(k,":").concat(p[k],"px;")}).join(""),"z-index: 99999;}")});var portalCls=createMemo(function(){return cx("portal",local.arrow&&"arrow","".concat(open()?"in":"out","-").concat(up()?"up":"down"),local.size,local.popupClass)});var hostStyle=createMemo(function(){return":host {--popover-bg: ".concat(isDark()?"#1f1f1f":"var(--component-bg)",";--popover-shadow-color: rgb(0 0 0 / 5%);position: absolute;}")});createEffect(function(){if(open()){showPortal();window.addEventListener("scroll",showPortal,{passive:passiveSupported})}onCleanup(function(){window.removeEventListener("scroll",showPortal,false)})});onMount(function(){if(local.trigger!=="none"){document.documentElement.addEventListener("mousedown",close,false)}});onCleanup(function(){clearTimeout(closeTimer);document.documentElement.removeEventListener("mousedown",close,false)});return[function(){var _el$=_tmpl$();_el$.textContent=popoverCss;return _el$}(),_$createComponent(Show,{get when(){return local.css},get children(){var _el$2=_tmpl$2(),_el$3=_el$2.firstChild;_$effect(function(){return _el$3.data=css(local.css)});return _el$2}}),function(){var _el$4=_tmpl$3();var _ref$=childRef;typeof _ref$==="function"?_$use(_ref$,_el$4):childRef=_el$4;_$spread(_el$4,_$mergeProps(_defineAccessor("get",{},"class",function(){return cx("popover",local.size,local["class"])}),childrenProps),false,true);_$insert(_el$4,function(){return local.children});return _el$4}(),_$createComponent(Show,{get when(){return open()!==null||!local.destroyInactive},get children(){return _$createComponent(Portal,{useShadow:true,get mount(){return container()},get children(){return[function(){var _el$5=_tmpl$2(),_el$6=_el$5.firstChild;_$effect(function(){return _el$6.data=baseStyle()});return _el$5}(),function(){var _el$7=_tmpl$();_el$7.textContent=portalCss;return _el$7}(),function(){var _el$8=_tmpl$2(),_el$9=_el$8.firstChild;_$effect(function(){return _el$9.data=hostStyle()});return _el$8}(),function(){var _el$0=_tmpl$2(),_el$1=_el$0.firstChild;_$effect(function(){return _el$1.data=portalStyle()});return _el$0}(),function(){var _el$10=_tmpl$2(),_el$11=_el$10.firstChild;_$effect(function(){return _el$11.data=width()});return _el$10}(),_$createComponent(Show,{get when(){return local.popupCss},get children(){var _el$12=_tmpl$2(),_el$13=_el$12.firstChild;_$effect(function(){return _el$13.data=css(local.popupCss)});return _el$12}}),function(){var _el$14=_tmpl$4();_$addEventListener(_el$14,"animationend",exit);var _ref$2=ref;typeof _ref$2==="function"?_$use(_ref$2,_el$14):ref=_el$14;_$spread(_el$14,_$mergeProps(_defineAccessor("get",{},"class",function(){return portalCls()}),childrenProps),false,true);_$insert(_el$14,_$createComponent(Show,{get when(){return!!local.content},get fallback(){return _$createComponent(Empty,{})},get children(){return _$createComponent(Show,{get when(){return typeof local.content==="string"},get fallback(){return _$memo(function(){return local.content})},get children(){var _el$15=_tmpl$4();_$effect(function(){return _el$15.innerHTML=local.encodeUri?decodeURIComponent(local.content):local.content});return _el$15}})}}));return _el$14}()]}})}})]}export var defaultProps={"class":void 0,css:void 0,content:void 0,getPopupContainer:void 0,trigger:void 0,open:void 0,onOpenChange:void 0,popupClass:void 0,popupCss:void 0,destroyInactive:true,disabled:void 0,arrow:void 0,placement:void 0,dropdownMatchSelectWidth:void 0,encodeUri:void 0};Popover.registry=function(){customElement("n-popover",defaultProps,function(_,opt){var baseStyle=theme.baseStyle;var el=opt.element;var props=mergeProps({onOpenChange:function onOpenChange(next){el.dispatchEvent(new CustomEvent("openchange",{detail:next}))},children:_toConsumableArray(el.childNodes.values())},_);createEffect(function(){clearAttribute(el,["content","popupCss","css"])});return[function(){var _el$16=_tmpl$();_el$16.textContent=inline;return _el$16}(),function(){var _el$17=_tmpl$2(),_el$18=_el$17.firstChild;_$effect(function(){return _el$18.data=baseStyle()});return _el$17}(),_$createComponent(Popover,props)]})};export default Popover;
2
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJjcmVhdGVFZmZlY3QiLCJjcmVhdGVNZW1vIiwiY3JlYXRlU2lnbmFsIiwibWVyZ2VQcm9wcyIsIm9uQ2xlYW51cCIsIm9uTW91bnQiLCJTaG93Iiwic3BsaXRQcm9wcyIsIlBvcnRhbCIsImlzRWxlbWVudEluc2lkZSIsImlzRXF1YWwiLCJpc0Z1bmN0aW9uIiwicGFzc2l2ZVN1cHBvcnRlZCIsImNzcyIsImN4IiwiY3VzdG9tRWxlbWVudCIsImNsZWFyQXR0cmlidXRlIiwiRW1wdHkiLCJ0aGVtZSIsImlubGluZSIsInBvcG92ZXJDc3MiLCJwb3J0YWxDc3MiLCJUcmlnZ2VyT3B0aW9uIiwiUGxhY2VtZW50IiwiUG9wb3ZlciIsInByb3BzIiwiaXNEYXJrIiwiYmFzZVN0eWxlIiwibXAiLCJ0cmlnZ2VyIiwiX3NwbGl0UHJvcHMiLCJfc3BsaXRQcm9wczIiLCJfc2xpY2VkVG9BcnJheSIsImxvY2FsIiwicmVmIiwiY2hpbGRSZWYiLCJjbG9zZVRpbWVyIiwiX2NyZWF0ZVNpZ25hbCIsIl9jcmVhdGVTaWduYWwyIiwib3BlbiIsInNldE9wZW4iLCJfY3JlYXRlU2lnbmFsMyIsIl9jcmVhdGVTaWduYWw0IiwicG9zaSIsInNldFBvc2kiLCJfY3JlYXRlU2lnbmFsNSIsIl9jcmVhdGVTaWduYWw2IiwidXAiLCJzZXRVcCIsIl9jcmVhdGVTaWduYWw3IiwiX2NyZWF0ZVNpZ25hbDgiLCJ3aWR0aCIsInNldFdpZHRoIiwib3BlbkNoYW5nZSIsIm5leHQiLCJkaXNhYmxlZCIsIm9uT3BlbkNoYW5nZSIsImV4aXQiLCJkcm9wZG93bk1hdGNoU2VsZWN0V2lkdGgiLCJjb25jYXQiLCJvZmZzZXRXaWR0aCIsImNsb3NlIiwiZSIsImNsZWFyVGltZW91dCIsInNldFRpbWVvdXQiLCJ0YXJnZXQiLCJnZXRBdHRyaWJ1dGUiLCJpc0NvbnRhaW5zIiwidHlwZSIsInBvcnRhbFRpbWVyIiwic2hvd1BvcnRhbCIsImVsUmVjdCIsImdldEJvdW5kaW5nQ2xpZW50UmVjdCIsInBvcnRhbFJlY3QiLCJvZmZzZXRYIiwibWFyZ2luIiwid2luZG93IiwiaW5uZXJIZWlnaHQiLCJib3R0b20iLCJfcGxhY2VtZW50IiwicGxhY2VtZW50IiwiX2lzQm90dG9tIiwic3RhcnRzV2l0aCIsIm9mZnNldEhlaWdodCIsInRvcCIsImFycm93SGVpZ2h0IiwiYXJyb3ciLCJfcG9zaSIsImxlZnQiLCJyaWdodCIsIk1hdGgiLCJhYnMiLCJwcmV2IiwiaGFuZGxlT3BlbiIsInN0b3BQcm9wYWdhdGlvbiIsInByZXZlbnREZWZhdWx0IiwiX29iamVjdFNwcmVhZCIsIl9kZWZpbmVQcm9wZXJ0eSIsImNsaWVudFgiLCJjbGllbnRZIiwiY29udGFpbmVyIiwiZ2V0UG9wdXBDb250YWluZXIiLCJkb2N1bWVudCIsImJvZHkiLCJjaGlsZHJlblByb3BzIiwiX3Byb3BzIiwib3BlbkV2ZW50IiwiY2xpY2siLCJob3ZlciIsImNvbnRleHRNZW51Iiwibm9uZSIsImNsb3NlRXZlbnQiLCJvcGVuRm4iLCJjbG9zZUZuIiwiT2JqZWN0IiwiYXNzaWduIiwicG9ydGFsU3R5bGUiLCJwIiwia2V5cyIsIm1hcCIsImsiLCJqb2luIiwicG9ydGFsQ2xzIiwic2l6ZSIsInBvcHVwQ2xhc3MiLCJob3N0U3R5bGUiLCJhZGRFdmVudExpc3RlbmVyIiwicGFzc2l2ZSIsInJlbW92ZUV2ZW50TGlzdGVuZXIiLCJkb2N1bWVudEVsZW1lbnQiLCJfZWwkIiwiX3RtcGwkIiwidGV4dENvbnRlbnQiLCJfJGNyZWF0ZUNvbXBvbmVudCIsIndoZW4iLCJjaGlsZHJlbiIsIl9lbCQyIiwiX3RtcGwkMiIsIl9lbCQzIiwiZmlyc3RDaGlsZCIsIl8kZWZmZWN0IiwiZGF0YSIsIl9lbCQ0IiwiX3RtcGwkMyIsIl9yZWYkIiwiXyR1c2UiLCJfJHNwcmVhZCIsIl8kbWVyZ2VQcm9wcyIsIl9kZWZpbmVBY2Nlc3NvciIsIl8kaW5zZXJ0IiwiZGVzdHJveUluYWN0aXZlIiwidXNlU2hhZG93IiwibW91bnQiLCJfZWwkNSIsIl9lbCQ2IiwiX2VsJDciLCJfZWwkOCIsIl9lbCQ5IiwiX2VsJDAiLCJfZWwkMSIsIl9lbCQxMCIsIl9lbCQxMSIsInBvcHVwQ3NzIiwiX2VsJDEyIiwiX2VsJDEzIiwiX2VsJDE0IiwiX3RtcGwkNCIsIl8kYWRkRXZlbnRMaXN0ZW5lciIsIl9yZWYkMiIsImNvbnRlbnQiLCJmYWxsYmFjayIsIl8kbWVtbyIsIl9lbCQxNSIsImlubmVySFRNTCIsImVuY29kZVVyaSIsImRlY29kZVVSSUNvbXBvbmVudCIsImRlZmF1bHRQcm9wcyIsInJlZ2lzdHJ5IiwiXyIsIm9wdCIsImVsIiwiZWxlbWVudCIsImRpc3BhdGNoRXZlbnQiLCJDdXN0b21FdmVudCIsImRldGFpbCIsIl90b0NvbnN1bWFibGVBcnJheSIsImNoaWxkTm9kZXMiLCJ2YWx1ZXMiLCJfZWwkMTYiLCJfZWwkMTciLCJfZWwkMTgiXSwic291cmNlcyI6WyJjb21wb25lbnRzL3BvcG92ZXIvaW5kZXgudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIGNyZWF0ZUVmZmVjdCxcbiAgY3JlYXRlTWVtbyxcbiAgY3JlYXRlU2lnbmFsLFxuICBtZXJnZVByb3BzLFxuICBvbkNsZWFudXAsXG4gIG9uTW91bnQsXG4gIFNob3csXG4gIHNwbGl0UHJvcHMsXG59IGZyb20gJ3NvbGlkLWpzJztcbmltcG9ydCB7IFBvcnRhbCB9IGZyb20gJ3NvbGlkLWpzL3dlYic7XG5pbXBvcnQgeyBpc0VsZW1lbnRJbnNpZGUsIGlzRXF1YWwsIGlzRnVuY3Rpb24sIHBhc3NpdmVTdXBwb3J0ZWQgfSBmcm9tICdAbW9uZWtvL2NvbW1vbic7XG5pbXBvcnQgeyBjc3MsIGN4IH0gZnJvbSAnQG1vbmVrby9jc3MnO1xuaW1wb3J0IHsgY3VzdG9tRWxlbWVudCB9IGZyb20gJ3NvbGlkLWVsZW1lbnQnO1xuXG5pbXBvcnQgdHlwZSB7IEJhc2ljQ29uZmlnLCBDdXN0b21FbGVtZW50IH0gZnJvbSAnLi4nO1xuaW1wb3J0IHsgY2xlYXJBdHRyaWJ1dGUsIHR5cGUgSlNYRWxlbWVudCB9IGZyb20gJy4uL2Jhc2ljLWNvbmZpZyc7XG5pbXBvcnQgRW1wdHkgZnJvbSAnLi4vZW1wdHknO1xuaW1wb3J0IHRoZW1lLCB7IGlubGluZSB9IGZyb20gJy4uL3RoZW1lJztcblxuaW1wb3J0IHsgcG9wb3ZlckNzcywgcG9ydGFsQ3NzIH0gZnJvbSAnLi9zdHlsZSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgUG9wb3ZlclByb3BzIHtcbiAgLyoqIOiHquWumuS5ieexu+WQjSAqL1xuICBjbGFzcz86IHN0cmluZztcbiAgLyoqIOiHquWumuS5ieagt+W8j+ihqCAqL1xuICBjc3M/OiBzdHJpbmc7XG4gIC8qKiDlhoXlrrkgKi9cbiAgY29udGVudD86IEpTWEVsZW1lbnQgfCAoKCkgPT4gSlNYRWxlbWVudCk7XG4gIC8qKiDmjILovb3liLDmjIflrprnmoTlhYPntKDvvIzlgLzkuLrkuIDkuKrov5Tlm57lr7nlupQgRE9NIOWFg+e0oCDpu5jorqQgZG9jdW1lbnQuYm9keSAqL1xuICBnZXRQb3B1cENvbnRhaW5lcj86IChub2RlPzogSFRNTEVsZW1lbnQgfCBudWxsKSA9PiBIVE1MRWxlbWVudDtcbiAgLyoqIOinpuWPkeihjOS4ulxuICAgKiBAZGVmYXVsdCAnaG92ZXInXG4gICAqL1xuICB0cmlnZ2VyPzoga2V5b2YgdHlwZW9mIFRyaWdnZXJPcHRpb247XG4gIC8qKiDmiZPlvIDlhoXlrrnmsJTms6EgKi9cbiAgb3Blbj86IGJvb2xlYW4gfCBudWxsO1xuICAvKiog5YaF5a655omT5byA5YWz6Zet5pe255qE5Zue6LCD5pa55rOVICovXG4gIG9uT3BlbkNoYW5nZT86IChvcGVuOiBib29sZWFuIHwgbnVsbCkgPT4gdm9pZDtcbiAgLyoqIOawlOazoeeahOiHquWumuS5ieexu+WQjSAqL1xuICBwb3B1cENsYXNzPzogc3RyaW5nO1xuICAvKiog5rCU5rOh55qE6Ieq5a6a5LmJ5qC35byP6KGoICovXG4gIHBvcHVwQ3NzPzogc3RyaW5nO1xuICAvKiog5YWz6Zet5ZCO5piv5ZCm6ZSA5q+BICAqL1xuICBkZXN0cm95SW5hY3RpdmU/OiBib29sZWFuO1xuICAvKiog5LiN5Y+v55So54q25oCBICAqL1xuICBkaXNhYmxlZD86IGJvb2xlYW47XG4gIC8qKiDmt7vliqDkuIDkuKrnrq3lpLTmmL7npLogICovXG4gIGFycm93PzogYm9vbGVhbjtcbiAgLyoqIOaMh+WumuawlOazoeaYvuekuueahOaWueWQkSAqL1xuICBwbGFjZW1lbnQ/OiBrZXlvZiB0eXBlb2YgUGxhY2VtZW50O1xuICAvKiog5rCU5rOh5a695bqm5LiO6Kem5Y+RZG9t5LiA6Ie0ICAqL1xuICBkcm9wZG93bk1hdGNoU2VsZWN0V2lkdGg/OiBib29sZWFuO1xuICAvKiog5bC65a+4XG4gICAqIEBkZWZhdWx0ICdub3JtYWwnXG4gICAqL1xuICBzaXplPzogQmFzaWNDb25maWdbJ3NpemUnXTtcbiAgY2hpbGRyZW4/OiBKU1hFbGVtZW50O1xuICAvKiogY29udGVudCDkuLogZW5jb2RlVVJJQ29tcG9uZW50IOWtl+espuS4siAqL1xuICBlbmNvZGVVcmk/OiBib29sZWFuO1xufVxuXG5leHBvcnQgZW51bSBUcmlnZ2VyT3B0aW9uIHtcbiAgLyoqIOm8oOagh+enu+WFpSAqL1xuICBob3ZlciA9ICdob3ZlcicsXG4gIC8qKiDngrnlh7sgKi9cbiAgY2xpY2sgPSAnY2xpY2snLFxuICAvKiog5Y+z6ZSuICovXG4gIGNvbnRleHRNZW51ID0gJ2NvbnRleHRNZW51JyxcbiAgLyoqIOaXoCAqL1xuICBub25lID0gJ25vbmUnLFxufVxuXG5leHBvcnQgZW51bSBQbGFjZW1lbnQge1xuICAvKiog5bem5LiLICovXG4gIGJvdHRvbUxlZnQgPSAnYm90dG9tTGVmdCcsXG4gIC8qKiDkuIsgKi9cbiAgYm90dG9tID0gJ2JvdHRvbScsXG4gIC8qKiDlj7PkuIsgKi9cbiAgYm90dG9tUmlnaHQgPSAnYm90dG9tUmlnaHQnLFxuICAvKiog5bem5LiKICovXG4gIHRvcExlZnQgPSAndG9wTGVmdCcsXG4gIC8qKiDkuIogKi9cbiAgdG9wID0gJ3RvcCcsXG4gIC8qKiDlj7PkuIogKi9cbiAgdG9wUmlnaHQgPSAndG9wUmlnaHQnLFxuICAvKiog5bemICovXG4gIGxlZnQgPSAnbGVmdCcsXG4gIC8qKiDlj7MgKi9cbiAgcmlnaHQgPSAncmlnaHQnLFxufVxuXG5pbnRlcmZhY2UgUG9zaSB7XG4gIGxlZnQ/OiBudW1iZXI7XG4gIHRvcD86IG51bWJlcjtcbiAgcmlnaHQ/OiBudW1iZXI7XG4gIGJvdHRvbT86IG51bWJlcjtcbiAgJy0teCc/OiBudW1iZXI7XG59XG5cbmludGVyZmFjZSBFdmVudE1hcCB7XG4gIGNsaWNrPzogc3RyaW5nO1xuICBob3Zlcj86IHN0cmluZztcbiAgY29udGV4dE1lbnU/OiBzdHJpbmc7XG4gIG5vbmU/OiBuZXZlcjtcbiAgW2tleTogc3RyaW5nXTogc3RyaW5nIHwgdW5kZWZpbmVkO1xufVxuZnVuY3Rpb24gUG9wb3Zlcihwcm9wczogUG9wb3ZlclByb3BzKSB7XG4gIGNvbnN0IHsgaXNEYXJrLCBiYXNlU3R5bGUgfSA9IHRoZW1lO1xuICBjb25zdCBtcCA9IG1lcmdlUHJvcHMoXG4gICAge1xuICAgICAgdHJpZ2dlcjogJ2hvdmVyJyxcbiAgICB9LFxuICAgIHByb3BzLFxuICApO1xuICBjb25zdCBbbG9jYWxdID0gc3BsaXRQcm9wcyhtcCwgW1xuICAgICdjbGFzcycsXG4gICAgJ2NzcycsXG4gICAgJ3BvcHVwQ2xhc3MnLFxuICAgICdwb3B1cENzcycsXG4gICAgJ3NpemUnLFxuICAgICd0cmlnZ2VyJyxcbiAgICAnb3BlbicsXG4gICAgJ2Rpc2FibGVkJyxcbiAgICAnb25PcGVuQ2hhbmdlJyxcbiAgICAnZHJvcGRvd25NYXRjaFNlbGVjdFdpZHRoJyxcbiAgICAnZGVzdHJveUluYWN0aXZlJyxcbiAgICAnYXJyb3cnLFxuICAgICdwbGFjZW1lbnQnLFxuICAgICdnZXRQb3B1cENvbnRhaW5lcicsXG4gICAgJ2NoaWxkcmVuJyxcbiAgICAnY29udGVudCcsXG4gICAgJ2VuY29kZVVyaScsXG4gIF0pO1xuICBsZXQgcmVmOiBIVE1MRGl2RWxlbWVudCB8IHVuZGVmaW5lZDtcbiAgbGV0IGNoaWxkUmVmOiBIVE1MU3BhbkVsZW1lbnQgfCB1bmRlZmluZWQ7XG4gIGxldCBjbG9zZVRpbWVyOiBSZXR1cm5UeXBlPHR5cGVvZiBzZXRJbnRlcnZhbD4gfCB1bmRlZmluZWQ7XG4gIGNvbnN0IFtvcGVuLCBzZXRPcGVuXSA9IGNyZWF0ZVNpZ25hbDxib29sZWFuIHwgbnVsbD4obnVsbCk7XG4gIGNvbnN0IFtwb3NpLCBzZXRQb3NpXSA9IGNyZWF0ZVNpZ25hbDxQb3NpPih7fSk7XG4gIGNvbnN0IFt1cCwgc2V0VXBdID0gY3JlYXRlU2lnbmFsPGJvb2xlYW4+KGZhbHNlKTtcbiAgY29uc3QgW3dpZHRoLCBzZXRXaWR0aF0gPSBjcmVhdGVTaWduYWwoJycpO1xuXG4gIGNyZWF0ZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKGxvY2FsLm9wZW4gIT09IHZvaWQgMCkge1xuICAgICAgc2V0T3Blbihsb2NhbC5vcGVuKTtcbiAgICB9XG4gIH0pO1xuICBmdW5jdGlvbiBvcGVuQ2hhbmdlKG5leHQ6IGJvb2xlYW4gfCBudWxsKSB7XG4gICAgaWYgKCFsb2NhbC5kaXNhYmxlZCkge1xuICAgICAgaWYgKGxvY2FsLm9uT3BlbkNoYW5nZSkge1xuICAgICAgICBsb2NhbC5vbk9wZW5DaGFuZ2UobmV4dCk7XG4gICAgICB9XG4gICAgICBpZiAobG9jYWwub3BlbiA9PT0gdm9pZCAwKSB7XG4gICAgICAgIHNldE9wZW4obmV4dCk7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIGZ1bmN0aW9uIGV4aXQoKSB7XG4gICAgaWYgKG9wZW4oKSA9PT0gZmFsc2UpIHtcbiAgICAgIHNldE9wZW4obnVsbCk7XG4gICAgICBvcGVuQ2hhbmdlKG51bGwpO1xuICAgIH1cbiAgfVxuICBjcmVhdGVFZmZlY3QoKCkgPT4ge1xuICAgIGlmIChvcGVuKCkgJiYgbG9jYWwuZHJvcGRvd25NYXRjaFNlbGVjdFdpZHRoICYmIGNoaWxkUmVmKSB7XG4gICAgICBzZXRXaWR0aChgLnBvcnRhbCB7d2lkdGg6ICR7Y2hpbGRSZWYub2Zmc2V0V2lkdGh9cHg7fWApO1xuICAgIH1cbiAgfSk7XG5cbiAgZnVuY3Rpb24gY2xvc2UoZTogTW91c2VFdmVudCB8IEV2ZW50KSB7XG4gICAgY2xlYXJUaW1lb3V0KGNsb3NlVGltZXIpO1xuICAgIGNsb3NlVGltZXIgPSBzZXRUaW1lb3V0KFxuICAgICAgKCkgPT4ge1xuICAgICAgICBjbGVhclRpbWVvdXQoY2xvc2VUaW1lcik7XG4gICAgICAgIGlmIChlLnRhcmdldCAmJiAoZS50YXJnZXQgYXMgSFRNTEVsZW1lbnQpLmdldEF0dHJpYnV0ZSgnaGFuZGxlLWNsb3NlZCcpID09PSAnZmFsc2UnKSB7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGlzQ29udGFpbnMgPSBpc0VsZW1lbnRJbnNpZGUoZS50YXJnZXQgYXMgRWxlbWVudCwgcmVmKTtcblxuICAgICAgICBpZiAoKG9wZW4oKSAmJiAhaXNDb250YWlucykgfHwgKGlzQ29udGFpbnMgJiYgZS50eXBlICE9PSAnbW91c2Vkb3duJykpIHtcbiAgICAgICAgICBvcGVuQ2hhbmdlKGZhbHNlKTtcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIGxvY2FsLnRyaWdnZXIgPT09ICdob3ZlcicgPyAzMDAgOiAwLFxuICAgICk7XG4gIH1cbiAgbGV0IHBvcnRhbFRpbWVyOiBSZXR1cm5UeXBlPHR5cGVvZiBzZXRJbnRlcnZhbD4gfCB1bmRlZmluZWQ7XG4gIGNvbnN0IHNob3dQb3J0YWwgPSBmdW5jdGlvbiAoZT86IEV2ZW50KTogdm9pZCB7XG4gICAgY2xlYXJUaW1lb3V0KHBvcnRhbFRpbWVyKTtcbiAgICBwb3J0YWxUaW1lciA9IHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgY2xlYXJUaW1lb3V0KHBvcnRhbFRpbWVyKTtcbiAgICAgIGlmICghcmVmIHx8ICFjaGlsZFJlZiB8fCAoIWUgJiYgbG9jYWwudHJpZ2dlciA9PT0gJ2NvbnRleHRNZW51JykpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgaWYgKGU/LnR5cGUgPT09ICdzY3JvbGwnICYmIGxvY2FsLnRyaWdnZXIgPT09ICdjb250ZXh0TWVudScpIHtcbiAgICAgICAgb3BlbkNoYW5nZShmYWxzZSk7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICAgIGNvbnN0IGVsUmVjdCA9IGNoaWxkUmVmLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAgICAgY29uc3QgcG9ydGFsUmVjdCA9IHJlZi5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICAgIGNvbnN0IG9mZnNldFggPSBwb3J0YWxSZWN0LndpZHRoIC8gMiAtIGVsUmVjdC53aWR0aCAvIDI7XG4gICAgICBjb25zdCBtYXJnaW4gPSB3aW5kb3cuaW5uZXJIZWlnaHQgLSBlbFJlY3QuYm90dG9tO1xuICAgICAgY29uc3QgX3BsYWNlbWVudCA9IGxvY2FsLnBsYWNlbWVudDtcblxuICAgICAgY29uc3QgX2lzQm90dG9tID1cbiAgICAgICAgKCFfcGxhY2VtZW50Py5zdGFydHNXaXRoKCd0b3AnKSAmJlxuICAgICAgICAgIG1hcmdpbiA+IHJlZi5vZmZzZXRIZWlnaHQgKiAwLjggJiZcbiAgICAgICAgICBtYXJnaW4gPiBlbFJlY3QudG9wKSB8fFxuICAgICAgICBfcGxhY2VtZW50Py5zdGFydHNXaXRoKCdib3R0b20nKTtcbiAgICAgIGNvbnN0IGFycm93SGVpZ2h0ID0gbG9jYWwuYXJyb3cgPyA4IDogNDtcbiAgICAgIGNvbnN0IF9wb3NpOiBQb3NpID0ge307XG5cbiAgICAgIHN3aXRjaCAobG9jYWwucGxhY2VtZW50KSB7XG4gICAgICAgIGNhc2UgJ2JvdHRvbUxlZnQnOlxuICAgICAgICBjYXNlICdsZWZ0JzpcbiAgICAgICAgY2FzZSAndG9wTGVmdCc6XG4gICAgICAgICAgX3Bvc2kubGVmdCA9IGVsUmVjdC5sZWZ0O1xuICAgICAgICAgIF9wb3NpWyctLXgnXSA9IC1wb3J0YWxSZWN0LndpZHRoIC8gMiArIDE2O1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlICdib3R0b21SaWdodCc6XG4gICAgICAgIGNhc2UgJ3JpZ2h0JzpcbiAgICAgICAgY2FzZSAndG9wUmlnaHQnOlxuICAgICAgICAgIF9wb3NpLmxlZnQgPSBlbFJlY3QucmlnaHQgLSBwb3J0YWxSZWN0LndpZHRoO1xuICAgICAgICAgIF9wb3NpWyctLXgnXSA9IHBvcnRhbFJlY3Qud2lkdGggLyAyIC0gMTY7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgJ2JvdHRvbSc6XG4gICAgICAgIGNhc2UgJ3RvcCc6XG4gICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgX3Bvc2kubGVmdCA9IE1hdGguYWJzKG9mZnNldFggPiBlbFJlY3QubGVmdCA/IGVsUmVjdC5sZWZ0IDogZWxSZWN0LmxlZnQgLSBvZmZzZXRYKTtcbiAgICAgICAgICBfcG9zaVsnLS14J10gPSAtKF9wb3NpLmxlZnQgLSBlbFJlY3QubGVmdCArIG9mZnNldFgpO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgICAgaWYgKF9pc0JvdHRvbSkge1xuICAgICAgICBfcG9zaS50b3AgPSBlbFJlY3QuYm90dG9tICsgYXJyb3dIZWlnaHQ7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBfcG9zaS5ib3R0b20gPSB3aW5kb3cuaW5uZXJIZWlnaHQgLSBlbFJlY3QudG9wICsgYXJyb3dIZWlnaHQ7XG4gICAgICB9XG4gICAgICBzZXRQb3NpKChwcmV2KSA9PiB7XG4gICAgICAgIHJldHVybiBpc0VxdWFsKHByZXYsIF9wb3NpKSA/IHByZXYgOiBfcG9zaTtcbiAgICAgIH0pO1xuICAgICAgc2V0VXAoKHByZXYpID0+IHtcbiAgICAgICAgcmV0dXJuIHByZXYgPT09ICFfaXNCb3R0b20gPyBwcmV2IDogIV9pc0JvdHRvbTtcbiAgICAgIH0pO1xuICAgIH0sIDMyKTtcbiAgfTtcblxuICBmdW5jdGlvbiBoYW5kbGVPcGVuKGU6IE1vdXNlRXZlbnQpIHtcbiAgICBjbGVhclRpbWVvdXQoY2xvc2VUaW1lcik7XG4gICAgZS5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICBpZiAobG9jYWwudHJpZ2dlciA9PT0gJ2NvbnRleHRNZW51JyAmJiBlLnR5cGUgPT09ICdjb250ZXh0bWVudScpIHtcbiAgICAgIGUucHJldmVudERlZmF1bHQoKTtcbiAgICAgIHNldFBvc2koKHByZXYpID0+ICh7XG4gICAgICAgIC4uLnByZXYsXG4gICAgICAgIGxlZnQ6IGUuY2xpZW50WCxcbiAgICAgICAgdG9wOiBlLmNsaWVudFksXG4gICAgICAgIFsnLS14J106IC0ocmVmPy5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS53aWR0aCB8fCAwKSAvIDIgKyAxNixcbiAgICAgIH0pKTtcbiAgICB9XG4gICAgb3BlbkNoYW5nZSh0cnVlKTtcbiAgfVxuXG4gIGNvbnN0IGNvbnRhaW5lciA9IGNyZWF0ZU1lbW8oKCkgPT4ge1xuICAgIGlmIChpc0Z1bmN0aW9uKGxvY2FsLmdldFBvcHVwQ29udGFpbmVyKSkge1xuICAgICAgcmV0dXJuIGxvY2FsLmdldFBvcHVwQ29udGFpbmVyKGNoaWxkUmVmKTtcbiAgICB9XG4gICAgcmV0dXJuIGRvY3VtZW50LmJvZHk7XG4gIH0pO1xuICBjb25zdCBjaGlsZHJlblByb3BzID0gY3JlYXRlTWVtbygoKSA9PiB7XG4gICAgY29uc3QgX3Byb3BzOiBQYXJ0aWFsPFJlY29yZDxrZXlvZiBFdmVudE1hcCwgdm9pZD4+ID0ge307XG5cbiAgICBjb25zdCBvcGVuRXZlbnQ6IEV2ZW50TWFwID0ge1xuICAgICAgY2xpY2s6ICdvbjptb3VzZWRvd24nLFxuICAgICAgaG92ZXI6ICdvbjptb3VzZWVudGVyJyxcbiAgICAgIGNvbnRleHRNZW51OiAnb246Y29udGV4dG1lbnUnLFxuICAgICAgbm9uZTogdm9pZCAwLFxuICAgIH07XG4gICAgY29uc3QgY2xvc2VFdmVudDogRXZlbnRNYXAgPSB7XG4gICAgICBob3ZlcjogJ29uOm1vdXNlbGVhdmUnLFxuICAgICAgY2xpY2s6IHZvaWQgMCxcbiAgICAgIGNvbnRleHRNZW51OiB2b2lkIDAsXG4gICAgICBub25lOiB2b2lkIDAsXG4gICAgfTtcblxuICAgIGNvbnN0IG9wZW5GbiA9IG9wZW5FdmVudFtsb2NhbC50cmlnZ2VyXTtcbiAgICBjb25zdCBjbG9zZUZuID0gY2xvc2VFdmVudFtsb2NhbC50cmlnZ2VyXTtcblxuICAgIE9iamVjdC5hc3NpZ24oXG4gICAgICBfcHJvcHMsXG4gICAgICBvcGVuRm4gJiYge1xuICAgICAgICBbb3BlbkZuXTogaGFuZGxlT3BlbixcbiAgICAgIH0sXG4gICAgICBjbG9zZUZuICYmIHtcbiAgICAgICAgW2Nsb3NlRm5dOiBjbG9zZSxcbiAgICAgIH0sXG4gICAgKTtcblxuICAgIHJldHVybiBfcHJvcHM7XG4gIH0pO1xuXG4gIGNvbnN0IHBvcnRhbFN0eWxlID0gY3JlYXRlTWVtbygoKSA9PiB7XG4gICAgY29uc3QgcCA9IHBvc2koKTtcblxuICAgIHJldHVybiBgLnBvcnRhbCB7JHtPYmplY3Qua2V5cyhwKVxuICAgICAgLm1hcCgoaykgPT4gYCR7a306JHtwW2sgYXMga2V5b2YgUG9zaV19cHg7YClcbiAgICAgIC5qb2luKCcnKX16LWluZGV4OiA5OTk5OTt9YDtcbiAgfSk7XG4gIGNvbnN0IHBvcnRhbENscyA9IGNyZWF0ZU1lbW8oKCkgPT4ge1xuICAgIHJldHVybiBjeChcbiAgICAgICdwb3J0YWwnLFxuICAgICAgbG9jYWwuYXJyb3cgJiYgJ2Fycm93JyxcbiAgICAgIGAke29wZW4oKSA/ICdpbicgOiAnb3V0J30tJHt1cCgpID8gJ3VwJyA6ICdkb3duJ31gLFxuICAgICAgbG9jYWwuc2l6ZSxcbiAgICAgIGxvY2FsLnBvcHVwQ2xhc3MsXG4gICAgKTtcbiAgfSk7XG4gIGNvbnN0IGhvc3RTdHlsZSA9IGNyZWF0ZU1lbW8oKCkgPT4ge1xuICAgIHJldHVybiBgOmhvc3Qgey0tcG9wb3Zlci1iZzogJHtcbiAgICAgIGlzRGFyaygpID8gJyMxZjFmMWYnIDogJ3ZhcigtLWNvbXBvbmVudC1iZyknXG4gICAgfTstLXBvcG92ZXItc2hhZG93LWNvbG9yOiByZ2IoMCAwIDAgLyA1JSk7cG9zaXRpb246IGFic29sdXRlO31gO1xuICB9KTtcblxuICBjcmVhdGVFZmZlY3QoKCkgPT4ge1xuICAgIGlmIChvcGVuKCkpIHtcbiAgICAgIHNob3dQb3J0YWwoKTtcblxuICAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ3Njcm9sbCcsIHNob3dQb3J0YWwsIHtcbiAgICAgICAgcGFzc2l2ZTogcGFzc2l2ZVN1cHBvcnRlZCxcbiAgICAgIH0pO1xuICAgIH1cbiAgICBvbkNsZWFudXAoKCkgPT4ge1xuICAgICAgd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3Njcm9sbCcsIHNob3dQb3J0YWwsIGZhbHNlKTtcbiAgICB9KTtcbiAgfSk7XG4gIG9uTW91bnQoKCkgPT4ge1xuICAgIGlmIChsb2NhbC50cmlnZ2VyICE9PSAnbm9uZScpIHtcbiAgICAgIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCdtb3VzZWRvd24nLCBjbG9zZSwgZmFsc2UpO1xuICAgIH1cbiAgfSk7XG4gIG9uQ2xlYW51cCgoKSA9PiB7XG4gICAgY2xlYXJUaW1lb3V0KGNsb3NlVGltZXIpO1xuICAgIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCdtb3VzZWRvd24nLCBjbG9zZSwgZmFsc2UpO1xuICB9KTtcblxuICByZXR1cm4gKFxuICAgIDw+XG4gICAgICA8c3R5bGUgdGV4dENvbnRlbnQ9e3BvcG92ZXJDc3N9IC8+XG4gICAgICA8U2hvdyB3aGVuPXtsb2NhbC5jc3N9PlxuICAgICAgICA8c3R5bGUgdGV4dENvbnRlbnQ9e2Nzcyhsb2NhbC5jc3MpfSAvPlxuICAgICAgPC9TaG93PlxuICAgICAgPHNwYW4gcmVmPXtjaGlsZFJlZn0gY2xhc3M9e2N4KCdwb3BvdmVyJywgbG9jYWwuc2l6ZSwgbG9jYWwuY2xhc3MpfSB7Li4uY2hpbGRyZW5Qcm9wcygpfT5cbiAgICAgICAge2xvY2FsLmNoaWxkcmVufVxuICAgICAgPC9zcGFuPlxuICAgICAgPFNob3cgd2hlbj17b3BlbigpICE9PSBudWxsIHx8ICFsb2NhbC5kZXN0cm95SW5hY3RpdmV9PlxuICAgICAgICA8UG9ydGFsIHVzZVNoYWRvdyBtb3VudD17Y29udGFpbmVyKCl9PlxuICAgICAgICAgIDxzdHlsZSB0ZXh0Q29udGVudD17YmFzZVN0eWxlKCl9IC8+XG4gICAgICAgICAgPHN0eWxlIHRleHRDb250ZW50PXtwb3J0YWxDc3N9IC8+XG4gICAgICAgICAgPHN0eWxlIHRleHRDb250ZW50PXtob3N0U3R5bGUoKX0gLz5cbiAgICAgICAgICA8c3R5bGUgdGV4dENvbnRlbnQ9e3BvcnRhbFN0eWxlKCl9IC8+XG4gICAgICAgICAgPHN0eWxlIHRleHRDb250ZW50PXt3aWR0aCgpfSAvPlxuICAgICAgICAgIDxTaG93IHdoZW49e2xvY2FsLnBvcHVwQ3NzfT5cbiAgICAgICAgICAgIDxzdHlsZSB0ZXh0Q29udGVudD17Y3NzKGxvY2FsLnBvcHVwQ3NzKX0gLz5cbiAgICAgICAgICA8L1Nob3c+XG4gICAgICAgICAgPGRpdiByZWY9e3JlZn0gb246YW5pbWF0aW9uZW5kPXtleGl0fSBjbGFzcz17cG9ydGFsQ2xzKCl9IHsuLi5jaGlsZHJlblByb3BzKCl9PlxuICAgICAgICAgICAgPFNob3cgd2hlbj17ISFsb2NhbC5jb250ZW50fSBmYWxsYmFjaz17PEVtcHR5IC8+fT5cbiAgICAgICAgICAgICAgPFNob3cgd2hlbj17dHlwZW9mIGxvY2FsLmNvbnRlbnQgPT09ICdzdHJpbmcnfSBmYWxsYmFjaz17PD57bG9jYWwuY29udGVudH08Lz59PlxuICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBzb2xpZC9uby1pbm5lcmh0bWxcbiAgICAgICAgICAgICAgICAgIGlubmVySFRNTD17XG4gICAgICAgICAgICAgICAgICAgIGxvY2FsLmVuY29kZVVyaVxuICAgICAgICAgICAgICAgICAgICAgID8gZGVjb2RlVVJJQ29tcG9uZW50KGxvY2FsLmNvbnRlbnQgYXMgc3RyaW5nKVxuICAgICAgICAgICAgICAgICAgICAgIDogKGxvY2FsLmNvbnRlbnQgYXMgc3RyaW5nKVxuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgIDwvU2hvdz5cbiAgICAgICAgICAgIDwvU2hvdz5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9Qb3J0YWw+XG4gICAgICA8L1Nob3c+XG4gICAgPC8+XG4gICk7XG59XG5cbmV4cG9ydCB0eXBlIFBvcG92ZXJFbGVtZW50ID0gQ3VzdG9tRWxlbWVudDxQb3BvdmVyUHJvcHMsICdvbk9wZW5DaGFuZ2UnPjtcblxuZXhwb3J0IGNvbnN0IGRlZmF1bHRQcm9wcyA9IHtcbiAgY2xhc3M6IHZvaWQgMCxcbiAgY3NzOiB2b2lkIDAsXG4gIGNvbnRlbnQ6IHZvaWQgMCxcbiAgZ2V0UG9wdXBDb250YWluZXI6IHZvaWQgMCxcbiAgdHJpZ2dlcjogdm9pZCAwLFxuICBvcGVuOiB2b2lkIDAsXG4gIG9uT3BlbkNoYW5nZTogdm9pZCAwLFxuICBwb3B1cENsYXNzOiB2b2lkIDAsXG4gIHBvcHVwQ3NzOiB2b2lkIDAsXG4gIGRlc3Ryb3lJbmFjdGl2ZTogdHJ1ZSxcbiAgZGlzYWJsZWQ6IHZvaWQgMCxcbiAgYXJyb3c6IHZvaWQgMCxcbiAgcGxhY2VtZW50OiB2b2lkIDAsXG4gIGRyb3Bkb3duTWF0Y2hTZWxlY3RXaWR0aDogdm9pZCAwLFxuICBlbmNvZGVVcmk6IHZvaWQgMCxcbn07XG5Qb3BvdmVyLnJlZ2lzdHJ5ID0gKCkgPT4ge1xuICBjdXN0b21FbGVtZW50PFBvcG92ZXJQcm9wcz4oJ24tcG9wb3ZlcicsIGRlZmF1bHRQcm9wcywgKF8sIG9wdCkgPT4ge1xuICAgIGNvbnN0IHsgYmFzZVN0eWxlIH0gPSB0aGVtZTtcbiAgICBjb25zdCBlbCA9IG9wdC5lbGVtZW50O1xuICAgIGNvbnN0IHByb3BzID0gbWVyZ2VQcm9wcyhcbiAgICAgIHtcbiAgICAgICAgb25PcGVuQ2hhbmdlKG5leHQ6IGJvb2xlYW4gfCBudWxsKSB7XG4gICAgICAgICAgZWwuZGlzcGF0Y2hFdmVudChcbiAgICAgICAgICAgIG5ldyBDdXN0b21FdmVudCgnb3BlbmNoYW5nZScsIHtcbiAgICAgICAgICAgICAgZGV0YWlsOiBuZXh0LFxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgKTtcbiAgICAgICAgfSxcbiAgICAgICAgY2hpbGRyZW46IFsuLi5lbC5jaGlsZE5vZGVzLnZhbHVlcygpXSxcbiAgICAgIH0sXG4gICAgICBfLFxuICAgICk7XG5cbiAgICBjcmVhdGVFZmZlY3QoKCkgPT4ge1xuICAgICAgY2xlYXJBdHRyaWJ1dGUoZWwsIFsnY29udGVudCcsICdwb3B1cENzcycsICdjc3MnXSk7XG4gICAgfSk7XG4gICAgcmV0dXJuIChcbiAgICAgIDw+XG4gICAgICAgIDxzdHlsZSB0ZXh0Q29udGVudD17aW5saW5lfSAvPlxuICAgICAgICA8c3R5bGUgdGV4dENvbnRlbnQ9e2Jhc2VTdHlsZSgpfSAvPlxuICAgICAgICA8UG9wb3ZlciB7Li4ucHJvcHN9IC8+XG4gICAgICA8Lz5cbiAgICApO1xuICB9KTtcbn07XG5leHBvcnQgZGVmYXVsdCBQb3BvdmVyO1xuIl0sIm1hcHBpbmdzIjoiaTFIQUFBLE9BQ0VBLFlBQVksQ0FDWkMsVUFBVSxDQUNWQyxZQUFZLENBQ1pDLFVBQVUsQ0FDVkMsU0FBUyxDQUNUQyxPQUFPLENBQ1BDLElBQUksQ0FDSkMsVUFBVSxLQUNMLFVBQVUsQ0FDakIsT0FBU0MsTUFBTSxLQUFRLGNBQWMsQ0FDckMsT0FBU0MsZUFBZSxDQUFFQyxPQUFPLENBQUVDLFVBQVUsQ0FBRUMsZ0JBQWdCLEtBQVEsZ0JBQWdCLENBQ3ZGLE9BQVNDLEdBQUcsQ0FBRUMsRUFBRSxLQUFRLGFBQWEsQ0FDckMsT0FBU0MsYUFBYSxLQUFRLGVBQWUsQ0FHN0MsT0FBU0MsY0FBYyxLQUF5QixpQkFBaUIsQ0FDakUs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
1
+ function _typeof(o){"@babel/helpers - typeof";return _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(o){return typeof o}:function(o){return o&&"function"==typeof Symbol&&o.constructor===Symbol&&o!==Symbol.prototype?"symbol":typeof o},_typeof(o)}import{template as _$template}from"solid-js/web";import{addEventListener as _$addEventListener}from"solid-js/web";import{memo as _$memo}from"solid-js/web";import{insert as _$insert}from"solid-js/web";import{use as _$use}from"solid-js/web";import{spread as _$spread}from"solid-js/web";import{mergeProps as _$mergeProps}from"solid-js/web";import{createComponent as _$createComponent}from"solid-js/web";import{effect as _$effect}from"solid-js/web";var _tmpl$=/*#__PURE__*/_$template(`<style>`),_tmpl$2=/*#__PURE__*/_$template(`<style> `),_tmpl$3=/*#__PURE__*/_$template(`<span>`),_tmpl$4=/*#__PURE__*/_$template(`<div>`);function _toConsumableArray(r){return _arrayWithoutHoles(r)||_iterableToArray(r)||_unsupportedIterableToArray(r)||_nonIterableSpread()}function _nonIterableSpread(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _iterableToArray(r){if("undefined"!=typeof Symbol&&null!=r[Symbol.iterator]||null!=r["@@iterator"])return Array.from(r)}function _arrayWithoutHoles(r){if(Array.isArray(r))return _arrayLikeToArray(r)}function _defineAccessor(e,r,n,t){var c={configurable:!0,enumerable:!0};return c[e]=t,Object.defineProperty(r,n,c)}function ownKeys(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);r&&(o=o.filter(function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable})),t.push.apply(t,o)}return t}function _objectSpread(e){for(var r=1;r<arguments.length;r++){var t=null!=arguments[r]?arguments[r]:{};r%2?ownKeys(Object(t),!0).forEach(function(r){_defineProperty(e,r,t[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):ownKeys(Object(t)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))})}return e}function _defineProperty(e,r,t){return(r=_toPropertyKey(r))in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t,e}function _toPropertyKey(t){var i=_toPrimitive(t,"string");return"symbol"==_typeof(i)?i:i+""}function _toPrimitive(t,r){if("object"!=_typeof(t)||!t)return t;var e=t[Symbol.toPrimitive];if(void 0!==e){var i=e.call(t,r||"default");if("object"!=_typeof(i))return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===r?String:Number)(t)}function _slicedToArray(r,e){return _arrayWithHoles(r)||_iterableToArrayLimit(r,e)||_unsupportedIterableToArray(r,e)||_nonIterableRest()}function _nonIterableRest(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _unsupportedIterableToArray(r,a){if(r){if("string"==typeof r)return _arrayLikeToArray(r,a);var t={}.toString.call(r).slice(8,-1);return"Object"===t&&r.constructor&&(t=r.constructor.name),"Map"===t||"Set"===t?Array.from(r):"Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?_arrayLikeToArray(r,a):void 0}}function _arrayLikeToArray(r,a){(null==a||a>r.length)&&(a=r.length);for(var e=0,n=Array(a);e<a;e++)n[e]=r[e];return n}function _iterableToArrayLimit(r,l){var t=null==r?null:"undefined"!=typeof Symbol&&r[Symbol.iterator]||r["@@iterator"];if(null!=t){var e,n,i,u,a=[],f=!0,o=!1;try{if(i=(t=t.call(r)).next,0===l){if(Object(t)!==t)return;f=!1}else for(;!(f=(e=i.call(t)).done)&&(a.push(e.value),a.length!==l);f=!0);}catch(r){o=!0,n=r}finally{try{if(!f&&null!=t["return"]&&(u=t["return"](),Object(u)!==u))return}finally{if(o)throw n}}return a}}function _arrayWithHoles(r){if(Array.isArray(r))return r}import{createEffect,createMemo,createSignal,mergeProps,onCleanup,onMount,Show,splitProps}from"solid-js";import{Portal}from"solid-js/web";import{isElementInside,isEqual,isFunction,passiveSupported}from"@moneko/common";import{css,cx}from"@moneko/css";import{customElement}from"solid-element";import{clearAttribute}from"../basic-config";import Empty from"../empty";import theme,{inline}from"../theme";import{popoverCss,portalCss}from"./style";export var TriggerOption=/*#__PURE__*/function(TriggerOption){/** 鼠标移入 */TriggerOption["hover"]="hover";/** 点击 */TriggerOption["click"]="click";/** 右键 */TriggerOption["contextMenu"]="contextMenu";/** 无 */TriggerOption["none"]="none";return TriggerOption}({});export var Placement=/*#__PURE__*/function(Placement){/** 左下 */Placement["bottomLeft"]="bottomLeft";/** 下 */Placement["bottom"]="bottom";/** 右下 */Placement["bottomRight"]="bottomRight";/** 左上 */Placement["topLeft"]="topLeft";/** 上 */Placement["top"]="top";/** 右上 */Placement["topRight"]="topRight";/** 左 */Placement["left"]="left";/** 右 */Placement["right"]="right";return Placement}({});function Popover(props){var isDark=theme.isDark,baseStyle=theme.baseStyle;var mp=mergeProps({trigger:"hover"},props);var _splitProps=splitProps(mp,["class","css","popupClass","popupCss","size","trigger","open","disabled","onOpenChange","dropdownMatchSelectWidth","destroyInactive","arrow","placement","getPopupContainer","children","content","encodeUri"]),_splitProps2=_slicedToArray(_splitProps,1),local=_splitProps2[0];var ref;var childRef;var closeTimer;var _createSignal=createSignal(null),_createSignal2=_slicedToArray(_createSignal,2),open=_createSignal2[0],setOpen=_createSignal2[1];var _createSignal3=createSignal({}),_createSignal4=_slicedToArray(_createSignal3,2),posi=_createSignal4[0],setPosi=_createSignal4[1];var _createSignal5=createSignal(false),_createSignal6=_slicedToArray(_createSignal5,2),up=_createSignal6[0],setUp=_createSignal6[1];var _createSignal7=createSignal(""),_createSignal8=_slicedToArray(_createSignal7,2),width=_createSignal8[0],setWidth=_createSignal8[1];createEffect(function(){if(local.open!==void 0){setOpen(local.open);}});function openChange(next){if(!local.disabled){if(local.onOpenChange){local.onOpenChange(next);}if(local.open===void 0){setOpen(next);}}}function exit(){if(open()===false){setOpen(null);openChange(null);}}createEffect(function(){if(open()&&local.dropdownMatchSelectWidth&&childRef){setWidth(".portal {width: ".concat(childRef.offsetWidth,"px;}"));}});function close(e){clearTimeout(closeTimer);closeTimer=setTimeout(function(){clearTimeout(closeTimer);if(e.target&&e.target.getAttribute("handle-closed")==="false"){return;}var isContains=isElementInside(e.target,ref);if(open()&&!isContains||isContains&&e.type!=="mousedown"){openChange(false);}},local.trigger==="hover"?300:0);}var portalTimer;var showPortal=function showPortal(e){clearTimeout(portalTimer);portalTimer=setTimeout(function(){clearTimeout(portalTimer);if(!ref||!childRef||!e&&local.trigger==="contextMenu"){return;}if((e===null||e===void 0?void 0:e.type)==="scroll"&&local.trigger==="contextMenu"){openChange(false);return;}var elRect=childRef.getBoundingClientRect();var portalRect=ref.getBoundingClientRect();var offsetX=portalRect.width/2-elRect.width/2;var margin=window.innerHeight-elRect.bottom;var _placement=local.placement;var _isBottom=!(_placement!==null&&_placement!==void 0&&_placement.startsWith("top"))&&margin>ref.offsetHeight*0.8&&margin>elRect.top||(_placement===null||_placement===void 0?void 0:_placement.startsWith("bottom"));var arrowHeight=local.arrow?8:4;var _posi={};switch(local.placement){case"bottomLeft":case"left":case"topLeft":_posi.left=elRect.left;_posi["--x"]=-portalRect.width/2+16;break;case"bottomRight":case"right":case"topRight":_posi.left=elRect.right-portalRect.width;_posi["--x"]=portalRect.width/2-16;break;case"bottom":case"top":default:_posi.left=Math.abs(offsetX>elRect.left?elRect.left:elRect.left-offsetX);_posi["--x"]=-(_posi.left-elRect.left+offsetX);break;}if(_isBottom){_posi.top=elRect.bottom+arrowHeight;}else{_posi.bottom=window.innerHeight-elRect.top+arrowHeight;}setPosi(function(prev){return isEqual(prev,_posi)?prev:_posi;});setUp(function(prev){return prev===!_isBottom?prev:!_isBottom;});},32);};function handleOpen(e){clearTimeout(closeTimer);e.stopPropagation();if(local.trigger==="contextMenu"&&e.type==="contextmenu"){e.preventDefault();setPosi(function(prev){return _objectSpread(_objectSpread({},prev),{},_defineProperty({left:e.clientX,top:e.clientY},"--x",-((ref===null||ref===void 0?void 0:ref.getBoundingClientRect().width)||0)/2+16))});}openChange(true);}var container=createMemo(function(){if(isFunction(local.getPopupContainer)){return local.getPopupContainer(childRef);}return document.body;});var childrenProps=createMemo(function(){var _props={};var openEvent={click:"on:mousedown",hover:"on:mouseenter",contextMenu:"on:contextmenu",none:void 0};var closeEvent={hover:"on:mouseleave",click:void 0,contextMenu:void 0,none:void 0};var openFn=openEvent[local.trigger];var closeFn=closeEvent[local.trigger];Object.assign(_props,openFn&&_defineProperty({},openFn,handleOpen),closeFn&&_defineProperty({},closeFn,close));return _props;});var portalStyle=createMemo(function(){var p=posi();return".portal {".concat(Object.keys(p).map(function(k){return"".concat(k,":").concat(p[k],"px;")}).join(""),"z-index: 99999;}");});var portalCls=createMemo(function(){return cx("portal",local.arrow&&"arrow","".concat(open()?"in":"out","-").concat(up()?"up":"down"),local.size,local.popupClass);});var hostStyle=createMemo(function(){return":host {--popover-bg: ".concat(isDark()?"#1f1f1f":"var(--component-bg)",";--popover-shadow-color: rgb(0 0 0 / 5%);position: absolute;}");});createEffect(function(){if(open()){showPortal();window.addEventListener("scroll",showPortal,{passive:passiveSupported});}onCleanup(function(){window.removeEventListener("scroll",showPortal,false);});});onMount(function(){if(local.trigger!=="none"){document.documentElement.addEventListener("mousedown",close,false);}});onCleanup(function(){clearTimeout(closeTimer);document.documentElement.removeEventListener("mousedown",close,false);});return[function(){var _el$=_tmpl$();_el$.textContent=popoverCss;return _el$}(),_$createComponent(Show,{get when(){return local.css},get children(){var _el$2=_tmpl$2(),_el$3=_el$2.firstChild;_$effect(function(){return _el$3.data=css(local.css)});return _el$2}}),function(){var _el$4=_tmpl$3();var _ref$=childRef;typeof _ref$==="function"?_$use(_ref$,_el$4):childRef=_el$4;_$spread(_el$4,_$mergeProps(_defineAccessor("get",{},"class",function(){return cx("popover",local.size,local["class"])}),childrenProps),false,true);_$insert(_el$4,function(){return local.children});return _el$4}(),_$createComponent(Show,{get when(){return open()!==null||!local.destroyInactive},get children(){return _$createComponent(Portal,{useShadow:true,get mount(){return container()},get children(){return[function(){var _el$5=_tmpl$2(),_el$6=_el$5.firstChild;_$effect(function(){return _el$6.data=baseStyle()});return _el$5}(),function(){var _el$7=_tmpl$();_el$7.textContent=portalCss;return _el$7}(),function(){var _el$8=_tmpl$2(),_el$9=_el$8.firstChild;_$effect(function(){return _el$9.data=hostStyle()});return _el$8}(),function(){var _el$0=_tmpl$2(),_el$1=_el$0.firstChild;_$effect(function(){return _el$1.data=portalStyle()});return _el$0}(),function(){var _el$10=_tmpl$2(),_el$11=_el$10.firstChild;_$effect(function(){return _el$11.data=width()});return _el$10}(),_$createComponent(Show,{get when(){return local.popupCss},get children(){var _el$12=_tmpl$2(),_el$13=_el$12.firstChild;_$effect(function(){return _el$13.data=css(local.popupCss)});return _el$12}}),function(){var _el$14=_tmpl$4();_$addEventListener(_el$14,"animationend",exit);var _ref$2=ref;typeof _ref$2==="function"?_$use(_ref$2,_el$14):ref=_el$14;_$spread(_el$14,_$mergeProps(_defineAccessor("get",{},"class",function(){return portalCls()}),childrenProps),false,true);_$insert(_el$14,_$createComponent(Show,{get when(){return!!local.content},get fallback(){return _$createComponent(Empty,{})},get children(){return _$createComponent(Show,{get when(){return typeof local.content==="string"},get fallback(){return _$memo(function(){return local.content})},get children(){var _el$15=_tmpl$4();_$effect(function(){return _el$15.innerHTML=local.encodeUri?decodeURIComponent(local.content):local.content});return _el$15}})}}));return _el$14}()]}})}})];}export var defaultProps={"class":void 0,css:void 0,content:void 0,getPopupContainer:void 0,trigger:void 0,open:void 0,onOpenChange:void 0,popupClass:void 0,popupCss:void 0,destroyInactive:true,disabled:void 0,arrow:void 0,placement:void 0,dropdownMatchSelectWidth:void 0,encodeUri:void 0};Popover.registry=function(){customElement("n-popover",defaultProps,function(_,opt){var baseStyle=theme.baseStyle;var el=opt.element;var props=mergeProps({onOpenChange:function onOpenChange(next){el.dispatchEvent(new CustomEvent("openchange",{detail:next}));},children:_toConsumableArray(el.childNodes.values())},_);createEffect(function(){clearAttribute(el,["content","popupCss","css"]);});return[function(){var _el$16=_tmpl$();_el$16.textContent=inline;return _el$16}(),function(){var _el$17=_tmpl$2(),_el$18=_el$17.firstChild;_$effect(function(){return _el$18.data=baseStyle()});return _el$17}(),_$createComponent(Popover,props)];});};export default Popover;
2
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJjcmVhdGVFZmZlY3QiLCJjcmVhdGVNZW1vIiwiY3JlYXRlU2lnbmFsIiwibWVyZ2VQcm9wcyIsIm9uQ2xlYW51cCIsIm9uTW91bnQiLCJTaG93Iiwic3BsaXRQcm9wcyIsIlBvcnRhbCIsImlzRWxlbWVudEluc2lkZSIsImlzRXF1YWwiLCJpc0Z1bmN0aW9uIiwicGFzc2l2ZVN1cHBvcnRlZCIsImNzcyIsImN4IiwiY3VzdG9tRWxlbWVudCIsImNsZWFyQXR0cmlidXRlIiwiRW1wdHkiLCJ0aGVtZSIsImlubGluZSIsInBvcG92ZXJDc3MiLCJwb3J0YWxDc3MiLCJUcmlnZ2VyT3B0aW9uIiwiUGxhY2VtZW50IiwiUG9wb3ZlciIsInByb3BzIiwiaXNEYXJrIiwiYmFzZVN0eWxlIiwibXAiLCJ0cmlnZ2VyIiwiX3NwbGl0UHJvcHMiLCJfc3BsaXRQcm9wczIiLCJfc2xpY2VkVG9BcnJheSIsImxvY2FsIiwicmVmIiwiY2hpbGRSZWYiLCJjbG9zZVRpbWVyIiwiX2NyZWF0ZVNpZ25hbCIsIl9jcmVhdGVTaWduYWwyIiwib3BlbiIsInNldE9wZW4iLCJfY3JlYXRlU2lnbmFsMyIsIl9jcmVhdGVTaWduYWw0IiwicG9zaSIsInNldFBvc2kiLCJfY3JlYXRlU2lnbmFsNSIsIl9jcmVhdGVTaWduYWw2IiwidXAiLCJzZXRVcCIsIl9jcmVhdGVTaWduYWw3IiwiX2NyZWF0ZVNpZ25hbDgiLCJ3aWR0aCIsInNldFdpZHRoIiwib3BlbkNoYW5nZSIsIm5leHQiLCJkaXNhYmxlZCIsIm9uT3BlbkNoYW5nZSIsImV4aXQiLCJkcm9wZG93bk1hdGNoU2VsZWN0V2lkdGgiLCJjb25jYXQiLCJvZmZzZXRXaWR0aCIsImNsb3NlIiwiZSIsImNsZWFyVGltZW91dCIsInNldFRpbWVvdXQiLCJ0YXJnZXQiLCJnZXRBdHRyaWJ1dGUiLCJpc0NvbnRhaW5zIiwidHlwZSIsInBvcnRhbFRpbWVyIiwic2hvd1BvcnRhbCIsImVsUmVjdCIsImdldEJvdW5kaW5nQ2xpZW50UmVjdCIsInBvcnRhbFJlY3QiLCJvZmZzZXRYIiwibWFyZ2luIiwid2luZG93IiwiaW5uZXJIZWlnaHQiLCJib3R0b20iLCJfcGxhY2VtZW50IiwicGxhY2VtZW50IiwiX2lzQm90dG9tIiwic3RhcnRzV2l0aCIsIm9mZnNldEhlaWdodCIsInRvcCIsImFycm93SGVpZ2h0IiwiYXJyb3ciLCJfcG9zaSIsImxlZnQiLCJyaWdodCIsIk1hdGgiLCJhYnMiLCJwcmV2IiwiaGFuZGxlT3BlbiIsInN0b3BQcm9wYWdhdGlvbiIsInByZXZlbnREZWZhdWx0IiwiX29iamVjdFNwcmVhZCIsIl9kZWZpbmVQcm9wZXJ0eSIsImNsaWVudFgiLCJjbGllbnRZIiwiY29udGFpbmVyIiwiZ2V0UG9wdXBDb250YWluZXIiLCJkb2N1bWVudCIsImJvZHkiLCJjaGlsZHJlblByb3BzIiwiX3Byb3BzIiwib3BlbkV2ZW50IiwiY2xpY2siLCJob3ZlciIsImNvbnRleHRNZW51Iiwibm9uZSIsImNsb3NlRXZlbnQiLCJvcGVuRm4iLCJjbG9zZUZuIiwiT2JqZWN0IiwiYXNzaWduIiwicG9ydGFsU3R5bGUiLCJwIiwia2V5cyIsIm1hcCIsImsiLCJqb2luIiwicG9ydGFsQ2xzIiwic2l6ZSIsInBvcHVwQ2xhc3MiLCJob3N0U3R5bGUiLCJhZGRFdmVudExpc3RlbmVyIiwicGFzc2l2ZSIsInJlbW92ZUV2ZW50TGlzdGVuZXIiLCJkb2N1bWVudEVsZW1lbnQiLCJfZWwkIiwiX3RtcGwkIiwidGV4dENvbnRlbnQiLCJfJGNyZWF0ZUNvbXBvbmVudCIsIndoZW4iLCJjaGlsZHJlbiIsIl9lbCQyIiwiX3RtcGwkMiIsIl9lbCQzIiwiZmlyc3RDaGlsZCIsIl8kZWZmZWN0IiwiZGF0YSIsIl9lbCQ0IiwiX3RtcGwkMyIsIl9yZWYkIiwiXyR1c2UiLCJfJHNwcmVhZCIsIl8kbWVyZ2VQcm9wcyIsIl9kZWZpbmVBY2Nlc3NvciIsIl8kaW5zZXJ0IiwiZGVzdHJveUluYWN0aXZlIiwidXNlU2hhZG93IiwibW91bnQiLCJfZWwkNSIsIl9lbCQ2IiwiX2VsJDciLCJfZWwkOCIsIl9lbCQ5IiwiX2VsJDAiLCJfZWwkMSIsIl9lbCQxMCIsIl9lbCQxMSIsInBvcHVwQ3NzIiwiX2VsJDEyIiwiX2VsJDEzIiwiX2VsJDE0IiwiX3RtcGwkNCIsIl8kYWRkRXZlbnRMaXN0ZW5lciIsIl9yZWYkMiIsImNvbnRlbnQiLCJmYWxsYmFjayIsIl8kbWVtbyIsIl9lbCQxNSIsImlubmVySFRNTCIsImVuY29kZVVyaSIsImRlY29kZVVSSUNvbXBvbmVudCIsImRlZmF1bHRQcm9wcyIsInJlZ2lzdHJ5IiwiXyIsIm9wdCIsImVsIiwiZWxlbWVudCIsImRpc3BhdGNoRXZlbnQiLCJDdXN0b21FdmVudCIsImRldGFpbCIsIl90b0NvbnN1bWFibGVBcnJheSIsImNoaWxkTm9kZXMiLCJ2YWx1ZXMiLCJfZWwkMTYiLCJfZWwkMTciLCJfZWwkMTgiXSwic291cmNlcyI6WyJjb21wb25lbnRzL3BvcG92ZXIvaW5kZXgudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIGNyZWF0ZUVmZmVjdCxcbiAgY3JlYXRlTWVtbyxcbiAgY3JlYXRlU2lnbmFsLFxuICBtZXJnZVByb3BzLFxuICBvbkNsZWFudXAsXG4gIG9uTW91bnQsXG4gIFNob3csXG4gIHNwbGl0UHJvcHMsXG59IGZyb20gJ3NvbGlkLWpzJztcbmltcG9ydCB7IFBvcnRhbCB9IGZyb20gJ3NvbGlkLWpzL3dlYic7XG5pbXBvcnQgeyBpc0VsZW1lbnRJbnNpZGUsIGlzRXF1YWwsIGlzRnVuY3Rpb24sIHBhc3NpdmVTdXBwb3J0ZWQgfSBmcm9tICdAbW9uZWtvL2NvbW1vbic7XG5pbXBvcnQgeyBjc3MsIGN4IH0gZnJvbSAnQG1vbmVrby9jc3MnO1xuaW1wb3J0IHsgY3VzdG9tRWxlbWVudCB9IGZyb20gJ3NvbGlkLWVsZW1lbnQnO1xuXG5pbXBvcnQgdHlwZSB7IEJhc2ljQ29uZmlnLCBDdXN0b21FbGVtZW50IH0gZnJvbSAnLi4nO1xuaW1wb3J0IHsgY2xlYXJBdHRyaWJ1dGUsIHR5cGUgSlNYRWxlbWVudCB9IGZyb20gJy4uL2Jhc2ljLWNvbmZpZyc7XG5pbXBvcnQgRW1wdHkgZnJvbSAnLi4vZW1wdHknO1xuaW1wb3J0IHRoZW1lLCB7IGlubGluZSB9IGZyb20gJy4uL3RoZW1lJztcblxuaW1wb3J0IHsgcG9wb3ZlckNzcywgcG9ydGFsQ3NzIH0gZnJvbSAnLi9zdHlsZSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgUG9wb3ZlclByb3BzIHtcbiAgLyoqIOiHquWumuS5ieexu+WQjSAqL1xuICBjbGFzcz86IHN0cmluZztcbiAgLyoqIOiHquWumuS5ieagt+W8j+ihqCAqL1xuICBjc3M/OiBzdHJpbmc7XG4gIC8qKiDlhoXlrrkgKi9cbiAgY29udGVudD86IEpTWEVsZW1lbnQgfCAoKCkgPT4gSlNYRWxlbWVudCk7XG4gIC8qKiDmjILovb3liLDmjIflrprnmoTlhYPntKDvvIzlgLzkuLrkuIDkuKrov5Tlm57lr7nlupQgRE9NIOWFg+e0oCDpu5jorqQgZG9jdW1lbnQuYm9keSAqL1xuICBnZXRQb3B1cENvbnRhaW5lcj86IChub2RlPzogSFRNTEVsZW1lbnQgfCBudWxsKSA9PiBIVE1MRWxlbWVudDtcbiAgLyoqIOinpuWPkeihjOS4ulxuICAgKiBAZGVmYXVsdCAnaG92ZXInXG4gICAqL1xuICB0cmlnZ2VyPzoga2V5b2YgdHlwZW9mIFRyaWdnZXJPcHRpb247XG4gIC8qKiDmiZPlvIDlhoXlrrnmsJTms6EgKi9cbiAgb3Blbj86IGJvb2xlYW4gfCBudWxsO1xuICAvKiog5YaF5a655omT5byA5YWz6Zet5pe255qE5Zue6LCD5pa55rOVICovXG4gIG9uT3BlbkNoYW5nZT86IChvcGVuOiBib29sZWFuIHwgbnVsbCkgPT4gdm9pZDtcbiAgLyoqIOawlOazoeeahOiHquWumuS5ieexu+WQjSAqL1xuICBwb3B1cENsYXNzPzogc3RyaW5nO1xuICAvKiog5rCU5rOh55qE6Ieq5a6a5LmJ5qC35byP6KGoICovXG4gIHBvcHVwQ3NzPzogc3RyaW5nO1xuICAvKiog5YWz6Zet5ZCO5piv5ZCm6ZSA5q+BICAqL1xuICBkZXN0cm95SW5hY3RpdmU/OiBib29sZWFuO1xuICAvKiog5LiN5Y+v55So54q25oCBICAqL1xuICBkaXNhYmxlZD86IGJvb2xlYW47XG4gIC8qKiDmt7vliqDkuIDkuKrnrq3lpLTmmL7npLogICovXG4gIGFycm93PzogYm9vbGVhbjtcbiAgLyoqIOaMh+WumuawlOazoeaYvuekuueahOaWueWQkSAqL1xuICBwbGFjZW1lbnQ/OiBrZXlvZiB0eXBlb2YgUGxhY2VtZW50O1xuICAvKiog5rCU5rOh5a695bqm5LiO6Kem5Y+RZG9t5LiA6Ie0ICAqL1xuICBkcm9wZG93bk1hdGNoU2VsZWN0V2lkdGg/OiBib29sZWFuO1xuICAvKiog5bC65a+4XG4gICAqIEBkZWZhdWx0ICdub3JtYWwnXG4gICAqL1xuICBzaXplPzogQmFzaWNDb25maWdbJ3NpemUnXTtcbiAgY2hpbGRyZW4/OiBKU1hFbGVtZW50O1xuICAvKiogY29udGVudCDkuLogZW5jb2RlVVJJQ29tcG9uZW50IOWtl+espuS4siAqL1xuICBlbmNvZGVVcmk/OiBib29sZWFuO1xufVxuXG5leHBvcnQgZW51bSBUcmlnZ2VyT3B0aW9uIHtcbiAgLyoqIOm8oOagh+enu+WFpSAqL1xuICBob3ZlciA9ICdob3ZlcicsXG4gIC8qKiDngrnlh7sgKi9cbiAgY2xpY2sgPSAnY2xpY2snLFxuICAvKiog5Y+z6ZSuICovXG4gIGNvbnRleHRNZW51ID0gJ2NvbnRleHRNZW51JyxcbiAgLyoqIOaXoCAqL1xuICBub25lID0gJ25vbmUnLFxufVxuXG5leHBvcnQgZW51bSBQbGFjZW1lbnQge1xuICAvKiog5bem5LiLICovXG4gIGJvdHRvbUxlZnQgPSAnYm90dG9tTGVmdCcsXG4gIC8qKiDkuIsgKi9cbiAgYm90dG9tID0gJ2JvdHRvbScsXG4gIC8qKiDlj7PkuIsgKi9cbiAgYm90dG9tUmlnaHQgPSAnYm90dG9tUmlnaHQnLFxuICAvKiog5bem5LiKICovXG4gIHRvcExlZnQgPSAndG9wTGVmdCcsXG4gIC8qKiDkuIogKi9cbiAgdG9wID0gJ3RvcCcsXG4gIC8qKiDlj7PkuIogKi9cbiAgdG9wUmlnaHQgPSAndG9wUmlnaHQnLFxuICAvKiog5bemICovXG4gIGxlZnQgPSAnbGVmdCcsXG4gIC8qKiDlj7MgKi9cbiAgcmlnaHQgPSAncmlnaHQnLFxufVxuXG5pbnRlcmZhY2UgUG9zaSB7XG4gIGxlZnQ/OiBudW1iZXI7XG4gIHRvcD86IG51bWJlcjtcbiAgcmlnaHQ/OiBudW1iZXI7XG4gIGJvdHRvbT86IG51bWJlcjtcbiAgJy0teCc/OiBudW1iZXI7XG59XG5cbmludGVyZmFjZSBFdmVudE1hcCB7XG4gIGNsaWNrPzogc3RyaW5nO1xuICBob3Zlcj86IHN0cmluZztcbiAgY29udGV4dE1lbnU/OiBzdHJpbmc7XG4gIG5vbmU/OiBuZXZlcjtcbiAgW2tleTogc3RyaW5nXTogc3RyaW5nIHwgdW5kZWZpbmVkO1xufVxuZnVuY3Rpb24gUG9wb3Zlcihwcm9wczogUG9wb3ZlclByb3BzKSB7XG4gIGNvbnN0IHsgaXNEYXJrLCBiYXNlU3R5bGUgfSA9IHRoZW1lO1xuICBjb25zdCBtcCA9IG1lcmdlUHJvcHMoXG4gICAge1xuICAgICAgdHJpZ2dlcjogJ2hvdmVyJyxcbiAgICB9LFxuICAgIHByb3BzLFxuICApO1xuICBjb25zdCBbbG9jYWxdID0gc3BsaXRQcm9wcyhtcCwgW1xuICAgICdjbGFzcycsXG4gICAgJ2NzcycsXG4gICAgJ3BvcHVwQ2xhc3MnLFxuICAgICdwb3B1cENzcycsXG4gICAgJ3NpemUnLFxuICAgICd0cmlnZ2VyJyxcbiAgICAnb3BlbicsXG4gICAgJ2Rpc2FibGVkJyxcbiAgICAnb25PcGVuQ2hhbmdlJyxcbiAgICAnZHJvcGRvd25NYXRjaFNlbGVjdFdpZHRoJyxcbiAgICAnZGVzdHJveUluYWN0aXZlJyxcbiAgICAnYXJyb3cnLFxuICAgICdwbGFjZW1lbnQnLFxuICAgICdnZXRQb3B1cENvbnRhaW5lcicsXG4gICAgJ2NoaWxkcmVuJyxcbiAgICAnY29udGVudCcsXG4gICAgJ2VuY29kZVVyaScsXG4gIF0pO1xuICBsZXQgcmVmOiBIVE1MRGl2RWxlbWVudCB8IHVuZGVmaW5lZDtcbiAgbGV0IGNoaWxkUmVmOiBIVE1MU3BhbkVsZW1lbnQgfCB1bmRlZmluZWQ7XG4gIGxldCBjbG9zZVRpbWVyOiBSZXR1cm5UeXBlPHR5cGVvZiBzZXRJbnRlcnZhbD4gfCB1bmRlZmluZWQ7XG4gIGNvbnN0IFtvcGVuLCBzZXRPcGVuXSA9IGNyZWF0ZVNpZ25hbDxib29sZWFuIHwgbnVsbD4obnVsbCk7XG4gIGNvbnN0IFtwb3NpLCBzZXRQb3NpXSA9IGNyZWF0ZVNpZ25hbDxQb3NpPih7fSk7XG4gIGNvbnN0IFt1cCwgc2V0VXBdID0gY3JlYXRlU2lnbmFsPGJvb2xlYW4+KGZhbHNlKTtcbiAgY29uc3QgW3dpZHRoLCBzZXRXaWR0aF0gPSBjcmVhdGVTaWduYWwoJycpO1xuXG4gIGNyZWF0ZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKGxvY2FsLm9wZW4gIT09IHZvaWQgMCkge1xuICAgICAgc2V0T3Blbihsb2NhbC5vcGVuKTtcbiAgICB9XG4gIH0pO1xuICBmdW5jdGlvbiBvcGVuQ2hhbmdlKG5leHQ6IGJvb2xlYW4gfCBudWxsKSB7XG4gICAgaWYgKCFsb2NhbC5kaXNhYmxlZCkge1xuICAgICAgaWYgKGxvY2FsLm9uT3BlbkNoYW5nZSkge1xuICAgICAgICBsb2NhbC5vbk9wZW5DaGFuZ2UobmV4dCk7XG4gICAgICB9XG4gICAgICBpZiAobG9jYWwub3BlbiA9PT0gdm9pZCAwKSB7XG4gICAgICAgIHNldE9wZW4obmV4dCk7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIGZ1bmN0aW9uIGV4aXQoKSB7XG4gICAgaWYgKG9wZW4oKSA9PT0gZmFsc2UpIHtcbiAgICAgIHNldE9wZW4obnVsbCk7XG4gICAgICBvcGVuQ2hhbmdlKG51bGwpO1xuICAgIH1cbiAgfVxuICBjcmVhdGVFZmZlY3QoKCkgPT4ge1xuICAgIGlmIChvcGVuKCkgJiYgbG9jYWwuZHJvcGRvd25NYXRjaFNlbGVjdFdpZHRoICYmIGNoaWxkUmVmKSB7XG4gICAgICBzZXRXaWR0aChgLnBvcnRhbCB7d2lkdGg6ICR7Y2hpbGRSZWYub2Zmc2V0V2lkdGh9cHg7fWApO1xuICAgIH1cbiAgfSk7XG5cbiAgZnVuY3Rpb24gY2xvc2UoZTogTW91c2VFdmVudCB8IEV2ZW50KSB7XG4gICAgY2xlYXJUaW1lb3V0KGNsb3NlVGltZXIpO1xuICAgIGNsb3NlVGltZXIgPSBzZXRUaW1lb3V0KFxuICAgICAgKCkgPT4ge1xuICAgICAgICBjbGVhclRpbWVvdXQoY2xvc2VUaW1lcik7XG4gICAgICAgIGlmIChlLnRhcmdldCAmJiAoZS50YXJnZXQgYXMgSFRNTEVsZW1lbnQpLmdldEF0dHJpYnV0ZSgnaGFuZGxlLWNsb3NlZCcpID09PSAnZmFsc2UnKSB7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGlzQ29udGFpbnMgPSBpc0VsZW1lbnRJbnNpZGUoZS50YXJnZXQgYXMgRWxlbWVudCwgcmVmKTtcblxuICAgICAgICBpZiAoKG9wZW4oKSAmJiAhaXNDb250YWlucykgfHwgKGlzQ29udGFpbnMgJiYgZS50eXBlICE9PSAnbW91c2Vkb3duJykpIHtcbiAgICAgICAgICBvcGVuQ2hhbmdlKGZhbHNlKTtcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIGxvY2FsLnRyaWdnZXIgPT09ICdob3ZlcicgPyAzMDAgOiAwLFxuICAgICk7XG4gIH1cbiAgbGV0IHBvcnRhbFRpbWVyOiBSZXR1cm5UeXBlPHR5cGVvZiBzZXRJbnRlcnZhbD4gfCB1bmRlZmluZWQ7XG4gIGNvbnN0IHNob3dQb3J0YWwgPSBmdW5jdGlvbiAoZT86IEV2ZW50KTogdm9pZCB7XG4gICAgY2xlYXJUaW1lb3V0KHBvcnRhbFRpbWVyKTtcbiAgICBwb3J0YWxUaW1lciA9IHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgY2xlYXJUaW1lb3V0KHBvcnRhbFRpbWVyKTtcbiAgICAgIGlmICghcmVmIHx8ICFjaGlsZFJlZiB8fCAoIWUgJiYgbG9jYWwudHJpZ2dlciA9PT0gJ2NvbnRleHRNZW51JykpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgaWYgKGU/LnR5cGUgPT09ICdzY3JvbGwnICYmIGxvY2FsLnRyaWdnZXIgPT09ICdjb250ZXh0TWVudScpIHtcbiAgICAgICAgb3BlbkNoYW5nZShmYWxzZSk7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICAgIGNvbnN0IGVsUmVjdCA9IGNoaWxkUmVmLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAgICAgY29uc3QgcG9ydGFsUmVjdCA9IHJlZi5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICAgIGNvbnN0IG9mZnNldFggPSBwb3J0YWxSZWN0LndpZHRoIC8gMiAtIGVsUmVjdC53aWR0aCAvIDI7XG4gICAgICBjb25zdCBtYXJnaW4gPSB3aW5kb3cuaW5uZXJIZWlnaHQgLSBlbFJlY3QuYm90dG9tO1xuICAgICAgY29uc3QgX3BsYWNlbWVudCA9IGxvY2FsLnBsYWNlbWVudDtcblxuICAgICAgY29uc3QgX2lzQm90dG9tID1cbiAgICAgICAgKCFfcGxhY2VtZW50Py5zdGFydHNXaXRoKCd0b3AnKSAmJlxuICAgICAgICAgIG1hcmdpbiA+IHJlZi5vZmZzZXRIZWlnaHQgKiAwLjggJiZcbiAgICAgICAgICBtYXJnaW4gPiBlbFJlY3QudG9wKSB8fFxuICAgICAgICBfcGxhY2VtZW50Py5zdGFydHNXaXRoKCdib3R0b20nKTtcbiAgICAgIGNvbnN0IGFycm93SGVpZ2h0ID0gbG9jYWwuYXJyb3cgPyA4IDogNDtcbiAgICAgIGNvbnN0IF9wb3NpOiBQb3NpID0ge307XG5cbiAgICAgIHN3aXRjaCAobG9jYWwucGxhY2VtZW50KSB7XG4gICAgICAgIGNhc2UgJ2JvdHRvbUxlZnQnOlxuICAgICAgICBjYXNlICdsZWZ0JzpcbiAgICAgICAgY2FzZSAndG9wTGVmdCc6XG4gICAgICAgICAgX3Bvc2kubGVmdCA9IGVsUmVjdC5sZWZ0O1xuICAgICAgICAgIF9wb3NpWyctLXgnXSA9IC1wb3J0YWxSZWN0LndpZHRoIC8gMiArIDE2O1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlICdib3R0b21SaWdodCc6XG4gICAgICAgIGNhc2UgJ3JpZ2h0JzpcbiAgICAgICAgY2FzZSAndG9wUmlnaHQnOlxuICAgICAgICAgIF9wb3NpLmxlZnQgPSBlbFJlY3QucmlnaHQgLSBwb3J0YWxSZWN0LndpZHRoO1xuICAgICAgICAgIF9wb3NpWyctLXgnXSA9IHBvcnRhbFJlY3Qud2lkdGggLyAyIC0gMTY7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgJ2JvdHRvbSc6XG4gICAgICAgIGNhc2UgJ3RvcCc6XG4gICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgX3Bvc2kubGVmdCA9IE1hdGguYWJzKG9mZnNldFggPiBlbFJlY3QubGVmdCA/IGVsUmVjdC5sZWZ0IDogZWxSZWN0LmxlZnQgLSBvZmZzZXRYKTtcbiAgICAgICAgICBfcG9zaVsnLS14J10gPSAtKF9wb3NpLmxlZnQgLSBlbFJlY3QubGVmdCArIG9mZnNldFgpO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgICAgaWYgKF9pc0JvdHRvbSkge1xuICAgICAgICBfcG9zaS50b3AgPSBlbFJlY3QuYm90dG9tICsgYXJyb3dIZWlnaHQ7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBfcG9zaS5ib3R0b20gPSB3aW5kb3cuaW5uZXJIZWlnaHQgLSBlbFJlY3QudG9wICsgYXJyb3dIZWlnaHQ7XG4gICAgICB9XG4gICAgICBzZXRQb3NpKChwcmV2KSA9PiB7XG4gICAgICAgIHJldHVybiBpc0VxdWFsKHByZXYsIF9wb3NpKSA/IHByZXYgOiBfcG9zaTtcbiAgICAgIH0pO1xuICAgICAgc2V0VXAoKHByZXYpID0+IHtcbiAgICAgICAgcmV0dXJuIHByZXYgPT09ICFfaXNCb3R0b20gPyBwcmV2IDogIV9pc0JvdHRvbTtcbiAgICAgIH0pO1xuICAgIH0sIDMyKTtcbiAgfTtcblxuICBmdW5jdGlvbiBoYW5kbGVPcGVuKGU6IE1vdXNlRXZlbnQpIHtcbiAgICBjbGVhclRpbWVvdXQoY2xvc2VUaW1lcik7XG4gICAgZS5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICBpZiAobG9jYWwudHJpZ2dlciA9PT0gJ2NvbnRleHRNZW51JyAmJiBlLnR5cGUgPT09ICdjb250ZXh0bWVudScpIHtcbiAgICAgIGUucHJldmVudERlZmF1bHQoKTtcbiAgICAgIHNldFBvc2koKHByZXYpID0+ICh7XG4gICAgICAgIC4uLnByZXYsXG4gICAgICAgIGxlZnQ6IGUuY2xpZW50WCxcbiAgICAgICAgdG9wOiBlLmNsaWVudFksXG4gICAgICAgIFsnLS14J106IC0ocmVmPy5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS53aWR0aCB8fCAwKSAvIDIgKyAxNixcbiAgICAgIH0pKTtcbiAgICB9XG4gICAgb3BlbkNoYW5nZSh0cnVlKTtcbiAgfVxuXG4gIGNvbnN0IGNvbnRhaW5lciA9IGNyZWF0ZU1lbW8oKCkgPT4ge1xuICAgIGlmIChpc0Z1bmN0aW9uKGxvY2FsLmdldFBvcHVwQ29udGFpbmVyKSkge1xuICAgICAgcmV0dXJuIGxvY2FsLmdldFBvcHVwQ29udGFpbmVyKGNoaWxkUmVmKTtcbiAgICB9XG4gICAgcmV0dXJuIGRvY3VtZW50LmJvZHk7XG4gIH0pO1xuICBjb25zdCBjaGlsZHJlblByb3BzID0gY3JlYXRlTWVtbygoKSA9PiB7XG4gICAgY29uc3QgX3Byb3BzOiBQYXJ0aWFsPFJlY29yZDxrZXlvZiBFdmVudE1hcCwgdm9pZD4+ID0ge307XG5cbiAgICBjb25zdCBvcGVuRXZlbnQ6IEV2ZW50TWFwID0ge1xuICAgICAgY2xpY2s6ICdvbjptb3VzZWRvd24nLFxuICAgICAgaG92ZXI6ICdvbjptb3VzZWVudGVyJyxcbiAgICAgIGNvbnRleHRNZW51OiAnb246Y29udGV4dG1lbnUnLFxuICAgICAgbm9uZTogdm9pZCAwLFxuICAgIH07XG4gICAgY29uc3QgY2xvc2VFdmVudDogRXZlbnRNYXAgPSB7XG4gICAgICBob3ZlcjogJ29uOm1vdXNlbGVhdmUnLFxuICAgICAgY2xpY2s6IHZvaWQgMCxcbiAgICAgIGNvbnRleHRNZW51OiB2b2lkIDAsXG4gICAgICBub25lOiB2b2lkIDAsXG4gICAgfTtcblxuICAgIGNvbnN0IG9wZW5GbiA9IG9wZW5FdmVudFtsb2NhbC50cmlnZ2VyXTtcbiAgICBjb25zdCBjbG9zZUZuID0gY2xvc2VFdmVudFtsb2NhbC50cmlnZ2VyXTtcblxuICAgIE9iamVjdC5hc3NpZ24oXG4gICAgICBfcHJvcHMsXG4gICAgICBvcGVuRm4gJiYge1xuICAgICAgICBbb3BlbkZuXTogaGFuZGxlT3BlbixcbiAgICAgIH0sXG4gICAgICBjbG9zZUZuICYmIHtcbiAgICAgICAgW2Nsb3NlRm5dOiBjbG9zZSxcbiAgICAgIH0sXG4gICAgKTtcblxuICAgIHJldHVybiBfcHJvcHM7XG4gIH0pO1xuXG4gIGNvbnN0IHBvcnRhbFN0eWxlID0gY3JlYXRlTWVtbygoKSA9PiB7XG4gICAgY29uc3QgcCA9IHBvc2koKTtcblxuICAgIHJldHVybiBgLnBvcnRhbCB7JHtPYmplY3Qua2V5cyhwKVxuICAgICAgLm1hcCgoaykgPT4gYCR7a306JHtwW2sgYXMga2V5b2YgUG9zaV19cHg7YClcbiAgICAgIC5qb2luKCcnKX16LWluZGV4OiA5OTk5OTt9YDtcbiAgfSk7XG4gIGNvbnN0IHBvcnRhbENscyA9IGNyZWF0ZU1lbW8oKCkgPT4ge1xuICAgIHJldHVybiBjeChcbiAgICAgICdwb3J0YWwnLFxuICAgICAgbG9jYWwuYXJyb3cgJiYgJ2Fycm93JyxcbiAgICAgIGAke29wZW4oKSA/ICdpbicgOiAnb3V0J30tJHt1cCgpID8gJ3VwJyA6ICdkb3duJ31gLFxuICAgICAgbG9jYWwuc2l6ZSxcbiAgICAgIGxvY2FsLnBvcHVwQ2xhc3MsXG4gICAgKTtcbiAgfSk7XG4gIGNvbnN0IGhvc3RTdHlsZSA9IGNyZWF0ZU1lbW8oKCkgPT4ge1xuICAgIHJldHVybiBgOmhvc3Qgey0tcG9wb3Zlci1iZzogJHtcbiAgICAgIGlzRGFyaygpID8gJyMxZjFmMWYnIDogJ3ZhcigtLWNvbXBvbmVudC1iZyknXG4gICAgfTstLXBvcG92ZXItc2hhZG93LWNvbG9yOiByZ2IoMCAwIDAgLyA1JSk7cG9zaXRpb246IGFic29sdXRlO31gO1xuICB9KTtcblxuICBjcmVhdGVFZmZlY3QoKCkgPT4ge1xuICAgIGlmIChvcGVuKCkpIHtcbiAgICAgIHNob3dQb3J0YWwoKTtcblxuICAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ3Njcm9sbCcsIHNob3dQb3J0YWwsIHtcbiAgICAgICAgcGFzc2l2ZTogcGFzc2l2ZVN1cHBvcnRlZCxcbiAgICAgIH0pO1xuICAgIH1cbiAgICBvbkNsZWFudXAoKCkgPT4ge1xuICAgICAgd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3Njcm9sbCcsIHNob3dQb3J0YWwsIGZhbHNlKTtcbiAgICB9KTtcbiAgfSk7XG4gIG9uTW91bnQoKCkgPT4ge1xuICAgIGlmIChsb2NhbC50cmlnZ2VyICE9PSAnbm9uZScpIHtcbiAgICAgIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCdtb3VzZWRvd24nLCBjbG9zZSwgZmFsc2UpO1xuICAgIH1cbiAgfSk7XG4gIG9uQ2xlYW51cCgoKSA9PiB7XG4gICAgY2xlYXJUaW1lb3V0KGNsb3NlVGltZXIpO1xuICAgIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCdtb3VzZWRvd24nLCBjbG9zZSwgZmFsc2UpO1xuICB9KTtcblxuICByZXR1cm4gKFxuICAgIDw+XG4gICAgICA8c3R5bGUgdGV4dENvbnRlbnQ9e3BvcG92ZXJDc3N9IC8+XG4gICAgICA8U2hvdyB3aGVuPXtsb2NhbC5jc3N9PlxuICAgICAgICA8c3R5bGUgdGV4dENvbnRlbnQ9e2Nzcyhsb2NhbC5jc3MpfSAvPlxuICAgICAgPC9TaG93PlxuICAgICAgPHNwYW4gcmVmPXtjaGlsZFJlZn0gY2xhc3M9e2N4KCdwb3BvdmVyJywgbG9jYWwuc2l6ZSwgbG9jYWwuY2xhc3MpfSB7Li4uY2hpbGRyZW5Qcm9wcygpfT5cbiAgICAgICAge2xvY2FsLmNoaWxkcmVufVxuICAgICAgPC9zcGFuPlxuICAgICAgPFNob3cgd2hlbj17b3BlbigpICE9PSBudWxsIHx8ICFsb2NhbC5kZXN0cm95SW5hY3RpdmV9PlxuICAgICAgICA8UG9ydGFsIHVzZVNoYWRvdyBtb3VudD17Y29udGFpbmVyKCl9PlxuICAgICAgICAgIDxzdHlsZSB0ZXh0Q29udGVudD17YmFzZVN0eWxlKCl9IC8+XG4gICAgICAgICAgPHN0eWxlIHRleHRDb250ZW50PXtwb3J0YWxDc3N9IC8+XG4gICAgICAgICAgPHN0eWxlIHRleHRDb250ZW50PXtob3N0U3R5bGUoKX0gLz5cbiAgICAgICAgICA8c3R5bGUgdGV4dENvbnRlbnQ9e3BvcnRhbFN0eWxlKCl9IC8+XG4gICAgICAgICAgPHN0eWxlIHRleHRDb250ZW50PXt3aWR0aCgpfSAvPlxuICAgICAgICAgIDxTaG93IHdoZW49e2xvY2FsLnBvcHVwQ3NzfT5cbiAgICAgICAgICAgIDxzdHlsZSB0ZXh0Q29udGVudD17Y3NzKGxvY2FsLnBvcHVwQ3NzKX0gLz5cbiAgICAgICAgICA8L1Nob3c+XG4gICAgICAgICAgPGRpdiByZWY9e3JlZn0gb246YW5pbWF0aW9uZW5kPXtleGl0fSBjbGFzcz17cG9ydGFsQ2xzKCl9IHsuLi5jaGlsZHJlblByb3BzKCl9PlxuICAgICAgICAgICAgPFNob3cgd2hlbj17ISFsb2NhbC5jb250ZW50fSBmYWxsYmFjaz17PEVtcHR5IC8+fT5cbiAgICAgICAgICAgICAgPFNob3cgd2hlbj17dHlwZW9mIGxvY2FsLmNvbnRlbnQgPT09ICdzdHJpbmcnfSBmYWxsYmFjaz17PD57bG9jYWwuY29udGVudH08Lz59PlxuICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBzb2xpZC9uby1pbm5lcmh0bWxcbiAgICAgICAgICAgICAgICAgIGlubmVySFRNTD17XG4gICAgICAgICAgICAgICAgICAgIGxvY2FsLmVuY29kZVVyaVxuICAgICAgICAgICAgICAgICAgICAgID8gZGVjb2RlVVJJQ29tcG9uZW50KGxvY2FsLmNvbnRlbnQgYXMgc3RyaW5nKVxuICAgICAgICAgICAgICAgICAgICAgIDogKGxvY2FsLmNvbnRlbnQgYXMgc3RyaW5nKVxuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgIDwvU2hvdz5cbiAgICAgICAgICAgIDwvU2hvdz5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9Qb3J0YWw+XG4gICAgICA8L1Nob3c+XG4gICAgPC8+XG4gICk7XG59XG5cbmV4cG9ydCB0eXBlIFBvcG92ZXJFbGVtZW50ID0gQ3VzdG9tRWxlbWVudDxQb3BvdmVyUHJvcHMsICdvbk9wZW5DaGFuZ2UnPjtcblxuZXhwb3J0IGNvbnN0IGRlZmF1bHRQcm9wcyA9IHtcbiAgY2xhc3M6IHZvaWQgMCxcbiAgY3NzOiB2b2lkIDAsXG4gIGNvbnRlbnQ6IHZvaWQgMCxcbiAgZ2V0UG9wdXBDb250YWluZXI6IHZvaWQgMCxcbiAgdHJpZ2dlcjogdm9pZCAwLFxuICBvcGVuOiB2b2lkIDAsXG4gIG9uT3BlbkNoYW5nZTogdm9pZCAwLFxuICBwb3B1cENsYXNzOiB2b2lkIDAsXG4gIHBvcHVwQ3NzOiB2b2lkIDAsXG4gIGRlc3Ryb3lJbmFjdGl2ZTogdHJ1ZSxcbiAgZGlzYWJsZWQ6IHZvaWQgMCxcbiAgYXJyb3c6IHZvaWQgMCxcbiAgcGxhY2VtZW50OiB2b2lkIDAsXG4gIGRyb3Bkb3duTWF0Y2hTZWxlY3RXaWR0aDogdm9pZCAwLFxuICBlbmNvZGVVcmk6IHZvaWQgMCxcbn07XG5Qb3BvdmVyLnJlZ2lzdHJ5ID0gKCkgPT4ge1xuICBjdXN0b21FbGVtZW50PFBvcG92ZXJQcm9wcz4oJ24tcG9wb3ZlcicsIGRlZmF1bHRQcm9wcywgKF8sIG9wdCkgPT4ge1xuICAgIGNvbnN0IHsgYmFzZVN0eWxlIH0gPSB0aGVtZTtcbiAgICBjb25zdCBlbCA9IG9wdC5lbGVtZW50O1xuICAgIGNvbnN0IHByb3BzID0gbWVyZ2VQcm9wcyhcbiAgICAgIHtcbiAgICAgICAgb25PcGVuQ2hhbmdlKG5leHQ6IGJvb2xlYW4gfCBudWxsKSB7XG4gICAgICAgICAgZWwuZGlzcGF0Y2hFdmVudChcbiAgICAgICAgICAgIG5ldyBDdXN0b21FdmVudCgnb3BlbmNoYW5nZScsIHtcbiAgICAgICAgICAgICAgZGV0YWlsOiBuZXh0LFxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgKTtcbiAgICAgICAgfSxcbiAgICAgICAgY2hpbGRyZW46IFsuLi5lbC5jaGlsZE5vZGVzLnZhbHVlcygpXSxcbiAgICAgIH0sXG4gICAgICBfLFxuICAgICk7XG5cbiAgICBjcmVhdGVFZmZlY3QoKCkgPT4ge1xuICAgICAgY2xlYXJBdHRyaWJ1dGUoZWwsIFsnY29udGVudCcsICdwb3B1cENzcycsICdjc3MnXSk7XG4gICAgfSk7XG4gICAgcmV0dXJuIChcbiAgICAgIDw+XG4gICAgICAgIDxzdHlsZSB0ZXh0Q29udGVudD17aW5saW5lfSAvPlxuICAgICAgICA8c3R5bGUgdGV4dENvbnRlbnQ9e2Jhc2VTdHlsZSgpfSAvPlxuICAgICAgICA8UG9wb3ZlciB7Li4ucHJvcHN9IC8+XG4gICAgICA8Lz5cbiAgICApO1xuICB9KTtcbn07XG5leHBvcnQgZGVmYXVsdCBQb3BvdmVyO1xuIl0sIm1hcHBpbmdzIjoiaTFIQUFBLE9BQ0VBLFlBQVksQ0FDWkMsVUFBVSxDQUNWQyxZQUFZLENBQ1pDLFVBQVUsQ0FDVkMsU0FBUyxDQUNUQyxPQUFPLENBQ1BDLElBQUksQ0FDSkMsVUFBVSxLQUNMLFVBQVUsQ0FDakIsT0FBU0MsTUFBTSxLQUFRLGNBQWMsQ0FDckMsT0FBU0MsZUFBZSxDQUFFQyxPQUFPLENBQUVDLFVBQVUsQ0FBRUMsZ0JBQWdCLEtBQVEsZ0JBQWdCLENBQ3ZGLE9BQVNDLEdBQUcsQ0FBRUMsRUFBRSxLQUFRLGFBQWEsQ0FDckMsT0FBU0MsYUFBYSxLQUFRLGVBQWUsQ0FHN0MsT0FBU0MsY0FBYyxLQUF5QixpQkFBaUIsQ0FDakUs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
@@ -1,2 +1,2 @@
1
- import{template as _$template}from"solid-js/web";import{createComponent as _$createComponent}from"solid-js/web";import{getOwner as _$getOwner}from"solid-js/web";import{effect as _$effect}from"solid-js/web";var _tmpl$=/*#__PURE__*/_$template(`<style> `),_tmpl$2=/*#__PURE__*/_$template(`<slot>`);import{createEffect,mergeProps}from"solid-js";import{customElement,noShadowDOM}from"solid-element";import theme from"../theme";function Provider(props){var baseStyle=theme.baseStyle,scheme=theme.scheme,setScheme=theme.setScheme;createEffect(function(){var _props$onScheme;(_props$onScheme=props.onScheme)===null||_props$onScheme===void 0||_props$onScheme.call(props,scheme())});createEffect(function(){if(props.scheme){setScheme(props.scheme)}});return[function(){var _el$=_tmpl$(),_el$2=_el$.firstChild;_$effect(function(){return _el$2.data=baseStyle()});return _el$}(),function(){var _el$3=_tmpl$2();_el$3._$owner=_$getOwner();return _el$3}()]}Provider.registry=function(){customElement("n-provider",function(_,opt){noShadowDOM();var el=opt.element;var props=mergeProps({onScheme:function onScheme(scheme){el.dispatchEvent(new CustomEvent("scheme",{detail:scheme}))}},_);return _$createComponent(Provider,props)})};export default Provider;
2
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJjcmVhdGVFZmZlY3QiLCJtZXJnZVByb3BzIiwiY3VzdG9tRWxlbWVudCIsIm5vU2hhZG93RE9NIiwidGhlbWUiLCJQcm92aWRlciIsInByb3BzIiwiYmFzZVN0eWxlIiwic2NoZW1lIiwic2V0U2NoZW1lIiwiX3Byb3BzJG9uU2NoZW1lIiwib25TY2hlbWUiLCJjYWxsIiwiX2VsJCIsIl90bXBsJCIsIl9lbCQyIiwiZmlyc3RDaGlsZCIsIl8kZWZmZWN0IiwiZGF0YSIsIl9lbCQzIiwiX3RtcGwkMiIsIl8kb3duZXIiLCJfJGdldE93bmVyIiwicmVnaXN0cnkiLCJfIiwib3B0IiwiZWwiLCJlbGVtZW50IiwiZGlzcGF0Y2hFdmVudCIsIkN1c3RvbUV2ZW50IiwiZGV0YWlsIiwiXyRjcmVhdGVDb21wb25lbnQiXSwic291cmNlcyI6WyJjb21wb25lbnRzL3Byb3ZpZGVyL2luZGV4LnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjcmVhdGVFZmZlY3QsIG1lcmdlUHJvcHMgfSBmcm9tICdzb2xpZC1qcyc7XG5pbXBvcnQgeyBjdXN0b21FbGVtZW50LCBub1NoYWRvd0RPTSB9IGZyb20gJ3NvbGlkLWVsZW1lbnQnO1xuXG5pbXBvcnQgdHlwZSB7IEN1c3RvbUVsZW1lbnQgfSBmcm9tICcuLic7XG5pbXBvcnQgdHlwZSB7IEpTWEVsZW1lbnQgfSBmcm9tICcuLi9iYXNpYy1jb25maWcnO1xuaW1wb3J0IHRoZW1lLCB7IENvbG9yU2NoZW1lIH0gZnJvbSAnLi4vdGhlbWUnO1xuXG5mdW5jdGlvbiBQcm92aWRlcihwcm9wczogUHJvdmlkZXJQcm9wcykge1xuICBjb25zdCB7IGJhc2VTdHlsZSwgc2NoZW1lLCBzZXRTY2hlbWUgfSA9IHRoZW1lO1xuXG4gIGNyZWF0ZUVmZmVjdCgoKSA9PiB7XG4gICAgcHJvcHMub25TY2hlbWU/LihzY2hlbWUoKSk7XG4gIH0pO1xuICBjcmVhdGVFZmZlY3QoKCkgPT4ge1xuICAgIGlmIChwcm9wcy5zY2hlbWUpIHtcbiAgICAgIHNldFNjaGVtZShwcm9wcy5zY2hlbWUpO1xuICAgIH1cbiAgfSk7XG4gIHJldHVybiAoXG4gICAgPD5cbiAgICAgIDxzdHlsZSB0ZXh0Q29udGVudD17YmFzZVN0eWxlKCl9IC8+XG4gICAgICA8c2xvdCAvPlxuICAgIDwvPlxuICApO1xufVxuZXhwb3J0IGludGVyZmFjZSBQcm92aWRlclByb3BzIHtcbiAgLyoqIOS4u+mimCwg562J5ZCM5LqO5L2/55SoIHNldFNjaGVtZVxuICAgKiBAZGVmYXVsdCAnYXV0bydcbiAgICovXG4gIHNjaGVtZT86IGtleW9mIHR5cGVvZiBDb2xvclNjaGVtZTtcbiAgLyoqIOWMheijueeahOWtkOmhuSAqL1xuICBjaGlsZHJlbj86IEpTWEVsZW1lbnQ7XG4gIC8qKiDlk43lupQgc2NoZW1lIOWPmOWMliAqL1xuICBvblNjaGVtZT8oc2NoZW1lOiBrZXlvZiB0eXBlb2YgQ29sb3JTY2hlbWUpOiB2b2lkO1xufVxuZXhwb3J0IHR5cGUgUHJvdmlkZXJFbGVtZW50ID0gQ3VzdG9tRWxlbWVudDxQcm92aWRlclByb3BzLCAnb25TY2hlbWUnPjtcblxuUHJvdmlkZXIucmVnaXN0cnkgPSAoKSA9PiB7XG4gIGN1c3RvbUVsZW1lbnQ8UHJvdmlkZXJQcm9wcz4oJ24tcHJvdmlkZXInLCAoXywgb3B0KSA9PiB7XG4gICAgbm9TaGFkb3dET00oKTtcbiAgICBjb25zdCBlbCA9IG9wdC5lbGVtZW50O1xuICAgIGNvbnN0IHByb3BzID0gbWVyZ2VQcm9wcyhcbiAgICAgIHtcbiAgICAgICAgb25TY2hlbWUoc2NoZW1lOiBrZXlvZiB0eXBlb2YgQ29sb3JTY2hlbWUpIHtcbiAgICAgICAgICBlbC5kaXNwYXRjaEV2ZW50KFxuICAgICAgICAgICAgbmV3IEN1c3RvbUV2ZW50KCdzY2hlbWUnLCB7XG4gICAgICAgICAgICAgIGRldGFpbDogc2NoZW1lLFxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgKTtcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgICBfLFxuICAgICk7XG5cbiAgICByZXR1cm4gPFByb3ZpZGVyIHsuLi5wcm9wc30gLz47XG4gIH0pO1xufTtcbmV4cG9ydCBkZWZhdWx0IFByb3ZpZGVyO1xuIl0sIm1hcHBpbmdzIjoidVNBQUEsT0FBU0EsWUFBWSxDQUFFQyxVQUFVLEtBQVEsVUFBVSxDQUNuRCxPQUFTQyxhQUFhLENBQUVDLFdBQVcsS0FBUSxlQUFlLENBSTFELE1BQU8sQ0FBQUMsS0FBSyxLQUF1QixVQUFVLENBRTdDLFFBQVMsQ0FBQUMsUUFBUUEsQ0FBQ0MsS0FBb0IsQ0FBRSxDQUN0QyxHQUFRLENBQUFDLFNBQVMsQ0FBd0JILEtBQUssQ0FBdENHLFNBQVMsQ0FBRUMsTUFBTSxDQUFnQkosS0FBSyxDQUEzQkksTUFBTSxDQUFFQyxTQUFTLENBQUtMLEtBQUssQ0FBbkJLLFNBQVMsQ0FFcENULFlBQVksQ0FBQyxVQUFNLEtBQUFVLGVBQUEsQ0FDakIsQ0FBQUEsZUFBQSxDQUFBSixLQUFLLENBQUNLLFFBQVEsVUFBQUQsZUFBQSxXQUFkQSxlQUFBLENBQUFFLElBQUEsQ0FBQU4sS0FBSyxDQUFZRSxNQUFNLENBQUMsQ0FBQyxDQUMzQixDQUFDLENBQUMsQ0FDRlIsWUFBWSxDQUFDLFVBQU0sQ0FDakIsR0FBSU0sS0FBSyxDQUFDRSxNQUFNLENBQUUsQ0FDaEJDLFNBQVMsQ0FBQ0gsS0FBSyxDQUFDRSxNQUFNLENBQ3hCLENBQ0YsQ0FBQyxDQUFDLENBQ0Ysc0JBQUFLLElBQUEsQ0FBQUMsTUFBQSxHQUFBQyxLQUFBLENBQUFGLElBQUEsQ0FBQUcsVUFBQSxDQUFBQyxRQUFBLG1CQUFBRixLQUFBLENBQUFHLElBQUEsQ0FFd0JYLFNBQVMsQ0FBQyxDQUFDLFVBQUFNLElBQUEsbUJBQUFNLEtBQUEsQ0FBQUMsT0FBQSxHQUFBRCxLQUFBLENBQUFFLE9BQUEsQ0FBQUMsVUFBQSxVQUFBSCxLQUFBLElBSXJDLENBYUFkLFFBQVEsQ0FBQ2tCLFFBQVEsQ0FBRyxVQUFNLENBQ3hCckIsYUFBYSxDQUFnQixZQUFZLENBQUUsU0FBQ3NCLENBQUMsQ0FBRUMsR0FBRyxDQUFLLENBQ3JEdEIsV0FBVyxDQUFDLENBQUMsQ0FDYixHQUFNLENBQUF1QixFQUFFLENBQUdELEdBQUcsQ0FBQ0UsT0FBTyxDQUN0QixHQUFNLENBQUFyQixLQUFLLENBQUdMLFVBQVUsQ0FDdEIsQ0FDRVUsUUFBUSxTQUFSLENBQUFBLFFBQVFBLENBQUNILE1BQWdDLENBQUUsQ0FDekNrQixFQUFFLENBQUNFLGFBQWEsQ0FDZCxHQUFJLENBQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUUsQ0FDeEJDLE1BQU0sQ0FBRXRCLE1BQ1YsQ0FBQyxDQUNILENBQ0YsQ0FDRixDQUFDLENBQ0RnQixDQUNGLENBQUMsQ0FFRCxPQUFBTyxpQkFBQSxDQUFRMUIsUUFBUSxDQUFLQyxLQUFLLENBQzVCLENBQUMsQ0FDSCxDQUFDLENBQ0QsY0FBZSxDQUFBRCxRQUFRIiwiaWdub3JlTGlzdCI6W119
1
+ import{template as _$template}from"solid-js/web";import{createComponent as _$createComponent}from"solid-js/web";import{getOwner as _$getOwner}from"solid-js/web";import{effect as _$effect}from"solid-js/web";var _tmpl$=/*#__PURE__*/_$template(`<style> `),_tmpl$2=/*#__PURE__*/_$template(`<slot>`);import{createEffect,mergeProps}from"solid-js";import{customElement,noShadowDOM}from"solid-element";import theme from"../theme";function Provider(props){var baseStyle=theme.baseStyle,scheme=theme.scheme,setScheme=theme.setScheme;createEffect(function(){var _props$onScheme;(_props$onScheme=props.onScheme)===null||_props$onScheme===void 0||_props$onScheme.call(props,scheme());});createEffect(function(){if(props.scheme){setScheme(props.scheme);}});return[function(){var _el$=_tmpl$(),_el$2=_el$.firstChild;_$effect(function(){return _el$2.data=baseStyle()});return _el$}(),function(){var _el$3=_tmpl$2();_el$3._$owner=_$getOwner();return _el$3}()];}Provider.registry=function(){customElement("n-provider",function(_,opt){noShadowDOM();var el=opt.element;var props=mergeProps({onScheme:function onScheme(scheme){el.dispatchEvent(new CustomEvent("scheme",{detail:scheme}));}},_);return _$createComponent(Provider,props);});};export default Provider;
2
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJjcmVhdGVFZmZlY3QiLCJtZXJnZVByb3BzIiwiY3VzdG9tRWxlbWVudCIsIm5vU2hhZG93RE9NIiwidGhlbWUiLCJQcm92aWRlciIsInByb3BzIiwiYmFzZVN0eWxlIiwic2NoZW1lIiwic2V0U2NoZW1lIiwiX3Byb3BzJG9uU2NoZW1lIiwib25TY2hlbWUiLCJjYWxsIiwiX2VsJCIsIl90bXBsJCIsIl9lbCQyIiwiZmlyc3RDaGlsZCIsIl8kZWZmZWN0IiwiZGF0YSIsIl9lbCQzIiwiX3RtcGwkMiIsIl8kb3duZXIiLCJfJGdldE93bmVyIiwicmVnaXN0cnkiLCJfIiwib3B0IiwiZWwiLCJlbGVtZW50IiwiZGlzcGF0Y2hFdmVudCIsIkN1c3RvbUV2ZW50IiwiZGV0YWlsIiwiXyRjcmVhdGVDb21wb25lbnQiXSwic291cmNlcyI6WyJjb21wb25lbnRzL3Byb3ZpZGVyL2luZGV4LnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjcmVhdGVFZmZlY3QsIG1lcmdlUHJvcHMgfSBmcm9tICdzb2xpZC1qcyc7XG5pbXBvcnQgeyBjdXN0b21FbGVtZW50LCBub1NoYWRvd0RPTSB9IGZyb20gJ3NvbGlkLWVsZW1lbnQnO1xuXG5pbXBvcnQgdHlwZSB7IEN1c3RvbUVsZW1lbnQgfSBmcm9tICcuLic7XG5pbXBvcnQgdHlwZSB7IEpTWEVsZW1lbnQgfSBmcm9tICcuLi9iYXNpYy1jb25maWcnO1xuaW1wb3J0IHRoZW1lLCB7IENvbG9yU2NoZW1lIH0gZnJvbSAnLi4vdGhlbWUnO1xuXG5mdW5jdGlvbiBQcm92aWRlcihwcm9wczogUHJvdmlkZXJQcm9wcykge1xuICBjb25zdCB7IGJhc2VTdHlsZSwgc2NoZW1lLCBzZXRTY2hlbWUgfSA9IHRoZW1lO1xuXG4gIGNyZWF0ZUVmZmVjdCgoKSA9PiB7XG4gICAgcHJvcHMub25TY2hlbWU/LihzY2hlbWUoKSk7XG4gIH0pO1xuICBjcmVhdGVFZmZlY3QoKCkgPT4ge1xuICAgIGlmIChwcm9wcy5zY2hlbWUpIHtcbiAgICAgIHNldFNjaGVtZShwcm9wcy5zY2hlbWUpO1xuICAgIH1cbiAgfSk7XG4gIHJldHVybiAoXG4gICAgPD5cbiAgICAgIDxzdHlsZSB0ZXh0Q29udGVudD17YmFzZVN0eWxlKCl9IC8+XG4gICAgICA8c2xvdCAvPlxuICAgIDwvPlxuICApO1xufVxuZXhwb3J0IGludGVyZmFjZSBQcm92aWRlclByb3BzIHtcbiAgLyoqIOS4u+mimCwg562J5ZCM5LqO5L2/55SoIHNldFNjaGVtZVxuICAgKiBAZGVmYXVsdCAnYXV0bydcbiAgICovXG4gIHNjaGVtZT86IGtleW9mIHR5cGVvZiBDb2xvclNjaGVtZTtcbiAgLyoqIOWMheijueeahOWtkOmhuSAqL1xuICBjaGlsZHJlbj86IEpTWEVsZW1lbnQ7XG4gIC8qKiDlk43lupQgc2NoZW1lIOWPmOWMliAqL1xuICBvblNjaGVtZT8oc2NoZW1lOiBrZXlvZiB0eXBlb2YgQ29sb3JTY2hlbWUpOiB2b2lkO1xufVxuZXhwb3J0IHR5cGUgUHJvdmlkZXJFbGVtZW50ID0gQ3VzdG9tRWxlbWVudDxQcm92aWRlclByb3BzLCAnb25TY2hlbWUnPjtcblxuUHJvdmlkZXIucmVnaXN0cnkgPSAoKSA9PiB7XG4gIGN1c3RvbUVsZW1lbnQ8UHJvdmlkZXJQcm9wcz4oJ24tcHJvdmlkZXInLCAoXywgb3B0KSA9PiB7XG4gICAgbm9TaGFkb3dET00oKTtcbiAgICBjb25zdCBlbCA9IG9wdC5lbGVtZW50O1xuICAgIGNvbnN0IHByb3BzID0gbWVyZ2VQcm9wcyhcbiAgICAgIHtcbiAgICAgICAgb25TY2hlbWUoc2NoZW1lOiBrZXlvZiB0eXBlb2YgQ29sb3JTY2hlbWUpIHtcbiAgICAgICAgICBlbC5kaXNwYXRjaEV2ZW50KFxuICAgICAgICAgICAgbmV3IEN1c3RvbUV2ZW50KCdzY2hlbWUnLCB7XG4gICAgICAgICAgICAgIGRldGFpbDogc2NoZW1lLFxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgKTtcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgICBfLFxuICAgICk7XG5cbiAgICByZXR1cm4gPFByb3ZpZGVyIHsuLi5wcm9wc30gLz47XG4gIH0pO1xufTtcbmV4cG9ydCBkZWZhdWx0IFByb3ZpZGVyO1xuIl0sIm1hcHBpbmdzIjoidVNBQUEsT0FBU0EsWUFBWSxDQUFFQyxVQUFVLEtBQVEsVUFBVSxDQUNuRCxPQUFTQyxhQUFhLENBQUVDLFdBQVcsS0FBUSxlQUFlLENBSTFELE1BQU8sQ0FBQUMsS0FBSyxLQUF1QixVQUFVLENBRTdDLFFBQVMsQ0FBQUMsUUFBUUEsQ0FBQ0MsS0FBb0IsQ0FBRSxDQUN0QyxHQUFRLENBQUFDLFNBQVMsQ0FBd0JILEtBQUssQ0FBdENHLFNBQVMsQ0FBRUMsTUFBTSxDQUFnQkosS0FBSyxDQUEzQkksTUFBTSxDQUFFQyxTQUFTLENBQUtMLEtBQUssQ0FBbkJLLFNBQVMsQ0FFcENULFlBQVksQ0FBQyxVQUFNLEtBQUFVLGVBQUEsQ0FDakIsQ0FBQUEsZUFBQSxDQUFBSixLQUFLLENBQUNLLFFBQVEsVUFBQUQsZUFBQSxXQUFkQSxlQUFBLENBQUFFLElBQUEsQ0FBQU4sS0FBSyxDQUFZRSxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQzVCLENBQUMsQ0FBQyxDQUNGUixZQUFZLENBQUMsVUFBTSxDQUNqQixHQUFJTSxLQUFLLENBQUNFLE1BQU0sQ0FBRSxDQUNoQkMsU0FBUyxDQUFDSCxLQUFLLENBQUNFLE1BQU0sQ0FBQyxDQUN6QixDQUNGLENBQUMsQ0FBQyxDQUNGLHNCQUFBSyxJQUFBLENBQUFDLE1BQUEsR0FBQUMsS0FBQSxDQUFBRixJQUFBLENBQUFHLFVBQUFDLENBQUEsMkJBQUFGLEtBQUEsQ0FBQUcsSUFBQSxDQUV3QlgsU0FBUyxDQUFDLENBQUMsVUFBQU0sSUFBQSxtQkFBQU0sS0FBQSxDQUFBQyxPQUFBLEVBQUFELENBQUEsTUFBQUUsT0FBQSxDQUFBQyxVQUFBLFVBQUFILEtBQUEsS0FJckMsQ0FhQWQsUUFBUSxDQUFDa0IsUUFBUSxDQUFHLFVBQU0sQ0FDeEJyQixhQUFhLENBQWdCLFlBQVksQ0FBRSxTQUFDc0IsQ0FBQyxDQUFFQyxHQUFHLENBQUssQ0FDckR0QixXQUFXLENBQUMsQ0FBQyxDQUNiLEdBQU0sQ0FBQXVCLEVBQUUsQ0FBR0QsR0FBRyxDQUFDRSxPQUFPLENBQ3RCLEdBQU0sQ0FBQXJCLEtBQUssQ0FBR0wsVUFBVSxDQUN0QixDQUNFVSxRQUFRLFNBQVIsQ0FBQUEsUUFBUUEsQ0FBQ0gsTUFBZ0MsQ0FBRSxDQUN6Q2tCLEVBQUUsQ0FBQ0UsYUFBYSxDQUNkLEdBQUksQ0FBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBRSxDQUN4QkMsTUFBTSxDQUFFdEIsTUFDVixDQUFDLENBQ0gsQ0FBQyxDQUNILENBQ0YsQ0FBQyxDQUNEZ0IsQ0FDRixDQUFDLENBRUQsT0FBQU8saUJBQUEsQ0FBUTFCLFFBQVEsQ0FBS0MsS0FBSyxFQUM1QixDQUFDLENBQUMsQ0FDSixDQUFDLENBQ0QsY0FBZSxDQUFBRCxRQUFRIiwiaWdub3JlTGlzdCI6W119
@@ -1,5 +1,6 @@
1
1
  import { JSX } from 'solid-js';
2
2
  import { type IntRange } from './qrcode';
3
+ import type { CustomElement } from 'custom-element-type';
3
4
  export type { IntRange } from './qrcode';
4
5
  export interface QrCodeProps {
5
6
  /** 自定义类名 */
@@ -1,9 +1,9 @@
1
1
  import{template as _$template}from"solid-js/web";import{insert as _$insert}from"solid-js/web";import{createComponent as _$createComponent}from"solid-js/web";import{setAttribute as _$setAttribute}from"solid-js/web";import{effect as _$effect}from"solid-js/web";import{use as _$use}from"solid-js/web";var _tmpl$=/*#__PURE__*/_$template(`<svg><image preserveAspectRatio="xMidYMid meet"></svg>`,false,true,false),_tmpl$2=/*#__PURE__*/_$template(`<svg xmlns=http://www.w3.org/2000/svg stroke=none shape-rendering=crispEdges role=img><path></path><path>`),_tmpl$3=/*#__PURE__*/_$template(`<canvas role=img>`),_tmpl$4=/*#__PURE__*/_$template(`<style>`);function _slicedToArray(r,e){return _arrayWithHoles(r)||_iterableToArrayLimit(r,e)||_unsupportedIterableToArray(r,e)||_nonIterableRest()}function _nonIterableRest(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _unsupportedIterableToArray(r,a){if(r){if("string"==typeof r)return _arrayLikeToArray(r,a);var t={}.toString.call(r).slice(8,-1);return"Object"===t&&r.constructor&&(t=r.constructor.name),"Map"===t||"Set"===t?Array.from(r):"Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?_arrayLikeToArray(r,a):void 0}}function _arrayLikeToArray(r,a){(null==a||a>r.length)&&(a=r.length);for(var e=0,n=Array(a);e<a;e++)n[e]=r[e];return n}function _iterableToArrayLimit(r,l){var t=null==r?null:"undefined"!=typeof Symbol&&r[Symbol.iterator]||r["@@iterator"];if(null!=t){var e,n,i,u,a=[],f=!0,o=!1;try{if(i=(t=t.call(r)).next,0===l){if(Object(t)!==t)return;f=!1}else for(;!(f=(e=i.call(t)).done)&&(a.push(e.value),a.length!==l);f=!0);}catch(r){o=!0,n=r}finally{try{if(!f&&null!=t["return"]&&(u=t["return"](),Object(u)!==u))return}finally{if(o)throw n}}return a}}function _arrayWithHoles(r){if(Array.isArray(r))return r}import{createEffect,mergeProps,Show,splitProps}from"solid-js";import{customElement}from"solid-element";import{clearAttribute}from"../basic-config";import theme,{inline}from"../theme";import{Ecc,encodeSegments,makeSegments}from"./qrcode";var QRCode=function QRCode(_props){var isDark=theme.isDark;var cvs;var svg;var img;var normal=mergeProps({size:160,iconSize:7,border:1,ecl:"m",type:"svg"},_props);var _splitProps=splitProps(normal,["value","border","size","type","minVersion","maxVersion","mask","boostEcc","ecl","bgColor","color","iconSize","shape"]),_splitProps2=_slicedToArray(_splitProps,2),props=_splitProps2[0],other=_splitProps2[1];var eccMap={l:Ecc.get("LOW"),m:Ecc.get("MEDIUM"),q:Ecc.get("QUARTILE"),h:Ecc.get("HIGH")};createEffect(function(prev){isDark();// 响应主题模式
2
2
  var segs=makeSegments(props.value);var qr=encodeSegments(segs,eccMap[props.ecl],props.minVersion,props.maxVersion,props.mask,props.boostEcc);var styles;if(props.type==="canvas"){if(props.size<=0||props.border<0||!cvs)throw new RangeError("Value out of range");var scale=props.size/(qr.size+props.border*2);var radius=scale/2;// 半径
3
3
  cvs.width=props.size;cvs.height=props.size;styles=window.getComputedStyle(cvs);var ctx=cvs.getContext("2d");var color=props.color||(prev===null||prev===void 0?void 0:prev.color)||styles.color;var bgColor=props.bgColor||(prev===null||prev===void 0?void 0:prev.bg)||styles.backgroundColor;ctx.clearRect(0,0,props.size,props.size);ctx.fillStyle=bgColor;ctx.fillRect(0,0,props.size,props.size);ctx.fillStyle=color;for(var y=-props.border;y<qr.size+props.border;y++){var ypos=(y+props.border)*scale;for(var x=-props.border;x<qr.size+props.border;x++){if(qr.getModule(x,y)){var xpos=(x+props.border)*scale;switch(props.shape){case"circle":ctx.beginPath();ctx.arc(xpos+radius,ypos+radius,radius,0,Math.PI*2);ctx.fill();break;case"heart":ctx.beginPath();ctx.moveTo(xpos+radius,ypos+scale/4);ctx.bezierCurveTo(xpos+scale*0.1,ypos-scale*0.2,xpos-scale*0.3,ypos+scale*0.6,xpos+radius,ypos+scale);ctx.bezierCurveTo(xpos+scale*1.3,ypos+scale*0.6,xpos+scale*0.9,ypos-scale*0.2,xpos+radius,ypos+scale/4);ctx.closePath();ctx.fill();break;case"rhombus":ctx.beginPath();ctx.moveTo(xpos+radius,ypos);ctx.lineTo(xpos+scale,ypos+radius);ctx.lineTo(xpos+radius,ypos+scale);ctx.lineTo(xpos,ypos+radius);ctx.closePath();ctx.fill();break;case"rect":default:// 避免由于小数位带来的间隔问题
4
- ctx.fillRect(Math.floor(xpos),Math.floor(ypos),Math.ceil(scale),Math.ceil(scale));break}}}}// 恢复缩放
4
+ ctx.fillRect(Math.floor(xpos),Math.floor(ypos),Math.ceil(scale),Math.ceil(scale));break;}}}}// 恢复缩放
5
5
  // ctx.restore();
6
6
  // 如果有图标,则绘制到中心
7
- if(other.icon){if(!img){img=new Image(props.iconSize,props.iconSize)}img.src=other.icon;img.onload=function(){var offset=(props.size+props.border*scale-props.iconSize)/2;ctx.drawImage(img,offset,offset,props.iconSize,props.iconSize)}}}else{if(props.border<0){throw new RangeError("Border must be non-negative")}var parts=[];for(var _y=0;_y<qr.size;_y++){for(var _x=0;_x<qr.size;_x++){if(qr.getModule(_x,_y)){switch(props.shape){case"circle":parts.push("M".concat(_x+props.border+0.5,",").concat(_y+props.border+0.5," m -0.5, 0 a 0.5,0.5 0 1,0 1,0 a 0.5,0.5 0 1,0 -1,0"));break;case"rhombus":parts.push("M".concat(_x+props.border+0.5,",").concat(_y+props.border," L").concat(_x+props.border+1,",").concat(_y+props.border+0.5," L").concat(_x+props.border+0.5,",").concat(_y+props.border+1," L").concat(_x+props.border,",").concat(_y+props.border+0.5," Z"));break;case"heart":parts.push("M".concat(_x+props.border+0.5,",").concat(_y+props.border+0.25," C").concat(_x+props.border+0.1,",").concat(_y+props.border-0.2," ").concat(_x+props.border-0.3,",").concat(_y+props.border+0.6," ").concat(_x+props.border+0.5,",").concat(_y+props.border+1," C").concat(_x+props.border+1.3,",").concat(_y+props.border+0.6," ").concat(_x+props.border+0.9,",").concat(_y+props.border-0.2," ").concat(_x+props.border+0.5,",").concat(_y+props.border+0.25," Z"));break;case"rect":default:parts.push("M".concat(_x+props.border,",").concat(_y+props.border,"h1v1h-1z"));break}}}}var paths=svg===null||svg===void 0?void 0:svg.querySelectorAll("path");var box_size=qr.size+props.border*2;svg===null||svg===void 0||svg.setAttribute("viewBox","0 0 ".concat(box_size," ").concat(box_size));styles=window.getComputedStyle(svg);if(paths.length>0){paths[0].setAttribute("d","M0,0 h".concat(box_size,"v").concat(box_size,"H0z"));paths[0].setAttribute("fill",props.bgColor||(prev===null||prev===void 0?void 0:prev.bg)||styles.backgroundColor);paths[1].setAttribute("d",parts.join(" "));paths[1].setAttribute("fill",props.color||(prev===null||prev===void 0?void 0:prev.color)||styles.color)}// icon
8
- var icon=svg===null||svg===void 0?void 0:svg.querySelector("image");if(icon){var offset="".concat((qr.size+props.border*2-props.iconSize)/2);icon.setAttribute("x",offset);icon.setAttribute("y",offset);icon.setAttribute("width","".concat(props.iconSize));icon.setAttribute("height","".concat(props.iconSize))}}return{color:styles.color,bg:styles.backgroundColor}});return _$createComponent(Show,{get when(){return props.type==="svg"},get fallback(){return function(){var _el$5=_tmpl$3();var _ref$2=cvs;typeof _ref$2==="function"?_$use(_ref$2,_el$5):cvs=_el$5;return _el$5}()},get children(){var _el$=_tmpl$2(),_el$2=_el$.firstChild,_el$3=_el$2.nextSibling;var _ref$=svg;typeof _ref$==="function"?_$use(_ref$,_el$):svg=_el$;_$insert(_el$,_$createComponent(Show,{get when(){return other.icon},get children(){var _el$4=_tmpl$();_$effect(function(){return _$setAttribute(_el$4,"href",other.icon)});return _el$4}}),null);_$effect(function(_p$){var _v$=props.size,_v$2=props.size;_v$!==_p$.e&&_$setAttribute(_el$,"width",_p$.e=_v$);_v$2!==_p$.t&&_$setAttribute(_el$,"height",_p$.t=_v$2);return _p$},{e:undefined,t:undefined});return _el$}})};export var defaultProps={value:"",icon:void 0,color:void 0,bgColor:void 0,size:void 0,iconSize:void 0,ecl:void 0,minVersion:void 0,maxVersion:void 0,mask:void 0,boostEcc:false,border:void 0,type:void 0,shape:void 0};QRCode.registry=function(){customElement("n-qrcode",defaultProps,function(props,opt){var el=opt.element;createEffect(function(){clearAttribute(el,["value","icon"])});return[function(){var _el$6=_tmpl$4();_el$6.textContent=inline;return _el$6}(),_$createComponent(QRCode,props)]})};export default QRCode;
9
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJjcmVhdGVFZmZlY3QiLCJtZXJnZVByb3BzIiwiU2hvdyIsInNwbGl0UHJvcHMiLCJjdXN0b21FbGVtZW50IiwiY2xlYXJBdHRyaWJ1dGUiLCJ0aGVtZSIsImlubGluZSIsIkVjYyIsImVuY29kZVNlZ21lbnRzIiwibWFrZVNlZ21lbnRzIiwiUVJDb2RlIiwiX3Byb3BzIiwiaXNEYXJrIiwiY3ZzIiwic3ZnIiwiaW1nIiwibm9ybWFsIiwic2l6ZSIsImljb25TaXplIiwiYm9yZGVyIiwiZWNsIiwidHlwZSIsIl9zcGxpdFByb3BzIiwiX3NwbGl0UHJvcHMyIiwiX3NsaWNlZFRvQXJyYXkiLCJwcm9wcyIsIm90aGVyIiwiZWNjTWFwIiwibCIsImdldCIsIm0iLCJxIiwiaCIsInByZXYiLCJzZWdzIiwidmFsdWUiLCJxciIsIm1pblZlcnNpb24iLCJtYXhWZXJzaW9uIiwibWFzayIsImJvb3N0RWNjIiwic3R5bGVzIiwiUmFuZ2VFcnJvciIsInNjYWxlIiwicmFkaXVzIiwid2lkdGgiLCJoZWlnaHQiLCJ3aW5kb3ciLCJnZXRDb21wdXRlZFN0eWxlIiwiY3R4IiwiZ2V0Q29udGV4dCIsImNvbG9yIiwiYmdDb2xvciIsImJnIiwiYmFja2dyb3VuZENvbG9yIiwiY2xlYXJSZWN0IiwiZmlsbFN0eWxlIiwiZmlsbFJlY3QiLCJ5IiwieXBvcyIsIngiLCJnZXRNb2R1bGUiLCJ4cG9zIiwic2hhcGUiLCJiZWdpblBhdGgiLCJhcmMiLCJNYXRoIiwiUEkiLCJmaWxsIiwibW92ZVRvIiwiYmV6aWVyQ3VydmVUbyIsImNsb3NlUGF0aCIsImxpbmVUbyIsImZsb29yIiwiY2VpbCIsImljb24iLCJJbWFnZSIsInNyYyIsIm9ubG9hZCIsIm9mZnNldCIsImRyYXdJbWFnZSIsInBhcnRzIiwicHVzaCIsImNvbmNhdCIsInBhdGhzIiwicXVlcnlTZWxlY3RvckFsbCIsImJveF9zaXplIiwic2V0QXR0cmlidXRlIiwibGVuZ3RoIiwiam9pbiIsInF1ZXJ5U2VsZWN0b3IiLCJfJGNyZWF0ZUNvbXBvbmVudCIsIndoZW4iLCJmYWxsYmFjayIsIl9lbCQ1IiwiX3RtcGwkMyIsIl9yZWYkMiIsIl8kdXNlIiwiY2hpbGRyZW4iLCJfZWwkIiwiX3RtcGwkMiIsIl9lbCQyIiwiZmlyc3RDaGlsZCIsIl9lbCQzIiwibmV4dFNpYmxpbmciLCJfcmVmJCIsIl8kaW5zZXJ0IiwiX2VsJDQiLCJfdG1wbCQiLCJfJGVmZmVjdCIsIl8kc2V0QXR0cmlidXRlIiwiX3AkIiwiX3YkIiwiX3YkMiIsImUiLCJ0IiwidW5kZWZpbmVkIiwiZGVmYXVsdFByb3BzIiwicmVnaXN0cnkiLCJvcHQiLCJlbCIsImVsZW1lbnQiLCJfZWwkNiIsIl90bXBsJDQiLCJ0ZXh0Q29udGVudCJdLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvcXJjb2RlL2luZGV4LnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjcmVhdGVFZmZlY3QsIEpTWCwgbWVyZ2VQcm9wcywgU2hvdywgc3BsaXRQcm9wcyB9IGZyb20gJ3NvbGlkLWpzJztcbmltcG9ydCB7IGN1c3RvbUVsZW1lbnQgfSBmcm9tICdzb2xpZC1lbGVtZW50JztcblxuaW1wb3J0IHsgY2xlYXJBdHRyaWJ1dGUgfSBmcm9tICcuLi9iYXNpYy1jb25maWcnO1xuaW1wb3J0IHRoZW1lLCB7IGlubGluZSB9IGZyb20gJy4uL3RoZW1lJztcblxuaW1wb3J0IHsgRWNjLCBlbmNvZGVTZWdtZW50cywgdHlwZSBJbnRSYW5nZSwgbWFrZVNlZ21lbnRzIH0gZnJvbSAnLi9xcmNvZGUnO1xuZXhwb3J0IHR5cGUgeyBJbnRSYW5nZSB9IGZyb20gJy4vcXJjb2RlJztcbmV4cG9ydCBpbnRlcmZhY2UgUXJDb2RlUHJvcHMge1xuICAvKiog6Ieq5a6a5LmJ57G75ZCNICovXG4gIGNsYXNzPzogc3RyaW5nO1xuICBzdHlsZT86IHN0cmluZyB8IEpTWC5DU1NQcm9wZXJ0aWVzO1xuICAvKiog5LqM57u056CB5YC8ICovXG4gIHZhbHVlOiBzdHJpbmc7XG4gIC8qKiDkuoznu7TnoIHmqKHlnZfnmoTpopzoibIgKi9cbiAgY29sb3I/OiBzdHJpbmc7XG4gIC8qKiDkuoznu7TnoIHog4zmma/oibIgKi9cbiAgYmdDb2xvcj86IHN0cmluZztcbiAgLyoqXG4gICAqIOS6jOe7tOeggeWwuuWvuFxuICAgKiBAZGVmYXVsdCAxNTBcbiAgICovXG4gIHNpemU/OiBudW1iZXI7XG4gIC8qKiDnuqDplJnnrYnnuqc7IOWIhuWIq+WvueW6lDcl44CBMTUl44CBMjUl44CBMzAl55qE5pWw5o2u57qg6ZSZ6IO95YqbXG4gICAqIEBkZWZhdWx0ICdtJ1xuICAgKi9cbiAgZWNsPzogJ2wnIHwgJ20nIHwgJ3EnIHwgJ2gnO1xuICAvKipcbiAgICog5pSv5oyB55qEUVLnoIHmqKHlnosy5qCH5YeG5pyA5bCP54mI5pysXG4gICAqIEBkZWZhdWx0IDFcbiAgICovXG4gIG1pblZlcnNpb24/OiBJbnRSYW5nZTwxLCA0MT47XG4gIC8qKlxuICAgKiDmlK/mjIHnmoRRUueggeaooeWeizLmoIflh4bmnIDlpKfniYjmnKxcbiAgICogQGRlZmF1bHQgNDBcbiAgICovXG4gIG1heFZlcnNpb24/OiBJbnRSYW5nZTwxLCA0MT47XG4gIC8qKlxuICAgKiDmjqnnoIHmqKHlvI87IOS4uiAtMSDml7bvvIzooajnpLroh6rliqjpgInmi6lcbiAgICogQGRlZmF1bHQgLTFcbiAgICovXG4gIG1hc2s/OiAtMSB8IEludFJhbmdlPDAsIDg+O1xuICAvKipcbiAgICog5Zyo5pWw5o2u5LuN54S26YCC5ZCI5b2T5YmN54mI5pys5Y+355qE5oOF5Ya15LiL5o+Q6auY57qg6ZSZ57qn5YirXG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICovXG4gIGJvb3N0RWNjPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIOaooeWdl+WkluWbtOeahOi+ueahhuWuveW6pu+8iOaooeWdl+WNleS9je+8jOmdnuWDj+e0oO+8iVxuICAgKiBAZGVmYXVsdCAxXG4gICAqL1xuICBib3JkZXI/OiBJbnRSYW5nZTwxLCAxMDE+O1xuICAvKipcbiAgICog5riy5p+T5pa55byPXG4gICAqIEBkZWZhdWx0ICdzdmcnXG4gICAqL1xuICB0eXBlPzogJ3N2ZycgfCAnY2FudmFzJztcbiAgLyoqXG4gICAqIOS6jOe7tOeggeWbvuagh1xuICAgKi9cbiAgaWNvbj86IHN0cmluZztcbiAgLyoqXG4gICAqIOS6jOe7tOeggeWbvuagh+WwuuWvuFxuICAgKiBAZGVmYXVsdCA3XG4gICAqL1xuICBpY29uU2l6ZT86IG51bWJlcjtcbiAgLyoqXG4gICAqIOaooeWdl+W9oueKtlxuICAgKiBAZGVmYXVsdCAncmVjdCdcbiAgICogQHNpbmNlIDIuOS4xXG4gICAqL1xuICBzaGFwZT86ICdyZWN0JyB8ICdyaG9tYnVzJyB8ICdoZWFydCcgfCAnY2lyY2xlJztcbn1cbmNvbnN0IFFSQ29kZSA9IChfcHJvcHM6IFFyQ29kZVByb3BzKSA9PiB7XG4gIGNvbnN0IHsgaXNEYXJrIH0gPSB0aGVtZTtcbiAgbGV0IGN2czogSFRNTENhbnZhc0VsZW1lbnQgfCB1bmRlZmluZWQ7XG4gIGxldCBzdmc6IFNWR1NWR0VsZW1lbnQgfCB1bmRlZmluZWQ7XG4gIGxldCBpbWc6IEhUTUxJbWFnZUVsZW1lbnQgfCB1bmRlZmluZWQ7XG4gIGNvbnN0IG5vcm1hbCA9IG1lcmdlUHJvcHMoXG4gICAge1xuICAgICAgc2l6ZTogMTYwLFxuICAgICAgaWNvblNpemU6IDcsXG4gICAgICBib3JkZXI6IDEsXG4gICAgICBlY2w6ICdtJyBhcyBjb25zdCxcbiAgICAgIHR5cGU6ICdzdmcnIGFzIGNvbnN0LFxuICAgIH0sXG4gICAgX3Byb3BzLFxuICApO1xuICBjb25zdCBbcHJvcHMsIG90aGVyXSA9IHNwbGl0UHJvcHMobm9ybWFsLCBbXG4gICAgJ3ZhbHVlJyxcbiAgICAnYm9yZGVyJyxcbiAgICAnc2l6ZScsXG4gICAgJ3R5cGUnLFxuICAgICdtaW5WZXJzaW9uJyxcbiAgICAnbWF4VmVyc2lvbicsXG4gICAgJ21hc2snLFxuICAgICdib29zdEVjYycsXG4gICAgJ2VjbCcsXG4gICAgJ2JnQ29sb3InLFxuICAgICdjb2xvcicsXG4gICAgJ2ljb25TaXplJyxcbiAgICAnc2hhcGUnLFxuICBdKTtcbiAgY29uc3QgZWNjTWFwID0ge1xuICAgIGw6IEVjYy5nZXQoJ0xPVycpLFxuICAgIG06IEVjYy5nZXQoJ01FRElVTScpLFxuICAgIHE6IEVjYy5nZXQoJ1FVQVJUSUxFJyksXG4gICAgaDogRWNjLmdldCgnSElHSCcpLFxuICB9O1xuXG4gIGNyZWF0ZUVmZmVjdCgocHJldj86IHsgY29sb3I/OiBzdHJpbmc7IGJnPzogc3RyaW5nIH0pID0+IHtcbiAgICBpc0RhcmsoKTsgLy8g5ZON5bqU5Li76aKY5qih5byPXG4gICAgY29uc3Qgc2VncyA9IG1ha2VTZWdtZW50cyhwcm9wcy52YWx1ZSk7XG4gICAgY29uc3QgcXIgPSBlbmNvZGVTZWdtZW50cyhcbiAgICAgIHNlZ3MsXG4gICAgICBlY2NNYXBbcHJvcHMuZWNsXSxcbiAgICAgIHByb3BzLm1pblZlcnNpb24sXG4gICAgICBwcm9wcy5tYXhWZXJzaW9uLFxuICAgICAgcHJvcHMubWFzayxcbiAgICAgIHByb3BzLmJvb3N0RWNjLFxuICAgICk7XG4gICAgbGV0IHN0eWxlczogQ1NTU3R5bGVEZWNsYXJhdGlvbjtcblxuICAgIGlmIChwcm9wcy50eXBlID09PSAnY2FudmFzJykge1xuICAgICAgaWYgKHByb3BzLnNpemUgPD0gMCB8fCBwcm9wcy5ib3JkZXIgPCAwIHx8ICFjdnMpIHRocm93IG5ldyBSYW5nZUVycm9yKCdWYWx1ZSBvdXQgb2YgcmFuZ2UnKTtcbiAgICAgIGNvbnN0IHNjYWxlID0gcHJvcHMuc2l6ZSAvIChxci5zaXplICsgcHJvcHMuYm9yZGVyICogMik7XG4gICAgICBjb25zdCByYWRpdXMgPSBzY2FsZSAvIDI7IC8vIOWNiuW+hFxuXG4gICAgICBjdnMud2lkdGggPSBwcm9wcy5zaXplO1xuICAgICAgY3ZzLmhlaWdodCA9IHByb3BzLnNpemU7XG4gICAgICBzdHlsZXMgPSB3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShjdnMgYXMgdW5rbm93biBhcyBFbGVtZW50KTtcbiAgICAgIGNvbnN0IGN0eCA9IGN2cy5nZXRDb250ZXh0KCcyZCcpIGFzIENhbnZhc1JlbmRlcmluZ0NvbnRleHQyRDtcbiAgICAgIGNvbnN0IGNvbG9yID0gcHJvcHMuY29sb3IgfHwgcHJldj8uY29sb3IgfHwgc3R5bGVzLmNvbG9yO1xuICAgICAgY29uc3QgYmdDb2xvciA9IHByb3BzLmJnQ29sb3IgfHwgcHJldj8uYmcgfHwgc3R5bGVzLmJhY2tncm91bmRDb2xvcjtcblxuICAgICAgY3R4LmNsZWFyUmVjdCgwLCAwLCBwcm9wcy5zaXplLCBwcm9wcy5zaXplKTtcbiAgICAgIGN0eC5maWxsU3R5bGUgPSBiZ0NvbG9yO1xuICAgICAgY3R4LmZpbGxSZWN0KDAsIDAsIHByb3BzLnNpemUsIHByb3BzLnNpemUpO1xuICAgICAgY3R4LmZpbGxTdHlsZSA9IGNvbG9yO1xuICAgICAgZm9yIChsZXQgeSA9IC1wcm9wcy5ib3JkZXI7IHkgPCBxci5zaXplICsgcHJvcHMuYm9yZGVyOyB5KyspIHtcbiAgICAgICAgY29uc3QgeXBvcyA9ICh5ICsgcHJvcHMuYm9yZGVyKSAqIHNjYWxlO1xuXG4gICAgICAgIGZvciAobGV0IHggPSAtcHJvcHMuYm9yZGVyOyB4IDwgcXIuc2l6ZSArIHByb3BzLmJvcmRlcjsgeCsrKSB7XG4gICAgICAgICAgaWYgKHFyLmdldE1vZHVsZSh4LCB5KSkge1xuICAgICAgICAgICAgY29uc3QgeHBvcyA9ICh4ICsgcHJvcHMuYm9yZGVyKSAqIHNjYWxlO1xuXG4gICAgICAgICAgICBzd2l0Y2ggKHByb3BzLnNoYXBlKSB7XG4gICAgICAgICAgICAgIGNhc2UgJ2NpcmNsZSc6XG4gICAgICAgICAgICAgICAgY3R4LmJlZ2luUGF0aCgpO1xuICAgICAgICAgICAgICAgIGN0eC5hcmMoeHBvcyArIHJhZGl1cywgeXBvcyArIHJhZGl1cywgcmFkaXVzLCAwLCBNYXRoLlBJICogMik7XG4gICAgICAgICAgICAgICAgY3R4LmZpbGwoKTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgY2FzZSAnaGVhcnQnOlxuICAgICAgICAgICAgICAgIGN0eC5iZWdpblBhdGgoKTtcbiAgICAgICAgICAgICAgICBjdHgubW92ZVRvKHhwb3MgKyByYWRpdXMsIHlwb3MgKyBzY2FsZSAvIDQpO1xuICAgICAgICAgICAgICAgIGN0eC5iZXppZXJDdXJ2ZVRvKFxuICAgICAgICAgICAgICAgICAgeHBvcyArIHNjYWxlICogMC4xLFxuICAgICAgICAgICAgICAgICAgeXBvcyAtIHNjYWxlICogMC4yLFxuICAgICAgICAgICAgICAgICAgeHBvcyAtIHNjYWxlICogMC4zLFxuICAgICAgICAgICAgICAgICAgeXBvcyArIHNjYWxlICogMC42LFxuICAgICAgICAgICAgICAgICAgeHBvcyArIHJhZGl1cyxcbiAgICAgICAgICAgICAgICAgIHlwb3MgKyBzY2FsZSxcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIGN0eC5iZXppZXJDdXJ2ZVRvKFxuICAgICAgICAgICAgICAgICAgeHBvcyArIHNjYWxlICogMS4zLFxuICAgICAgICAgICAgICAgICAgeXBvcyArIHNjYWxlICogMC42LFxuICAgICAgICAgICAgICAgICAgeHBvcyArIHNjYWxlICogMC45LFxuICAgICAgICAgICAgICAgICAgeXBvcyAtIHNjYWxlICogMC4yLFxuICAgICAgICAgICAgICAgICAgeHBvcyArIHJhZGl1cyxcbiAgICAgICAgICAgICAgICAgIHlwb3MgKyBzY2FsZSAvIDQsXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICBjdHguY2xvc2VQYXRoKCk7XG4gICAgICAgICAgICAgICAgY3R4LmZpbGwoKTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgY2FzZSAncmhvbWJ1cyc6XG4gICAgICAgICAgICAgICAgY3R4LmJlZ2luUGF0aCgpO1xuICAgICAgICAgICAgICAgIGN0eC5tb3ZlVG8oeHBvcyArIHJhZGl1cywgeXBvcyk7XG4gICAgICAgICAgICAgICAgY3R4LmxpbmVUbyh4cG9zICsgc2NhbGUsIHlwb3MgKyByYWRpdXMpO1xuICAgICAgICAgICAgICAgIGN0eC5saW5lVG8oeHBvcyArIHJhZGl1cywgeXBvcyArIHNjYWxlKTtcbiAgICAgICAgICAgICAgICBjdHgubGluZVRvKHhwb3MsIHlwb3MgKyByYWRpdXMpO1xuICAgICAgICAgICAgICAgIGN0eC5jbG9zZVBhdGgoKTtcbiAgICAgICAgICAgICAgICBjdHguZmlsbCgpO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICBjYXNlICdyZWN0JzpcbiAgICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICAvLyDpgb/lhY3nlLHkuo7lsI/mlbDkvY3luKbmnaXnmoTpl7TpmpTpl67pophcbiAgICAgICAgICAgICAgICBjdHguZmlsbFJlY3QoXG4gICAgICAgICAgICAgICAgICBNYXRoLmZsb29yKHhwb3MpLFxuICAgICAgICAgICAgICAgICAgTWF0aC5mbG9vcih5cG9zKSxcbiAgICAgICAgICAgICAgICAgIE1hdGguY2VpbChzY2FsZSksXG4gICAgICAgICAgICAgICAgICBNYXRoLmNlaWwoc2NhbGUpLFxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICAvLyDmgaLlpI3nvKnmlL5cbiAgICAgIC8vIGN0eC5yZXN0b3JlKCk7XG4gICAgICAvLyDlpoLmnpzmnInlm77moIfvvIzliJnnu5jliLbliLDkuK3lv4NcbiAgICAgIGlmIChvdGhlci5pY29uKSB7XG4gICAgICAgIGlmICghaW1nKSB7XG4gICAgICAgICAgaW1nID0gbmV3IEltYWdlKHByb3BzLmljb25TaXplLCBwcm9wcy5pY29uU2l6ZSk7XG4gICAgICAgIH1cbiAgICAgICAgaW1nLnNyYyA9IG90aGVyLmljb247XG4gICAgICAgIGltZy5vbmxvYWQgPSAoKSA9PiB7XG4gICAgICAgICAgY29uc3Qgb2Zmc2V0ID0gKHByb3BzLnNpemUgKyBwcm9wcy5ib3JkZXIgKiBzY2FsZSAtIHByb3BzLmljb25TaXplKSAvIDI7XG5cbiAgICAgICAgICBjdHguZHJhd0ltYWdlKGltZyEsIG9mZnNldCwgb2Zmc2V0LCBwcm9wcy5pY29uU2l6ZSwgcHJvcHMuaWNvblNpemUpO1xuICAgICAgICB9O1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICBpZiAocHJvcHMuYm9yZGVyIDwgMCkge1xuICAgICAgICB0aHJvdyBuZXcgUmFuZ2VFcnJvcignQm9yZGVyIG11c3QgYmUgbm9uLW5lZ2F0aXZlJyk7XG4gICAgICB9XG4gICAgICBjb25zdCBwYXJ0czogc3RyaW5nW10gPSBbXTtcblxuICAgICAgZm9yIChsZXQgeSA9IDA7IHkgPCBxci5zaXplOyB5KyspIHtcbiAgICAgICAgZm9yIChsZXQgeCA9IDA7IHggPCBxci5zaXplOyB4KyspIHtcbiAgICAgICAgICBpZiAocXIuZ2V0TW9kdWxlKHgsIHkpKSB7XG4gICAgICAgICAgICBzd2l0Y2ggKHByb3BzLnNoYXBlKSB7XG4gICAgICAgICAgICAgIGNhc2UgJ2NpcmNsZSc6XG4gICAgICAgICAgICAgICAgcGFydHMucHVzaChcbiAgICAgICAgICAgICAgICAgIGBNJHt4ICsgcHJvcHMuYm9yZGVyICsgMC41fSwke1xuICAgICAgICAgICAgICAgICAgICB5ICsgcHJvcHMuYm9yZGVyICsgMC41XG4gICAgICAgICAgICAgICAgICB9IG0gLTAuNSwgMCBhIDAuNSwwLjUgMCAxLDAgMSwwIGEgMC41LDAuNSAwIDEsMCAtMSwwYCxcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICBjYXNlICdyaG9tYnVzJzpcbiAgICAgICAgICAgICAgICBwYXJ0cy5wdXNoKFxuICAgICAgICAgICAgICAgICAgYE0ke3ggKyBwcm9wcy5ib3JkZXIgKyAwLjV9LCR7eSArIHByb3BzLmJvcmRlcn0gTCR7eCArIHByb3BzLmJvcmRlciArIDF9LCR7XG4gICAgICAgICAgICAgICAgICAgIHkgKyBwcm9wcy5ib3JkZXIgKyAwLjVcbiAgICAgICAgICAgICAgICAgIH0gTCR7eCArIHByb3BzLmJvcmRlciArIDAuNX0sJHt5ICsgcHJvcHMuYm9yZGVyICsgMX0gTCR7eCArIHByb3BzLmJvcmRlcn0sJHtcbiAgICAgICAgICAgICAgICAgICAgeSArIHByb3BzLmJvcmRlciArIDAuNVxuICAgICAgICAgICAgICAgICAgfSBaYCxcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICBjYXNlICdoZWFydCc6XG4gICAgICAgICAgICAgICAgcGFydHMucHVzaChcbiAgICAgICAgICAgICAgICAgIGBNJHt4ICsgcHJvcHMuYm9yZGVyICsgMC41fSwke3kgKyBwcm9wcy5ib3JkZXIgKyAwLjI1fSBDJHtcbiAgICAgICAgICAgICAgICAgICAgeCArIHByb3BzLmJvcmRlciArIDAuMVxuICAgICAgICAgICAgICAgICAgfSwke3kgKyBwcm9wcy5ib3JkZXIgLSAwLjJ9ICR7eCArIHByb3BzLmJvcmRlciAtIDAuM30sJHt5ICsgcHJvcHMuYm9yZGVyICsgMC42fSAke1xuICAgICAgICAgICAgICAgICAgICB4ICsgcHJvcHMuYm9yZGVyICsgMC41XG4gICAgICAgICAgICAgICAgICB9LCR7eSArIHByb3BzLmJvcmRlciArIDF9IEMke3ggKyBwcm9wcy5ib3JkZXIgKyAxLjN9LCR7eSArIHByb3BzLmJvcmRlciArIDAuNn0gJHtcbiAgICAgICAgICAgICAgICAgICAgeCArIHByb3BzLmJvcmRlciArIDAuOVxuICAgICAgICAgICAgICAgICAgfSwke3kgKyBwcm9wcy5ib3JkZXIgLSAwLjJ9ICR7eCArIHByb3BzLmJvcmRlciArIDAuNX0sJHtcbiAgICAgICAgICAgICAgICAgICAgeSArIHByb3BzLmJvcmRlciArIDAuMjVcbiAgICAgICAgICAgICAgICAgIH0gWmAsXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgY2FzZSAncmVjdCc6XG4gICAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgcGFydHMucHVzaChgTSR7eCArIHByb3BzLmJvcmRlcn0sJHt5ICsgcHJvcHMuYm9yZGVyfWgxdjFoLTF6YCk7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICBjb25zdCBwYXRocyA9IHN2Zz8ucXVlcnlTZWxlY3RvckFsbCgncGF0aCcpIGFzIHVua25vd24gYXMgU1ZHUGF0aEVsZW1lbnRbXTtcbiAgICAgIGNvbnN0IGJveF9zaXplID0gcXIuc2l6ZSArIHByb3BzLmJvcmRlciAqIDI7XG5cbiAgICAgIHN2Zz8uc2V0QXR0cmlidXRlKCd2aWV3Qm94JywgYDAgMCAke2JveF9zaXplfSAke2JveF9zaXplfWApO1xuICAgICAgc3R5bGVzID0gd2luZG93LmdldENvbXB1dGVkU3R5bGUoc3ZnIGFzIHVua25vd24gYXMgRWxlbWVudCk7XG4gICAgICBpZiAocGF0aHMubGVuZ3RoID4gMCkge1xuICAgICAgICBwYXRoc1swXS5zZXRBdHRyaWJ1dGUoJ2QnLCBgTTAsMCBoJHtib3hfc2l6ZX12JHtib3hfc2l6ZX1IMHpgKTtcbiAgICAgICAgcGF0aHNbMF0uc2V0QXR0cmlidXRlKCdmaWxsJywgcHJvcHMuYmdDb2xvciB8fCBwcmV2Py5iZyB8fCBzdHlsZXMuYmFja2dyb3VuZENvbG9yKTtcbiAgICAgICAgcGF0aHNbMV0uc2V0QXR0cmlidXRlKCdkJywgcGFydHMuam9pbignICcpKTtcbiAgICAgICAgcGF0aHNbMV0uc2V0QXR0cmlidXRlKCdmaWxsJywgcHJvcHMuY29sb3IgfHwgcHJldj8uY29sb3IgfHwgc3R5bGVzLmNvbG9yKTtcbiAgICAgIH1cbiAgICAgIC8vIGljb25cbiAgICAgIGNvbnN0IGljb24gPSBzdmc/LnF1ZXJ5U2VsZWN0b3IoJ2ltYWdlJyk7XG5cbiAgICAgIGlmIChpY29uKSB7XG4gICAgICAgIGNvbnN0IG9mZnNldCA9IGAkeyhxci5zaXplICsgcHJvcHMuYm9yZGVyICogMiAtIHByb3BzLmljb25TaXplKSAvIDJ9YDtcblxuICAgICAgICBpY29uLnNldEF0dHJpYnV0ZSgneCcsIG9mZnNldCk7XG4gICAgICAgIGljb24uc2V0QXR0cmlidXRlKCd5Jywgb2Zmc2V0KTtcbiAgICAgICAgaWNvbi5zZXRBdHRyaWJ1dGUoJ3dpZHRoJywgYCR7cHJvcHMuaWNvblNpemV9YCk7XG4gICAgICAgIGljb24uc2V0QXR0cmlidXRlKCdoZWlnaHQnLCBgJHtwcm9wcy5pY29uU2l6ZX1gKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4ge1xuICAgICAgY29sb3I6IHN0eWxlcy5jb2xvcixcbiAgICAgIGJnOiBzdHlsZXMuYmFja2dyb3VuZENvbG9yLFxuICAgIH07XG4gIH0pO1xuXG4gIHJldHVybiAoXG4gICAgPFNob3cgd2hlbj17cHJvcHMudHlwZSA9PT0gJ3N2Zyd9IGZhbGxiYWNrPXs8Y2FudmFzIHJlZj17Y3ZzfSByb2xlPVwiaW1nXCIgLz59PlxuICAgICAgPHN2Z1xuICAgICAgICB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCJcbiAgICAgICAgc3Ryb2tlPVwibm9uZVwiXG4gICAgICAgIHdpZHRoPXtwcm9wcy5zaXplfVxuICAgICAgICBoZWlnaHQ9e3Byb3BzLnNpemV9XG4gICAgICAgIHJlZj17c3ZnfVxuICAgICAgICBzaGFwZS1yZW5kZXJpbmc9XCJjcmlzcEVkZ2VzXCJcbiAgICAgICAgcm9sZT1cImltZ1wiXG4gICAgICA+XG4gICAgICAgIDxwYXRoIC8+XG4gICAgICAgIDxwYXRoIC8+XG4gICAgICAgIDxTaG93IHdoZW49e290aGVyLmljb259PlxuICAgICAgICAgIDxpbWFnZSBocmVmPXtvdGhlci5pY29ufSBwcmVzZXJ2ZUFzcGVjdFJhdGlvPVwieE1pZFlNaWQgbWVldFwiIC8+XG4gICAgICAgIDwvU2hvdz5cbiAgICAgIDwvc3ZnPlxuICAgIDwvU2hvdz5cbiAgKTtcbn07XG5cbmV4cG9ydCB0eXBlIFFyQ29kZUVsZW1lbnQgPSBDdXN0b21FbGVtZW50PFFyQ29kZVByb3BzPjtcbmV4cG9ydCBjb25zdCBkZWZhdWx0UHJvcHM6IFFyQ29kZVByb3BzID0ge1xuICB2YWx1ZTogJycsXG4gIGljb246IHZvaWQgMCxcbiAgY29sb3I6IHZvaWQgMCxcbiAgYmdDb2xvcjogdm9pZCAwLFxuICBzaXplOiB2b2lkIDAsXG4gIGljb25TaXplOiB2b2lkIDAsXG4gIGVjbDogdm9pZCAwLFxuICBtaW5WZXJzaW9uOiB2b2lkIDAsXG4gIG1heFZlcnNpb246IHZvaWQgMCxcbiAgbWFzazogdm9pZCAwLFxuICBib29zdEVjYzogZmFsc2UsXG4gIGJvcmRlcjogdm9pZCAwLFxuICB0eXBlOiB2b2lkIDAsXG4gIHNoYXBlOiB2b2lkIDAsXG59O1xuXG5RUkNvZGUucmVnaXN0cnkgPSAoKSA9PiB7XG4gIGN1c3RvbUVsZW1lbnQ8UXJDb2RlUHJvcHM+KCduLXFyY29kZScsIGRlZmF1bHRQcm9wcywgKHByb3BzLCBvcHQpID0+IHtcbiAgICBjb25zdCBlbCA9IG9wdC5lbGVtZW50O1xuXG4gICAgY3JlYXRlRWZmZWN0KCgpID0+IHtcbiAgICAgIGNsZWFyQXR0cmlidXRlKGVsLCBbJ3ZhbHVlJywgJ2ljb24nXSk7XG4gICAgfSk7XG4gICAgcmV0dXJuIChcbiAgICAgIDw+XG4gICAgICAgIDxzdHlsZSB0ZXh0Q29udGVudD17aW5saW5lfSAvPlxuICAgICAgICA8UVJDb2RlIHsuLi5wcm9wc30gLz5cbiAgICAgIDwvPlxuICAgICk7XG4gIH0pO1xufTtcbmV4cG9ydCBkZWZhdWx0IFFSQ29kZTtcbiJdLCJtYXBwaW5ncyI6IjAyREFBQSxPQUFTQSxZQUFZLENBQU9DLFVBQVUsQ0FBRUMsSUFBSSxDQUFFQyxVQUFVLEtBQVEsVUFBVSxDQUMxRSxPQUFT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
7
+ if(other.icon){if(!img){img=new Image(props.iconSize,props.iconSize);}img.src=other.icon;img.onload=function(){var offset=(props.size+props.border*scale-props.iconSize)/2;ctx.drawImage(img,offset,offset,props.iconSize,props.iconSize);};}}else{if(props.border<0){throw new RangeError("Border must be non-negative");}var parts=[];for(var _y=0;_y<qr.size;_y++){for(var _x=0;_x<qr.size;_x++){if(qr.getModule(_x,_y)){switch(props.shape){case"circle":parts.push("M".concat(_x+props.border+0.5,",").concat(_y+props.border+0.5," m -0.5, 0 a 0.5,0.5 0 1,0 1,0 a 0.5,0.5 0 1,0 -1,0"));break;case"rhombus":parts.push("M".concat(_x+props.border+0.5,",").concat(_y+props.border," L").concat(_x+props.border+1,",").concat(_y+props.border+0.5," L").concat(_x+props.border+0.5,",").concat(_y+props.border+1," L").concat(_x+props.border,",").concat(_y+props.border+0.5," Z"));break;case"heart":parts.push("M".concat(_x+props.border+0.5,",").concat(_y+props.border+0.25," C").concat(_x+props.border+0.1,",").concat(_y+props.border-0.2," ").concat(_x+props.border-0.3,",").concat(_y+props.border+0.6," ").concat(_x+props.border+0.5,",").concat(_y+props.border+1," C").concat(_x+props.border+1.3,",").concat(_y+props.border+0.6," ").concat(_x+props.border+0.9,",").concat(_y+props.border-0.2," ").concat(_x+props.border+0.5,",").concat(_y+props.border+0.25," Z"));break;case"rect":default:parts.push("M".concat(_x+props.border,",").concat(_y+props.border,"h1v1h-1z"));break;}}}}var paths=svg===null||svg===void 0?void 0:svg.querySelectorAll("path");var box_size=qr.size+props.border*2;svg===null||svg===void 0||svg.setAttribute("viewBox","0 0 ".concat(box_size," ").concat(box_size));styles=window.getComputedStyle(svg);if(paths.length>0){paths[0].setAttribute("d","M0,0 h".concat(box_size,"v").concat(box_size,"H0z"));paths[0].setAttribute("fill",props.bgColor||(prev===null||prev===void 0?void 0:prev.bg)||styles.backgroundColor);paths[1].setAttribute("d",parts.join(" "));paths[1].setAttribute("fill",props.color||(prev===null||prev===void 0?void 0:prev.color)||styles.color);}// icon
8
+ var icon=svg===null||svg===void 0?void 0:svg.querySelector("image");if(icon){var offset="".concat((qr.size+props.border*2-props.iconSize)/2);icon.setAttribute("x",offset);icon.setAttribute("y",offset);icon.setAttribute("width","".concat(props.iconSize));icon.setAttribute("height","".concat(props.iconSize));}}return{color:styles.color,bg:styles.backgroundColor};});return _$createComponent(Show,{get when(){return props.type==="svg"},get fallback(){return function(){var _el$5=_tmpl$3();var _ref$2=cvs;typeof _ref$2==="function"?_$use(_ref$2,_el$5):cvs=_el$5;return _el$5}()},get children(){var _el$=_tmpl$2(),_el$2=_el$.firstChild,_el$3=_el$2.nextSibling;var _ref$=svg;typeof _ref$==="function"?_$use(_ref$,_el$):svg=_el$;_$insert(_el$,_$createComponent(Show,{get when(){return other.icon},get children(){var _el$4=_tmpl$();_$effect(function(){return _$setAttribute(_el$4,"href",other.icon)});return _el$4}}),null);_$effect(function(_p$){var _v$=props.size,_v$2=props.size;_v$!==_p$.e&&_$setAttribute(_el$,"width",_p$.e=_v$);_v$2!==_p$.t&&_$setAttribute(_el$,"height",_p$.t=_v$2);return _p$},{e:undefined,t:undefined});return _el$}});};export var defaultProps={value:"",icon:void 0,color:void 0,bgColor:void 0,size:void 0,iconSize:void 0,ecl:void 0,minVersion:void 0,maxVersion:void 0,mask:void 0,boostEcc:false,border:void 0,type:void 0,shape:void 0};QRCode.registry=function(){customElement("n-qrcode",defaultProps,function(props,opt){var el=opt.element;createEffect(function(){clearAttribute(el,["value","icon"]);});return[function(){var _el$6=_tmpl$4();_el$6.textContent=inline;return _el$6}(),_$createComponent(QRCode,props)];});};export default QRCode;
9
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJjcmVhdGVFZmZlY3QiLCJtZXJnZVByb3BzIiwiU2hvdyIsInNwbGl0UHJvcHMiLCJjdXN0b21FbGVtZW50IiwiY2xlYXJBdHRyaWJ1dGUiLCJ0aGVtZSIsImlubGluZSIsIkVjYyIsImVuY29kZVNlZ21lbnRzIiwibWFrZVNlZ21lbnRzIiwiUVJDb2RlIiwiX3Byb3BzIiwiaXNEYXJrIiwiY3ZzIiwic3ZnIiwiaW1nIiwibm9ybWFsIiwic2l6ZSIsImljb25TaXplIiwiYm9yZGVyIiwiZWNsIiwidHlwZSIsIl9zcGxpdFByb3BzIiwiX3NwbGl0UHJvcHMyIiwiX3NsaWNlZFRvQXJyYXkiLCJwcm9wcyIsIm90aGVyIiwiZWNjTWFwIiwibCIsImdldCIsIm0iLCJxIiwiaCIsInByZXYiLCJzZWdzIiwidmFsdWUiLCJxciIsIm1pblZlcnNpb24iLCJtYXhWZXJzaW9uIiwibWFzayIsImJvb3N0RWNjIiwic3R5bGVzIiwiUmFuZ2VFcnJvciIsInNjYWxlIiwicmFkaXVzIiwid2lkdGgiLCJoZWlnaHQiLCJ3aW5kb3ciLCJnZXRDb21wdXRlZFN0eWxlIiwiY3R4IiwiZ2V0Q29udGV4dCIsImNvbG9yIiwiYmdDb2xvciIsImJnIiwiYmFja2dyb3VuZENvbG9yIiwiY2xlYXJSZWN0IiwiZmlsbFN0eWxlIiwiZmlsbFJlY3QiLCJ5IiwieXBvcyIsIngiLCJnZXRNb2R1bGUiLCJ4cG9zIiwic2hhcGUiLCJiZWdpblBhdGgiLCJhcmMiLCJNYXRoIiwiUEkiLCJmaWxsIiwibW92ZVRvIiwiYmV6aWVyQ3VydmVUbyIsImNsb3NlUGF0aCIsImxpbmVUbyIsImZsb29yIiwiY2VpbCIsImljb24iLCJJbWFnZSIsInNyYyIsIm9ubG9hZCIsIm9mZnNldCIsImRyYXdJbWFnZSIsInBhcnRzIiwicHVzaCIsImNvbmNhdCIsInBhdGhzIiwicXVlcnlTZWxlY3RvckFsbCIsImJveF9zaXplIiwic2V0QXR0cmlidXRlIiwibGVuZ3RoIiwiam9pbiIsInF1ZXJ5U2VsZWN0b3IiLCJfJGNyZWF0ZUNvbXBvbmVudCIsIndoZW4iLCJmYWxsYmFjayIsIl9lbCQ1IiwiX3RtcGwkMyIsIl9yZWYkMiIsIl8kdXNlIiwiY2hpbGRyZW4iLCJfZWwkIiwiX3RtcGwkMiIsIl9lbCQyIiwiZmlyc3RDaGlsZCIsIl9lbCQzIiwibmV4dFNpYmxpbmciLCJfcmVmJCIsIl8kaW5zZXJ0IiwiX2VsJDQiLCJfdG1wbCQiLCJfJGVmZmVjdCIsIl8kc2V0QXR0cmlidXRlIiwiX3AkIiwiX3YkIiwiX3YkMiIsImUiLCJ0IiwidW5kZWZpbmVkIiwiZGVmYXVsdFByb3BzIiwicmVnaXN0cnkiLCJvcHQiLCJlbCIsImVsZW1lbnQiLCJfZWwkNiIsIl90bXBsJDQiLCJ0ZXh0Q29udGVudCJdLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvcXJjb2RlL2luZGV4LnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjcmVhdGVFZmZlY3QsIEpTWCwgbWVyZ2VQcm9wcywgU2hvdywgc3BsaXRQcm9wcyB9IGZyb20gJ3NvbGlkLWpzJztcbmltcG9ydCB7IGN1c3RvbUVsZW1lbnQgfSBmcm9tICdzb2xpZC1lbGVtZW50JztcblxuaW1wb3J0IHsgY2xlYXJBdHRyaWJ1dGUgfSBmcm9tICcuLi9iYXNpYy1jb25maWcnO1xuaW1wb3J0IHRoZW1lLCB7IGlubGluZSB9IGZyb20gJy4uL3RoZW1lJztcblxuaW1wb3J0IHsgRWNjLCBlbmNvZGVTZWdtZW50cywgdHlwZSBJbnRSYW5nZSwgbWFrZVNlZ21lbnRzIH0gZnJvbSAnLi9xcmNvZGUnO1xuaW1wb3J0IHR5cGUgeyBDdXN0b21FbGVtZW50IH0gZnJvbSAnY3VzdG9tLWVsZW1lbnQtdHlwZSc7XG5leHBvcnQgdHlwZSB7IEludFJhbmdlIH0gZnJvbSAnLi9xcmNvZGUnO1xuZXhwb3J0IGludGVyZmFjZSBRckNvZGVQcm9wcyB7XG4gIC8qKiDoh6rlrprkuYnnsbvlkI0gKi9cbiAgY2xhc3M/OiBzdHJpbmc7XG4gIHN0eWxlPzogc3RyaW5nIHwgSlNYLkNTU1Byb3BlcnRpZXM7XG4gIC8qKiDkuoznu7TnoIHlgLwgKi9cbiAgdmFsdWU6IHN0cmluZztcbiAgLyoqIOS6jOe7tOeggeaooeWdl+eahOminOiJsiAqL1xuICBjb2xvcj86IHN0cmluZztcbiAgLyoqIOS6jOe7tOeggeiDjOaZr+iJsiAqL1xuICBiZ0NvbG9yPzogc3RyaW5nO1xuICAvKipcbiAgICog5LqM57u056CB5bC65a+4XG4gICAqIEBkZWZhdWx0IDE1MFxuICAgKi9cbiAgc2l6ZT86IG51bWJlcjtcbiAgLyoqIOe6oOmUmeetiee6pzsg5YiG5Yir5a+55bqUNyXjgIExNSXjgIEyNSXjgIEzMCXnmoTmlbDmja7nuqDplJnog73liptcbiAgICogQGRlZmF1bHQgJ20nXG4gICAqL1xuICBlY2w/OiAnbCcgfCAnbScgfCAncScgfCAnaCc7XG4gIC8qKlxuICAgKiDmlK/mjIHnmoRRUueggeaooeWeizLmoIflh4bmnIDlsI/niYjmnKxcbiAgICogQGRlZmF1bHQgMVxuICAgKi9cbiAgbWluVmVyc2lvbj86IEludFJhbmdlPDEsIDQxPjtcbiAgLyoqXG4gICAqIOaUr+aMgeeahFFS56CB5qih5Z6LMuagh+WHhuacgOWkp+eJiOacrFxuICAgKiBAZGVmYXVsdCA0MFxuICAgKi9cbiAgbWF4VmVyc2lvbj86IEludFJhbmdlPDEsIDQxPjtcbiAgLyoqXG4gICAqIOaOqeeggeaooeW8jzsg5Li6IC0xIOaXtu+8jOihqOekuuiHquWKqOmAieaLqVxuICAgKiBAZGVmYXVsdCAtMVxuICAgKi9cbiAgbWFzaz86IC0xIHwgSW50UmFuZ2U8MCwgOD47XG4gIC8qKlxuICAgKiDlnKjmlbDmja7ku43nhLbpgILlkIjlvZPliY3niYjmnKzlj7fnmoTmg4XlhrXkuIvmj5Dpq5jnuqDplJnnuqfliKtcbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKi9cbiAgYm9vc3RFY2M/OiBib29sZWFuO1xuICAvKipcbiAgICog5qih5Z2X5aSW5Zu055qE6L655qGG5a695bqm77yI5qih5Z2X5Y2V5L2N77yM6Z2e5YOP57Sg77yJXG4gICAqIEBkZWZhdWx0IDFcbiAgICovXG4gIGJvcmRlcj86IEludFJhbmdlPDEsIDEwMT47XG4gIC8qKlxuICAgKiDmuLLmn5PmlrnlvI9cbiAgICogQGRlZmF1bHQgJ3N2ZydcbiAgICovXG4gIHR5cGU/OiAnc3ZnJyB8ICdjYW52YXMnO1xuICAvKipcbiAgICog5LqM57u056CB5Zu+5qCHXG4gICAqL1xuICBpY29uPzogc3RyaW5nO1xuICAvKipcbiAgICog5LqM57u056CB5Zu+5qCH5bC65a+4XG4gICAqIEBkZWZhdWx0IDdcbiAgICovXG4gIGljb25TaXplPzogbnVtYmVyO1xuICAvKipcbiAgICog5qih5Z2X5b2i54q2XG4gICAqIEBkZWZhdWx0ICdyZWN0J1xuICAgKiBAc2luY2UgMi45LjFcbiAgICovXG4gIHNoYXBlPzogJ3JlY3QnIHwgJ3Job21idXMnIHwgJ2hlYXJ0JyB8ICdjaXJjbGUnO1xufVxuY29uc3QgUVJDb2RlID0gKF9wcm9wczogUXJDb2RlUHJvcHMpID0+IHtcbiAgY29uc3QgeyBpc0RhcmsgfSA9IHRoZW1lO1xuICBsZXQgY3ZzOiBIVE1MQ2FudmFzRWxlbWVudCB8IHVuZGVmaW5lZDtcbiAgbGV0IHN2ZzogU1ZHU1ZHRWxlbWVudCB8IHVuZGVmaW5lZDtcbiAgbGV0IGltZzogSFRNTEltYWdlRWxlbWVudCB8IHVuZGVmaW5lZDtcbiAgY29uc3Qgbm9ybWFsID0gbWVyZ2VQcm9wcyhcbiAgICB7XG4gICAgICBzaXplOiAxNjAsXG4gICAgICBpY29uU2l6ZTogNyxcbiAgICAgIGJvcmRlcjogMSxcbiAgICAgIGVjbDogJ20nIGFzIGNvbnN0LFxuICAgICAgdHlwZTogJ3N2ZycgYXMgY29uc3QsXG4gICAgfSxcbiAgICBfcHJvcHMsXG4gICk7XG4gIGNvbnN0IFtwcm9wcywgb3RoZXJdID0gc3BsaXRQcm9wcyhub3JtYWwsIFtcbiAgICAndmFsdWUnLFxuICAgICdib3JkZXInLFxuICAgICdzaXplJyxcbiAgICAndHlwZScsXG4gICAgJ21pblZlcnNpb24nLFxuICAgICdtYXhWZXJzaW9uJyxcbiAgICAnbWFzaycsXG4gICAgJ2Jvb3N0RWNjJyxcbiAgICAnZWNsJyxcbiAgICAnYmdDb2xvcicsXG4gICAgJ2NvbG9yJyxcbiAgICAnaWNvblNpemUnLFxuICAgICdzaGFwZScsXG4gIF0pO1xuICBjb25zdCBlY2NNYXAgPSB7XG4gICAgbDogRWNjLmdldCgnTE9XJyksXG4gICAgbTogRWNjLmdldCgnTUVESVVNJyksXG4gICAgcTogRWNjLmdldCgnUVVBUlRJTEUnKSxcbiAgICBoOiBFY2MuZ2V0KCdISUdIJyksXG4gIH07XG5cbiAgY3JlYXRlRWZmZWN0KChwcmV2PzogeyBjb2xvcj86IHN0cmluZzsgYmc/OiBzdHJpbmcgfSkgPT4ge1xuICAgIGlzRGFyaygpOyAvLyDlk43lupTkuLvpopjmqKHlvI9cbiAgICBjb25zdCBzZWdzID0gbWFrZVNlZ21lbnRzKHByb3BzLnZhbHVlKTtcbiAgICBjb25zdCBxciA9IGVuY29kZVNlZ21lbnRzKFxuICAgICAgc2VncyxcbiAgICAgIGVjY01hcFtwcm9wcy5lY2xdLFxuICAgICAgcHJvcHMubWluVmVyc2lvbixcbiAgICAgIHByb3BzLm1heFZlcnNpb24sXG4gICAgICBwcm9wcy5tYXNrLFxuICAgICAgcHJvcHMuYm9vc3RFY2MsXG4gICAgKTtcbiAgICBsZXQgc3R5bGVzOiBDU1NTdHlsZURlY2xhcmF0aW9uO1xuXG4gICAgaWYgKHByb3BzLnR5cGUgPT09ICdjYW52YXMnKSB7XG4gICAgICBpZiAocHJvcHMuc2l6ZSA8PSAwIHx8IHByb3BzLmJvcmRlciA8IDAgfHwgIWN2cykgdGhyb3cgbmV3IFJhbmdlRXJyb3IoJ1ZhbHVlIG91dCBvZiByYW5nZScpO1xuICAgICAgY29uc3Qgc2NhbGUgPSBwcm9wcy5zaXplIC8gKHFyLnNpemUgKyBwcm9wcy5ib3JkZXIgKiAyKTtcbiAgICAgIGNvbnN0IHJhZGl1cyA9IHNjYWxlIC8gMjsgLy8g5Y2K5b6EXG5cbiAgICAgIGN2cy53aWR0aCA9IHByb3BzLnNpemU7XG4gICAgICBjdnMuaGVpZ2h0ID0gcHJvcHMuc2l6ZTtcbiAgICAgIHN0eWxlcyA9IHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKGN2cyBhcyB1bmtub3duIGFzIEVsZW1lbnQpO1xuICAgICAgY29uc3QgY3R4ID0gY3ZzLmdldENvbnRleHQoJzJkJykgYXMgQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJEO1xuICAgICAgY29uc3QgY29sb3IgPSBwcm9wcy5jb2xvciB8fCBwcmV2Py5jb2xvciB8fCBzdHlsZXMuY29sb3I7XG4gICAgICBjb25zdCBiZ0NvbG9yID0gcHJvcHMuYmdDb2xvciB8fCBwcmV2Py5iZyB8fCBzdHlsZXMuYmFja2dyb3VuZENvbG9yO1xuXG4gICAgICBjdHguY2xlYXJSZWN0KDAsIDAsIHByb3BzLnNpemUsIHByb3BzLnNpemUpO1xuICAgICAgY3R4LmZpbGxTdHlsZSA9IGJnQ29sb3I7XG4gICAgICBjdHguZmlsbFJlY3QoMCwgMCwgcHJvcHMuc2l6ZSwgcHJvcHMuc2l6ZSk7XG4gICAgICBjdHguZmlsbFN0eWxlID0gY29sb3I7XG4gICAgICBmb3IgKGxldCB5ID0gLXByb3BzLmJvcmRlcjsgeSA8IHFyLnNpemUgKyBwcm9wcy5ib3JkZXI7IHkrKykge1xuICAgICAgICBjb25zdCB5cG9zID0gKHkgKyBwcm9wcy5ib3JkZXIpICogc2NhbGU7XG5cbiAgICAgICAgZm9yIChsZXQgeCA9IC1wcm9wcy5ib3JkZXI7IHggPCBxci5zaXplICsgcHJvcHMuYm9yZGVyOyB4KyspIHtcbiAgICAgICAgICBpZiAocXIuZ2V0TW9kdWxlKHgsIHkpKSB7XG4gICAgICAgICAgICBjb25zdCB4cG9zID0gKHggKyBwcm9wcy5ib3JkZXIpICogc2NhbGU7XG5cbiAgICAgICAgICAgIHN3aXRjaCAocHJvcHMuc2hhcGUpIHtcbiAgICAgICAgICAgICAgY2FzZSAnY2lyY2xlJzpcbiAgICAgICAgICAgICAgICBjdHguYmVnaW5QYXRoKCk7XG4gICAgICAgICAgICAgICAgY3R4LmFyYyh4cG9zICsgcmFkaXVzLCB5cG9zICsgcmFkaXVzLCByYWRpdXMsIDAsIE1hdGguUEkgKiAyKTtcbiAgICAgICAgICAgICAgICBjdHguZmlsbCgpO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICBjYXNlICdoZWFydCc6XG4gICAgICAgICAgICAgICAgY3R4LmJlZ2luUGF0aCgpO1xuICAgICAgICAgICAgICAgIGN0eC5tb3ZlVG8oeHBvcyArIHJhZGl1cywgeXBvcyArIHNjYWxlIC8gNCk7XG4gICAgICAgICAgICAgICAgY3R4LmJlemllckN1cnZlVG8oXG4gICAgICAgICAgICAgICAgICB4cG9zICsgc2NhbGUgKiAwLjEsXG4gICAgICAgICAgICAgICAgICB5cG9zIC0gc2NhbGUgKiAwLjIsXG4gICAgICAgICAgICAgICAgICB4cG9zIC0gc2NhbGUgKiAwLjMsXG4gICAgICAgICAgICAgICAgICB5cG9zICsgc2NhbGUgKiAwLjYsXG4gICAgICAgICAgICAgICAgICB4cG9zICsgcmFkaXVzLFxuICAgICAgICAgICAgICAgICAgeXBvcyArIHNjYWxlLFxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgY3R4LmJlemllckN1cnZlVG8oXG4gICAgICAgICAgICAgICAgICB4cG9zICsgc2NhbGUgKiAxLjMsXG4gICAgICAgICAgICAgICAgICB5cG9zICsgc2NhbGUgKiAwLjYsXG4gICAgICAgICAgICAgICAgICB4cG9zICsgc2NhbGUgKiAwLjksXG4gICAgICAgICAgICAgICAgICB5cG9zIC0gc2NhbGUgKiAwLjIsXG4gICAgICAgICAgICAgICAgICB4cG9zICsgcmFkaXVzLFxuICAgICAgICAgICAgICAgICAgeXBvcyArIHNjYWxlIC8gNCxcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIGN0eC5jbG9zZVBhdGgoKTtcbiAgICAgICAgICAgICAgICBjdHguZmlsbCgpO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICBjYXNlICdyaG9tYnVzJzpcbiAgICAgICAgICAgICAgICBjdHguYmVnaW5QYXRoKCk7XG4gICAgICAgICAgICAgICAgY3R4Lm1vdmVUbyh4cG9zICsgcmFkaXVzLCB5cG9zKTtcbiAgICAgICAgICAgICAgICBjdHgubGluZVRvKHhwb3MgKyBzY2FsZSwgeXBvcyArIHJhZGl1cyk7XG4gICAgICAgICAgICAgICAgY3R4LmxpbmVUbyh4cG9zICsgcmFkaXVzLCB5cG9zICsgc2NhbGUpO1xuICAgICAgICAgICAgICAgIGN0eC5saW5lVG8oeHBvcywgeXBvcyArIHJhZGl1cyk7XG4gICAgICAgICAgICAgICAgY3R4LmNsb3NlUGF0aCgpO1xuICAgICAgICAgICAgICAgIGN0eC5maWxsKCk7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgIGNhc2UgJ3JlY3QnOlxuICAgICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgIC8vIOmBv+WFjeeUseS6juWwj+aVsOS9jeW4puadpeeahOmXtOmalOmXrumimFxuICAgICAgICAgICAgICAgIGN0eC5maWxsUmVjdChcbiAgICAgICAgICAgICAgICAgIE1hdGguZmxvb3IoeHBvcyksXG4gICAgICAgICAgICAgICAgICBNYXRoLmZsb29yKHlwb3MpLFxuICAgICAgICAgICAgICAgICAgTWF0aC5jZWlsKHNjYWxlKSxcbiAgICAgICAgICAgICAgICAgIE1hdGguY2VpbChzY2FsZSksXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIC8vIOaBouWkjee8qeaUvlxuICAgICAgLy8gY3R4LnJlc3RvcmUoKTtcbiAgICAgIC8vIOWmguaenOacieWbvuagh++8jOWImee7mOWItuWIsOS4reW/g1xuICAgICAgaWYgKG90aGVyLmljb24pIHtcbiAgICAgICAgaWYgKCFpbWcpIHtcbiAgICAgICAgICBpbWcgPSBuZXcgSW1hZ2UocHJvcHMuaWNvblNpemUsIHByb3BzLmljb25TaXplKTtcbiAgICAgICAgfVxuICAgICAgICBpbWcuc3JjID0gb3RoZXIuaWNvbjtcbiAgICAgICAgaW1nLm9ubG9hZCA9ICgpID0+IHtcbiAgICAgICAgICBjb25zdCBvZmZzZXQgPSAocHJvcHMuc2l6ZSArIHByb3BzLmJvcmRlciAqIHNjYWxlIC0gcHJvcHMuaWNvblNpemUpIC8gMjtcblxuICAgICAgICAgIGN0eC5kcmF3SW1hZ2UoaW1nISwgb2Zmc2V0LCBvZmZzZXQsIHByb3BzLmljb25TaXplLCBwcm9wcy5pY29uU2l6ZSk7XG4gICAgICAgIH07XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIGlmIChwcm9wcy5ib3JkZXIgPCAwKSB7XG4gICAgICAgIHRocm93IG5ldyBSYW5nZUVycm9yKCdCb3JkZXIgbXVzdCBiZSBub24tbmVnYXRpdmUnKTtcbiAgICAgIH1cbiAgICAgIGNvbnN0IHBhcnRzOiBzdHJpbmdbXSA9IFtdO1xuXG4gICAgICBmb3IgKGxldCB5ID0gMDsgeSA8IHFyLnNpemU7IHkrKykge1xuICAgICAgICBmb3IgKGxldCB4ID0gMDsgeCA8IHFyLnNpemU7IHgrKykge1xuICAgICAgICAgIGlmIChxci5nZXRNb2R1bGUoeCwgeSkpIHtcbiAgICAgICAgICAgIHN3aXRjaCAocHJvcHMuc2hhcGUpIHtcbiAgICAgICAgICAgICAgY2FzZSAnY2lyY2xlJzpcbiAgICAgICAgICAgICAgICBwYXJ0cy5wdXNoKFxuICAgICAgICAgICAgICAgICAgYE0ke3ggKyBwcm9wcy5ib3JkZXIgKyAwLjV9LCR7XG4gICAgICAgICAgICAgICAgICAgIHkgKyBwcm9wcy5ib3JkZXIgKyAwLjVcbiAgICAgICAgICAgICAgICAgIH0gbSAtMC41LCAwIGEgMC41LDAuNSAwIDEsMCAxLDAgYSAwLjUsMC41IDAgMSwwIC0xLDBgLFxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgIGNhc2UgJ3Job21idXMnOlxuICAgICAgICAgICAgICAgIHBhcnRzLnB1c2goXG4gICAgICAgICAgICAgICAgICBgTSR7eCArIHByb3BzLmJvcmRlciArIDAuNX0sJHt5ICsgcHJvcHMuYm9yZGVyfSBMJHt4ICsgcHJvcHMuYm9yZGVyICsgMX0sJHtcbiAgICAgICAgICAgICAgICAgICAgeSArIHByb3BzLmJvcmRlciArIDAuNVxuICAgICAgICAgICAgICAgICAgfSBMJHt4ICsgcHJvcHMuYm9yZGVyICsgMC41fSwke3kgKyBwcm9wcy5ib3JkZXIgKyAxfSBMJHt4ICsgcHJvcHMuYm9yZGVyfSwke1xuICAgICAgICAgICAgICAgICAgICB5ICsgcHJvcHMuYm9yZGVyICsgMC41XG4gICAgICAgICAgICAgICAgICB9IFpgLFxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgIGNhc2UgJ2hlYXJ0JzpcbiAgICAgICAgICAgICAgICBwYXJ0cy5wdXNoKFxuICAgICAgICAgICAgICAgICAgYE0ke3ggKyBwcm9wcy5ib3JkZXIgKyAwLjV9LCR7eSArIHByb3BzLmJvcmRlciArIDAuMjV9IEMke1xuICAgICAgICAgICAgICAgICAgICB4ICsgcHJvcHMuYm9yZGVyICsgMC4xXG4gICAgICAgICAgICAgICAgICB9LCR7eSArIHByb3BzLmJvcmRlciAtIDAuMn0gJHt4ICsgcHJvcHMuYm9yZGVyIC0gMC4zfSwke3kgKyBwcm9wcy5ib3JkZXIgKyAwLjZ9ICR7XG4gICAgICAgICAgICAgICAgICAgIHggKyBwcm9wcy5ib3JkZXIgKyAwLjVcbiAgICAgICAgICAgICAgICAgIH0sJHt5ICsgcHJvcHMuYm9yZGVyICsgMX0gQyR7eCArIHByb3BzLmJvcmRlciArIDEuM30sJHt5ICsgcHJvcHMuYm9yZGVyICsgMC42fSAke1xuICAgICAgICAgICAgICAgICAgICB4ICsgcHJvcHMuYm9yZGVyICsgMC45XG4gICAgICAgICAgICAgICAgICB9LCR7eSArIHByb3BzLmJvcmRlciAtIDAuMn0gJHt4ICsgcHJvcHMuYm9yZGVyICsgMC41fSwke1xuICAgICAgICAgICAgICAgICAgICB5ICsgcHJvcHMuYm9yZGVyICsgMC4yNVxuICAgICAgICAgICAgICAgICAgfSBaYCxcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICBjYXNlICdyZWN0JzpcbiAgICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICBwYXJ0cy5wdXNoKGBNJHt4ICsgcHJvcHMuYm9yZGVyfSwke3kgKyBwcm9wcy5ib3JkZXJ9aDF2MWgtMXpgKTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGNvbnN0IHBhdGhzID0gc3ZnPy5xdWVyeVNlbGVjdG9yQWxsKCdwYXRoJykgYXMgdW5rbm93biBhcyBTVkdQYXRoRWxlbWVudFtdO1xuICAgICAgY29uc3QgYm94X3NpemUgPSBxci5zaXplICsgcHJvcHMuYm9yZGVyICogMjtcblxuICAgICAgc3ZnPy5zZXRBdHRyaWJ1dGUoJ3ZpZXdCb3gnLCBgMCAwICR7Ym94X3NpemV9ICR7Ym94X3NpemV9YCk7XG4gICAgICBzdHlsZXMgPSB3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShzdmcgYXMgdW5rbm93biBhcyBFbGVtZW50KTtcbiAgICAgIGlmIChwYXRocy5sZW5ndGggPiAwKSB7XG4gICAgICAgIHBhdGhzWzBdLnNldEF0dHJpYnV0ZSgnZCcsIGBNMCwwIGgke2JveF9zaXplfXYke2JveF9zaXplfUgwemApO1xuICAgICAgICBwYXRoc1swXS5zZXRBdHRyaWJ1dGUoJ2ZpbGwnLCBwcm9wcy5iZ0NvbG9yIHx8IHByZXY/LmJnIHx8IHN0eWxlcy5iYWNrZ3JvdW5kQ29sb3IpO1xuICAgICAgICBwYXRoc1sxXS5zZXRBdHRyaWJ1dGUoJ2QnLCBwYXJ0cy5qb2luKCcgJykpO1xuICAgICAgICBwYXRoc1sxXS5zZXRBdHRyaWJ1dGUoJ2ZpbGwnLCBwcm9wcy5jb2xvciB8fCBwcmV2Py5jb2xvciB8fCBzdHlsZXMuY29sb3IpO1xuICAgICAgfVxuICAgICAgLy8gaWNvblxuICAgICAgY29uc3QgaWNvbiA9IHN2Zz8ucXVlcnlTZWxlY3RvcignaW1hZ2UnKTtcblxuICAgICAgaWYgKGljb24pIHtcbiAgICAgICAgY29uc3Qgb2Zmc2V0ID0gYCR7KHFyLnNpemUgKyBwcm9wcy5ib3JkZXIgKiAyIC0gcHJvcHMuaWNvblNpemUpIC8gMn1gO1xuXG4gICAgICAgIGljb24uc2V0QXR0cmlidXRlKCd4Jywgb2Zmc2V0KTtcbiAgICAgICAgaWNvbi5zZXRBdHRyaWJ1dGUoJ3knLCBvZmZzZXQpO1xuICAgICAgICBpY29uLnNldEF0dHJpYnV0ZSgnd2lkdGgnLCBgJHtwcm9wcy5pY29uU2l6ZX1gKTtcbiAgICAgICAgaWNvbi5zZXRBdHRyaWJ1dGUoJ2hlaWdodCcsIGAke3Byb3BzLmljb25TaXplfWApO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiB7XG4gICAgICBjb2xvcjogc3R5bGVzLmNvbG9yLFxuICAgICAgYmc6IHN0eWxlcy5iYWNrZ3JvdW5kQ29sb3IsXG4gICAgfTtcbiAgfSk7XG5cbiAgcmV0dXJuIChcbiAgICA8U2hvdyB3aGVuPXtwcm9wcy50eXBlID09PSAnc3ZnJ30gZmFsbGJhY2s9ezxjYW52YXMgcmVmPXtjdnN9IHJvbGU9XCJpbWdcIiAvPn0+XG4gICAgICA8c3ZnXG4gICAgICAgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIlxuICAgICAgICBzdHJva2U9XCJub25lXCJcbiAgICAgICAgd2lkdGg9e3Byb3BzLnNpemV9XG4gICAgICAgIGhlaWdodD17cHJvcHMuc2l6ZX1cbiAgICAgICAgcmVmPXtzdmd9XG4gICAgICAgIHNoYXBlLXJlbmRlcmluZz1cImNyaXNwRWRnZXNcIlxuICAgICAgICByb2xlPVwiaW1nXCJcbiAgICAgID5cbiAgICAgICAgPHBhdGggLz5cbiAgICAgICAgPHBhdGggLz5cbiAgICAgICAgPFNob3cgd2hlbj17b3RoZXIuaWNvbn0+XG4gICAgICAgICAgPGltYWdlIGhyZWY9e290aGVyLmljb259IHByZXNlcnZlQXNwZWN0UmF0aW89XCJ4TWlkWU1pZCBtZWV0XCIgLz5cbiAgICAgICAgPC9TaG93PlxuICAgICAgPC9zdmc+XG4gICAgPC9TaG93PlxuICApO1xufTtcblxuZXhwb3J0IHR5cGUgUXJDb2RlRWxlbWVudCA9IEN1c3RvbUVsZW1lbnQ8UXJDb2RlUHJvcHM+O1xuZXhwb3J0IGNvbnN0IGRlZmF1bHRQcm9wczogUXJDb2RlUHJvcHMgPSB7XG4gIHZhbHVlOiAnJyxcbiAgaWNvbjogdm9pZCAwLFxuICBjb2xvcjogdm9pZCAwLFxuICBiZ0NvbG9yOiB2b2lkIDAsXG4gIHNpemU6IHZvaWQgMCxcbiAgaWNvblNpemU6IHZvaWQgMCxcbiAgZWNsOiB2b2lkIDAsXG4gIG1pblZlcnNpb246IHZvaWQgMCxcbiAgbWF4VmVyc2lvbjogdm9pZCAwLFxuICBtYXNrOiB2b2lkIDAsXG4gIGJvb3N0RWNjOiBmYWxzZSxcbiAgYm9yZGVyOiB2b2lkIDAsXG4gIHR5cGU6IHZvaWQgMCxcbiAgc2hhcGU6IHZvaWQgMCxcbn07XG5cblFSQ29kZS5yZWdpc3RyeSA9ICgpID0+IHtcbiAgY3VzdG9tRWxlbWVudDxRckNvZGVQcm9wcz4oJ24tcXJjb2RlJywgZGVmYXVsdFByb3BzLCAocHJvcHMsIG9wdCkgPT4ge1xuICAgIGNvbnN0IGVsID0gb3B0LmVsZW1lbnQ7XG5cbiAgICBjcmVhdGVFZmZlY3QoKCkgPT4ge1xuICAgICAgY2xlYXJBdHRyaWJ1dGUoZWwsIFsndmFsdWUnLCAnaWNvbiddKTtcbiAgICB9KTtcbiAgICByZXR1cm4gKFxuICAgICAgPD5cbiAgICAgICAgPHN0eWxlIHRleHRDb250ZW50PXtpbmxpbmV9IC8+XG4gICAgICAgIDxRUkNvZGUgey4uLnByb3BzfSAvPlxuICAgICAgPC8+XG4gICAgKTtcbiAgfSk7XG59O1xuZXhwb3J0IGRlZmF1bHQgUVJDb2RlO1xuIl0sIm1hcHBpbmdzIjoiMDJEQUFBLE9BQVNBLFlBQVksQ0FBT0MsVUFBVSxDQUFFQyxJQUFJLENBQUVDLFVBQVUsS0FBUSxVQUFVLENBQzFFLE9BQVNDLGFBQWEsS0FBUSxlQUFlLENBRTdDLE9BQVNDLGNBQWMsS0FBUSxpQkFBaUIsQ0FDaEQsTUFBTyxDQUFBQyxLQUFLLEVBQUlDLE1BQU0sS0FBUSxVQUFVLENBRXhDLE9BQVNDLEdBQUcsQ0FBRUMsY0FBYyxDQUFpQkMsWUFBWSxLQUFRLFVBQVUsQ0FvRTNFLEdBQU0sQ0FBQUMsTUFBTSxDQUFHLFFBQVQsQ0FBQUEsTUFBTUEsQ0FBSUMsTUFBbUIsQ0FBSyxDQUN0QyxHQUFRLENBQUFDLE1BQU0sQ0FBS1AsS0FBSyxDQUFoQk8sTUFBTSxDQUNkLEdBQUksQ0FBQUMsR0FBa0MsQ0FDdEMsR0FBSSxDQUFBQyxHQUE4QixDQUNsQyxHQUFJLENBQUFDLEdBQWlDLENBQ3JDLEdBQU0sQ0FBQUMsTUFBTSxDQUFHaEIsVUFBVSxDQUN2QixDQUNFaUIsSUFBSSxDQUFFLEdBQUcsQ0FDVEMsUUFBUSxDQUFFLENBQUMsQ0FDWEMsTUFBTSxDQUFFLENBQUMsQ0FDVEMsR0FBRyxDQUFFLEdBQVksQ0FDakJDLElBQUksQ0FBRSxLQUNSLENBQUMsQ0FDRFYsTUFDRixDQUFDLENBQ0QsSUFBQVcsV0FBQSxDQUF1QnBCLFVBQVUsQ0FBQ2MsTUFBTSxDQUFFLENBQ3hDLE9BQU8sQ0FDUCxRQUFRLENBQ1IsTUFBTSxDQUNOLE1BQU0sQ0FDTixZQUFZLENBQ1osWUFBWSxDQUNaLE1BQU0sQ0FDTixVQUFVLENBQ1YsS0FBSyxDQUNMLFNBQVMsQ0FDVCxPQUFPLENBQ1AsVUFBVSxDQUNWLE9BQU8sQ0FDUixDQUFDLENBQUFPLFlBQUEsQ0FBQUMsY0FBQSxDQUFBRixXQUFBLElBZEtHLEtBQUssQ0FBQUYsWUFBQSxJQUFFRyxLQUFLLENBQUFILFlBQUEsSUFlbkIsR0FBTSxDQUFBSSxNQUFNLENBQUcsQ0FDYkMsQ0FBQyxDQUFFckIsR0FBRyxDQUFDc0IsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUNqQkMsQ0FBQyxDQUFFdkIsR0FBRyxDQUFDc0IsR0FBRyxDQUFDLFFBQVEsQ0FBQyxDQUNwQkUsQ0FBQyxDQUFFeEIsR0FBRyxDQUFDc0IsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUN0QkcsQ0FBQyxDQUFFekIsR0FBRyxDQUFDc0IsR0FBRyxDQUFDLE1BQU0sQ0FDbkIsQ0FBQyxDQUVEOUIsWUFBWSxDQUFDLFNBQUNrQyxJQUFzQyxDQUFLLENBQ3ZEckIsTUFBTSxDQUFDLENBQUMsQ0FBRTtBQUNWLEdBQU0sQ0FBQXNCLElBQUksQ0FBR3pCLFlBQVksQ0FBQ2dCLEtBQUssQ0FBQ1UsS0FBSyxDQUFDLENBQ3RDLEdBQU0sQ0FBQUMsRUFBRSxDQUFHNUIsY0FBYyxDQUN2QjBCLElBQUksQ0FDSlAsTUFBTSxDQUFDRixLQUFLLENBQUNMLEdBQUcsQ0FBQyxDQUNqQkssS0FBSyxDQUFDWSxVQUFVLENBQ2hCWixLQUFLLENBQUNhLFVBQVUsQ0FDaEJiLEtBQUssQ0FBQ2MsSUFBSSxDQUNWZCxLQUFLLENBQUNlLFFBQ1IsQ0FBQyxDQUNELEdBQUksQ0FBQUMsTUFBMkIsQ0FFL0IsR0FBSWhCLEtBQUssQ0FBQ0osSUFBSSxHQUFLLFFBQVEsQ0FBRSxDQUMzQixHQUFJSSxLQUFLLENBQUNSLElBQUksRUFBSSxDQUFDLEVBQUlRLEtBQUssQ0FBQ04sTUFBTSxDQUFHLENBQUMsRUFBSSxDQUFDTixHQUFHLENBQUUsS0FBTSxJQUFJLENBQUE2QixVQUFVLENBQUMsb0JBQW9CLENBQUMsQ0FDM0YsR0FBTSxDQUFBQyxLQUFLLENBQUdsQixLQUFLLENBQUNSLElBQUksRUFBSW1CLEVBQUUsQ0FBQ25CLElBQUksQ0FBR1EsS0FBSyxDQUFDTixNQUFNLENBQUcsQ0FBQyxDQUFDLENBQ3ZELEdBQU0sQ0FBQXlCLE1BQU0sQ0FBR0QsS0FBSyxDQUFHLENBQUMsQ0FBRTtBQUUxQjlCLEdBQUcsQ0FBQ2dDLEtBQUssQ0FBR3BCLEtBQUssQ0FBQ1IsSUFBSSxDQUN0QkosR0FBRyxDQUFDaUMsTUFBTSxDQUFHckIsS0FBSyxDQUFDUixJQUFJLENBQ3ZCd0IsTUFBTSxDQUFHTSxNQUFNLENBQUNDLGdCQUFnQixDQUFDbkMsR0FBeUIsQ0FBQyxDQUMzRCxHQUFNLENBQUFvQyxHQUFHLENBQUdwQyxHQUFHLENBQUNxQyxVQUFVLENBQUMsSUFBSSxDQUE2QixDQUM1RCxHQUFNLENBQUFDLEtBQUssQ0FBRzFCLEtBQUssQ0FBQzBCLEtBQUssR0FBSWxCLElBQUksU0FBSkEsSUFBSSxpQkFBSkEsSUFBSSxDQUFFa0IsS0FBSyxHQUFJVixNQUFNLENBQUNVLEtBQUssQ0FDeEQsR0FBTSxDQUFBQyxPQUFPLENBQUczQixLQUFLLENBQUMyQixPQUFPLEdBQUluQixJQUFJLFNBQUpBLElBQUksaUJBQUpBLElBQUksQ0FBRW9CLEVBQUUsR0FBSVosTUFBTSxDQUFDYSxlQUFlLENBRW5FTCxHQUFHLENBQUNNLFNBQVMsQ0FBQyxDQUFDLENBQUUsQ0FBQyxDQUFFOUIsS0FBSyxDQUFDUixJQUFJLENBQUVRLEtBQUssQ0FBQ1IsSUFBSSxDQUFDLENBQzNDZ0MsR0FBRyxDQUFDTyxTQUFTLENBQUdKLE9BQU8sQ0FDdkJILEdBQUcsQ0FBQ1EsUUFBUSxDQUFDLENBQUMsQ0FBRSxDQUFDLENBQUVoQyxLQUFLLENBQUNSLElBQUksQ0FBRVEsS0FBSyxDQUFDUixJQUFJLENBQUMsQ0FDMUNnQyxHQUFHLENBQUNPLFNBQVMsQ0FBR0wsS0FBSyxDQUNyQixJQUFLLEdBQUksQ0FBQU8sQ0FBQyxDQUFHLENBQUNqQyxLQUFLLENBQUNOLE1BQU0sQ0FBRXVDLENBQUMsQ0FBR3RCLEVBQUUsQ0FBQ25CLElBQUksQ0FBR1EsS0FBSyxDQUFDTixNQUFNLENBQUV1QyxDQUFDLEVBQUUsQ0FBRSxDQUMzRCxHQUFNLENBQUFDLElBQUksQ0FBRyxDQUFDRCxDQUFDLENBQUdqQyxLQUFLLENBQUNOLE1BQU0sRUFBSXdCLEtBQUssQ0FFdkMsSUFBSyxHQUFJLENBQUFpQixDQUFDLENBQUcsQ0FBQ25DLEtBQUssQ0FBQ04sTUFBTSxDQUFFeUMsQ0FBQyxDQUFHeEIsRUFBRSxDQUFDbkIsSUFBSSxDQUFHUSxLQUFLLENBQUNOLE1BQU0sQ0FBRXlDLENBQUMsRUFBRSxDQUFFLENBQzNELEdBQUl4QixFQUFFLENBQUN5QixTQUFTLENBQUNELENBQUMsQ0FBRUYsQ0FBQyxDQUFDLENBQUUsQ0FDdEIsR0FBTSxDQUFBSSxJQUFJLENBQUcsQ0FBQ0YsQ0FBQyxDQUFHbkMsS0FBSyxDQUFDTixNQUFNLEVBQUl3QixLQUFLLENBRXZDLE9BQVFsQixLQUFLLENBQUNzQyxLQUFLLEVBQ2pCLElBQUssUUFBUSxDQUNYZCxHQUFHLENBQUNlLFNBQVMsQ0FBQyxDQUFDLENBQ2ZmLEdBQUcsQ0FBQ2dCLEdBQUcsQ0FBQ0gsSUFBSSxDQUFHbEIsTUFBTSxDQUFFZSxJQUFJLENBQUdmLE1BQU0sQ0FBRUEsTUFBTSxDQUFFLENBQUMsQ0FBRXNCLElBQUksQ0FBQ0MsRUFBRSxDQUFHLENBQUMsQ0FBQyxDQUM3RGxCLEdBQUcsQ0FBQ21CLElBQUksQ0FBQyxDQUFDLENBQ1YsTUFDRixJQUFLLE9BQU8sQ0FDVm5CLEdBQUcsQ0FBQ2UsU0FBUyxDQUFDLENBQUMsQ0FDZmYsR0FBRyxDQUFDb0IsTUFBTSxDQUFDUCxJQUFJLENBQUdsQixNQUFNLENBQUVlLElBQUksQ0FBR2hCLEtBQUssQ0FBRyxDQUFDLENBQUMsQ0FDM0NNLEdBQUcsQ0FBQ3FCLGFBQWEsQ0FDZlIsSUFBSSxDQUFHbkIsS0FBSyxDQUFHLEdBQUcsQ0FDbEJnQixJQUFJLENBQUdoQixLQUFLLENBQUcsR0FBRyxDQUNsQm1CLElBQUksQ0FBR25CLEtBQUssQ0FBRyxHQUFHLENBQ2xCZ0IsSUFBSSxDQUFHaEIsS0FBSyxDQUFHLEdBQUcsQ0FDbEJtQixJQUFJLENBQUdsQixNQUFNLENBQ2JlLElBQUksQ0FBR2hCLEtBQ1QsQ0FBQyxDQUNETSxHQUFHLENBQUNxQixhQUFhLENBQ2ZSLElBQUksQ0FBR25CLEtBQUssQ0FBRyxHQUFHLENBQ2xCZ0IsSUFBSSxDQUFHaEIsS0FBSyxDQUFHLEdBQUcsQ0FDbEJtQixJQUFJLENBQUduQixLQUFLLENBQUcsR0FBRyxDQUNsQmdCLElBQUksQ0FBR2hCLEtBQUssQ0FBRyxHQUFHLENBQ2xCbUIsSUFBSSxDQUFHbEIsTUFBTSxDQUNiZSxJQUFJLENBQUdoQixLQUFLLENBQUcsQ0FDakIsQ0FBQyxDQUNETSxHQUFHLENBQUNzQixTQUFTLENBQUMsQ0FBQyxDQUNmdEIsR0FBRyxDQUFDbUIsSUFBSSxDQUFDLENBQUMsQ0FDVixNQUNGLElBQUssU0FBUyxDQUNabkIsR0FBRyxDQUFDZSxTQUFTLENBQUMsQ0FBQyxDQUNmZixHQUFHLENBQUNvQixNQUFNLENBQUNQLElBQUksQ0FBR2xCLE1BQU0sQ0FBRWUsSUFBSSxDQUFDLENBQy9CVixHQUFHLENBQUN1QixNQUFNLENBQUNWLElBQUksQ0FBR25CLEtBQUssQ0FBRWdCLElBQUksQ0FBR2YsTUFBTSxDQUFDLENBQ3ZDSyxHQUFHLENBQUN1QixNQUFNLENBQUNWLElBQUksQ0FBR2xCLE1BQU0sQ0FBRWUsSUFBSSxDQUFHaEIsS0FBSyxDQUFDLENBQ3ZDTSxHQUFHLENBQUN1QixNQUFNLENBQUNWLElBQUksQ0FBRUgsSUFBSSxDQUFHZixNQUFNLENBQUMsQ0FDL0JLLEdBQUcsQ0FBQ3NCLFNBQVMsQ0FBQyxDQUFDLENBQ2Z0QixHQUFHLENBQUNtQixJQUFJLENBQUMsQ0FBQyxDQUNWLE1BQ0YsSUFBSyxNQUFNLENBQ1gsUUFDRTtBQUNBbkIsR0FBRyxDQUFDUSxRQUFRLENBQ1ZTLElBQUksQ0FBQ08sS0FBSyxDQUFDWCxJQUFJLENBQUMsQ0FDaEJJLElBQUksQ0FBQ08sS0FBSyxDQUFDZCxJQUFJLENBQUMsQ0FDaEJPLElBQUksQ0FBQ1EsSUFBSSxDQUFDL0IsS0FBSyxDQUFDLENBQ2hCdUIsSUFBSSxDQUFDUSxJQUFJLENBQUMvQixLQUFLLENBQ2pCLENBQUMsQ0FDRCxNQUNKLENBQ0YsQ0FDRixDQUNGLENBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBSWpCLEtBQUssQ0FBQ2lELElBQUksQ0FBRSxDQUNkLEdBQUksQ0FBQzVELEdBQUcsQ0FBRSxDQUNSQSxHQUFHLENBQUcsR0FBSSxDQUFBNkQsS0FBSyxDQUFDbkQsS0FBSyxDQUFDUCxRQUFRLENBQUVPLEtBQUssQ0FBQ1AsUUFBUSxDQUFDLENBQ2pELENBQ0FILEdBQUcsQ0FBQzhELEdBQUcsQ0FBR25ELEtBQUssQ0FBQ2lELElBQUksQ0FDcEI1RCxHQUFHLENBQUMrRCxNQUFNLENBQUcsVUFBTSxDQUNqQixHQUFNLENBQUFDLE1BQU0sQ0FBRyxDQUFDdEQsS0FBSyxDQUFDUixJQUFJLENBQUdRLEtBQUssQ0FBQ04sTUFBTSxDQUFHd0IsS0FBSyxDQUFHbEIsS0FBSyxDQUFDUCxRQUFRLEVBQUksQ0FBQyxDQUV2RStCLEdBQUcsQ0FBQytCLFNBQVMsQ0FBQ2pFLEdBQUcsQ0FBR2dFLE1BQU0sQ0FBRUEsTUFBTSxDQUFFdEQsS0FBSyxDQUFDUCxRQUFRLENBQUVPLEtBQUssQ0FBQ1AsUUFBUSxDQUFDLENBQ3JFLENBQUMsQ0FDSCxDQUNGLENBQUMsSUFBTSxDQUNMLEdBQUlPLEtBQUssQ0FBQ04sTUFBTSxDQUFHLENBQUMsQ0FBRSxDQUNwQixLQUFNLElBQUksQ0FBQXVCLFVBQVUsQ0FBQyw2QkFBNkIsQ0FBQyxDQUNyRCxDQUNBLEdBQU0sQ0FBQXVDLEtBQWUsQ0FBRyxFQUFFLENBRTFCLElBQUssR0FBSSxDQUFBdkIsRUFBQyxDQUFHLENBQUMsQ0FBRUEsRUFBQyxDQUFHdEIsRUFBRSxDQUFDbkIsSUFBSSxDQUFFeUMsRUFBQyxFQUFFLENBQUUsQ0FDaEMsSUFBSyxHQUFJLENBQUFFLEVBQUMsQ0FBRyxDQUFDLENBQUVBLEVBQUMsQ0FBR3hCLEVBQUUsQ0FBQ25CLElBQUksQ0FBRTJDLEVBQUMsRUFBRSxDQUFFLENBQ2hDLEdBQUl4QixFQUFFLENBQUN5QixTQUFTLENBQUNELEVBQUMsQ0FBRUYsRUFBQyxDQUFDLENBQUUsQ0FDdEIsT0FBUWpDLEtBQUssQ0FBQ3NDLEtBQUssRUFDakIsSUFBSyxRQUFRLENBQ1hrQixLQUFLLENBQUNDLElBQUksS0FBQUMsTUFBQSxDQUNKdkIsRUFBQyxDQUFHbkMsS0FBSyxDQUFDTixNQUFNLENBQUcsR0FBRyxNQUFBZ0UsTUFBQSxDQUN4QnpCLEVBQUMsQ0FBR2pDLEtBQUssQ0FBQ04sTUFBTSxDQUFHLEdBQUcsdURBRTFCLENBQUMsQ0FDRCxNQUNGLElBQUssU0FBUyxDQUNaOEQsS0FBSyxDQUFDQyxJQUFJLEtBQUFDLE1BQUEsQ0FDSnZCLEVBQUMsQ0FBR25DLEtBQUssQ0FBQ04sTUFBTSxDQUFHLEdBQUcsTUFBQWdFLE1BQUEsQ0FBSXpCLEVBQUMsQ0FBR2pDLEtBQUssQ0FBQ04sTUFBTSxPQUFBZ0UsTUFBQSxDQUFLdkIsRUFBQyxDQUFHbkMsS0FBSyxDQUFDTixNQUFNLENBQUcsQ0FBQyxNQUFBZ0UsTUFBQSxDQUNyRXpCLEVBQUMsQ0FBR2pDLEtBQUssQ0FBQ04sTUFBTSxDQUFHLEdBQUcsT0FBQWdFLE1BQUEsQ0FDbkJ2QixFQUFDLENBQUduQyxLQUFLLENBQUNOLE1BQU0sQ0FBRyxHQUFHLE1BQUFnRSxNQUFBLENBQUl6QixFQUFDLENBQUdqQyxLQUFLLENBQUNOLE1BQU0sQ0FBRyxDQUFDLE9BQUFnRSxNQUFBLENBQUt2QixFQUFDLENBQUduQyxLQUFLLENBQUNOLE1BQU0sTUFBQWdFLE1BQUEsQ0FDdEV6QixFQUFDLENBQUdqQyxLQUFLLENBQUNOLE1BQU0sQ0FBRyxHQUFHLE1BRTFCLENBQUMsQ0FDRCxNQUNGLElBQUssT0FBTyxDQUNWOEQsS0FBSyxDQUFDQyxJQUFJLEtBQUFDLE1BQUEsQ0FDSnZCLEVBQUMsQ0FBR25DLEtBQUssQ0FBQ04sTUFBTSxDQUFHLEdBQUcsTUFBQWdFLE1BQUEsQ0FBSXpCLEVBQUMsQ0FBR2pDLEtBQUssQ0FBQ04sTUFBTSxDQUFHLElBQUksT0FBQWdFLE1BQUEsQ0FDbkR2QixFQUFDLENBQUduQyxLQUFLLENBQUNOLE1BQU0sQ0FBRyxHQUFHLE1BQUFnRSxNQUFBLENBQ3BCekIsRUFBQyxDQUFHakMsS0FBSyxDQUFDTixNQUFNLENBQUcsR0FBRyxNQUFBZ0UsTUFBQSxDQUFJdkIsRUFBQyxDQUFHbkMsS0FBSyxDQUFDTixNQUFNLENBQUcsR0FBRyxNQUFBZ0UsTUFBQSxDQUFJekIsRUFBQyxDQUFHakMsS0FBSyxDQUFDTixNQUFNLENBQUcsR0FBRyxNQUFBZ0UsTUFBQSxDQUM1RXZCLEVBQUMsQ0FBR25DLEtBQUssQ0FBQ04sTUFBTSxDQUFHLEdBQUcsTUFBQWdFLE1BQUEsQ0FDcEJ6QixFQUFDLENBQUdqQyxLQUFLLENBQUNOLE1BQU0sQ0FBRyxDQUFDLE9BQUFnRSxNQUFBLENBQUt2QixFQUFDLENBQUduQyxLQUFLLENBQUNOLE1BQU0sQ0FBRyxHQUFHLE1BQUFnRSxNQUFBLENBQUl6QixFQUFDLENBQUdqQyxLQUFLLENBQUNOLE1BQU0sQ0FBRyxHQUFHLE1BQUFnRSxNQUFBLENBQzNFdkIsRUFBQyxDQUFHbkMsS0FBSyxDQUFDTixNQUFNLENBQUcsR0FBRyxNQUFBZ0UsTUFBQSxDQUNwQnpCLEVBQUMsQ0FBR2pDLEtBQUssQ0FBQ04sTUFBTSxDQUFHLEdBQUcsTUFBQWdFLE1BQUEsQ0FBSXZCLEVBQUMsQ0FBR25DLEtBQUssQ0FBQ04sTUFBTSxDQUFHLEdBQUcsTUFBQWdFLE1BQUEsQ0FDbER6QixFQUFDLENBQUdqQyxLQUFLLENBQUNOLE1BQU0sQ0FBRyxJQUFJLE1BRTNCLENBQUMsQ0FDRCxNQUNGLElBQUssTUFBTSxDQUNYLFFBQ0U4RCxLQUFLLENBQUNDLElBQUksS0FBQUMsTUFBQSxDQUFLdkIsRUFBQyxDQUFHbkMsS0FBSyxDQUFDTixNQUFNLE1BQUFnRSxNQUFBLENBQUl6QixFQUFDLENBQUdqQyxLQUFLLENBQUNOLE1BQU0sWUFBVSxDQUFDLENBQzlELE1BQ0osQ0FDRixDQUNGLENBQ0YsQ0FDQSxHQUFNLENBQUFpRSxLQUFLLENBQUd0RSxHQUFHLFNBQUhBLEdBQUcsaUJBQUhBLEdBQUcsQ0FBRXVFLGdCQUFnQixDQUFDLE1BQU0sQ0FBZ0MsQ0FDMUUsR0FBTSxDQUFBQyxRQUFRLENBQUdsRCxFQUFFLENBQUNuQixJQUFJLENBQUdRLEtBQUssQ0FBQ04sTUFBTSxDQUFHLENBQUMsQ0FFM0NMLEdBQUcsU0FBSEEsR0FBRyxXQUFIQSxHQUFHLENBQUV5RSxZQUFZLENBQUMsU0FBUyxRQUFBSixNQUFBLENBQVNHLFFBQVEsTUFBQUgsTUFBQSxDQUFJRyxRQUFRLENBQUUsQ0FBQyxDQUMzRDdDLE1BQU0sQ0FBR00sTUFBTSxDQUFDQyxnQkFBZ0IsQ0FBQ2xDLEdBQXlCLENBQUMsQ0FDM0QsR0FBSXNFLEtBQUssQ0FBQ0ksTUFBTSxDQUFHLENBQUMsQ0FBRSxDQUNwQkosS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDRyxZQUFZLENBQUMsR0FBRyxVQUFBSixNQUFBLENBQVdHLFFBQVEsTUFBQUgsTUFBQSxDQUFJRyxRQUFRLE9BQUssQ0FBQyxDQUM5REYsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDRyxZQUFZLENBQUMsTUFBTSxDQUFFOUQsS0FBSyxDQUFDMkIsT0FBTyxHQUFJbkIsSUFBSSxTQUFKQSxJQUFJLGlCQUFKQSxJQUFJLENBQUVvQixFQUFFLEdBQUlaLE1BQU0sQ0FBQ2EsZUFBZSxDQUFDLENBQ2xGOEIsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDRyxZQUFZLENBQUMsR0FBRyxDQUFFTixLQUFLLENBQUNRLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUMzQ0wsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDRyxZQUFZLENBQUMsTUFBTSxDQUFFOUQsS0FBSyxDQUFDMEIsS0FBSyxHQUFJbEIsSUFBSSxTQUFKQSxJQUFJLGlCQUFKQSxJQUFJLENBQUVrQixLQUFLLEdBQUlWLE1BQU0sQ0FBQ1UsS0FBSyxDQUFDLENBQzNFLENBQ0E7QUFDQSxHQUFNLENBQUF3QixJQUFJLENBQUc3RCxHQUFHLFNBQUhBLEdBQUcsaUJBQUhBLEdBQUcsQ0FBRTRFLGFBQWEsQ0FBQyxPQUFPLENBQUMsQ0FFeEMsR0FBSWYsSUFBSSxDQUFFLENBQ1IsR0FBTSxDQUFBSSxNQUFNLElBQUFJLE1BQUEsQ0FBTSxDQUFDL0MsRUFBRSxDQUFDbkIsSUFBSSxDQUFHUSxLQUFLLENBQUNOLE1BQU0sQ0FBRyxDQUFDLENBQUdNLEtBQUssQ0FBQ1AsUUFBUSxFQUFJLENBQUMsQ0FBRSxDQUVyRXlELElBQUksQ0FBQ1ksWUFBWSxDQUFDLEdBQUcsQ0FBRVIsTUFBTSxDQUFDLENBQzlCSixJQUFJLENBQUNZLFlBQVksQ0FBQyxHQUFHLENBQUVSLE1BQU0sQ0FBQyxDQUM5QkosSUFBSSxDQUFDWSxZQUFZLENBQUMsT0FBTyxJQUFBSixNQUFBLENBQUsxRCxLQUFLLENBQUNQLFFBQVEsQ0FBRSxDQUFDLENBQy9DeUQsSUFBSSxDQUFDWSxZQUFZLENBQUMsUUFBUSxJQUFBSixNQUFBLENBQUsxRCxLQUFLLENBQUNQLFFBQVEsQ0FBRSxDQUFDLENBQ2xELENBQ0YsQ0FFQSxNQUFPLENBQ0xpQyxLQUFLLENBQUVWLE1BQU0sQ0FBQ1UsS0FBSyxDQUNuQkUsRUFBRSxDQUFFWixNQUFNLENBQUNhLGVBQ2IsQ0FBQyxDQUNILENBQUMsQ0FBQyxDQUVGLE9BQUFxQyxpQkFBQSxDQUNHMUYsSUFBSSxLQUFDLENBQUEyRixJQUFJQSxDQUFBLFFBQUUsQ0FBQW5FLEtBQUssQ0FBQ0osSUFBSSxHQUFLLEtBQUssS0FBRSxDQUFBd0UsUUFBUUEsQ0FBQSx3QkFBQUMsS0FBQSxDQUFBQyxPQUFBLE9BQUFDLE1BQUEsQ0FBZW5GLEdBQUcsUUFBQW1GLE1BQUEsY0FBQUMsS0FBQSxDQUFBRCxNQUFBLENBQUFGLEtBQUEsRUFBSGpGLEdBQUcsQ0FBQWlGLEtBQUEsUUFBQUEsS0FBQSxTQUFBSSxTQUFBLE1BQUFDLElBQUEsQ0FBQUMsT0FBQSxHQUFBQyxLQUFBLENBQUFGLElBQUEsQ0FBQUcsVUFBQSxDQUFBQyxLQUFBLENBQUFGLEtBQUEsQ0FBQUcsV0FBQSxLQUFBQyxLQUFBLENBTW5EM0YsR0FBRyxRQUFBMkYsS0FBQSxjQUFBUixLQUFBLENBQUFRLEtBQUEsQ0FBQU4sSUFBQSxFQUFIckYsR0FBRyxDQUFBcUYsSUFBQU8sQ0FBQSxTQUFBUCxJQUFBLENBQUFSLGlCQUFBLENBTVAxRixJQUFJLEtBQUMsQ0FBQTJGLElBQUlBLENBQUEsUUFBRSxDQUFBbEUsS0FBSyxDQUFDaUQsSUFBSSxNQUFBdUIsU0FBQSxNQUFBUyxLQUFBLENBQUFDLE1BQUEsRUFBQUMsQ0FBQSwyQkFBQUMsY0FBQSxDQUFBSCxLQUFBLFFBQ1BqRixLQUFLLENBQUNpRCxJQUFJLFdBQUFnQyxLQUFBLFNBQUFFLENBQUEsa0JBQUFFLEdBQUEsTUFBQUMsR0FBQSxDQVRsQnZGLEtBQUssQ0FBQ1IsSUFBSSxDQUFBZ0csSUFBQSxDQUNUeEYsS0FBSyxDQUFDUixJQUFJK0YsQ0FBQSxNQUFBRCxHQUFBLENBQUFHLENBQUEsRUFBQUosY0FBQSxDQUFBWCxJQUFBLFNBQUFZLEdBQUEsQ0FBQUcsQ0FBQSxDQUFBRixHQUFBLENBQUFDLENBQUEsT0FBQUYsR0FBQSxDQUFBSSxDQUFBLEVBQUFMLGNBQUEsQ0FBQVgsSUFBQSxVQUFBWSxHQUFBLENBQUFJLENBQUEsQ0FBQUYsSUFBQSxTQUFBRixHQUFBLEdBQUFHLENBQUEsQ0FBQUUsU0FBQSxDQUFBRCxDQUFBLENBQUFDLFNBQUEsVUFBQWpCLElBQUEsSUFhMUIsQ0FBQyxDQUdELE1BQU8sSUFBTSxDQUFBa0IsWUFBeUIsQ0FBRyxDQUN2Q2xGLEtBQUssQ0FBRSxFQUFFLENBQ1R3QyxJQUFJLENBQUUsSUFBSyxFQUFDLENBQ1p4QixLQUFLLENBQUUsSUFBSyxFQUFDLENBQ2JDLE9BQU8sQ0FBRSxJQUFLLEVBQUMsQ0FDZm5DLElBQUksQ0FBRSxJQUFLLEVBQUMsQ0FDWkMsUUFBUSxDQUFFLElBQUssRUFBQyxDQUNoQkUsR0FBRyxDQUFFLElBQUssRUFBQyxDQUNYaUIsVUFBVSxDQUFFLElBQUssRUFBQyxDQUNsQkMsVUFBVSxDQUFFLElBQUssRUFBQyxDQUNsQkMsSUFBSSxDQUFFLElBQUssRUFBQyxDQUNaQyxRQUFRLENBQUUsS0FBSyxDQUNmckIsTUFBTSxDQUFFLElBQUssRUFBQyxDQUNkRSxJQUFJLENBQUUsSUFBSyxFQUFDLENBQ1owQyxLQUFLLENBQUUsSUFBSyxFQUNkLENBQUMsQ0FFRHJELE1BQU0sQ0FBQzRHLFFBQVEsQ0FBRyxVQUFNLENBQ3RCbkgsYUFBYSxDQUFjLFVBQVUsQ0FBRWtILFlBQVksQ0FBRSxTQUFDNUYsS0FBSyxDQUFFOEYsR0FBRyxDQUFLLENBQ25FLEdBQU0sQ0FBQUMsRUFBRSxDQUFHRCxHQUFHLENBQUNFLE9BQU8sQ0FFdEIxSCxZQUFZLENBQUMsVUFBTSxDQUNqQkssY0FBYyxDQUFDb0gsRUFBRSxDQUFFLENBQUMsT0FBTyxDQUFFLE1BQU0sQ0FBQyxDQUFDLENBQ3ZDLENBQUMsQ0FBQyxDQUNGLHNCQUFBRSxLQUFBLENBQUFDLE9BQUEsRUFBQUQsQ0FBQSxNQUFBRSxXQUFBLENBRXdCdEgsTUFBTSxRQUFBb0gsS0FBQSxJQUFBL0IsaUJBQUEsQ0FDekJqRixNQUFNLENBQUtlLEtBQUssR0FHdkIsQ0FBQyxDQUFDLENBQ0osQ0FBQyxDQUNELGNBQWUsQ0FBQWYsTUFBTSIsImlnbm9yZUxpc3QiOltdfQ==