diff --git a/index.html b/index.html index 77b0b6e..37c9b2d 100644 --- a/index.html +++ b/index.html @@ -1 +1 @@ -TreedocViewer
\ No newline at end of file +TreedocViewer
\ No newline at end of file diff --git a/js/app.cc952238.js b/js/app.cc952238.js new file mode 100644 index 0000000..5cb0726 --- /dev/null +++ b/js/app.cc952238.js @@ -0,0 +1,60 @@ +(function(t){function e(e){for(var a,i,o=e[0],l=e[1],c=e[2],u=0,p=[];utd{position:sticky;top:0}.tdv-td{padding:2px!}.tdv-table * .col-sm-6{padding-right:0;padding-left:0}.tdv-table * .row{margin-right:0;margin-left:0}.tdv-table * .-page-size-select{display:inline-block;width:70px;font-size:small}",""]),t.exports=e},"3abc":function(t,e,s){var a=s("af47");"string"===typeof a&&(a=[[t.i,a,""]]),a.locals&&(t.exports=a.locals);var n=s("499e").default;n("149ce1c0",a,!0,{sourceMap:!1,shadowMode:!1})},"3af4":function(module,__webpack_exports__,__webpack_require__){"use strict";var lodash__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__("2ef0"),lodash__WEBPACK_IMPORTED_MODULE_0___default=__webpack_require__.n(lodash__WEBPACK_IMPORTED_MODULE_0__),_Vue2DataTable__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__("d82a"),treedoc__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__("6c22"),treedoc__WEBPACK_IMPORTED_MODULE_2___default=__webpack_require__.n(treedoc__WEBPACK_IMPORTED_MODULE_2__),_models_TableUtil__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__("3f6a");__webpack_exports__["a"]={filter(opt){if(opt.filteredData=opt.rawData.filter(t=>opt.query.match(t)),opt.query.jsQuery&&opt.query.jsQuery!==_Vue2DataTable__WEBPACK_IMPORTED_MODULE_1__["b"]){const func="$=> "+opt.query.jsQuery;try{const filterFunc=eval(func);opt.filteredData=opt.filteredData.filter(t=>filterFunc(_models_TableUtil__WEBPACK_IMPORTED_MODULE_3__["a"].rowToMapWithAllFields(t)))}catch(e){console.error("Error evaluate JSQuery:"+func),console.error(e)}}const q=opt.query;if(opt.total=opt.filteredData.length,q.offset>=opt.total&&(q.offset=Math.max(0,opt.total-q.limit)),opt.query.sort){const t=t=>{let e=t[q.sort];return e=e instanceof treedoc__WEBPACK_IMPORTED_MODULE_2__["TDNode"]&&void 0!==e.value?e.value:e,e||""};opt.filteredData=lodash__WEBPACK_IMPORTED_MODULE_0___default.a.orderBy(opt.filteredData,t,q.order)}const end=void 0!==q.offset&&q.limit?q.offset+q.limit:void 0;return opt.data=opt.filteredData.slice(q.offset,end)}}},"3b11":function(t,e,s){var a=s("24fb");e=a(!1),e.push([t.i,".title{text-align:center;color:#00008b}.components-container{display:flex;position:absolute;flex-direction:column;margin-left:2px;width:99%;height:98%}html{height:100%}body{min-height:100%}.inputline{display:flex;align-items:center;float:right}.json-tree-table{height:100%}#icons{float:right}",""]),t.exports=e},"3f6a":function(t,e,s){"use strict";s.d(e,"a",(function(){return r}));var a=s("6c22");class n{constructor(){this.total=0,this.sum=0,this.avg=0,this.p50=0,this.p90=0,this.p99=0,this.valueCounts={},this.valueSortedByCounts=[]}get valueCountsSorted(){return this.valueSortedByCounts.map(t=>({val:t,count:this.valueCounts[t],percent:this.valueCounts[t]/this.total}))}}class r{static rowsToObject(t,e){const s={};return t.forEach(t=>s[t["@key"]]=this.rowToObject(t,e)),s}static collectColumnStatistic(t,e){console.log("collectColumnStatistic",e);const s=new n,a=[];for(const n of t){s.total++;let t=r.valToObject(n[e]);a.push(t),void 0===t&&(t=""),"string"!==typeof t&&"number"!==typeof t&&(t=JSON.stringify(t)),(void 0===s.min||ts.max)&&(s.max=t),"number"===typeof t&&(s.sum+=t);const i=""+t;s.valueCounts[i]=(s.valueCounts[i]||0)+1}return a.sort((t,e)=>t-e),s.avg=s.sum/t.length,s.avg>0&&(s.p50=a[Math.floor(.5*a.length)]||0,s.p90=a[Math.floor(.9*a.length)]||0,s.p99=a[Math.floor(.99*a.length)]||0),s.valueSortedByCounts=Object.keys(s.valueCounts).sort((t,e)=>s.valueCounts[e]-s.valueCounts[t]),s}static rowToObject(t,e,s=!1,a=!0){if(t["@value"]&&!a)return this.valToObject(t["@value"]);const n={};for(const r of e.columns)"#"!==r.field&&r.visible&&("@key"!==r.field||s)&&(n[r.field]=this.valToObject(t[r.field]));return n}static rowToMapWithAllFields(t){return a["ListUtil"].map(t,a["identity"],this.valToObject)}static valToObject(t){return t instanceof a["TDNode"]?t.toObject(!1,!1):t}static toCSV(t){const e=a["TDObjectCoder"].encode(t);return a["CSVWriter"].instance.writeAsString(e)}}},"47e8":function(t,e,s){var a=s("24fb");e=a(!1),e.push([t.i,".breadcrumb.jsonpath{margin-bottom:auto;padding:.3em}",""]),t.exports=e},5263:function(t,e,s){"use strict";s.d(e,"a",(function(){return a}));class a{static nonBlankStartsWith(t,e,s=1e3){for(let a=0;a=0&&a>t.length-s;a--)if(!this.isBlank(t[a])){for(const s of e)if(t.endsWith(s,a+1))return!0;return!1}return!1}static isBlank(t){return" \n\r\t".indexOf(t)>=0}static topLines(t,e){const s={length:-1,numLines:0};for(let a=Math.min(t.length,e);a>=0;a--)"\n"===t[a]&&(s.length<0&&(s.length=a+1),s.numLines++);return s}static doIf(t,e){t&&e()}static textLimit(t,e,s="..."){return"string"!==typeof t&&(t=JSON.stringify(t)),!t||t.length<=e?t:t.substring(0,e)+s}static toFixed(t,e){const s=Math.pow(10,e||0);return String(Math.round(t*s)/s)}static head(t,e=1){return t.slice(0,e)}}},"5d75":function(t,e,s){var a=s("24fb");e=a(!1),e.push([t.i,".filter-header{display:inline}input[type=search]::-webkit-search-cancel-button{-webkit-appearance:searchfield-cancel-button;cursor:pointer}.has-keyword{color:green}.jsontable-head{font-size:1rem}.collapsed>.when-open,.not-collapsed>.when-closed{display:none}.text-container{white-space:nowrap;overflow:hidden;opacity:.9;background-color:#fff;text-overflow:ellipsis}.text-container:hover{overflow:visible;width:100em;white-space:nowrap}.btn_pressed{border:1px solid #007bff!important}.popover{max-width:350px}",""]),t.exports=e},"5f64":function(t,e,s){"use strict";s("0c34")},6228:function(t,e,s){"use strict";s("9a4c")},"62b6":function(t,e,s){var a=s("24fb");e=a(!1),e.push([t.i,'.item[data-v-6bfe0aac]{font-size:14px;margin-left:18px}.node[data-v-6bfe0aac]{cursor:pointer;position:relative}.leaf[data-v-6bfe0aac],.node[data-v-6bfe0aac]{white-space:nowrap}.key-with-chevron[data-v-6bfe0aac]{padding-left:14px}.key-with-chevron.opened[data-v-6bfe0aac]:before{top:4px;transform:rotate(90deg);-webkit-transform:rotate(90deg)}.key-with-chevron[data-v-6bfe0aac]:before{color:#444;content:"\\25b6";font-size:10px;left:1px;position:absolute;top:3px;transition:transform .1s ease;-webkit-transition:-webkit-transform .1s ease}.selected[data-v-6bfe0aac]{background-color:#ffc107}',""]),t.exports=e},6893:function(t,e,s){"use strict";s("9952")},"6b0a":function(t,e,s){"use strict";s("24d4")},"81c3":function(t,e,s){var a=s("5d75");"string"===typeof a&&(a=[[t.i,a,""]]),a.locals&&(t.exports=a.locals);var n=s("499e").default;n("7b2a1028",a,!0,{sourceMap:!1,shadowMode:!1})},"8e7c":function(t,e,s){"use strict";s("3abc")},"90df":function(t,e,s){var a=s("24fb");e=a(!1),e.push([t.i,".wrapper[data-v-682e2c42]{overflow:auto;height:100%}.item-root[data-v-682e2c42]{margin-left:0!important}",""]),t.exports=e},9536:function(t,e,s){"use strict";var a=function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("span",{staticClass:"value"},[t.ref?[s("a",{attrs:{href:"#"},on:{click:function(e){return e.stopPropagation(),t.$emit("node-clicked",t.refAbsolute)}}},[t._v(t._s(t.ref))])]:t.url?[s("a",{attrs:{href:t.url,target:"_blank"}},[t._v(t._s(t.url))])]:t.isInTable?[s("pre",{staticClass:"tdv-value",class:t.valueStyle,style:{"white-space":t.whiteSpaceStyle}},[t._v(t._s(t.tnode.value)+" "),s("span",{staticClass:"tdv-hint"},[t._v(t._s(t.date))])])]:[s("span",{class:t.valueStyle},[t._v(t._s(t.tnode.value))]),t._v(" "),s("span",{staticClass:"tdv-hint"},[t._v(t._s(t.date))])]],2)},n=[],r=s("9ab4"),i=s("60a3"),o=s("e421"),l=s("2ef0"),c=s.n(l);const d=new Date("1980-01-01").getTime(),u=new Date("2040-01-01").getTime();function p(t){return t>d&&tt.limit?s("a",{staticClass:"item",staticStyle:{"font-size":"smaller",color:"green"},attrs:{href:"#"},on:{click:function(e){t.limit=t.limit+t.pageSize}}},[t._v("... Load next "+t._s(t.pageSize)+" items")]):t._e()],2)])},n=[],r=s("9ab4"),i=s("60a3"),o=s("6c22"),l=s("9e6f"),c=s("9536"),d=s("e421"),u=s("5263");const p=2e3;class h{constructor(t,e){this.nodePath=t,this.source=e}}let m=class extends i["c"]{constructor(){super(...arguments),this.open=!1,this.selected=!1,this.mouseOver=!1,this.pageSize=p,this.limit=p}toggleOpen(){this.open=!this.open}get isSimpleType(){return this.tnode.type===o["TDNodeType"].SIMPLE}get label(){return d["a"].getTypeSizeLabel(this.tnode,!this.open&&this.expandState.showChildrenSummary)}watchSelected(t){t&&this.$el.scrollIntoView({block:"nearest"})}selectNode(t,e,s){e!==t.length?(this.open=!0,this.$nextTick(()=>{for(const a of this.$refs.children)a.tnode.key===t[e]&&a.selectNode(t,e+1,s)})):s(this)}watchExpandState(){if(this.tnode.isLeaf())return;const t=this.expandState;this.open=t.fullyExpand||this.currentLevelt.expandLevel&&(t.expandLevel=this.currentLevel+1):t.moreLevel||this.currentLevel>t.expandLevel-1&&(t.moreLevel=!0)}bubbleEvent(t,e){this.$emit(e,t)}mouseEnter(t){this.mouseOver=!0,setTimeout(()=>u["a"].doIf(this.mouseOver,()=>this.$el.dispatchEvent(new CustomEvent("node-mouse-enter",{detail:new h(this.tnode.pathAsString,t.target),bubbles:!0,composed:!0}))),500)}mouseLeave(t){this.mouseOver=!1,setTimeout(()=>this.$el.dispatchEvent(new CustomEvent("node-mouse-leave",{detail:new h(this.tnode.pathAsString,t.target),bubbles:!0,composed:!0})),500)}onKeyDown(t){switch(console.log("onKeyPress: key="+t.key),t.key){case"ArrowRight":this.toggleOpen(),t.preventDefault();break;case"ArrowDown":this.toggleOpen(),t.preventDefault();break}}};Object(r["a"])([Object(i["b"])()],m.prototype,"tnode",void 0),Object(r["a"])([Object(i["b"])()],m.prototype,"currentLevel",void 0),Object(r["a"])([Object(i["b"])()],m.prototype,"modifiable",void 0),Object(r["a"])([Object(i["b"])({default:()=>new l["a"]})],m.prototype,"expandState",void 0),Object(r["a"])([Object(i["d"])("selected")],m.prototype,"watchSelected",null),Object(r["a"])([Object(i["d"])("expandState",{immediate:!0,deep:!0})],m.prototype,"watchExpandState",null),m=Object(r["a"])([Object(i["a"])({components:{SimpleValue:c["a"]}})],m);var f=m,v=f,b=(s("6893"),s("2877")),_=Object(b["a"])(v,a,n,!1,null,"6bfe0aac",null);e["a"]=_.exports},9952:function(t,e,s){var a=s("62b6");"string"===typeof a&&(a=[[t.i,a,""]]),a.locals&&(t.exports=a.locals);var n=s("499e").default;n("4fb97f66",a,!0,{sourceMap:!1,shadowMode:!1})},"9a4c":function(t,e,s){var a=s("3b11");"string"===typeof a&&(a=[[t.i,a,""]]),a.locals&&(t.exports=a.locals);var n=s("499e").default;n("0a65402d",a,!0,{sourceMap:!1,shadowMode:!1})},"9e6f":function(t,e,s){"use strict";s.d(e,"a",(function(){return o}));var a=function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("b-button-group",{staticClass:"ml-1"},[s("span",{directives:[{name:"b-tooltip",rawName:"v-b-tooltip.hover",modifiers:{hover:!0}}],attrs:{title:"Collapse all [<]"}},[s("b-btn",{attrs:{size:"sm",disabled:!t.canCollapse()},on:{click:function(e){return t.collapseAll()}}},[t._v("«")])],1),s("span",{directives:[{name:"b-tooltip",rawName:"v-b-tooltip.hover",modifiers:{hover:!0}}],attrs:{title:"Collapse one level <,>"}},[s("b-btn",{attrs:{size:"sm",disabled:!t.canCollapse()},on:{click:function(e){return t.collapse()}}},[t._v("‹")])],1),s("span",{directives:[{name:"b-tooltip",rawName:"v-b-tooltip.hover",modifiers:{hover:!0}}],attrs:{title:"Current expand level"}},[s("b-btn",{staticClass:"expand_level",attrs:{size:"sm",disabled:!0}},[t._v(t._s(t.state.expandLevel))])],1),s("span",{directives:[{name:"b-tooltip",rawName:"v-b-tooltip.hover",modifiers:{hover:!0}}],attrs:{title:"Expand one level <.>"}},[s("b-btn",{attrs:{size:"sm",disabled:!t.canExpand()},on:{click:function(e){return t.expend()}}},[t._v("›")])],1),s("span",{directives:[{name:"b-tooltip",rawName:"v-b-tooltip.hover",modifiers:{hover:!0}}],attrs:{title:"Expand all [>]"}},[s("b-btn",{attrs:{size:"sm",disabled:!t.canExpand()},on:{click:function(e){return t.expendAll()}}},[t._v("»")])],1),s("span",{directives:[{name:"b-tooltip",rawName:"v-b-tooltip.hover",modifiers:{hover:!0}}],attrs:{title:"Toggle show children summary "}},[s("b-btn",{attrs:{size:"sm",variant:"outline-secondary",pressed:t.state.showChildrenSummary},on:{"update:pressed":function(e){return t.$set(t.state,"showChildrenSummary",e)}}},[t._v("s")])],1)])},n=[],r=s("9ab4"),i=s("60a3");class o{constructor(t=1,e=1,s=!0){this.expandLevel=t,this.minLevel=e,this.showChildrenSummary=s,this.fullyExpand=!1,this.moreLevel=!1}}let l=class extends i["c"]{collapse(){this.state.expandLevel>this.state.minLevel&&this.state.expandLevel--,this.state.fullyExpand=!1}collapseAll(){this.state.expandLevel=this.state.minLevel,this.state.fullyExpand=!1}canCollapse(){return this.state.expandLevel>this.state.minLevel||this.state.fullyExpand}expend(){this.canExpand()&&(this.state.moreLevel=!1,this.state.expandLevel++)}expendAll(){this.state.moreLevel=!1,this.state.fullyExpand=!0}canExpand(){return this.state.moreLevel}onKeyPress(t){switch(console.log(t),t.key){case"s":return void(this.state.showChildrenSummary=!this.state.showChildrenSummary);case",":return void this.collapse();case".":return void this.expend();case"<":return void this.collapseAll();case">":return void this.expendAll()}}};Object(r["a"])([Object(i["b"])()],l.prototype,"state",void 0),Object(r["a"])([Object(i["b"])()],l.prototype,"active",void 0),l=Object(r["a"])([i["a"]],l);var c=l,d=c,u=(s("8e7c"),s("2877")),p=Object(u["a"])(d,a,n,!1,null,"0e82bf19",null);e["b"]=p.exports},a604:function(t,e,s){"use strict";s("81c3")},ad23:function(t,e,s){var a=s("24fb");e=a(!1),e.push([t.i,".CodeMirror{height:100%;font-size:small}.textArea{width:100%;min-height:400px;height:100%;resize:none;flex-grow:1;overflow:auto}",""]),t.exports=e},adab:function(t,e,s){"use strict";s("d276")},af47:function(t,e,s){var a=s("24fb");e=a(!1),e.push([t.i,".expand_level[data-v-0e82bf19]{width:16px;padding-left:0;padding-right:0;text-align:center}",""]),t.exports=e},c8d2:function(t,e,s){var a=s("24fb");e=a(!1),e.push([t.i,".tdv_key[data-v-d93b97b2]{white-space:nowrap}",""]),t.exports=e},ca8f:function(t,e,s){var a=s("0a17");"string"===typeof a&&(a=[[t.i,a,""]]),a.locals&&(t.exports=a.locals);var n=s("499e").default;n("69e4e6de",a,!0,{sourceMap:!1,shadowMode:!1})},cd49:function(t,e,s){"use strict";s.r(e);s("f9e3"),s("2dd8"),s("7f10");var a=s("2b0e"),n=s("8c4f"),r=s("358c"),i=s("5f5b"),o=s("2d60"),l=s.n(o),c=function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("router-view")},d=[],u=s("60a3");class p extends u["c"]{}var h=p,m=s("2877"),f=Object(m["a"])(h,c,d,!1,null,null,null),v=f.exports,b=function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("div",{staticClass:"components-container",attrs:{id:"app"}},[s("json-tree-table",{ref:"jsonTreeTable",staticClass:"json-tree-table",attrs:{data:t.jsonData,"inital-path":t.param.initialPath||"/",options:t.tdvOption,rootObjectKey:"root"},scopedSlots:t._u([{key:"title",fn:function(){return[s("a",{attrs:{href:"https://www.treedoc.org"}},[s("b",{staticClass:"tdv-title"},[t._v(t._s(t.param.title))])])]},proxy:!0}])},[null!=t.param.embeddedId||t.param.data||t.param.dataUrl?t._e():s("span",[t._v(" Sample Data: "),s("b-form-select",{staticStyle:{width:"auto"},attrs:{options:t.sampleData,size:"sm"},model:{value:t.jsonData,callback:function(e){t.jsonData=e},expression:"jsonData"}})],1),s("span",{staticClass:"title"},[s("span",{attrs:{id:"icons"}},[s("a",{attrs:{href:"https://github.com/treedoc/TreedocViewer",target:"_blank"}},[s("img",{attrs:{alt:"Github folks",src:"https://img.shields.io/github/forks/treedoc/treedocviewer"}})]),s("a",{attrs:{href:"https://www.npmjs.com/package/treedoc-viewer",target:"_blank"}},[s("img",{attrs:{alt:"npm",src:"https://img.shields.io/npm/v/treedoc-viewer"}})])])])])],1)},_=[],y=s("9ab4"),g=function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("div",{staticClass:"tdv-container"},[s("div",{staticClass:"tdv-top"},[t._t("title"),s("b-button-group",{staticClass:"ml-1 tdv-toolbar"},[s("b-btn",{directives:[{name:"b-tooltip",rawName:"v-b-tooltip.hover",modifiers:{hover:!0}}],attrs:{size:"sm",title:"Open File"},on:{click:function(e){return t.$refs.file1.click()}}},[s("i",{staticClass:"fa fa-folder-open"}),s("input",{ref:"file1",staticStyle:{display:"none"},attrs:{type:"file"},on:{change:function(e){return t.readFile(e)}}})]),s("b-btn",{directives:[{name:"b-modal",rawName:"v-b-modal.modal-1",modifiers:{"modal-1":!0}},{name:"b-tooltip",rawName:"v-b-tooltip.hover",modifiers:{hover:!0}}],attrs:{size:"sm",title:"Open URL"}},[s("i",{staticClass:"fa fa-link"}),s("b-modal",{attrs:{id:"modal-1",title:"Open URL"},on:{ok:function(e){return t.openUrl(t.urlInput)},show:function(e){t.urlInput=t.url}}},[t._v(" URL: "),s("b-input",{model:{value:t.urlInput,callback:function(e){t.urlInput=e},expression:"urlInput"}})],1)],1),s("b-btn",{directives:[{name:"b-tooltip",rawName:"v-b-tooltip.hover",modifiers:{hover:!0}}],staticClass:"tdv",attrs:{size:"sm",disabled:!t.jsonStr,title:"Copy"},on:{click:function(e){return t.copyText(t.jsonStr)}}},[s("i",{staticClass:"fa fa-copy"})]),t.pasteSupported?s("b-btn",{directives:[{name:"b-tooltip",rawName:"v-b-tooltip.hover",modifiers:{hover:!0}}],attrs:{size:"sm",title:"Paste"},on:{click:t.paste}},[s("i",{staticClass:"fa fa-paste"})]):t._e(),s("b-btn",{directives:[{name:"b-tooltip",rawName:"v-b-tooltip.hover",modifiers:{hover:!0}}],staticClass:"tdv",attrs:{size:"sm",variant:"outline-secondary",pressed:t.tstate.codeView[0],title:"Toggle source code syntax hi-lighting"},on:{"update:pressed":function(e){return t.$set(t.tstate.codeView,0,e)}}},[s("i",{staticClass:"fa fa-code"})]),s("b-btn",{directives:[{name:"b-tooltip",rawName:"v-b-tooltip.hover",modifiers:{hover:!0}}],attrs:{size:"sm",title:"Format"},on:{click:t.format}},[s("i",{staticClass:"fa fa-indent"})])],1),s("b-button-group",{staticClass:"mx-1"},[s("b-btn",{staticClass:"tdv",attrs:{size:"sm",variant:"outline-secondary",pressed:t.tstate.showSource[0]},on:{"update:pressed":function(e){return t.$set(t.tstate.showSource,0,e)}}},[t._v("Source")]),s("b-btn",{staticClass:"tdv",attrs:{size:"sm",variant:"outline-secondary",pressed:t.tstate.showTree[0]},on:{"update:pressed":function(e){return t.$set(t.tstate.showTree,0,e)}}},[t._v("Tree")]),s("b-btn",{staticClass:"tdv",attrs:{size:"sm",variant:"outline-secondary",pressed:t.tstate.showTable[0]},on:{"update:pressed":function(e){return t.$set(t.tstate.showTable,0,e)}}},[t._v("Table")]),t.parserSelectOptions.length>1?[t._v("Parser "),s("b-form-select",{attrs:{options:t.parserSelectOptions,size:"sm"},model:{value:t.selectedParser,callback:function(e){t.selectedParser=e},expression:"selectedParser"}})]:t._e()],2),s("span",[t._t("default")],2),s("span",{staticClass:"status-msg",class:{error:t.hasError}},[t._v(t._s(t.parseResult))])],2),s("div",{staticClass:"split-container"},[s("msplit",{attrs:{maxPane:t.tstate.maxPane},nativeOn:{"node-mouse-enter":function(e){return e.stopPropagation(),t.nodeMouseEnter(e)},"node-mouse-leave":function(e){return e.stopPropagation(),t.nodeMouseLeave(e)}}},[s("div",{staticClass:"panview",class:{focus:"source"===t.tstate.curPan},staticStyle:{width:"100%"},attrs:{slot:"source",grow:20,show:t.tstate.showSource,tabindex:"0"},on:{click:function(e){t.tstate.curPan="source"},keypress:function(e){return t.onKeyPress(e,"source")}},slot:"source"},[s("SourceView",{ref:"sourceView",attrs:{syntax:t.selectedParser.syntax,selection:t.tstate.selection,show:t.tstate.showSource[0],tstate:t.tstate,useCodeView:t.tstate.codeView},model:{value:t.jsonStr,callback:function(e){t.jsonStr=e},expression:"jsonStr"}})],1),s("div",{staticClass:"panview",class:{focus:"tree"===t.tstate.curPan},attrs:{slot:"tree",grow:30,show:t.tstate.showTree,tabindex:"0"},on:{click:function(e){t.tstate.curPan="tree"},keypress:function(e){return t.onKeyPress(e,"tree")}},slot:"tree"},[t.tstate.tree?s("tree-view",{attrs:{tstate:t.tstate,"expand-level":1,rootObjectKey:t.rootObjectKey}}):s("div",[t._v("No Data")])],1),s("div",{staticClass:"panview",class:{focus:"table"===t.tstate.curPan},attrs:{slot:"table",grow:50,show:t.tstate.showTable,tabindex:"0"},on:{click:function(e){t.tstate.curPan="table"},keypress:function(e){return t.onKeyPress(e,"table")}},slot:"table"},[t.tstate.tree?s("json-table",{attrs:{"table-data":t.tstate,isInMuliPane:"true"},on:{"node-clicked":t.nodeClicked}}):s("div",[t._v("No Data")])],1)])],1),s("div",{directives:[{name:"show",rawName:"v-show",value:t.mouseInNode||!0===t.mouseInActionBar,expression:"mouseInNode || mouseInActionBar === true"}],style:t.treeItemActionStyle,attrs:{id:"treeItemActions"},on:{mouseenter:t.mouseEnterActionBar,mouseleave:t.mouseLeaveActionBar}},[s("b-button-group",{staticClass:"mx-1"},[s("b-btn",{directives:[{name:"b-tooltip",rawName:"v-b-tooltip.hover",modifiers:{hover:!0}}],staticClass:"tdv",attrs:{size:"sm",title:"Copy Current Node"},on:{click:t.copyNode}},[s("i",{staticClass:"fa fa-copy"})])],1)],1),s("textarea",{ref:"copyTextArea",staticClass:"hiddenTextArea nowrap"})])},w=[],x=s("2ef0"),O=s.n(x),S=s("6c22");class T{constructor(){this.items=[],this.pos=-1}canBack(){return this.pos>0}back(){return this.canBack()?this.items[--this.pos]:this.items[this.pos]}canForward(){return this.pos"])}parse(t){const e=new j;try{const s=(new DOMParser).parseFromString(t.trim(),this.mineType),a=s.childNodes.length<2?s.childNodes[0]:s;let n=this.docToObj(a);return this.compact&&(n={[n.tag||n.name]:this.compactToObject(n)}),e.result=S["TDObjectCoder"].get().encode(n),e.message="DOMParser().parseFromString()",e}catch(s){return e.message="Error:"+s.message,console.error(s),e}}docToObj(t){const e={};return e.type=t.constructor.name,t instanceof Element?(e.tag=t.tagName,t.getAttributeNames&&t.getAttributeNames().forEach(s=>{e.attr=e.attr||{},e.attr[s]=t.getAttribute(s)})):(e.name=t.nodeName,e.value=t.nodeValue),t.childNodes&&t.childNodes.forEach(t=>{t instanceof Text?t.textContent&&t.textContent.trim()&&(e.text=(e.text||"")+t.textContent):(e.children=e.children||[],e.children.push(this.docToObj(t)))}),e}addToMap(t,e,s){let a=t[e];a||(a=[],t[e]=a),a.push(s)}compactToObject(t){if(!t.attr&&!t.children)return t.text;const e={};t.attr&&Object.keys(t.attr).forEach(s=>{this.addToMap(e,s,t.attr[s])});const s=[];t.children&&t.children.forEach(t=>{if(!t.tag)return console.log(`c.type=${t.type}, c.value=${t.value}, c.name=${t.name}`),void("ProcessingInstruction"===t.type?this.addToMap(e,"?"+t.name,t.value):t.value?s.push(t.value):console.error("unknown node: "+t));let a=this.compactToObject(t);s.length>0&&(O.a.isObject(a)?a["@comments"]=[...s]:a={"@comments":[...s],"@val":a},s.length=0),this.addToMap(e,t.tag,a)});const a={};return Object.keys(e).forEach(t=>{a[t]=1===e[t].length?e[t][0]:e[t]}),t.text&&(a["@val"]=t.text),s.length>0&&(a["@comments"]=[...s]),a}stringify(t){return""}}var N,L=s("b952");class I{constructor(t){this.text=t,this.lineOffsets=[];let e=!0;for(let s=0;sthis.toTDNode(t.contents,s.root.createChild()))),s.root}toTDNode(t,e){if(!t)return e;switch(null===t||void 0===t?void 0:t.type){case L["a"].FLOW_MAP:case L["a"].MAP:this.toTDNodeMap(t,e);break;case L["a"].FLOW_SEQ:case L["a"].SEQ:this.toTDNodeAray(t,e);break;case L["a"].PLAIN:case L["a"].BLOCK_FOLDED:case L["a"].BLOCK_LITERAL:case L["a"].PLAIN:case L["a"].QUOTE_DOUBLE:case L["a"].QUOTE_SINGLE:e.value=t.value;break;default:console.warn(`Unsupported type: ${null===t||void 0===t?void 0:t.type}, ${S["TD"].stringify(t)}, ${typeof t}, ${Object.keys(t)}`)}return e.start=this.textLine.getBookmark(t.range[0]),e.end=this.textLine.getBookmark(t.range[1]),e}toTDNodeMap(t,e){e.type=S["TDNodeType"].MAP;for(const s of t.items){const t=e.createChild(s.key.value);this.toTDNode(s.value,t)}return e}toTDNodeAray(t,e){e.type=S["TDNodeType"].ARRAY;for(const s of t.items){const t=e.createChild();this.toTDNode(s,t)}return e}stringify(t){return D.a.stringify(t)}}(function(t){t[t["NORMAL"]=0]="NORMAL",t[t["JAVA_MAP_TO_STRING"]=1]="JAVA_MAP_TO_STRING",t[t["LOMBOK_TO_STRING"]=2]="LOMBOK_TO_STRING"})(N||(N={}));class B{constructor(t="JSON/JSONEX",e=N.NORMAL){this.name=t,this.type=e,this.syntax="json",this.option={}}looksLike(t){if((new q).looksLike(t))return!1;if(t.length<1e6&&this.parse(t).status!==C.SUCCESS)return!1;const e=this.getTDJSONParserOption(this.type);if(!M["a"].nonBlankEndsWith(t,[e.deliminatorObjectEnd,e.deliminatorArrayEnd]))return!1;let s=t.indexOf(":"),a=t.indexOf("=");return s=s<0?Number.MAX_SAFE_INTEGER:s,a=a<0?Number.MAX_SAFE_INTEGER:a,!(s>a)||(this.type===N.JAVA_MAP_TO_STRING||this.type===N.LOMBOK_TO_STRING)}parse(t){const e=new j;try{const s=new S["StringCharSource"](t),a=[],n=this.getTDJSONParserOption(this.type);n.setDefaultRootType(S["TDNodeType"].MAP);while(s.skipSpacesAndReturnsAndCommas())a.push(S["TDJSONParser"].get().parse(s,n));return e.result=1===a.length?a[0]:S["TreeDoc"].merge(a).root,e.message="TDJSONParser.parse()",e}catch(s){return e.message="Error:"+s.message,e.status=C.ERROR,console.error(s),e}}getTDJSONParserOption(t){switch(t){case N.JAVA_MAP_TO_STRING:return S["TDJSONParserOption"].ofMapToString();case N.LOMBOK_TO_STRING:return(new S["TDJSONParserOption"]).setDeliminatorKey("=").setDeliminatorObject("(",")");default:return new S["TDJSONParserOption"]}}stringify(t){return S["TDJSONWriter"].get().writeAsString(t,(new S["TDJSONWriterOption"]).setIndentFactor(2))}}const{doIfNotNull:R}=S["LangUtil"];class ${constructor(t=null){this.selected=t,this.selection={}}}class V{constructor(t,e,s,a){this.query=t,this.expandedLevel=e,this.columns=s,this.isColumnExpanded=a}}class W{constructor(t,e=new B,s="root",a=[]){this.parserPlugin=e,this.parseResult="OBJECT",this.history=new T,this.tableStateCache=new Map,this.hasTreeInTable=!1,this.curState=new $,this.maxPane="",this.curPan="",this.textWrap=!1,this.showSource=[!0],this.showTree=[!0],this.showTable=[!0],this.codeView=[!0],this.tree=this.buildTree(t,s),this.tree&&(this.tree.root.key=s,this.tree.root.freeze(),this.select(a,!0))}setCurPan(t){this.curPan=t,console.log("setCurPan",t)}setInitSOpt(t){return R(null===t||void 0===t?void 0:t.maxPane,t=>this.maxPane=t),R(null===t||void 0===t?void 0:t.textWrap,t=>this.textWrap=t),R(null===t||void 0===t?void 0:t.showSource,t=>this.showSource[0]=t),R(null===t||void 0===t?void 0:t.showTree,t=>this.showTree[0]=t),R(null===t||void 0===t?void 0:t.showTable,t=>this.showTable[0]=t),this}retainState(t){return null==t||(this.maxPane=t.maxPane,this.textWrap=t.textWrap,this.showSource=t.showSource,this.showTree=t.showTree,this.showTable=t.showTable,this.codeView=t.codeView),this}buildTree(t,e){if(!t||"TDNode"===t.constructor.name)return this.parseResult="TreeDoc",t.doc;const s="string"===typeof t?this.parse(t):S["TDObjectCoder"].get().encode(t);return s&&s.doc}select(t,e=!1){if(null==this.tree)return;let s=null;s=t instanceof S["TDNode"]?t:this.findNodeByPath(t,e),e&&(this.initialNode=s),this.curState.selected!==s&&(this.curState=new $(s),this.curState.selected=s,s&&this.history.append(this.curState),e||(this.curState.selection=this.curState.selected))}saveTableState(t,e){this.tableStateCache.set(t.pathAsString,e)}getTableState(t){return this.tableStateCache.get(t.pathAsString)}get selected(){return this.curState.selected}get selection(){return this.curState.selection}findNodeByPath(t,e=!1){const s=this.curState.selected||this.tree.root;let a=s.getByPath(t);if(a)return a;if("string"!==typeof t)return s;if(a=s.getByPath("/schemas/"+t),a)return a;const n=S["JSONPointer"].get().parse(t);return n.docPath?(console.warn("Cross document reference is not supported: "+t),s):(a=s.getByPath(n),a||s)}isRootSelected(){return null!=this.tree&&this.selected===this.tree.root}isInitialNodeSelected(){return null!=this.tree&&this.selected===this.initialNode}canBack(){return this.history.canBack()}canForward(){return this.history.canForward()}back(){this.curState=this.history.back()}forward(){this.curState=this.history.forward()}parse(t){const e=this.parserPlugin.parse(t);return this.parseResult=e.message,e.result}toggleMaxPane(t){this.maxPane?this.maxPane="":this.maxPane=t}}var K=function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("div",{staticStyle:{height:"100%",overflow:"hidden"},on:{click:function(e){t.tstate.curPan="source"}}},[t.useCodeView[0]?s("codemirror",{ref:"codeView",staticClass:"codeView",staticStyle:{height:"100%"},attrs:{options:t.options},model:{value:t.val,callback:function(e){t.val=e},expression:"val"}}):t._e(),t.useCodeView[0]||t.readonly?t._e():s("textarea",{directives:[{name:"model",rawName:"v-model",value:t.val,expression:"val"}],ref:"textView",class:[t.useCodeView[0]?"hiddenTextArea":"textArea"],staticStyle:{"min-width":"400px",overflow:"scroll"},domProps:{value:t.val},on:{input:function(e){e.target.composing||(t.val=e.target.value)}}}),!t.useCodeView[0]&&t.readonly?s("div",{staticStyle:{height:"100%"}},[s("div",{staticStyle:{"font-size":"smaller",color:"brown"}},[t._v("Text size is large with "+t._s(t.value.length)+" bytes, show in readonly mode to avoid performance issue")]),s("textarea",{directives:[{name:"model",rawName:"v-model",value:t.truncatedText,expression:"truncatedText"}],ref:"textView-readonly",class:"textArea",staticStyle:{"min-width":"400px",overflow:"scroll","background-color":"lightgray"},attrs:{readonly:""},domProps:{value:t.truncatedText},on:{input:function(e){e.target.composing||(t.truncatedText=e.target.value)}}})]):t._e()],1)},z=[],U=s("c884");s("f9d4"),s("693d"),s("d5e0"),s("ced0"),s("9b74"),s("f6b6"),s("3c98"),s("4895"),s("cbc8"),s("697e"),s("8d70"),s("aedd"),s("a2c1");const F=1e7;let J=class extends u["c"]{constructor(){super(...arguments),this.val=this.value}get softWrap(){return this.val.length>1e4&&this.val.substr(1e3,9e3).indexOf("\n")<0}get textView(){return this.$refs.textView}get codeView(){return this.$refs.codeView}get readonly(){return this.value.length>F}get truncatedText(){return O.a.truncate(this.value,{length:F})}get options(){const t={xml:"xml",yaml:"yaml",json:{name:"javascript",json:!0}},e=t[this.syntax]||t.json;return{mode:e,tabSize:2,lineNumbers:!0,lineWrapping:this.softWrap,viewportMargin:10,extraKeys:{"Ctrl-Space":"autocomplete"},foldGutter:!0,gutters:["CodeMirror-linenumbers","CodeMirror-foldgutter"]}}watchVal(){this.$emit("input",this.val)}watchValue(t){this.val=t}watchSelection(t){this.show&&t&&t.start&&t.end&&(this.val.length>2e6||(this.useCodeView[0]?this.codeView.editor.doc.setSelection(Y(t.start),Y(t.end),{scroll:!0}):(H(this.textView,t.start.pos),this.textView.select(),this.textView.setSelectionRange(t.start.pos,t.end.pos))))}};Object(y["a"])([Object(u["b"])()],J.prototype,"tstate",void 0),Object(y["a"])([Object(u["b"])()],J.prototype,"value",void 0),Object(y["a"])([Object(u["b"])()],J.prototype,"syntax",void 0),Object(y["a"])([Object(u["b"])()],J.prototype,"useCodeView",void 0),Object(y["a"])([Object(u["b"])({required:!1})],J.prototype,"selection",void 0),Object(y["a"])([Object(u["b"])()],J.prototype,"show",void 0),Object(y["a"])([Object(u["d"])("val")],J.prototype,"watchVal",null),Object(y["a"])([Object(u["d"])("value",{immediate:!0})],J.prototype,"watchValue",null),Object(y["a"])([Object(u["d"])("selection",{deep:!0})],J.prototype,"watchSelection",null),J=Object(y["a"])([Object(u["a"])({components:{codemirror:U["codemirror"]}})],J);var Q=J;function Y(t){return{line:t.line,ch:t.col}}function H(t,e){const s=t.value;if(e>=s.length||e<0)return;t.scrollTop=0,t.value=s.substring(0,e);const a=t.scrollHeight;t.value=s,t.scrollTop=a-40}var G=Q,X=(s("1e1c"),Object(m["a"])(G,K,z,!1,null,null,null)),Z=X.exports,tt=function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("div",{staticClass:"wrapper",attrs:{tabindex:"0"},on:{click:function(e){t.tstate.curPan="tree"},keypress:t.onKeyPress}},[s("div",{staticClass:"tdv-toolbar"},[s("expand-control",{ref:"expandControl",staticStyle:{float:"right"},attrs:{state:t.expandState,active:"tree"===t.tstate.curPan}})],1),s("tree-view-item",{ref:"item",staticClass:"item-root",attrs:{tnode:t.tstate.tree.root,currentLevel:0,expandState:t.expandState},on:{"node-clicked":t.nodeClicked}}),s("br")],1)},et=[],st=s("9783"),at=s("9e6f");let nt=class extends u["c"]{constructor(){super(...arguments),this.expandState=new at["a"](this.expandLevel)}watchselected(t,e){null!=e&&this.item.selectNode(e.path,0,t=>t.selected=!1),t&&this.item.selectNode(t.path,0,t=>t.selected=!0)}get item(){return this.$refs.item}watchTree(){this.expandState=new at["a"](this.expandState.expandLevel)}nodeClicked(t){this.tstate.select(t)}onKeyPress(t){this.$refs.expandControl.onKeyPress(t)}};Object(y["a"])([Object(u["b"])()],nt.prototype,"tstate",void 0),Object(y["a"])([Object(u["b"])({default:"root"})],nt.prototype,"rootObjectKey",void 0),Object(y["a"])([Object(u["b"])({default:"4"})],nt.prototype,"expandLevel",void 0),Object(y["a"])([Object(u["d"])("tstate.selected")],nt.prototype,"watchselected",null),Object(y["a"])([Object(u["d"])("tstate")],nt.prototype,"watchTree",null),nt=Object(y["a"])([Object(u["a"])({components:{TreeViewItem:st["a"],ExpandControl:at["b"]}})],nt);var rt=nt,it=rt,ot=(s("6b0a"),Object(m["a"])(it,tt,et,!1,null,"682e2c42",null)),lt=ot.exports,ct=function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("div",{staticClass:"tdv-table",attrs:{tabindex:"0"},on:{keypress:t.onKeyPress}},[s("datatable",t._b({},"datatable",t.tableOpt,!1),[s("div",{staticStyle:{display:"flex column"}},[s("div",{staticClass:"tdv-tbl-top"},[t.hasTableTitleSlot?t._t("tableTitle"):t._e(),s("json-path",{attrs:{"tree-node":t.tstate?t.tstate.selected:null},on:{"node-clicked":t.nodeClicked}}),s("div",{staticClass:"tdv-tbl-toolbar"},[t.tstate.hasTreeInTable?s("expand-control",{ref:"expandControl",attrs:{state:t.expandState,active:"table"===t.tstate.curPan}}):t._e(),t.isInMuliPane?s("span",{directives:[{name:"b-tooltip",rawName:"v-b-tooltip.hover",modifiers:{hover:!0}}],attrs:{title:"Toggle fullscreen "}},[s("b-btn",{attrs:{size:"sm",variant:"outline-secondary",pressed:"table"===t.tstate.maxPane},on:{click:function(e){return t.tstate.toggleMaxPane("table")}}},[s("i",{staticClass:"fa fa-expand"})])],1):t._e(),s("span",{directives:[{name:"b-tooltip",rawName:"v-b-tooltip.hover",modifiers:{hover:!0}}],attrs:{title:"Expand children as columns"}},[s("b-btn",{attrs:{size:"sm",variant:"outline-secondary",pressed:t.isColumnExpanded},on:{"update:pressed":function(e){t.isColumnExpanded=e}}},[s("i",{staticClass:"fa fa-arrows-h"})])],1),s("span",{directives:[{name:"b-tooltip",rawName:"v-b-tooltip.hover",modifiers:{hover:!0}}],attrs:{title:"Copy table as JSON"}},[s("b-btn",{attrs:{size:"sm",variant:"outline-secondary"}},[s("i",{staticClass:"fa fa-copy",on:{click:function(e){return t.copy(!1)}}})])],1),s("span",{directives:[{name:"b-tooltip",rawName:"v-b-tooltip.hover",modifiers:{hover:!0}}],attrs:{title:"Copy table as CSV"}},[s("b-btn",{attrs:{size:"sm",variant:"outline-secondary"}},[s("i",{staticClass:"fa fa-copy",on:{click:function(e){return t.copy(!0)}}})])],1),s("span",{directives:[{name:"b-tooltip",rawName:"v-b-tooltip.hover",modifiers:{hover:!0}}],attrs:{title:"Wrap text "}},[s("b-btn",{attrs:{size:"sm",variant:"outline-secondary",pressed:t.tstate.textWrap},on:{click:function(e){t.tstate.textWrap=!t.tstate.textWrap}}},[s("i",{staticClass:"fa fa-level-down"})])],1),s("span",{directives:[{name:"b-tooltip",rawName:"v-b-tooltip.hover",modifiers:{hover:!0}}],attrs:{title:"Advanced Query"}},[s("b-btn",{attrs:{size:"sm",variant:"outline-secondary",pressed:t.showAdvancedQuery},on:{click:function(e){t.showAdvancedQuery=!t.showAdvancedQuery}}},[s("i",{staticClass:"fa fa-filter"})])],1),s("b-button-group",{staticClass:"ml-1"},[s("span",{directives:[{name:"b-tooltip",rawName:"v-b-tooltip.hover",modifiers:{hover:!0}}],attrs:{title:"Go back <[>"}},[s("b-btn",{attrs:{size:"sm",disabled:!t.tstate.canBack()},on:{click:function(e){return t.tstate.back()}}},[s("i",{staticClass:"fa fa-arrow-left"})])],1),s("span",{directives:[{name:"b-tooltip",rawName:"v-b-tooltip.hover",modifiers:{hover:!0}}],attrs:{title:"Go forward <]>"}},[s("b-btn",{attrs:{size:"sm",disabled:!t.tstate.canForward()},on:{click:function(e){return t.tstate.forward()}}},[s("i",{staticClass:"fa fa-arrow-right"})])],1)])],1)],2),t.showAdvancedQuery?[s("div",{directives:[{name:"b-tooltip",rawName:"v-b-tooltip.hover",modifiers:{hover:!0}}],staticStyle:{display:"flex"},attrs:{title:"Advanced Query with Javascript"},on:{keypress:t.onkeypressStopPropagation}},[t._v(" JSQuery:"),s("b-form-input",{staticStyle:{display:"inline",width:"100%"},attrs:{size:"sm",placeholder:"Custom query in JS. E.g. $.name.size() > 10",debounce:"500"},model:{value:t.tableOpt.query.jsQuery,callback:function(e){t.$set(t.tableOpt.query,"jsQuery",e)},expression:"tableOpt.query.jsQuery"}})],1),s("div",{directives:[{name:"b-tooltip",rawName:"v-b-tooltip.hover",modifiers:{hover:!0}}],staticStyle:{display:"flex"},attrs:{title:"Extended Fields"},on:{keypress:t.onkeypressStopPropagation}},[t._v(" ExtendedFields:"),s("b-form-input",{staticStyle:{display:"inline",width:"100%"},attrs:{size:"sm",name:"extendedFields",placeholder:"Extends Fields. E.g. `createdName: $.created.name, createdDate: $.created.data` or spread child: `c_:created`"},on:{blur:function(e){return t.buildTableAndQuery(t.selected)}},model:{value:t.tableOpt.query.extendedFields,callback:function(e){t.$set(t.tableOpt.query,"extendedFields",e)},expression:"tableOpt.query.extendedFields"}})],1)]:t._e()],2)]),s("textarea",{directives:[{name:"model",rawName:"v-model",value:t.copyBuffer,expression:"copyBuffer"}],ref:"textViewCopyBuffer",staticClass:"hiddenTextArea nowrap",domProps:{value:t.copyBuffer},on:{input:function(e){e.target.composing||(t.copyBuffer=e.target.value)}}})],1)},dt=[],ut=s("3af4"),pt=function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("div",{staticClass:"filter-header"},[s("b-button",{staticStyle:{padding:"0px"},attrs:{tabindex:"0",variant:"link",id:t.filterBtnId}},[s("b",{staticClass:"jsontable-head",class:{"has-keyword":t.fieldQuery.query}},[t._v(t._s(t.title))])]),s("b-popover",{attrs:{target:t.filterBtnId,triggers:"focus hover",placement:"top","fallback-placement":"clockwise",boundary:"viewport",delay:"300","no-fade":!0,"boundary-padding":"0"},on:{show:t.onShowPopover}},[s("div",{staticClass:"input-group input-group-sm"},[s("b-form-input",{ref:"input",staticClass:"form-control",attrs:{type:"search",placeholder:"Search "+t.field+"...",debounce:"300"},on:{keydown:[function(e){return!e.type.indexOf("key")&&t._k(e.keyCode,"esc",27,e.key,["Esc","Escape"])?null:(e.preventDefault(),t.close(e))},function(e){return!e.type.indexOf("key")&&t._k(e.keyCode,"enter",13,e.key,"Enter")?null:t.close(e)}]},model:{value:t.fieldQuery.query,callback:function(e){t.$set(t.fieldQuery,"query",e)},expression:"fieldQuery.query"}}),s("b-button",{staticClass:"border-1",class:{btn_pressed:t.fieldQuery.isNegate},attrs:{size:"sm",variant:"light",title:"Negative",pressed:t.fieldQuery.isNegate},on:{"update:pressed":function(e){return t.$set(t.fieldQuery,"isNegate",e)}}},[t._v("!=")]),s("b-button",{staticClass:"border-1",class:{btn_pressed:t.fieldQuery.isRegex},attrs:{size:"sm",variant:"light",title:"Regex matching",pressed:t.fieldQuery.isRegex},on:{"update:pressed":function(e){return t.$set(t.fieldQuery,"isRegex",e)}}},[t._v(".*")]),s("b-button",{staticClass:"border-1",class:{btn_pressed:t.fieldQuery.isArray},attrs:{size:"sm",variant:"light",title:"Array (Comma separated)",pressed:t.fieldQuery.isArray},on:{"update:pressed":function(e){return t.$set(t.fieldQuery,"isArray",e)}}},[t._v("A")]),s("b-button",{directives:[{name:"b-toggle",rawName:"v-b-toggle:my-collapse",arg:"my-collapse"}],staticClass:"border-0",attrs:{size:"sm",variant:"light",title:"Show column statistics"}},[s("span",{staticClass:"when-open"},[s("b",[t._v("⋮")])]),s("span",{staticClass:"when-closed"},[t._v("⋮")])])],1),s("div",[s("b-collapse",{staticStyle:{"font-size":"small"},attrs:{id:"my-collapse"},on:{show:function(e){t.showStats=!0}}},[t.showStats?s("div",[s("div",{staticStyle:{display:"flex","flex-wrap":"wrap","flex-direction":"row",overflow:"visible"}},[s("div",{staticStyle:{"white-space":"nowrap"}},[s("b",[t._v("#")]),t._v(" "+t._s(t.columnStatistic.total))]),s("div",{staticStyle:{"padding-left":"0.2em","white-space":"nowrap"}},[s("b",[t._v("#Uniq")]),t._v(" "+t._s(t.columnStatistic.valueSortedByCounts.length))]),t.columnStatistic.sum?s("div",{staticStyle:{"padding-left":"0.2em","white-space":"nowrap"}},[s("b",[t._v("sum")]),t._v(" "+t._s(t._f("toFixed")(t.columnStatistic.sum,2)))]):t._e(),t.columnStatistic.sum?s("div",{staticStyle:{"padding-left":"0.2em","white-space":"nowrap"}},[s("b",[t._v("Avg")]),t._v(" "+t._s(t._f("toFixed")(t.columnStatistic.avg,2)))]):t._e(),t.columnStatistic.sum?s("div",{staticStyle:{"padding-left":"0.2em","white-space":"nowrap"}},[s("b",[t._v("P50")]),t._v(" "+t._s(t._f("toFixed")(t.columnStatistic.p50,2)))]):t._e(),t.columnStatistic.sum?s("div",{staticStyle:{"padding-left":"0.2em","white-space":"nowrap"}},[s("b",[t._v("P90")]),t._v(" "+t._s(t._f("toFixed")(t.columnStatistic.p90,2)))]):t._e(),t.columnStatistic.sum?s("div",{staticStyle:{"padding-left":"0.2em","white-space":"nowrap"}},[s("b",[t._v("P99")]),t._v(" "+t._s(t._f("toFixed")(t.columnStatistic.p99,2)))]):t._e(),t.columnStatistic.sum?s("div",{staticStyle:{"padding-left":"0.2em","white-space":"nowrap"}},[s("b",[t._v("Min")]),t._v(" "+t._s(t.columnStatistic.min))]):t._e(),t.columnStatistic.sum?s("div",{staticStyle:{"padding-left":"0.2em","white-space":"nowrap"}},[s("b",[t._v("Max")]),t._v(" "+t._s(t.columnStatistic.max))]):t._e()]),s("div",[s("b",[t._v("Top Values")]),s("span",{directives:[{name:"b-tooltip",rawName:"v-b-tooltip.hover",modifiers:{hover:!0}}],attrs:{title:"Copy"}},[s("b-btn",{staticStyle:{"padding-top":"0px","padding-bottom":"0px"},attrs:{size:"sm",variant:"light"}},[s("i",{staticClass:"fa fa-copy",on:{click:function(e){return t.copy()}}})])],1)]),s("div",t._l(t.columnStatistic.valueCountsSorted.slice(0,30),(function(e){return s("div",{staticStyle:{height:"20px","font-size":"small"}},[s("div",{staticStyle:{display:"flex","flex-direction":"row",overflow:"visible"}},[s("div",{staticClass:"text-container",staticStyle:{"flex-grow":"1"}},[t._v(t._s(t._f("textLimit")(e.val,200)))]),s("div",{staticStyle:{"flex-grow":"0","background-color":"white","min-width":"2rem","text-align":"right",color:"blue"}},[t._v(t._s(e.count))]),s("div",{staticStyle:{"flex-grow":"0","background-color":"white","min-width":"2.7rem","text-align":"right",color:"green"}},[t._v(t._s(Math.round(1e3*e.percent)/10)+"%")])]),s("progress",{staticStyle:{position:"relative",top:"-0.9em",height:"0.4rem",width:"100%"},attrs:{max:t.columnStatistic.total},domProps:{value:e.count}})])})),0)]):t._e()])],1)]),s("textarea",{directives:[{name:"model",rawName:"v-model",value:t.copyBuffer,expression:"copyBuffer"}],ref:"textViewCopyBuffer",staticClass:"hiddenTextArea nowrap",domProps:{value:t.copyBuffer},on:{input:function(e){e.target.composing||(t.copyBuffer=e.target.value)}}})],1)},ht=[],mt=s("3f6a"),ft={props:["field","title","query","xprops"],data(){return{copyBuffer:"",showStats:!1}},methods:{onShowPopover(){a["default"].nextTick(()=>this.$refs.input.focus({preventScroll:!0}))},close(){this.$root.$emit("bv::hide::popover")},copy(){this.copyBuffer=mt["a"].toCSV(this.columnStatistic.valueCountsSorted),this.$nextTick(()=>{const t=this.$refs.textViewCopyBuffer;t.select(),t.setSelectionRange(0,999999999);document.execCommand("copy");this.$bvToast.toast("Data is copied successfully",{autoHideDelay:2e3,appendToast:!0,toaster:"b-toaster-bottom-right"})})}},computed:{filterBtnId(){return"filterbtn-"+this.field},columnStatistic(){return mt["a"].collectColumnStatistic(this.xprops.filteredData,this.field)},fieldQuery(){return this.query.fieldQueries[this.field]}}},vt=ft,bt=(s("a604"),Object(m["a"])(vt,pt,ht,!1,null,null,null)),_t=bt.exports,yt=function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("div",{staticClass:"td-value",class:{"td-value-max-width":!0,"td-value-max-height":!0}},[t.value?t.html?s("div",{domProps:{innerHTML:t._s(t.html)}}):t.isRawValue?s("div",[t._v(t._s(t.value))]):t.isSimpleType?s("div",[s("simple-value",{attrs:{tnode:t.value,isInTable:!0,textWrap:t.xprops.tstate.textWrap},on:{"node-clicked":t.nodeClicked}})],1):s("div",[s("tree-view-item",{staticClass:"tree-view-item-root",staticStyle:{"margin-left":"0!important"},attrs:{tnode:t.value,expandState:t.xprops.expandState,currentLevel:0},on:{"node-clicked":t.nodeClicked}})],1):s("div")])},gt=[],wt=s("d30e"),xt=wt["a"],Ot=(s("2ff7"),Object(m["a"])(xt,yt,gt,!1,null,null,null)),St=Ot.exports,Tt=function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("div",[t.isObject?s("div",{staticClass:"tdv_key"},[s("a",{attrs:{href:"#"},on:{click:function(e){return e.stopPropagation(),t.nodeClicked(t.row["@value"])}}},[t._v(t._s(t.value))])]):s("div",{staticClass:"tdv_key"},[t._v(t._s(t.value))])])},Ct=[],kt={props:["value","row","xprops"],methods:{nodeClicked(t){this.xprops.tstate.select(t)}},computed:{isObject(){return this.row["@value"].type!==S["TDNodeType"].SIMPLE}}},jt=kt,Et=(s("5f64"),Object(m["a"])(jt,Tt,Ct,!1,null,"d93b97b2",null)),Pt=Et.exports,Dt=function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("ol",{staticClass:"breadcrumb jsonpath"},[t.items?t._l(t.items,(function(e,a){return s("li",{key:e.text+a,class:["breadcrumb-item",e.active?"active":null]},[e.active?s("span",{domProps:{innerHTML:t._s(e.text)}}):s("b-link",{attrs:{to:e.to||e.href||e.link},domProps:{innerHTML:t._s(e.text)},on:{click:function(s){return t.onclick(e)}}})],1)})):t._e(),t._t("default")],2)},Mt=[];let At=class extends u["c"]{onclick(t){this.$emit("node-clicked",["",...t.node.path])}get items(){const t=new Array;if(!this.treeNode)return t;t.unshift({text:this.treeNode.key,active:!0});for(let e=this.treeNode.parent;e;e=e.parent)t.unshift({text:e.key,href:"",node:e});return t}};Object(y["a"])([Object(u["b"])()],At.prototype,"treeNode",void 0),At=Object(y["a"])([u["a"]],At);var Nt=At,Lt=Nt,It=(s("1922"),Object(m["a"])(Lt,Dt,Mt,!1,null,null,null)),qt=It.exports;const Bt="@value",Rt="#",$t="@key";let Vt=class extends u["c"]{constructor(){super(...arguments),this.tableOpt={tblClass:"table-bordered",pageSizeOptions:[5,20,50,100,200,500],columns:[],data:[],filteredData:[],rawData:[],total:0,query:new k["c"],xprops:{tstate:null,filteredData:[]}},this.tstate=new W({}),this.isColumnExpanded=!1,this.isColumnExpandedBuild=!1,this.expandState=new at["a"](0,0,!1),this.copyBuffer="",this.showAdvancedQuery=!1}rebuildTable(t,e=null){this.defTableOpt||(this.defTableOpt=this.tableOpt),this.defTableOpt.columns=[],this.tableOpt=Object.assign(Object.assign({},this.defTableOpt),this.applyCustomOpts&&this.options),e&&(this.tableOpt.query=e.query,this.tableOpt.columns=e.columns,this.isColumnExpanded=e.isColumnExpanded),this.buildTableAndQuery(t),this.tstate.hasTreeInTable=!1,this.tableOpt.xprops.tstate=this.tstate,this.tableOpt.xprops.expandState=this.expandState,this.isColumnExpandedBuild=this.isColumnExpanded}buildTableAndQuery(t){this.buildTable(t),this.queryData()}buildTable(t){if(this.tableOpt.rawData=[],!t)return;let e=null;if(this.query.extendedFields){const t=`\n with($) { // With doesn't work with Proxy (not sure why)\n // console.log(JSON.stringify($));\n return {${this.query.extendedFields}}\n }\n `;try{e=new Function("$",t)}catch(n){console.error("Error parsing extend fields: "+t),console.error(n)}}const s=t.type===S["TDNodeType"].ARRAY,a=s?Rt:$t;if(this.addColumn(a,0),t.children)for(const r of t.children){const t={[a]:s?Number(r.key):r.key,[Bt]:r};if(this.tableOpt.rawData.push(t),this.isColumnExpanded&&r&&r.children)for(const e of r.children)this.addColumn(e.key),t[e.key]=e;else this.addColumn(Bt,1);if(e)try{const s=e(r.toObject(!0,!0));for(const e in s)this.addExtObject(e,s[e],t)}catch(n){console.error("Error evalute ext fields: "+this.query.extendedFields),console.error(n)}}}addExtObject(t,e,s){var a,n;if(t.endsWith("_")&&e){if(Array.isArray(e)){for(let n=0;ne.field===t);n||(n={field:t,visible:s||!(this.applyCustomOpts&&this.options.columns)},a.splice(e,0,n)),n.processed||(n.title=n.title||t,n.sortable=!0,n.thComp=n.thComp||_t,n.tdComp=n.tdComp||(s?Pt:St),n.processed=!0,this.$set(this.tableOpt.query,t,void 0),this.$set(this.tableOpt.query.fieldQueries,t,new k["a"]),n.thClass="tdv-th",n.tdClass="tdv-td",s&&(n.thClass+=" tdv-min tdv-td",n.tdClass="tdv-min tdv-td"))}defaultExpand(t){if(!t)return!1;const e=new Set;let s=0;if(!t.children||0===t.children.length)return!1;for(const i of t.children)if(i&&i.children)for(const t of i.children)e.add(t.key),s++;const a=.8,n=t.children.length,r=e.size-1;return s-=n,e.size<100&&s>=r*(n-(n-1)*a)}nodeClicked(t){this.tstate.select(t)}queryData(){ut["a"].filter(this.tableOpt),this.tableOpt.xprops.filteredData=this.tableOpt.filteredData}copy(t=!1){const e=this.tableOpt.filteredData,s="@key"===this.tableOpt.columns[0].field?mt["a"].rowsToObject(e,this.tableOpt):e.map(t=>mt["a"].rowToObject(t,this.tableOpt));this.copyBuffer=t?mt["a"].toCSV(s):S["TD"].stringify(s),console.log("this.copyBuffer="+this.copyBuffer),this.$nextTick(()=>{const t=this.$refs.textViewCopyBuffer;t.select(),t.setSelectionRange(0,999999999);document.execCommand("copy");this.$bvToast.toast("Data is copied successfully",{autoHideDelay:2e3,appendToast:!0,toaster:"b-toaster-bottom-right"})})}watchQuery(){console.log("query changed: "+JSON.stringify(this.query)),this.queryData()}watchisColumnExpanded(){this.isColumnExpanded!==this.isColumnExpandedBuild&&this.rebuildTable(this.selected)}watchTableData(){this.tstate=this.tableData&&this.tableData instanceof W?this.tableData:new W(this.tableData,new B)}watchSelected(t,e){console.log(`tstate.selected: ${null===e||void 0===e?void 0:e.pathAsString} -> ${null===t||void 0===t?void 0:t.pathAsString}`),e&&e.doc===t.doc&&this.tstate.saveTableState(e,new V(O.a.cloneDeep(this.tableOpt.query),this.expandState.expandLevel,this.tableOpt.columns,this.isColumnExpanded));const s=this.tstate.getTableState(t);null!=s?this.isColumnExpanded=s.isColumnExpanded:(this.isColumnExpanded=this.defaultExpand(t),this.tableOpt.query.extendedFields="",this.tableOpt.query.jsQuery="$"),this.expandState=new at["a"](s?s.expandedLevel:0,0,this.expandState.showChildrenSummary),this.rebuildTable(t,s)}optionsUpdated(){this.rebuildTable(this.selected)}get selected(){return this.tstate?this.tstate.selected:null}get applyCustomOpts(){return this.tstate.isInitialNodeSelected()&&this.isColumnExpanded&&this.options}get query(){return this.tableOpt.query}get hasTableTitleSlot(){return!!this.$slots.tableTitle}onKeyPress(t){var e;null===(e=this.$refs.expandControl)||void 0===e||e.onKeyPress(t)}onkeypressStopPropagation(t){t.stopPropagation()}};Object(y["a"])([Object(u["b"])()],Vt.prototype,"tableData",void 0),Object(y["a"])([Object(u["b"])()],Vt.prototype,"options",void 0),Object(y["a"])([Object(u["b"])()],Vt.prototype,"isInMuliPane",void 0),Object(y["a"])([Object(u["d"])("query",{deep:!0})],Vt.prototype,"watchQuery",null),Object(y["a"])([Object(u["d"])("isColumnExpanded")],Vt.prototype,"watchisColumnExpanded",null),Object(y["a"])([Object(u["d"])("tableData",{immediate:!0})],Vt.prototype,"watchTableData",null),Object(y["a"])([Object(u["d"])("tstate.selected",{immediate:!0})],Vt.prototype,"watchSelected",null),Object(y["a"])([Object(u["d"])("options",{immediate:!0})],Vt.prototype,"optionsUpdated",null),Vt=Object(y["a"])([Object(u["a"])({components:{JsonPath:qt,ExpandControl:at["b"]}})],Vt);var Wt=Vt,Kt=Wt,zt=(s("00df"),Object(m["a"])(Kt,ct,dt,!1,null,null,null)),Ut=zt.exports;let Ft=class extends u["c"]{constructor(){super(...arguments),this.defaultParser=new B,this.selectedParser=this.defaultParser,this.tstate=new W({},this.selectedParser).setInitSOpt(this.options),this.jsonStr="",this.parseResult="",this.strDataSynced=!1,this.error={color:"red"},this.url="https://www.googleapis.com/discovery/v1/apis/vision/v1p1beta1/rest",this.urlInput="",this.treeItemActionStyle={},this.mouseEnterEvent=null,this.mouseInActionBarRealtime=!1,this.mouseInActionBar=!1,this.mouseInNode=!1,this.parse=O.a.debounce((t,e,s=!1)=>{if(s){e.selectedParser=this.parserSelectOptions[0].value;for(const s of this.parserSelectOptions)if(s.value.looksLike(t)){e.selectedParser=s.value;break}}const a=e.tstate.selected?e.tstate.selected.path:[];e.tstate=new W(this.strDataSynced?e.data:t,e.selectedParser,e.rootObjectKey,a).retainState(e.tstate),e.strDataSynced=!1,e.parseResult=e.tstate.parseResult,0===a.length&&e.initalPath&&e.tstate.tree&&e.tstate.select(e.initalPath,!0)},300)}nodeClicked(t){this.tstate.select(t)}format(){this.jsonStr=S["TDJSONWriter"].get().writeAsString(this.tstate.tree.root,(new S["TDJSONWriterOption"]).setIndentFactor(2))}mounted(){window.tdv=this}onKeyPress(t,e){"source"!==e&&("f"===t.key?this.tstate.toggleMaxPane(e):"w"===t.key?this.tstate.textWrap=!this.tstate.textWrap:"["===t.key?this.tstate.back():"]"===t.key&&this.tstate.forward())}transformJson(t){this.jsonStr=JSON.stringify(t(this.tstate.tree.root.toObject(!0)),null,2)}watchData(t){O.a.isString(t)?this.jsonStr=t:(this.jsonStr=JSON.stringify(t,null," "),this.strDataSynced=!0)}watch(t){this.parse(this.jsonStr,this)}watchJsonStr(t,e){t||(t=""),t.length>2e5&&(this.tstate.codeView[0]=!1),t.length<1e5&&(this.tstate.codeView[0]=!0);const s=e?e.length:0,a=Math.abs(s-t.length)>7&&t.length<1e6;this.parse(t,this,a)}get hasError(){return this.parseResult.startsWith("Error")}get tableOpt(){var t;return null===(t=this.options)||void 0===t?void 0:t.defaultTableOpt}get parserSelectOptions(){const t=new Array;return t.push({text:this.defaultParser.name,value:this.defaultParser}),this.options&&this.options.parsers&&this.options.parsers.forEach(e=>t.push({text:e.name,value:e})),t}get copyTextArea(){return this.$refs.copyTextArea}get sourceView(){return this.$refs.sourceView}readFile(t){const e=t.target.files[0];if(!e)return;const s=new FileReader;s.onload=t=>{s.result&&(this.jsonStr=s.result)},s.readAsText(e)}openUrl(t){this.url=t,window.fetch(this.url,{}).then(t=>t.text()).then(t=>this.jsonStr=t).catch(t=>this.jsonStr=t),this.jsonStr=JSON.stringify({action:"loading...",url:this.url},null,2)}get pasteSupported(){var t;return!!(null===(t=null===navigator||void 0===navigator?void 0:navigator.clipboard)||void 0===t?void 0:t.readText)}paste(){navigator.clipboard.readText().then(t=>{this.jsonStr=t})}copyText(t){this.copyTextArea.value=t,this.copyTextArea.select(),this.copyTextArea.setSelectionRange(0,999999999);const e=document.execCommand("copy");console.log("copy result: "+e)}get mouseOverNode(){return this.tstate.findNodeByPath(this.mouseEnterEvent.nodePath)}copyNode(){const t=this.mouseOverNode;t.start&&t.end?this.copyText(this.jsonStr.substring(t.start.pos,t.end.pos)):this.copyText(S["TDJSONWriter"].writeAsString(t,(new S["TDJSONWriterOption"]).setIndentFactor(2)))}nodeMouseEnter(t){this.mouseEnterEvent=t.detail,this.mouseInNode=!0;const e=this.mouseEnterEvent.source.getBoundingClientRect();this.treeItemActionStyle={position:"fixed",top:e.top+"px",left:e.right+"px"}}nodeMouseLeave(t){var e;(null===(e=this.mouseEnterEvent)||void 0===e?void 0:e.source)===t.detail.source&&(this.mouseInNode=!1)}mouseEnterActionBar(){this.mouseInActionBarRealtime=!0,setTimeout(()=>this.mouseInActionBar=!0,500)}mouseLeaveActionBar(){this.mouseInActionBarRealtime=!1,setTimeout(()=>{this.mouseInActionBarRealtime||(this.mouseInActionBar=!1)},500)}};Object(y["a"])([Object(u["b"])()],Ft.prototype,"title",void 0),Object(y["a"])([Object(u["b"])()],Ft.prototype,"data",void 0),Object(y["a"])([Object(u["b"])()],Ft.prototype,"options",void 0),Object(y["a"])([Object(u["b"])()],Ft.prototype,"initalPath",void 0),Object(y["a"])([Object(u["b"])()],Ft.prototype,"rootObjectKey",void 0),Object(y["a"])([Object(u["d"])("data",{immediate:!0})],Ft.prototype,"watchData",null),Object(y["a"])([Object(u["d"])("selectedParser")],Ft.prototype,"watch",null),Object(y["a"])([Object(u["d"])("jsonStr",{immediate:!0})],Ft.prototype,"watchJsonStr",null),Ft=Object(y["a"])([Object(u["a"])({components:{TreeView:lt,JsonTable:Ut,SourceView:Z}})],Ft);var Jt=Ft,Qt=Jt,Yt=(s("1a5c"),Object(m["a"])(Qt,g,w,!1,null,null,null)),Ht=Yt.exports;const Gt='\n{\n refundAmtMoney:"USD 15.32",\n activityHistory:[\n {\n $type:"ActivityHist",\n $id:1234,\n creationDate:"2014/10/02 10:20:37",\n lastModifiedDate:"2014/10/02 10:20:37",\n timeStamp: 1599461650448,\n runtimeContext:"t=118",\n partitionKey:0,\n activityType:"1-buyerCreateCancel",\n log:"http://www.google.com",\n },\n {\n $type:"ActivityHistBoImpl",\n creationDate:"2014/10/02 11:15:13",\n lastModifiedDate:"2014/10/02 11:15:13",\n timeStamp: 1599481650448,\n runtimeContext:"m=t=148\nline2",\n partitionKey:0,\n activityType:"6-sellerApprove",\n }],\n current: {\n $ref: \'#/activityHistory/1\',\n },\n first: {\n $ref: \'#1234\',\n },\n}',Xt="\n- martin:\n name: Martin D'vloper\n job: Developer\n skills:\n - python\n - perl\n - pascal\n- tabitha:\n name: Tabitha Bitumen\n job: Developer\n skills:\n - lisp\n - fortran\n - erlang\n",Zt="document: 1\nname: 'John'\n---\ndocument: 2\nname: 'config'\n",te='\n\n 4.0.0\n com.jsonex\n jcParent\n 0.0.1-SNAPSHOT\n pom\n JSONCoder Parent\n JSONCoder Parent\n https://github.com/eBay/jsonex.git\n\n \n \n jianwu\n Jianwu Chen\n jianchen@ebay.com\n eBay\n http://www.ebay.com\n \n architect\n developer\n \n America/San_Francisco\n \n \n\n \n \n \n ${project.groupId}\n core\n ${project.version}\n \n \n org.projectlombok\n lombok\n 1.18.8\n provided\n \n \n junit\n junit\n test\n 4.8.1\n \n \n \n\n',ee='\n\n\n\n \n \n \n \n \n \n \n\n',se='\nfield1,field2,field3\nv11,v12,v13\nv21, "v2l1\nV2l2" ,v23\n"v31""v31","v32""""v32",v33\n',ae="{K1=v1, k2=123, k3={c=Test with ,in}, k4=[ab,c, def]}",ne="TestBean(treeMap={key1=value1}, linkedList1=[value1], intField=100, floatField=1.4, dateField=Wed Dec 31 19:23:32 PST 1969, bean2=TestBean2(strField=it's a string value, enumField=value2))",re=String.raw` +# Sample from: https://prometheus.io/docs/instrumenting/exposition_formats/#text-based-format +# HELP http_requests_total The total number of HTTP requests. +# TYPE http_requests_total counter +http_requests_total{method="post",code="200"} 1027 1395066363000 +http_requests_total{method="post",code="400"} 3 1395066363000 + +# Escaping in label values: +msdos_file_access_time_seconds{path="C:\\DIR\\FILE.TXT",error="Cannot find file:\n\"FILE.TXT\""} 1.458255915e9 + +# Minimalistic line: +metric_without_timestamp_and_labels 12.47 + +# Minimalistic line: +# HELP metric_without_timestamp_and_labels The total number of HTTP requests. +# TYPE metric_without_timestamp_and_labels counter +metric_without_timestamp_and_labels{} 12.47 + +# A weird metric from before the epoch: +something_weird{problem="division by zero"} +Inf -3982045 + +# A histogram, which has a pretty complex representation in the text format: +# HELP http_request_duration_seconds A histogram of the request duration. +# TYPE http_request_duration_seconds histogram +http_request_duration_seconds_bucket{le="0.05"} 24054 +http_request_duration_seconds_bucket{le="0.1"} 33444 +http_request_duration_seconds_bucket{le="0.2"} 100392 +http_request_duration_seconds_bucket{le="0.5"} 129389 +http_request_duration_seconds_bucket{le="1"} 133988 +http_request_duration_seconds_bucket{le="+Inf"} 144320 +http_request_duration_seconds_sum 53423 +http_request_duration_seconds_count 144320 + +# HELP thanos_objstore_bucket_operation_duration_seconds Duration of successful operations against the bucket +# TYPE thanos_objstore_bucket_operation_duration_seconds histogram +thanos_objstore_bucket_operation_duration_seconds_bucket{bucket="thanos",operation="attributes",le="0.01"} 0 +thanos_objstore_bucket_operation_duration_seconds_bucket{bucket="thanos",operation="attributes",le="0.1"} 0 + +# HELP go_gc_duration_seconds A summary of the pause duration of garbage collection cycles. +# TYPE go_gc_duration_seconds summary +go_gc_duration_seconds{quantile="0"} 0 +go_gc_duration_seconds{quantile="0.25"} 0 +go_gc_duration_seconds{quantile="0.5"} 0 +go_gc_duration_seconds{quantile="0.75"} 0 +go_gc_duration_seconds{quantile="1"} 0 +go_gc_duration_seconds_sum 0 +go_gc_duration_seconds_count 0 + +# Finally a summary, which has a complex representation, too: +# HELP rpc_duration_seconds A summary of the RPC duration in seconds. +# TYPE rpc_duration_seconds summary +rpc_duration_seconds{quantile="0.01"} 3102 +rpc_duration_seconds{quantile="0.05"} 3272 +rpc_duration_seconds{quantile="0.5"} 4773 +rpc_duration_seconds{quantile="0.9"} 9001 +rpc_duration_seconds{quantile="0.99"} 76656 +rpc_duration_seconds_sum 1.7560473e+07 +rpc_duration_seconds_count 2693 +`;var ie={jsonStr:Gt,yamlStr:Xt,xmlStr:te,csvStr:se,mapToStringStr:ae,prometheusStr:re,data:[{text:"empty",value:{}},{text:"jsonStr",value:Gt},{text:"object",value:{testArray:["Just a Test String","in a Test Array",0,1,!0,!1],component:"vue-json-tree-view",descripton:"A JSON Tree View built in Vue.js",tags:[{name:"vue.js"},{name:"JSON"}],steps:["HTML Template","Root Component","View Component",{"Transformation Logic":["Transform Objects","Transform Arrays","Transform Values"]},"Animate","Allow Options","Blog about it..."],obj:{key1:"val1",key2:"val2"}}},{text:"array",value:[{col1:"value11",col2:"value12"},{col1:"value21",col3:"value23"},"value",{col1:"value31",col2:"value32",col3:"value33"},["abc","def",{a:1,b:2}]]},{text:"textproto",value:'n: {\n n1: {\n n11: 1\n # Duplicated key; \':\' is emitted before \'{\'\n n11 {\n n111: false\n }\n n12: "2"\n }\n # Multi-line comments\n # Line2\n ########\n n1: {\n n11: "abcd"\n # Extension keys\n [d.e.f]: 4\n n11: "multiline 1\n"\n \'line2\'\n }\n escapeStr: "a\\tb\\nc\\vd\\u0020e\\vf",\n htmlStr: "\nThis is a link\n"\n n2: [1,2,3]\n n2 [3,4,5] # \':\' is emitted before \'[\'\n "n3" [6, 7, 8, 9]\n}'},{text:"json5",value:"// https://spec.json5.org/\n{\n // comments\n unquoted: 'and you can quote me on that',\n singleQuotes: 'I can use \"double quotes\" here',\n lineBreaks: \"Look, Mom! No \\n's!\",\n hexadecimal: 0xdecaf,\n leadingDecimalPoint: .8675309, andTrailing: 8675309.,\n positiveSign: +1,\n trailingComma: 'in objects', andIn: ['arrays',],\n \"backwardsCompatible\": \"with JSON\",\n}\n"},{text:"jsonex",value:'// Some comments\n{\n "total": 100000000000000000000,\n "longNum": 10000000000,\n "limit": 10,\n /* block comments */\n "data": [\n {\n "name": "Some Name 1", // More line comments\n "address": {\n "streetLine": "1st st",\n city: "san jose",\n },\n "createdAt": "2017-07-14T17:17:33.010Z",\n },\n {\n "name": "Some Name 2",\n "address": /*comments*/ {\n "streetLine": "2nd st",\n city: "san jose",\n },\n "createdAt": "2017-07-14T17:17:33.010Z",\n },\n `Multiple line literal\n Line2`\n ],\n}\n'},{text:"hjson",value:"{\n // use #, // or /**/ comments,\n // omit quotes for keys\n key: 1\n // omit quotes for strings\n contains: everything on this line\n // omit commas at the end of a line\n cool: {\n foo: 1\n bar: 2\n }\n // allow trailing commas\n list: [\n 1,\n 2,\n ]\n // and use multiline strings\n realist:\n '''\n My half empty glass,\n I will fill your empty half.\n Now you are half full.\n '''\n}\n"},{text:"yaml",value:Xt},{text:"yaml-Multi-Doc",value:Zt},{text:"xml",value:te},{text:"fxml (JavaFx)",value:ee},{text:"csv",value:se},{text:"map.toString",value:ae},{text:"lombok.toString",value:ne},{text:"prometheus",value:re}]};class oe{constructor(t="CSV",e=","){this.name=t,this.fieldSep=e,this.syntax="csv",this.option={}}looksLike(t){const e=M["a"].topLines(t,5e3);if(e.numLines<=1)return!1;try{const s=S["CSVParser"].get().parse(t.substr(0,e.length),this.csvOption),a=s.children[0].getChildrenSize();if(a<2)return!1;for(let t=1;t=0&&t.indexOf("\n# TYPE ")>=0}get csvOption(){return(new S["CSVOption"]).setFieldSep(this.fieldSep)}parse(t){const e=new j;try{return e.result=S["TDObjectCoder"].get().encode((new me).parse(t)),e.message="PrometheusParser.parse()",e}catch(s){return e.message="Error:"+s.message,console.error(s),e}}stringify(t){return t.toJSON()}}let ve=class extends u["c"]{constructor(){super(...arguments),this.param=new le,this.sampleData=ie.data,this.jsonData=ie.data[0].value,this.tdvOption=(new E).setParsers([new B("Lombok.toString",N.LOMBOK_TO_STRING),new B("Map.toString",N.JAVA_MAP_TO_STRING),new A("XML compact","text/xml",!0),new A,new A("html","text/html"),new oe,new oe("TSV","\t"),new oe("SSV"," "),new fe,new q])}get jsonTreeTable(){return this.$refs.jsonTreeTable}beforeMount(){this.param.data&&(this.jsonData=this.param.data),this.param.option&&Object.assign(this.tdvOption,this.param.option),this.param.tableConfig&&Object.assign(this.tdvOption.defaultTableOpt,this.param.tableConfig),null!=this.param.embeddedId&&(window.parent.postMessage({type:"tdv-ready",id:this.param.embeddedId},"*"),window.opener&&window.opener.postMessage({type:"tdv-ready",id:this.param.embeddedId},"*"),window.addEventListener("message",t=>{"tdv-setData"===t.data.type&&(this.jsonData=t.data.data)},!1))}mounted(){this.param.dataUrl&&this.jsonTreeTable.openUrl(this.param.dataUrl)}};ve=Object(y["a"])([Object(u["a"])({components:{JsonTreeTable:Ht,JsonTable:Ut}})],ve);var be=ve,_e=be,ye=(s("6228"),Object(m["a"])(_e,b,_,!1,null,null,null)),ge=ye.exports,we=function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("div",{staticClass:"components-container",attrs:{id:"app"}},[s("json-table",{attrs:{"table-data":t.tstateTable,options:t.tableParam.tableConfig}},[s("div",{attrs:{slot:"tableTitle"},slot:"tableTitle"},[s("h5",{staticStyle:{"margin-top":"6px","margin-right":"5px"}},[t._v(t._s(t.tableParam.title)+" ")])])])],1)},xe=[],Oe=function(t,e){var s=e._c;return s("b",[e._v(e._s(e.props.value.value))])},Se=[],Te={},Ce=Te,ke=Object(m["a"])(Ce,Oe,Se,!0,null,null,null),je=ke.exports;const Ee=S["LangUtil"].doIfNotNull;let Pe=class extends u["c"]{constructor(){super(...arguments),this.param=new le,this.tableParam={title:"Test Table Title",jsonData:ie.jsonStr,initialPath:"/activityHistory",tableConfig:{Pagination:!1,columns:[{field:"activityType"},{field:"partitionKey",tdComp:je},{field:"$type",html:'`${value.value}`'},{field:"creationDate",html:(t,e)=>`${t.value}`}]}}}get tstateTable(){const t=new W(this.tableParam.jsonData),e=t.tree.root.getByPath(this.tableParam.initialPath||"");return e&&t.select(e,!0),t}mounted(){Ee(this.param.title,t=>this.tableParam.title=t),Ee(this.param.tableConfig,t=>this.tableParam.tableConfig=t),Ee(this.param.data,t=>this.tableParam.jsonData=t),Ee(this.param.initialPath,t=>this.tableParam.initialPath=t)}};Pe=Object(y["a"])([Object(u["a"])({components:{JsonTable:Ut}})],Pe);var De=Pe,Me=De,Ae=Object(m["a"])(Me,we,xe,!1,null,null,null),Ne=Ae.exports;a["default"].config.productionTip=!1,a["default"].use(r["a"]),a["default"].use(i["a"]),a["default"].use(l.a),a["default"].use(n["a"]),a["default"].component("tree-view-item",st["a"]),a["default"].component("codemirror",U["codemirror"]),a["default"].filter("textLimit",M["a"].textLimit),a["default"].filter("toFixed",M["a"].toFixed);const Le=new n["a"]({routes:[{path:"/",component:ge},{path:"/table",component:Ne}]});new a["default"]({router:Le,render:t=>t(v)}).$mount("#app")},d276:function(t,e,s){var a=s("f682");"string"===typeof a&&(a=[[t.i,a,""]]),a.locals&&(t.exports=a.locals);var n=s("499e").default;n("714a40c4",a,!0,{sourceMap:!1,shadowMode:!1})},d30e:function(module,__webpack_exports__,__webpack_require__){"use strict";var lodash__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__("2ef0"),lodash__WEBPACK_IMPORTED_MODULE_0___default=__webpack_require__.n(lodash__WEBPACK_IMPORTED_MODULE_0__),treedoc__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__("6c22"),treedoc__WEBPACK_IMPORTED_MODULE_1___default=__webpack_require__.n(treedoc__WEBPACK_IMPORTED_MODULE_1__),_TreeViewItem_vue__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__("9783"),_models_TreeUtil_ts__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__("e421"),_SimpleValue_vue__WEBPACK_IMPORTED_MODULE_4__=__webpack_require__("9536");__webpack_exports__["a"]={components:{TreeViewItem:_TreeViewItem_vue__WEBPACK_IMPORTED_MODULE_2__["a"],SimpleValue:_SimpleValue_vue__WEBPACK_IMPORTED_MODULE_4__["a"]},props:["field","value","row","xprops","columns"],computed:{html(){const col=this.col,html=this.col&&col.html;return"function"===typeof html?html(this.value,this.row):((value,row)=>eval(html))(this.value,this.row)},col(){return lodash__WEBPACK_IMPORTED_MODULE_0___default.a.find(this.columns,{field:this.field})},isLastCol(){return this.col===this.columns[this.columns.length-1]},isSimpleType(){return this.value.type===treedoc__WEBPACK_IMPORTED_MODULE_1__["TDNodeType"].SIMPLE},isRawValue(){return!this.value.hasOwnProperty("type")&&!this.value.hasOwnProperty("isLeaf")}},methods:{nodeClicked(t){this.xprops.tstate.select(t)}},watch:{value:{immediate:!0,handler(t){!t||this.html||this.isSimpleType||(this.xprops.tstate.hasTreeInTable=!0)}}}}},d580:function(t,e,s){var a=s("ad23");"string"===typeof a&&(a=[[t.i,a,""]]),a.locals&&(t.exports=a.locals);var n=s("499e").default;n("3f05c944",a,!0,{sourceMap:!1,shadowMode:!1})},d82a:function(t,e,s){"use strict";s.d(e,"a",(function(){return n})),s.d(e,"b",(function(){return r})),s.d(e,"c",(function(){return i}));var a=s("6c22");class n{constructor(){this.query="",this.compiledQuery="",this.isRegex=!1,this.isArray=!1,this.isNegate=!1}compile(){if(this.query===this.compiledQuery)return;if(this.compiledQuery=this.query,!this.query)return void(this.queryCompiled=[]);const t=this.isArray?a["TD"].parse(this.query,{defaultRootType:a["TDNodeType"].ARRAY}):[this.query];this.queryCompiled=t.map(t=>this.isRegex?new RegExp(t,"i"):t.toString().toLowerCase())}match(t){if(!this.query)return!0;let e=!1;for(const s of this.queryCompiled)if(s instanceof RegExp){if(s.test(t)){e=!0;break}}else if(t.toLocaleLowerCase().indexOf(s)>=0){e=!0;break}return this.isNegate!==e}}const r="$";class i{constructor(){this.offset=0,this.limit=100,this.jsQuery=r,this.fieldQueries={},this.fieldQueries={}}match(t){Object.values(this.fieldQueries).forEach(t=>t.compile());for(const e of Object.keys(this.fieldQueries)){const s=this.fieldQueries[e];if(!s.match(""+t[e]))return!1}return!0}}},e421:function(t,e,s){"use strict";s.d(e,"a",(function(){return n}));var a=s("6c22");class n{static getSimpleTypeName(t){const e=t.indexOf("<");e>0&&(t=t.substr(0,e));const s=t.lastIndexOf(".");return s<0?t:t.substring(s+1)}static getTypeLabel(t){let e=null;const s=t.getChildValue(n.KEY_TYPE);return s&&"string"===typeof s&&(e=s),e?n.getSimpleTypeName(e):""}static getTypeSizeLabel(t,e=!1){let s=t.type===a["TDNodeType"].ARRAY?`[${t.getChildrenSize()}]`:`{${t.getChildrenSize()}}`,r=this.getTypeLabel(t);const i=t.getChildValue(n.KEY_ID);return i&&(r+="@"+i),r.length>0&&(s+=` <${r}>`),e&&(s=t.toStringInternal(s,!1,!1,100)),s}}n.KEY_TYPE="$type",n.KEY_ID="$id",n.KEY_REF="$ref"},efa7:function(t,e,s){var a=s("24fb");e=a(!1),e.push([t.i,".status-msg{font-size:smaller;color:#006400}.error{color:red}.panview{max-height:100%;width:100%;background-color:#fff}.panview,.tdv-container{height:100%;display:flex;flex-direction:column}.split-container{flex-grow:1;overflow:auto}.tdv-top{background-color:#d3d3d3}.tdv-toolbar{position:sticky;top:0;left:0;z-index:100}.tdv-title{color:#00008b}.tdv-hint{color:#aaa;font-size:90%}.json-tree-table * .btn-outline-secondary:hover{background-color:#bdccdc}.json-tree-table * .btn-outline-secondary:not(:disabled):not(.disabled).active,.json-tree-table * .btn-secondary{background-color:rgba(108,117,125,.6509803921568628)}.json-tree-table * .btn-outline-secondary:not(:disabled):not(.disabled).active:hover,.json-tree-table * .btn-secondary:hover:not(:disabled){background-color:#6c757d}.hiddenTextArea{left:0;top:0;position:static}.nowrap{white-space:pre;overflow:auto;word-wrap:normal}.hiddenTextArea{position:fixed;opacity:0;width:0;height:0}.focus{outline:1px solid #00f;margin:1px}",""]),t.exports=e},f682:function(t,e,s){var a=s("24fb");e=a(!1),e.push([t.i,"pre.tdv-value{margin-bottom:1px;overflow-wrap:anywhere}.number{color:#164}.string{color:#a11}",""]),t.exports=e},f8c8:function(t,e,s){var a=s("310c");"string"===typeof a&&(a=[[t.i,a,""]]),a.locals&&(t.exports=a.locals);var n=s("499e").default;n("79177dd2",a,!0,{sourceMap:!1,shadowMode:!1})},fcaa:function(t,e,s){var a=s("47e8");"string"===typeof a&&(a=[[t.i,a,""]]),a.locals&&(t.exports=a.locals);var n=s("499e").default;n("744cec3e",a,!0,{sourceMap:!1,shadowMode:!1})}}); +//# sourceMappingURL=app.cc952238.js.map \ No newline at end of file diff --git a/js/app.cc952238.js.map b/js/app.cc952238.js.map new file mode 100644 index 0000000..dbd4492 --- /dev/null +++ b/js/app.cc952238.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./src/components/JsonTable.vue?ca68","webpack:///./src/components/td-Value.vue?ae58","webpack:///./src/components/td-Key1.vue?74bb","webpack:///./src/components/JsonPath.vue?dea1","webpack:///./src/components/JsonTreeTable.vue?629d","webpack:///./src/components/SourceView.vue?4c25","webpack:///./src/components/TreeView.vue?a2f1","webpack:///./src/components/JsonTreeTable.vue?dd66","webpack:///./src/components/td-Value.vue?6db5","webpack:///./src/components/JsonTable.vue?09d4","webpack:///./src/components/ExpandControl.vue?cb44","webpack:///./src/components/DataFilter.ts","webpack:///./src/Home.vue?313a","webpack:///./src/models/TableUtil.ts","webpack:///./src/components/JsonPath.vue?0eba","webpack:///./src/util/Util.ts","webpack:///./src/components/th-Filter.vue?2753","webpack:///./src/components/td-Key1.vue?c14a","webpack:///./src/Home.vue?f9f7","webpack:///./src/components/TreeViewItem.vue?ee6e","webpack:///./src/components/TreeViewItem.vue?ad9f","webpack:///./src/components/TreeView.vue?cad4","webpack:///./src/components/th-Filter.vue?b6fd","webpack:///./src/components/ExpandControl.vue?3e78","webpack:///./src/components/TreeView.vue?f950","webpack:///./src/components/SimpleValue.vue?3484","webpack:///./src/components/SimpleValue.vue?a29c","webpack:///./src/components/SimpleValue.vue?9464","webpack:///./src/components/SimpleValue.vue","webpack:///./src/components/TreeViewItem.vue?03b9","webpack:///./src/components/TreeViewItem.vue?33f0","webpack:///./src/components/TreeViewItem.vue?51b5","webpack:///./src/components/TreeViewItem.vue","webpack:///./src/components/TreeViewItem.vue?b0ab","webpack:///./src/Home.vue?0dc5","webpack:///./src/components/ExpandControl.vue?87f8","webpack:///./src/components/ExpandControl.vue?b39c","webpack:///./src/components/ExpandControl.vue?4720","webpack:///./src/components/ExpandControl.vue","webpack:///./src/components/th-Filter.vue?0556","webpack:///./src/components/SourceView.vue?7073","webpack:///./src/components/SimpleValue.vue?4a78","webpack:///./src/components/ExpandControl.vue?fbf4","webpack:///./src/components/td-Key1.vue?a74c","webpack:///./src/components/td-Value.vue?6787","webpack:///./src/App.vue?7593","webpack:///./src/App.vue?9844","webpack:///./src/App.vue?8d8e","webpack:///./src/App.vue","webpack:///./src/Home.vue?cb33","webpack:///./src/components/JsonTreeTable.vue?0ac9","webpack:///./src/models/History.ts","webpack:///./src/models/TDVOption.ts","webpack:///./src/parsers/XMLParserPlugin.ts","webpack:///./src/parsers/JSONParserPlugin.ts","webpack:///./src/util/TextLine.ts","webpack:///./src/parsers/YAMLParserPlugin.ts","webpack:///./src/models/TreeState.ts","webpack:///./src/components/SourceView.vue?04df","webpack:///./src/components/SourceView.vue?26ba","webpack:///./src/components/SourceView.vue?ac39","webpack:///./src/components/SourceView.vue","webpack:///./src/components/TreeView.vue?0a32","webpack:///./src/components/TreeView.vue?eb1d","webpack:///./src/components/TreeView.vue?0154","webpack:///./src/components/TreeView.vue","webpack:///./src/components/JsonTable.vue?47ef","webpack:///./src/components/th-Filter.vue?bbb1","webpack:///src/components/th-Filter.vue","webpack:///./src/components/th-Filter.vue?c4d4","webpack:///./src/components/th-Filter.vue","webpack:///./src/components/td-Value.vue?9055","webpack:///./src/components/td-Value.vue?fec3","webpack:///./src/components/td-Value.vue","webpack:///./src/components/td-Key1.vue?9dd2","webpack:///src/components/td-Key1.vue","webpack:///./src/components/td-Key1.vue?73e7","webpack:///./src/components/td-Key1.vue","webpack:///./src/components/JsonPath.vue?00ff","webpack:///./src/components/JsonPath.vue?1eac","webpack:///./src/components/JsonPath.vue?3917","webpack:///./src/components/JsonPath.vue","webpack:///./src/components/JsonTable.vue?f76d","webpack:///./src/components/JsonTable.vue?c7df","webpack:///./src/components/JsonTable.vue","webpack:///./src/components/JsonTreeTable.vue?fa7b","webpack:///./src/components/JsonTreeTable.vue?6a1d","webpack:///./src/components/JsonTreeTable.vue","webpack:///./src/sampleData.ts","webpack:///./src/parsers/CSVParserPlugin.ts","webpack:///./src/UrlParam.ts","webpack:///./src/parsers/PrometheusParser.ts","webpack:///./src/parsers/PrometheusParserPlugin.ts","webpack:///./src/Home.vue?f5cb","webpack:///./src/Home.vue?08f6","webpack:///./src/Home.vue","webpack:///./src/TableTest.vue?df42","webpack:///./src/tdSample.vue?5700","webpack:///./src/tdSample.vue?f8c0","webpack:///./src/tdSample.vue?4592","webpack:///./src/tdSample.vue","webpack:///./src/TableTest.vue?e567","webpack:///./src/TableTest.vue?1a27","webpack:///./src/TableTest.vue","webpack:///./src/main.ts","webpack:///./src/components/SimpleValue.vue?d143","webpack:///src/components/td-Value.vue","webpack:///./src/components/SourceView.vue?e061","webpack:///./src/components/Vue2DataTable.ts","webpack:///./src/models/TreeUtil.ts","webpack:///./src/components/JsonTreeTable.vue?be6a","webpack:///./src/components/SimpleValue.vue?9494","webpack:///./src/components/JsonTable.vue?61bc","webpack:///./src/components/JsonPath.vue?d139"],"names":["webpackJsonpCallback","data","moduleId","chunkId","chunkIds","moreModules","executeModules","i","resolves","length","Object","prototype","hasOwnProperty","call","installedChunks","push","modules","parentJsonpFunction","shift","deferredModules","apply","checkDeferredModules","result","deferredModule","fulfilled","j","depId","splice","__webpack_require__","s","installedModules","exports","module","l","m","c","d","name","getter","o","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","p","jsonpArray","window","oldJsonpFunction","slice","___CSS_LOADER_API_IMPORT___","content","locals","add","default","opt","filteredData","rawData","filter","query","match","jsQuery","func","filterFunc","eval","rowToMapWithAllFields","e","console","error","q","total","offset","Math","max","limit","sort","getFieldValue","row","v","undefined","orderBy","order","end","ColumnStatistic","sum","avg","p50","p90","p99","valueCounts","valueSortedByCounts","this","map","val","count","percent","TableUtil","rows","tableOpt","forEach","rowToObject","col","log","stat","vals","valToObject","JSON","stringify","min","a","b","floor","keys","includeKey","includeValue","columns","field","visible","toObject","obj","encode","instance","writeAsString","Util","str","pattern","detectLength","isBlank","startsWith","endsWith","indexOf","numLines","condition","action","text","suffix","substring","precision","power","pow","String","round","array","render","_vm","_h","$createElement","_c","_self","staticClass","attrs","on","$event","stopPropagation","$emit","refAbsolute","_v","_s","ref","url","class","valueStyle","style","whiteSpaceStyle","tnode","date","staticRenderFns","START_TIME","Date","getTime","END_TIME","tryDate","TreeUtil","KEY_REF","Number","isNumber","toISOString","parent","pathAsString","textWrap","required","component","isSimpleType","bubbleEvent","toggleOpen","opened","open","selected","onKeyDown","concat","path","mouseEnter","mouseLeave","label","_l","children","cn","refInFor","currentLevel","expandState","_e","getChildrenSize","staticStyle","pageSize","PAGE_SIZE","NodeMouseEnterEvent","nodePath","source","mouseOver","type","SIMPLE","getTypeSizeLabel","showChildrenSummary","$el","scrollIntoView","block","start","$nextTick","item","$refs","selectNode","isLeaf","state","fullyExpand","expandLevel","moreLevel","evtName","setTimeout","doIf","dispatchEvent","CustomEvent","detail","target","bubbles","composed","preventDefault","immediate","deep","components","SimpleValue","directives","rawName","modifiers","canCollapse","collapseAll","collapse","canExpand","expend","expendAll","$set","ExpandState","minLevel","jsonData","param","initialPath","tdvOption","scopedSlots","_u","fn","title","proxy","embeddedId","dataUrl","sampleData","model","callback","$$v","expression","_t","file1","click","readFile","openUrl","urlInput","jsonStr","copyText","paste","tstate","codeView","format","showSource","showTree","showTable","parserSelectOptions","selectedParser","hasError","parseResult","maxPane","nativeOn","nodeMouseEnter","nodeMouseLeave","focus","curPan","onKeyPress","slot","syntax","selection","rootObjectKey","nodeClicked","mouseInNode","mouseInActionBar","mouseEnterActionBar","mouseLeaveActionBar","copyNode","History","items","pos","canBack","canForward","element","ParseStatus","ParseResult","status","SUCCESS","message","defaultTableOpt","tblClass","pageSizeOptions","xprops","parsers","mineType","compact","option","nonBlankStartsWith","nonBlankEndsWith","doc","DOMParser","parseFromString","trim","root","childNodes","xmlObj","docToObj","tag","compactToObject","node","constructor","Element","tagName","getAttributeNames","attr","getAttribute","nodeName","nodeValue","Text","textContent","addToMap","comments","cnode","isObject","res","k","JSONParserType","lineOffsets","newLine","charAt","line","sortedIndex","column","looksLike","topLines","parseAllDocuments","parseYaml","textLine","yaml","contents","toTDNode","ARRAY","y","createChild","FLOW_MAP","MAP","toTDNodeMap","FLOW_SEQ","SEQ","toTDNodeAray","PLAIN","BLOCK_FOLDED","BLOCK_LITERAL","QUOTE_DOUBLE","QUOTE_SINGLE","warn","getBookmark","range","cNode","NORMAL","parse","getTDJSONParserOption","deliminatorObjectEnd","deliminatorArrayEnd","pColon","pEqual","MAX_SAFE_INTEGER","JAVA_MAP_TO_STRING","LOMBOK_TO_STRING","src","nodes","setDefaultRootType","skipSpacesAndReturnsAndCommas","merge","e2","ERROR","ofMapToString","setDeliminatorKey","setDeliminatorObject","setIndentFactor","doIfNotNull","CurState","TableNodeState","expandedLevel","isColumnExpanded","treeData","parserPlugin","rootLabel","selectedPath","history","tableStateCache","Map","hasTreeInTable","curState","tree","buildTree","freeze","select","pan","$","orgState","tdNode","initial","selectedNode","findNodeByPath","initialNode","append","set","noNull","getByPath","jsonPointer","docPath","back","forward","pane","useCodeView","options","readonly","domProps","composing","truncatedText","SIZE_LIMIT_FOR_READONLY","substr","textView","truncate","syntaxMap","xml","json","tabSize","lineNumbers","lineWrapping","softWrap","viewportMargin","extraKeys","foldGutter","gutters","show","editor","setSelection","toPos","scroll","scrollTo","setSelectionRange","codemirror","bm","ch","textarea","txt","scrollTop","height","scrollHeight","old","expandControl","TreeViewItem","ExpandControl","_b","toggleMaxPane","copy","showAdvancedQuery","onkeypressStopPropagation","buildTableAndQuery","copyBuffer","filterBtnId","fieldQuery","onShowPopover","_k","keyCode","close","isNegate","isRegex","isArray","arg","showStats","columnStatistic","_f","valueCountsSorted","props","methods","nextTick","input","preventScroll","$root","toCSV","textViewCopyBuffer","document","execCommand","$bvToast","toast","autoHideDelay","appendToast","toaster","computed","collectColumnStatistic","fieldQueries","html","idx","active","to","href","link","onclick","paths","Array","treeNode","unshift","pNode","COL_VALUE","COL_NO","COL_KEY","isColumnExpandedBuild","cachedState","defTableOpt","applyCustomOpts","buildTable","queryData","extFunc","extendedFields","exp","Function","ia","keyCol","addColumn","cv","ext","addExtObject","$$tdNode","isKeyCol","cols","find","processed","sortable","thComp","tdComp","thClass","tdClass","Set","cellCnt","child","size","DataFilter","asCSV","exportData","rowsToObject","rebuildTable","tableData","oldNode","saveTableState","cloneDeep","getTableState","defaultExpand","isInitialNodeSelected","$slots","tableTitle","JsonPath","defaultParser","setInitSOpt","strDataSynced","color","treeItemActionStyle","mouseEnterEvent","mouseInActionBarRealtime","debounce","THIS","detectParser","parser","retainState","initalPath","tdv","isString","oldLen","detectNeeded","abs","copyTextArea","sourceView","ef","fileName","files","reader","FileReader","onload","readAsText","fetch","then","catch","err","navigator","clipboard","readText","mouseOverNode","getBoundingClientRect","position","top","left","right","TreeView","JsonTable","SourceView","yamlStr","yamlMultiDocStr","xmlStr","fxml","csvStr","mapToStringStr","lombokToString","prometheusStr","raw","testArray","descripton","tags","steps","key1","key2","col1","col2","col3","fieldSep","csvOption","columnSize","setFieldSep","URL","location","searchParams","tableConfigStr","tableConfig","optStr","HELP","TYPE","Metric","help","metricsValues","labels","matchLabels","ret","MetricValue","assign","quantiles","$$bucket","entries","MetricLine","currentMetric","currentMetricKey","skipSpacesAndReturns","peek","skip","parseComment","metricLine","parseMetricLine","updateCurrentMetric","parseCommentOfKey","getOrCreateMetric","skipUntilTerminator","skipChars","readUntilTerminator","read","quote","createParseRuntimeException","readQuotedString","sep","parseFloat","isEof","timestamp","quantile","getOrCreateValue","addQuantile","bucket","le","Error","addBucket","metric","toJSON","setParsers","jsonTreeTable","postMessage","id","opener","addEventListener","evt","JsonTreeTable","tstateTable","tableParam","Pagination","runtimeContext","config","productionTip","use","textLimit","toFixed","router","routes","h","$mount","watch","FieldQuery","compiledQuery","queryCompiled","values","defaultRootType","RegExp","toString","toLowerCase","test","toLocaleLowerCase","JS_QUERY_DEFAULT","Query","fq","compile","f","typeName","p2","lastIndexOf","getChildValue","KEY_TYPE","getSimpleTypeName","includeSummary","tl","getTypeLabel","KEY_ID","toStringInternal"],"mappings":"aACE,SAASA,EAAqBC,GAQ7B,IAPA,IAMIC,EAAUC,EANVC,EAAWH,EAAK,GAChBI,EAAcJ,EAAK,GACnBK,EAAiBL,EAAK,GAIHM,EAAI,EAAGC,EAAW,GACpCD,EAAIH,EAASK,OAAQF,IACzBJ,EAAUC,EAASG,GAChBG,OAAOC,UAAUC,eAAeC,KAAKC,EAAiBX,IAAYW,EAAgBX,IACpFK,EAASO,KAAKD,EAAgBX,GAAS,IAExCW,EAAgBX,GAAW,EAE5B,IAAID,KAAYG,EACZK,OAAOC,UAAUC,eAAeC,KAAKR,EAAaH,KACpDc,EAAQd,GAAYG,EAAYH,IAG/Be,GAAqBA,EAAoBhB,GAE5C,MAAMO,EAASC,OACdD,EAASU,OAATV,GAOD,OAHAW,EAAgBJ,KAAKK,MAAMD,EAAiBb,GAAkB,IAGvDe,IAER,SAASA,IAER,IADA,IAAIC,EACIf,EAAI,EAAGA,EAAIY,EAAgBV,OAAQF,IAAK,CAG/C,IAFA,IAAIgB,EAAiBJ,EAAgBZ,GACjCiB,GAAY,EACRC,EAAI,EAAGA,EAAIF,EAAed,OAAQgB,IAAK,CAC9C,IAAIC,EAAQH,EAAeE,GACG,IAA3BX,EAAgBY,KAAcF,GAAY,GAE3CA,IACFL,EAAgBQ,OAAOpB,IAAK,GAC5Be,EAASM,EAAoBA,EAAoBC,EAAIN,EAAe,KAItE,OAAOD,EAIR,IAAIQ,EAAmB,GAKnBhB,EAAkB,CACrB,IAAO,GAGJK,EAAkB,GAGtB,SAASS,EAAoB1B,GAG5B,GAAG4B,EAAiB5B,GACnB,OAAO4B,EAAiB5B,GAAU6B,QAGnC,IAAIC,EAASF,EAAiB5B,GAAY,CACzCK,EAAGL,EACH+B,GAAG,EACHF,QAAS,IAUV,OANAf,EAAQd,GAAUW,KAAKmB,EAAOD,QAASC,EAAQA,EAAOD,QAASH,GAG/DI,EAAOC,GAAI,EAGJD,EAAOD,QAKfH,EAAoBM,EAAIlB,EAGxBY,EAAoBO,EAAIL,EAGxBF,EAAoBQ,EAAI,SAASL,EAASM,EAAMC,GAC3CV,EAAoBW,EAAER,EAASM,IAClC3B,OAAO8B,eAAeT,EAASM,EAAM,CAAEI,YAAY,EAAMC,IAAKJ,KAKhEV,EAAoBe,EAAI,SAASZ,GACX,qBAAXa,QAA0BA,OAAOC,aAC1CnC,OAAO8B,eAAeT,EAASa,OAAOC,YAAa,CAAEC,MAAO,WAE7DpC,OAAO8B,eAAeT,EAAS,aAAc,CAAEe,OAAO,KAQvDlB,EAAoBmB,EAAI,SAASD,EAAOE,GAEvC,GADU,EAAPA,IAAUF,EAAQlB,EAAoBkB,IAC/B,EAAPE,EAAU,OAAOF,EACpB,GAAW,EAAPE,GAA8B,kBAAVF,GAAsBA,GAASA,EAAMG,WAAY,OAAOH,EAChF,IAAII,EAAKxC,OAAOyC,OAAO,MAGvB,GAFAvB,EAAoBe,EAAEO,GACtBxC,OAAO8B,eAAeU,EAAI,UAAW,CAAET,YAAY,EAAMK,MAAOA,IACtD,EAAPE,GAA4B,iBAATF,EAAmB,IAAI,IAAIM,KAAON,EAAOlB,EAAoBQ,EAAEc,EAAIE,EAAK,SAASA,GAAO,OAAON,EAAMM,IAAQC,KAAK,KAAMD,IAC9I,OAAOF,GAIRtB,EAAoB0B,EAAI,SAAStB,GAChC,IAAIM,EAASN,GAAUA,EAAOiB,WAC7B,WAAwB,OAAOjB,EAAO,YACtC,WAA8B,OAAOA,GAEtC,OADAJ,EAAoBQ,EAAEE,EAAQ,IAAKA,GAC5BA,GAIRV,EAAoBW,EAAI,SAASgB,EAAQC,GAAY,OAAO9C,OAAOC,UAAUC,eAAeC,KAAK0C,EAAQC,IAGzG5B,EAAoB6B,EAAI,GAExB,IAAIC,EAAaC,OAAO,gBAAkBA,OAAO,iBAAmB,GAChEC,EAAmBF,EAAW3C,KAAKsC,KAAKK,GAC5CA,EAAW3C,KAAOf,EAClB0D,EAAaA,EAAWG,QACxB,IAAI,IAAItD,EAAI,EAAGA,EAAImD,EAAWjD,OAAQF,IAAKP,EAAqB0D,EAAWnD,IAC3E,IAAIU,EAAsB2C,EAI1BzC,EAAgBJ,KAAK,CAAC,EAAE,kBAEjBM,K,6ECvJT,W,uBCCA,IAAIyC,EAA8B,EAAQ,QAC1C/B,EAAU+B,GAA4B,GAEtC/B,EAAQhB,KAAK,CAACiB,EAAOzB,EAAI,gHAAiH,KAE1IyB,EAAOD,QAAUA,G,uBCHjB,IAAIgC,EAAU,EAAQ,QACA,kBAAZA,IAAsBA,EAAU,CAAC,CAAC/B,EAAOzB,EAAIwD,EAAS,MAC7DA,EAAQC,SAAQhC,EAAOD,QAAUgC,EAAQC,QAE5C,IAAIC,EAAM,EAAQ,QAA+DC,QACpED,EAAI,WAAYF,GAAS,EAAM,CAAC,WAAY,EAAM,YAAa,K,kCCR5E,W,oCCAA,W,oCCAA,W,uBCGA,IAAIA,EAAU,EAAQ,QACA,kBAAZA,IAAsBA,EAAU,CAAC,CAAC/B,EAAOzB,EAAIwD,EAAS,MAC7DA,EAAQC,SAAQhC,EAAOD,QAAUgC,EAAQC,QAE5C,IAAIC,EAAM,EAAQ,QAA+DC,QACpED,EAAI,WAAYF,GAAS,EAAM,CAAC,WAAY,EAAM,YAAa,K,uBCL5E,IAAIA,EAAU,EAAQ,QACA,kBAAZA,IAAsBA,EAAU,CAAC,CAAC/B,EAAOzB,EAAIwD,EAAS,MAC7DA,EAAQC,SAAQhC,EAAOD,QAAUgC,EAAQC,QAE5C,IAAIC,EAAM,EAAQ,QAA+DC,QACpED,EAAI,WAAYF,GAAS,EAAM,CAAC,WAAY,EAAM,YAAa,K,oCCR5E,W,uBCCA,IAAID,EAA8B,EAAQ,QAC1C/B,EAAU+B,GAA4B,GAEtC/B,EAAQhB,KAAK,CAACiB,EAAOzB,EAAI,uuBAAwuB,KAEjwByB,EAAOD,QAAUA,G,uBCHjB,IAAIgC,EAAU,EAAQ,QACA,kBAAZA,IAAsBA,EAAU,CAAC,CAAC/B,EAAOzB,EAAIwD,EAAS,MAC7DA,EAAQC,SAAQhC,EAAOD,QAAUgC,EAAQC,QAE5C,IAAIC,EAAM,EAAQ,QAA+DC,QACpED,EAAI,WAAYF,GAAS,EAAM,CAAC,WAAY,EAAM,YAAa,K,6ECR5E,weAMe,0BACb,OAAOI,KAGL,GAFAA,IAAIC,aAAeD,IAAIE,QAAQC,OAAO3B,GAAKwB,IAAII,MAAMC,MAAM7B,IAEvDwB,IAAII,MAAME,SAAWN,IAAII,MAAME,UAAY,iDAAkB,CAC/D,MAAMC,KAAO,OAAOP,IAAII,MAAME,QAC9B,IACE,MAAME,WAAaC,KAAKF,MACxBP,IAAIC,aAAeD,IAAIC,aAAaE,OAAO3B,GAAKgC,WAAW,oDAAUE,sBAAsBlC,KAC3F,MAAMmC,GAENC,QAAQC,MAAM,0BAA0BN,MACxCK,QAAQC,MAAMF,IAIlB,MAAMG,EAAId,IAAII,MAId,GAHAJ,IAAIe,MAAQf,IAAIC,aAAa3D,OACzBwE,EAAEE,QAAUhB,IAAIe,QAClBD,EAAEE,OAASC,KAAKC,IAAI,EAAGlB,IAAIe,MAAQD,EAAEK,QACnCnB,IAAII,MAAMgB,KAAM,CAClB,MAAMC,EAAiBC,IACrB,IAAIC,EAAID,EAAIR,EAAEM,MAEd,OADAG,EAAIA,aAAa,qDAAsBC,IAAZD,EAAE5C,MAAsB4C,EAAE5C,MAAQ4C,EACtDA,GAAK,IAGdvB,IAAIC,aAAiB,8CAAEwB,QAAQzB,IAAIC,aAAeoB,EAAeP,EAAEY,OAErE,MAAMC,SAAoBH,IAAbV,EAAEE,QAAyBF,EAAEK,MAAqBL,EAAEE,OAASF,EAAEK,WAAzBK,EACnD,OAAOxB,IAAIlE,KAAOkE,IAAIC,aAAaP,MAAMoB,EAAEE,OAAQW,Q,uBCnCvD,IAAIhC,EAA8B,EAAQ,QAC1C/B,EAAU+B,GAA4B,GAEtC/B,EAAQhB,KAAK,CAACiB,EAAOzB,EAAI,uSAAwS,KAEjUyB,EAAOD,QAAUA,G,oCCNjB,kDAGO,MAAMgE,EAAb,cACE,KAAAb,MAAgB,EAGhB,KAAAc,IAAc,EACd,KAAAC,IAAc,EACd,KAAAC,IAAc,EACd,KAAAC,IAAc,EACd,KAAAC,IAAc,EACd,KAAAC,YAAuC,GACvC,KAAAC,oBAAgC,GAEhC,wBACE,OAAOC,KAAKD,oBAAoBE,IAAIpD,IAAO,CAAEqD,IAAKrD,EAAKsD,MAAOH,KAAKF,YAAYjD,GAAMuD,QAASJ,KAAKF,YAAYjD,GAAKmD,KAAKrB,UAItH,MAAM0B,EACX,oBAAoBC,EAAaC,GAC/B,MAAMxF,EAAc,GAEpB,OADAuF,EAAKE,QAAQtB,GAAOnE,EAAOmE,EAAI,SAAWc,KAAKS,YAAYvB,EAAKqB,IACzDxF,EAGT,8BAA8BuF,EAAaI,GACzClC,QAAQmC,IAAI,yBAA0BD,GACtC,MAAME,EAAO,IAAIpB,EACXqB,EAAc,GACpB,IAAK,MAAM3B,KAAOoB,EAAM,CACtBM,EAAKjC,QACL,IAAIuB,EAAMG,EAAUS,YAAY5B,EAAIwB,IACpCG,EAAKrG,KAAK0F,QACEd,IAARc,IACFA,EAAM,IACW,kBAARA,GAAmC,kBAARA,IACpCA,EAAMa,KAAKC,UAAUd,UAENd,IAAbwB,EAAKK,KAAqBf,EAAMU,EAAKK,OACvCL,EAAKK,IAAMf,SACId,IAAbwB,EAAK9B,KAAqBoB,EAAMU,EAAK9B,OACvC8B,EAAK9B,IAAMoB,GACM,kBAARA,IACTU,EAAKnB,KAAOS,GACd,MAAMrD,EAAM,GAAKqD,EACjBU,EAAKd,YAAYjD,IAAQ+D,EAAKd,YAAYjD,IAAQ,GAAK,EAUzD,OARAgE,EAAK7B,KAAK,CAACkC,EAAEC,IAAMD,EAAIC,GACvBP,EAAKlB,IAAMkB,EAAKnB,IAAMa,EAAKpG,OACvB0G,EAAKlB,IAAM,IACbkB,EAAKjB,IAAMkB,EAAKhC,KAAKuC,MAAoB,GAAdP,EAAK3G,UAAkB,EAClD0G,EAAKhB,IAAMiB,EAAKhC,KAAKuC,MAAoB,GAAdP,EAAK3G,UAAkB,EAClD0G,EAAKf,IAAMgB,EAAKhC,KAAKuC,MAAoB,IAAdP,EAAK3G,UAAmB,GAErD0G,EAAKb,oBAAsB5F,OAAOkH,KAAKT,EAAKd,aAAad,KAAK,CAACkC,EAAGC,IAAMP,EAAKd,YAAYqB,GAAKP,EAAKd,YAAYoB,IACxGN,EAGT,mBAAmB1B,EAAUqB,EAA4Be,GAAa,EAAOC,GAAe,GAC1F,GAAIrC,EAAI,YAAcqC,EACpB,OAAOvB,KAAKc,YAAY5B,EAAI,WAE9B,MAAMnE,EAAc,GACpB,IAAK,MAAM2F,KAAOH,EAASiB,QACP,MAAdd,EAAIe,OAAkBf,EAAIgB,UACZ,SAAdhB,EAAIe,OAAqBH,KAC7BvG,EAAO2F,EAAIe,OAASzB,KAAKc,YAAY5B,EAAIwB,EAAIe,SAE/C,OAAO1G,EAGT,6BAA6BmE,GAC3B,OAAO,cAASe,IAAIf,EAAK,cAAUc,KAAKc,aAG1C,mBAAmBZ,GACjB,OAAOA,aAAe,YAASA,EAAIyB,UAAS,GAAO,GAASzB,EAG9D,aAAaA,GACX,MAAM0B,EAAM,mBAAcC,OAAO3B,GACjC,OAAO,eAAU4B,SAASC,cAAcH,M,uBClF5C,IAAIrE,EAA8B,EAAQ,QAC1C/B,EAAU+B,GAA4B,GAEtC/B,EAAQhB,KAAK,CAACiB,EAAOzB,EAAI,wDAAyD,KAElFyB,EAAOD,QAAUA,G,kCCNjB,kCAAe,MAAMwG,EACnB,0BAA0BC,EAAaC,EAAmBC,EAAe,KACvE,IAAK,IAAInI,EAAI,EAAGA,EAAImI,GAAgBnI,EAAIiI,EAAI/H,OAAQF,IAClD,IAAIgG,KAAKoC,QAAQH,EAAIjI,IAArB,CAEA,IAAK,MAAMkD,KAAKgF,EACZ,GAAID,EAAII,WAAWnF,EAAGlD,GACpB,OAAO,EAEb,OAAO,EAET,OAAO,EAGT,wBAAwBiI,EAAaC,EAAmBC,EAAc,KACpE,IAAK,IAAInI,EAAIiI,EAAI/H,OAAS,EAAGF,GAAK,GAAKA,EAAIiI,EAAI/H,OAASiI,EAAcnI,IACpE,IAAIgG,KAAKoC,QAAQH,EAAIjI,IAArB,CAEA,IAAK,MAAMkD,KAAKgF,EACd,GAAID,EAAIK,SAASpF,EAAGlD,EAAI,GACtB,OAAO,EAEX,OAAO,EAET,OAAO,EAGT,eAAeiI,GACb,MAAO,UAAUM,QAAQN,IAAQ,EAInC,gBAAgBA,EAAa/H,GAC3B,MAAMa,EAAS,CAAEb,QAAS,EAAGsI,SAAU,GACvC,IAAK,IAAIxI,EAAI6E,KAAKoC,IAAIgB,EAAI/H,OAAQA,GAASF,GAAK,EAAGA,IAClC,OAAXiI,EAAIjI,KACFe,EAAOb,OAAS,IAClBa,EAAOb,OAASF,EAAI,GACtBe,EAAOyH,YAGX,OAAOzH,EAGF,YAAY0H,EAAoBC,GAA0BD,GAAWC,IAErE,iBAAiBC,EAAc5D,EAAe6D,EAAS,OAG5D,MAFoB,kBAATD,IACTA,EAAO5B,KAAKC,UAAU2B,KACnBA,GAAQA,EAAKzI,QAAU6E,EACnB4D,EACFA,EAAKE,UAAU,EAAG9D,GAAS6D,EAG7B,eAAerG,EAAeuG,GACnC,MAAMC,EAAQlE,KAAKmE,IAAI,GAAIF,GAAa,GACxC,OAAOG,OAAOpE,KAAKqE,MAAM3G,EAAQwG,GAASA,GAGrC,YAAYI,EAAcpG,EAAI,GAAK,OAAOoG,EAAM7F,MAAM,EAAGP,M,uBC1DlE,IAAIQ,EAA8B,EAAQ,QAC1C/B,EAAU+B,GAA4B,GAEtC/B,EAAQhB,KAAK,CAACiB,EAAOzB,EAAI,+fAAggB,KAEzhByB,EAAOD,QAAUA,G,oCCNjB,W,kCCAA,W,uBCCA,IAAI+B,EAA8B,EAAQ,QAC1C/B,EAAU+B,GAA4B,GAEtC/B,EAAQhB,KAAK,CAACiB,EAAOzB,EAAI,ilBAAolB,KAE7mByB,EAAOD,QAAUA,G,kCCNjB,W,oCCAA,W,uBCGA,IAAIgC,EAAU,EAAQ,QACA,kBAAZA,IAAsBA,EAAU,CAAC,CAAC/B,EAAOzB,EAAIwD,EAAS,MAC7DA,EAAQC,SAAQhC,EAAOD,QAAUgC,EAAQC,QAE5C,IAAIC,EAAM,EAAQ,QAA+DC,QACpED,EAAI,WAAYF,GAAS,EAAM,CAAC,WAAY,EAAM,YAAa,K,oCCR5E,W,uBCCA,IAAID,EAA8B,EAAQ,QAC1C/B,EAAU+B,GAA4B,GAEtC/B,EAAQhB,KAAK,CAACiB,EAAOzB,EAAI,2GAA4G,KAErIyB,EAAOD,QAAUA,G,kCCNjB,IAAI4H,EAAS,WAAa,IAAIC,EAAIrD,KAASsD,EAAGD,EAAIE,eAAmBC,EAAGH,EAAII,MAAMD,IAAIF,EAAG,OAAOE,EAAG,OAAO,CAACE,YAAY,SAAS,CAAEL,EAAO,IAAE,CAACG,EAAG,IAAI,CAACG,MAAM,CAAC,KAAO,KAAKC,GAAG,CAAC,MAAQ,SAASC,GAAiC,OAAzBA,EAAOC,kBAAyBT,EAAIU,MAAM,eAAgBV,EAAIW,gBAAgB,CAACX,EAAIY,GAAGZ,EAAIa,GAAGb,EAAIc,SAAUd,EAAO,IAAE,CAACG,EAAG,IAAI,CAACG,MAAM,CAAC,KAAON,EAAIe,IAAI,OAAS,WAAW,CAACf,EAAIY,GAAGZ,EAAIa,GAAGb,EAAIe,SAAUf,EAAa,UAAE,CAACG,EAAG,MAAM,CAACE,YAAY,YAAYW,MAAMhB,EAAIiB,WAAWC,MAAM,CAAE,cAAelB,EAAImB,kBAAmB,CAACnB,EAAIY,GAAGZ,EAAIa,GAAGb,EAAIoB,MAAMlI,OAAO,KAAKiH,EAAG,OAAO,CAACE,YAAY,YAAY,CAACL,EAAIY,GAAGZ,EAAIa,GAAGb,EAAIqB,YAAY,CAAClB,EAAG,OAAO,CAACa,MAAMhB,EAAIiB,YAAY,CAACjB,EAAIY,GAAGZ,EAAIa,GAAGb,EAAIoB,MAAMlI,UAAU8G,EAAIY,GAAG,KAAKT,EAAG,OAAO,CAACE,YAAY,YAAY,CAACL,EAAIY,GAAGZ,EAAIa,GAAGb,EAAIqB,WAAW,IAClvBC,EAAkB,G,yDCsBtB,MAAMC,EAAa,IAAIC,KAAK,cAAcC,UACpCC,EAAW,IAAIF,KAAK,cAAcC,UAExC,SAASE,EAAQ9E,GACf,OAAIA,EAAM0E,GAAc1E,EAAM6E,EACrB,IAAIF,KAAK3E,GAEX,KAIT,IAAqB,EAArB,cAAyC,OAKvC,UACE,OAAIF,KAAKyE,MAAM5H,MAAQoI,EAAA,KAASC,SAAwC,kBAAtBlF,KAAKyE,MAAW,MACzD,KACFzE,KAAKyE,MAAMlI,MAGpB,WACE,MAAM2D,EAAMiF,OAAOnF,KAAKyE,MAAMlI,OAC9B,IAAK,IAAE6I,SAASlF,GAAM,OAAO,KAC7B,MAAMwE,EAAOM,EAAQ9E,IAAQ8E,EAAc,IAAN9E,IAAe8E,EAAQ9E,EAAM,KAClE,OAAOwE,EAAO,KAAKA,EAAKW,cAAkB,KAG5C,kBACE,IAAItK,EAASiF,KAAKmE,IAGlB,OAFIpJ,GAAUA,EAAOsH,WAAW,SAC9BtH,EAASiF,KAAKyE,MAAMa,OAAQC,aAAe,IAAMxK,GAC5CA,EAGT,UACE,MAAMmF,EAAMF,KAAKyE,MAAMlI,MACvB,GAAoB,kBAAV,IAAuB2D,EAAImC,WAAW,YAAcnC,EAAImC,WAAW,aAC3E,OAAOnC,EAGX,iBAAmB,MAAoC,kBAAtBF,KAAKyE,MAAW,MAAiB,SAAW,SAE7E,sBAAwB,OAAOzE,KAAKwF,SAAW,WAAa,QAhCpD,gBAAP,kB,4BACwC,gBAAxC,eAAK,CAACC,UAAU,EAAO9H,SAAS,K,gCACQ,gBAAxC,eAAK,CAAC8H,UAAU,EAAO9H,SAAS,K,+BAHd,EAAW,gBAD/B,QACoB,WClCgO,I,wBCQjP+H,EAAY,eACd,EACAtC,EACAuB,GACA,EACA,KACA,KACA,MAIa,OAAAe,E,2CCnBf,IAAItC,EAAS,WAAa,IAAIC,EAAIrD,KAASsD,EAAGD,EAAIE,eAAmBC,EAAGH,EAAII,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAACE,YAAY,QAAQ,CAAGL,EAAIsC,aAAkwCnC,EAAG,MAAM,CAACA,EAAG,OAAO,CAACE,YAAY,OAAO,CAACL,EAAIY,GAAGZ,EAAIa,GAAGb,EAAIoB,MAAM5H,QAAQwG,EAAIY,GAAG,MAAMT,EAAG,eAAe,CAACG,MAAM,CAAC,MAAQN,EAAIoB,OAAOb,GAAG,CAAC,eAAe,SAASC,GAAQ,OAAOR,EAAIuC,YAAY/B,EAAQ,qBAAqB,GAA/8CL,EAAG,MAAM,CAACE,YAAY,QAAQ,CAACF,EAAG,MAAM,CAACE,YAAY,OAAOE,GAAG,CAAC,MAAQ,SAASC,GAAiC,OAAzBA,EAAOC,kBAAyBT,EAAIwC,gBAAgB,CAACrC,EAAG,OAAO,CAACE,YAAY,uBAAuBW,MAAM,CAACyB,OAAQzC,EAAI0C,KAAMC,SAAU3C,EAAI2C,WAAW,CAACxC,EAAG,IAAI,CAACG,MAAM,CAAC,KAAO,IAAI,SAAW,KAAKC,GAAG,CAAC,QAAUP,EAAI4C,UAAU,MAAQ,SAASpC,GAAiC,OAAzBA,EAAOC,kBAAyBT,EAAIU,MAAM,eAAgB,CAAC,IAAKmC,OAAQ7C,EAAIoB,MAAM0B,QAAQ,WAAa9C,EAAI+C,WAAW,WAAa/C,EAAIgD,aAAa,CAAChD,EAAIY,GAAG,IAAIZ,EAAIa,GAAGb,EAAIoB,MAAM5H,KAAK,SAAS2G,EAAG,OAAO,CAACE,YAAY,YAAY,CAACL,EAAIY,GAAGZ,EAAIa,GAAGb,EAAIiD,YAAYjD,EAAIkD,GAAIlD,EAAIoB,MAAM+B,SAAWnD,EAAIoB,MAAM+B,SAASlJ,MAAM,EAAG+F,EAAItE,OAAS,IAAI,SAAS0H,GAAI,MAAO,CAACjD,EAAG,aAAa,CAAC3G,IAAI4J,EAAG5J,KAAK,CAAEwG,EAAQ,KAAEG,EAAG,iBAAiB,CAAC3G,IAAI4J,EAAG5J,IAAIsH,IAAI,WAAWuC,UAAS,EAAK/C,MAAM,CAAC,aAAeN,EAAIsD,aAAa,EAAE,YAActD,EAAIuD,YAAY,MAAQH,GAAI7C,GAAG,CAAC,eAAe,SAASC,GAAQ,OAAOR,EAAIuC,YAAY/B,EAAQ,oBAAoBR,EAAIwD,MAAM,OAAOxD,EAAI0C,MAAS1C,EAAIoB,MAAMqC,kBAAoBzD,EAAItE,MAAQyE,EAAG,IAAI,CAACE,YAAY,OAAOqD,YAAY,CAAC,YAAY,UAAU,MAAQ,SAASpD,MAAM,CAAC,KAAO,KAAKC,GAAG,CAAC,MAAQ,SAASC,GAAQR,EAAItE,MAAQsE,EAAItE,MAAQsE,EAAI2D,YAAY,CAAC3D,EAAIY,GAAG,iBAAiBZ,EAAIa,GAAGb,EAAI2D,UAAU,YAAY3D,EAAIwD,MAAM,MACh4ClC,EAAkB,G,oFC4CtB,MAAMsC,EAAY,IACX,MAAMC,EACX,YACSC,EACAC,GADA,KAAAD,WACA,KAAAC,UAiBX,IAAqB,EAArB,cAA0C,OAA1C,c,oBAME,KAAArB,MAAO,EACP,KAAAC,UAAW,EACX,KAAAqB,WAAY,EACZ,KAAAL,SAAWC,EACX,KAAAlI,MAAQkI,EAER,aAAejH,KAAK+F,MAAQ/F,KAAK+F,KAKjC,mBAAqB,OAAO/F,KAAKyE,MAAM6C,OAAS,gBAAWC,OAC3D,YAAc,OAAOtC,EAAA,KAASuC,iBAAiBxH,KAAKyE,OAAQzE,KAAK+F,MAAQ/F,KAAK4G,YAAYa,qBAG1F,cAActI,GACRA,GACFa,KAAK0H,IAAIC,eAAe,CAACC,MAAO,YAGpC,WAAWzB,EAAgB0B,EAAenF,GACpCmF,IAAU1B,EAAKjM,QAKnB8F,KAAK+F,MAAO,EACZ/F,KAAK8H,UAAU,KACb,IAAK,MAAMC,KAAQ/H,KAAKgI,MAAMxB,SAIxBuB,EAAKtD,MAAM5H,MAAQsJ,EAAK0B,IAC1BE,EAAKE,WAAW9B,EAAM0B,EAAQ,EAAGnF,MAXrCA,EAAO1C,MAmBH,mBAEN,GAAIA,KAAKyE,MAAMyD,SACb,OAEF,MAAMC,EAAQnI,KAAK4G,YACnB5G,KAAK+F,KAAOoC,EAAMC,aAAepI,KAAK2G,aAAewB,EAAME,YAEvDF,EAAMC,YACJpI,KAAK2G,aAAe,EAAIwB,EAAME,cAChCF,EAAME,YAAcrI,KAAK2G,aAAe,GAChCwB,EAAMG,WAGZtI,KAAK2G,aAAewB,EAAME,YAAc,IAC1CF,EAAMG,WAAY,GAOxB,YAAY5O,EAAW6O,GACrBvI,KAAK+D,MAAMwE,EAAS7O,GAGtB,WAAW6E,GACTyB,KAAKqH,WAAY,EAEjBmB,WAAW,IAAMxG,EAAA,KAAKyG,KAAKzI,KAAKqH,UAAW,IAAMrH,KAAK0H,IAAIgB,cACxD,IAAIC,YAAY,mBAAoB,CAClCC,OAAQ,IAAI1B,EAAoBlH,KAAKyE,MAAMc,aAAehH,EAAEsK,QAC5DC,SAAS,EACTC,UAAU,MAAW,KAG3B,WAAWxK,GACTyB,KAAKqH,WAAY,EACjBmB,WAAW,IAAMxI,KAAK0H,IAAIgB,cACxB,IAAIC,YAAY,mBAAoB,CAClCC,OAAQ,IAAI1B,EAAoBlH,KAAKyE,MAAMc,aAAehH,EAAEsK,QAC5DC,SAAS,EACTC,UAAU,KAAU,KAG1B,UAAUxK,GAER,OADAC,QAAQmC,IAAI,mBAAmBpC,EAAE1B,KACzB0B,EAAE1B,KACR,IAAK,aAAcmD,KAAK6F,aAActH,EAAEyK,iBAAkB,MAC1D,IAAK,YAAahJ,KAAK6F,aAActH,EAAEyK,iBAAkB,SA9FrD,gBAAP,kB,4BACO,gBAAP,kB,mCACO,gBAAP,kB,iCACyC,gBAAzC,eAAK,CAACrL,QAAS,IAAM,IAAI,U,kCAgB1B,gBADC,eAAM,a,kCA2BP,gBADC,eAAM,cAAe,CAAEsL,WAAW,EAAMC,MAAM,K,qCA9C5B,EAAY,gBALhC,eAAU,CACTC,WAAY,CACVC,cAAA,SAGiB,WClEiO,I,wBCQlP1D,EAAY,eACd,EACAtC,EACAuB,GACA,EACA,KACA,WACA,MAIa,OAAAe,E,8BChBf,IAAIlI,EAAU,EAAQ,QACA,kBAAZA,IAAsBA,EAAU,CAAC,CAAC/B,EAAOzB,EAAIwD,EAAS,MAC7DA,EAAQC,SAAQhC,EAAOD,QAAUgC,EAAQC,QAE5C,IAAIC,EAAM,EAAQ,QAA+DC,QACpED,EAAI,WAAYF,GAAS,EAAM,CAAC,WAAY,EAAM,YAAa,K,uBCL5E,IAAIA,EAAU,EAAQ,QACA,kBAAZA,IAAsBA,EAAU,CAAC,CAAC/B,EAAOzB,EAAIwD,EAAS,MAC7DA,EAAQC,SAAQhC,EAAOD,QAAUgC,EAAQC,QAE5C,IAAIC,EAAM,EAAQ,QAA4DC,QACjED,EAAI,WAAYF,GAAS,EAAM,CAAC,WAAY,EAAM,YAAa,K,sECR5E,IAAI4F,EAAS,WAAa,IAAIC,EAAIrD,KAASsD,EAAGD,EAAIE,eAAmBC,EAAGH,EAAII,MAAMD,IAAIF,EAAG,OAAOE,EAAG,iBAAiB,CAACE,YAAY,QAAQ,CAACF,EAAG,OAAO,CAAC6F,WAAW,CAAC,CAACvN,KAAK,YAAYwN,QAAQ,oBAAoBC,UAAU,CAAC,OAAQ,KAAQ5F,MAAM,CAAC,MAAQ,qBAAqB,CAACH,EAAG,QAAQ,CAACG,MAAM,CAAC,KAAO,KAAK,UAAYN,EAAImG,eAAe5F,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOR,EAAIoG,iBAAiB,CAACpG,EAAIY,GAAG,QAAQ,GAAGT,EAAG,OAAO,CAAC6F,WAAW,CAAC,CAACvN,KAAK,YAAYwN,QAAQ,oBAAoBC,UAAU,CAAC,OAAQ,KAAQ5F,MAAM,CAAC,MAAQ,2BAA2B,CAACH,EAAG,QAAQ,CAACG,MAAM,CAAC,KAAO,KAAK,UAAYN,EAAImG,eAAe5F,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOR,EAAIqG,cAAc,CAACrG,EAAIY,GAAG,QAAQ,GAAGT,EAAG,OAAO,CAAC6F,WAAW,CAAC,CAACvN,KAAK,YAAYwN,QAAQ,oBAAoBC,UAAU,CAAC,OAAQ,KAAQ5F,MAAM,CAAC,MAAQ,yBAAyB,CAACH,EAAG,QAAQ,CAACE,YAAY,eAAeC,MAAM,CAAC,KAAO,KAAK,UAAW,IAAO,CAACN,EAAIY,GAAGZ,EAAIa,GAAGb,EAAI8E,MAAME,iBAAiB,GAAG7E,EAAG,OAAO,CAAC6F,WAAW,CAAC,CAACvN,KAAK,YAAYwN,QAAQ,oBAAoBC,UAAU,CAAC,OAAQ,KAAQ5F,MAAM,CAAC,MAAQ,yBAAyB,CAACH,EAAG,QAAQ,CAACG,MAAM,CAAC,KAAO,KAAK,UAAYN,EAAIsG,aAAa/F,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOR,EAAIuG,YAAY,CAACvG,EAAIY,GAAG,QAAQ,GAAGT,EAAG,OAAO,CAAC6F,WAAW,CAAC,CAACvN,KAAK,YAAYwN,QAAQ,oBAAoBC,UAAU,CAAC,OAAQ,KAAQ5F,MAAM,CAAC,MAAQ,mBAAmB,CAACH,EAAG,QAAQ,CAACG,MAAM,CAAC,KAAO,KAAK,UAAYN,EAAIsG,aAAa/F,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOR,EAAIwG,eAAe,CAACxG,EAAIY,GAAG,QAAQ,GAAGT,EAAG,OAAO,CAAC6F,WAAW,CAAC,CAACvN,KAAK,YAAYwN,QAAQ,oBAAoBC,UAAU,CAAC,OAAQ,KAAQ5F,MAAM,CAAC,MAAQ,qCAAqC,CAACH,EAAG,QAAQ,CAACG,MAAM,CAAC,KAAO,KAAK,QAAU,oBAAoB,QAAUN,EAAI8E,MAAMV,qBAAqB7D,GAAG,CAAC,iBAAiB,SAASC,GAAQ,OAAOR,EAAIyG,KAAKzG,EAAI8E,MAAO,sBAAuBtE,MAAW,CAACR,EAAIY,GAAG,QAAQ,MAC5yDU,EAAkB,G,wBCyBf,MAAMoF,EAIX,YACS1B,EAAc,EACd2B,EAAW,EACXvC,GAAsB,GAFtB,KAAAY,cACA,KAAA2B,WACA,KAAAvC,sBANT,KAAAW,aAAc,EACd,KAAAE,WAAY,GAUd,IAAqB,EAArB,cAA2C,OAIzC,WACMtI,KAAKmI,MAAME,YAAcrI,KAAKmI,MAAM6B,UACtChK,KAAKmI,MAAME,cACbrI,KAAKmI,MAAMC,aAAc,EAG3B,cACEpI,KAAKmI,MAAME,YAAcrI,KAAKmI,MAAM6B,SACpChK,KAAKmI,MAAMC,aAAc,EAG3B,cACE,OAAOpI,KAAKmI,MAAME,YAAcrI,KAAKmI,MAAM6B,UAAYhK,KAAKmI,MAAMC,YAGpE,SACOpI,KAAK2J,cACV3J,KAAKmI,MAAMG,WAAY,EACvBtI,KAAKmI,MAAME,eAGb,YACErI,KAAKmI,MAAMG,WAAY,EACvBtI,KAAKmI,MAAMC,aAAc,EAG3B,YACE,OAAOpI,KAAKmI,MAAMG,UAMpB,WAAW/J,GAGT,OAFAC,QAAQmC,IAAIpC,GAELA,EAAE1B,KACP,IAAK,IAAuE,YAAlEmD,KAAKmI,MAAMV,qBAAuBzH,KAAKmI,MAAMV,qBACvD,IAAK,IAAsB,YAAjBzH,KAAK0J,WACf,IAAK,IAAoB,YAAf1J,KAAK4J,SACf,IAAK,IAAyB,YAApB5J,KAAKyJ,cACf,IAAK,IAAuB,YAAlBzJ,KAAK6J,eA5CX,gBAAP,kB,4BACO,gBAAP,kB,6BAFkB,EAAa,gBADjC,QACoB,WCtCkO,I,wBCQnPnE,EAAY,eACd,EACAtC,EACAuB,GACA,EACA,KACA,WACA,MAIa,OAAAe,E,2CCnBf,W,qBCCA,IAAInI,EAA8B,EAAQ,QAC1C/B,EAAU+B,GAA4B,GAEtC/B,EAAQhB,KAAK,CAACiB,EAAOzB,EAAI,mIAAoI,KAE7JyB,EAAOD,QAAUA,G,kCCNjB,W,qBCCA,IAAI+B,EAA8B,EAAQ,QAC1C/B,EAAU+B,GAA4B,GAEtC/B,EAAQhB,KAAK,CAACiB,EAAOzB,EAAI,8FAA+F,KAExHyB,EAAOD,QAAUA,G,qBCLjB,IAAI+B,EAA8B,EAAQ,QAC1C/B,EAAU+B,GAA4B,GAEtC/B,EAAQhB,KAAK,CAACiB,EAAOzB,EAAI,gDAAiD,KAE1EyB,EAAOD,QAAUA,G,qBCHjB,IAAIgC,EAAU,EAAQ,QACA,kBAAZA,IAAsBA,EAAU,CAAC,CAAC/B,EAAOzB,EAAIwD,EAAS,MAC7DA,EAAQC,SAAQhC,EAAOD,QAAUgC,EAAQC,QAE5C,IAAIC,EAAM,EAAQ,QAA+DC,QACpED,EAAI,WAAYF,GAAS,EAAM,CAAC,WAAY,EAAM,YAAa,K,gJCRxE4F,EAAS,WAAa,IAAIC,EAAIrD,KAASsD,EAAGD,EAAIE,eAAmBC,EAAGH,EAAII,MAAMD,IAAIF,EAAG,OAAOE,EAAG,gBAC/FmB,EAAkB,G,YCKP,MAAM,UAAY,QCNmM,Q,YCOhOe,EAAY,eACd,EACAtC,EACAuB,GACA,EACA,KACA,KACA,MAIa,EAAAe,E,QClBX,EAAS,WAAa,IAAIrC,EAAIrD,KAASsD,EAAGD,EAAIE,eAAmBC,EAAGH,EAAII,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAACE,YAAY,uBAAuBC,MAAM,CAAC,GAAK,QAAQ,CAACH,EAAG,kBAAkB,CAACW,IAAI,gBAAgBT,YAAY,kBAAkBC,MAAM,CAAC,KAAON,EAAI4G,SAAS,cAAc5G,EAAI6G,MAAMC,aAAe,IAAI,QAAU9G,EAAI+G,UAAU,cAAgB,QAAQC,YAAYhH,EAAIiH,GAAG,CAAC,CAACzN,IAAI,QAAQ0N,GAAG,WAAW,MAAO,CAAC/G,EAAG,IAAI,CAACG,MAAM,CAAC,KAAO,4BAA4B,CAACH,EAAG,IAAI,CAACE,YAAY,aAAa,CAACL,EAAIY,GAAGZ,EAAIa,GAAGb,EAAI6G,MAAMM,cAAcC,OAAM,MAAS,CAA0B,MAAxBpH,EAAI6G,MAAMQ,YAAuBrH,EAAI6G,MAAMxQ,MAAU2J,EAAI6G,MAAMS,QAA+OtH,EAAIwD,KAA1OrD,EAAG,OAAO,CAACH,EAAIY,GAAG,kBAAkBT,EAAG,gBAAgB,CAACuD,YAAY,CAAC,MAAQ,QAAQpD,MAAM,CAAC,QAAUN,EAAIuH,WAAW,KAAO,MAAMC,MAAM,CAACtO,MAAO8G,EAAY,SAAEyH,SAAS,SAAUC,GAAM1H,EAAI4G,SAASc,GAAKC,WAAW,eAAe,GAAYxH,EAAG,OAAO,CAACE,YAAY,SAAS,CAACF,EAAG,OAAO,CAACG,MAAM,CAAC,GAAK,UAAU,CAACH,EAAG,IAAI,CAACG,MAAM,CAAC,KAAO,2CAA2C,OAAS,WAAW,CAACH,EAAG,MAAM,CAACG,MAAM,CAAC,IAAM,eAAe,IAAM,iEAAiEH,EAAG,IAAI,CAACG,MAAM,CAAC,KAAO,+CAA+C,OAAS,WAAW,CAACH,EAAG,MAAM,CAACG,MAAM,CAAC,IAAM,MAAM,IAAM,0DAA0D,IACnxC,EAAkB,G,YCDlB,EAAS,WAAa,IAAIN,EAAIrD,KAASsD,EAAGD,EAAIE,eAAmBC,EAAGH,EAAII,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAACE,YAAY,iBAAiB,CAACF,EAAG,MAAM,CAACE,YAAY,WAAW,CAACL,EAAI4H,GAAG,SAASzH,EAAG,iBAAiB,CAACE,YAAY,oBAAoB,CAACF,EAAG,QAAQ,CAAC6F,WAAW,CAAC,CAACvN,KAAK,YAAYwN,QAAQ,oBAAoBC,UAAU,CAAC,OAAQ,KAAQ5F,MAAM,CAAC,KAAO,KAAK,MAAQ,aAAaC,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOR,EAAI2E,MAAMkD,MAAMC,WAAW,CAAC3H,EAAG,IAAI,CAACE,YAAY,sBAAsBF,EAAG,QAAQ,CAACW,IAAI,QAAQ4C,YAAY,CAAC,QAAU,QAAQpD,MAAM,CAAC,KAAO,QAAQC,GAAG,CAAC,OAAS,SAASC,GAAQ,OAAOR,EAAI+H,SAASvH,SAAcL,EAAG,QAAQ,CAAC6F,WAAW,CAAC,CAACvN,KAAK,UAAUwN,QAAQ,oBAAoBC,UAAU,CAAC,WAAU,IAAO,CAACzN,KAAK,YAAYwN,QAAQ,oBAAoBC,UAAU,CAAC,OAAQ,KAAQ5F,MAAM,CAAC,KAAO,KAAK,MAAQ,aAAa,CAACH,EAAG,IAAI,CAACE,YAAY,eAAeF,EAAG,UAAU,CAACG,MAAM,CAAC,GAAK,UAAU,MAAQ,YAAYC,GAAG,CAAC,GAAK,SAASC,GAAQ,OAAOR,EAAIgI,QAAQhI,EAAIiI,WAAW,KAAO,SAASzH,GAAQR,EAAIiI,SAASjI,EAAIe,OAAO,CAACf,EAAIY,GAAG,UAAUT,EAAG,UAAU,CAACqH,MAAM,CAACtO,MAAO8G,EAAY,SAAEyH,SAAS,SAAUC,GAAM1H,EAAIiI,SAASP,GAAKC,WAAW,eAAe,IAAI,GAAGxH,EAAG,QAAQ,CAAC6F,WAAW,CAAC,CAACvN,KAAK,YAAYwN,QAAQ,oBAAoBC,UAAU,CAAC,OAAQ,KAAQ7F,YAAY,MAAMC,MAAM,CAAC,KAAO,KAAK,UAAYN,EAAIkI,QAAQ,MAAQ,QAAQ3H,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOR,EAAImI,SAASnI,EAAIkI,YAAY,CAAC/H,EAAG,IAAI,CAACE,YAAY,iBAAkBL,EAAkB,eAAEG,EAAG,QAAQ,CAAC6F,WAAW,CAAC,CAACvN,KAAK,YAAYwN,QAAQ,oBAAoBC,UAAU,CAAC,OAAQ,KAAQ5F,MAAM,CAAC,KAAO,KAAK,MAAQ,SAASC,GAAG,CAAC,MAAQP,EAAIoI,QAAQ,CAACjI,EAAG,IAAI,CAACE,YAAY,kBAAkBL,EAAIwD,KAAKrD,EAAG,QAAQ,CAAC6F,WAAW,CAAC,CAACvN,KAAK,YAAYwN,QAAQ,oBAAoBC,UAAU,CAAC,OAAQ,KAAQ7F,YAAY,MAAMC,MAAM,CAAC,KAAO,KAAK,QAAU,oBAAoB,QAAUN,EAAIqI,OAAOC,SAAS,GAAG,MAAQ,yCAAyC/H,GAAG,CAAC,iBAAiB,SAASC,GAAQ,OAAOR,EAAIyG,KAAKzG,EAAIqI,OAAOC,SAAU,EAAG9H,MAAW,CAACL,EAAG,IAAI,CAACE,YAAY,iBAAiBF,EAAG,QAAQ,CAAC6F,WAAW,CAAC,CAACvN,KAAK,YAAYwN,QAAQ,oBAAoBC,UAAU,CAAC,OAAQ,KAAQ5F,MAAM,CAAC,KAAO,KAAK,MAAQ,UAAUC,GAAG,CAAC,MAAQP,EAAIuI,SAAS,CAACpI,EAAG,IAAI,CAACE,YAAY,oBAAoB,GAAGF,EAAG,iBAAiB,CAACE,YAAY,QAAQ,CAACF,EAAG,QAAQ,CAACE,YAAY,MAAMC,MAAM,CAAC,KAAO,KAAK,QAAU,oBAAoB,QAAUN,EAAIqI,OAAOG,WAAW,IAAIjI,GAAG,CAAC,iBAAiB,SAASC,GAAQ,OAAOR,EAAIyG,KAAKzG,EAAIqI,OAAOG,WAAY,EAAGhI,MAAW,CAACR,EAAIY,GAAG,YAAYT,EAAG,QAAQ,CAACE,YAAY,MAAMC,MAAM,CAAC,KAAO,KAAK,QAAU,oBAAoB,QAAUN,EAAIqI,OAAOI,SAAS,IAAIlI,GAAG,CAAC,iBAAiB,SAASC,GAAQ,OAAOR,EAAIyG,KAAKzG,EAAIqI,OAAOI,SAAU,EAAGjI,MAAW,CAACR,EAAIY,GAAG,UAAUT,EAAG,QAAQ,CAACE,YAAY,MAAMC,MAAM,CAAC,KAAO,KAAK,QAAU,oBAAoB,QAAUN,EAAIqI,OAAOK,UAAU,IAAInI,GAAG,CAAC,iBAAiB,SAASC,GAAQ,OAAOR,EAAIyG,KAAKzG,EAAIqI,OAAOK,UAAW,EAAGlI,MAAW,CAACR,EAAIY,GAAG,WAAYZ,EAAI2I,oBAAoB9R,OAAS,EAAG,CAACmJ,EAAIY,GAAG,WAAWT,EAAG,gBAAgB,CAACG,MAAM,CAAC,QAAUN,EAAI2I,oBAAoB,KAAO,MAAMnB,MAAM,CAACtO,MAAO8G,EAAkB,eAAEyH,SAAS,SAAUC,GAAM1H,EAAI4I,eAAelB,GAAKC,WAAW,qBAAqB3H,EAAIwD,MAAM,GAAGrD,EAAG,OAAO,CAACH,EAAI4H,GAAG,YAAY,GAAGzH,EAAG,OAAO,CAACE,YAAY,aAAaW,MAAM,CAAC5F,MAAO4E,EAAI6I,WAAW,CAAC7I,EAAIY,GAAGZ,EAAIa,GAAGb,EAAI8I,iBAAiB,GAAG3I,EAAG,MAAM,CAACE,YAAY,mBAAmB,CAACF,EAAG,SAAS,CAACG,MAAM,CAAC,QAAUN,EAAIqI,OAAOU,SAASC,SAAS,CAAC,mBAAmB,SAASxI,GAAiC,OAAzBA,EAAOC,kBAAyBT,EAAIiJ,eAAezI,IAAS,mBAAmB,SAASA,GAAiC,OAAzBA,EAAOC,kBAAyBT,EAAIkJ,eAAe1I,MAAW,CAACL,EAAG,MAAM,CAACE,YAAY,UAAUW,MAAM,CAACmI,MAA2B,WAApBnJ,EAAIqI,OAAOe,QAAmB1F,YAAY,CAAC,MAAQ,QAAQpD,MAAM,CAAC,KAAO,SAAS,KAAO,GAAG,KAAON,EAAIqI,OAAOG,WAAW,SAAW,KAAKjI,GAAG,CAAC,MAAQ,SAASC,GAAQR,EAAIqI,OAAOe,OAAO,UAAU,SAAW,SAAS5I,GAAQ,OAAOR,EAAIqJ,WAAW7I,EAAQ,YAAY8I,KAAK,UAAU,CAACnJ,EAAG,aAAa,CAACW,IAAI,aAAaR,MAAM,CAAC,OAASN,EAAI4I,eAAeW,OAAO,UAAYvJ,EAAIqI,OAAOmB,UAAU,KAAOxJ,EAAIqI,OAAOG,WAAW,GAAG,OAASxI,EAAIqI,OAAO,YAAcrI,EAAIqI,OAAOC,UAAUd,MAAM,CAACtO,MAAO8G,EAAW,QAAEyH,SAAS,SAAUC,GAAM1H,EAAIkI,QAAQR,GAAKC,WAAW,cAAc,GAAGxH,EAAG,MAAM,CAACE,YAAY,UAAUW,MAAM,CAACmI,MAA2B,SAApBnJ,EAAIqI,OAAOe,QAAiB9I,MAAM,CAAC,KAAO,OAAO,KAAO,GAAG,KAAON,EAAIqI,OAAOI,SAAS,SAAW,KAAKlI,GAAG,CAAC,MAAQ,SAASC,GAAQR,EAAIqI,OAAOe,OAAO,QAAQ,SAAW,SAAS5I,GAAQ,OAAOR,EAAIqJ,WAAW7I,EAAQ,UAAU8I,KAAK,QAAQ,CAAEtJ,EAAIqI,OAAW,KAAElI,EAAG,YAAY,CAACG,MAAM,CAAC,OAASN,EAAIqI,OAAO,eAAe,EAAE,cAAgBrI,EAAIyJ,iBAAiBtJ,EAAG,MAAM,CAACH,EAAIY,GAAG,cAAc,GAAGT,EAAG,MAAM,CAACE,YAAY,UAAUW,MAAM,CAACmI,MAA2B,UAApBnJ,EAAIqI,OAAOe,QAAkB9I,MAAM,CAAC,KAAO,QAAQ,KAAO,GAAG,KAAON,EAAIqI,OAAOK,UAAU,SAAW,KAAKnI,GAAG,CAAC,MAAQ,SAASC,GAAQR,EAAIqI,OAAOe,OAAO,SAAS,SAAW,SAAS5I,GAAQ,OAAOR,EAAIqJ,WAAW7I,EAAQ,WAAW8I,KAAK,SAAS,CAAEtJ,EAAIqI,OAAW,KAAElI,EAAG,aAAa,CAACG,MAAM,CAAC,aAAaN,EAAIqI,OAAO,aAAe,QAAQ9H,GAAG,CAAC,eAAeP,EAAI0J,eAAevJ,EAAG,MAAM,CAACH,EAAIY,GAAG,cAAc,MAAM,GAAGT,EAAG,MAAM,CAAC6F,WAAW,CAAC,CAACvN,KAAK,OAAOwN,QAAQ,SAAS/M,MAAO8G,EAAI2J,cAAwC,IAAzB3J,EAAI4J,iBAA2BjC,WAAW,6CAA6CzG,MAAOlB,EAAuB,oBAAEM,MAAM,CAAC,GAAK,mBAAmBC,GAAG,CAAC,WAAaP,EAAI6J,oBAAoB,WAAa7J,EAAI8J,sBAAsB,CAAC3J,EAAG,iBAAiB,CAACE,YAAY,QAAQ,CAACF,EAAG,QAAQ,CAAC6F,WAAW,CAAC,CAACvN,KAAK,YAAYwN,QAAQ,oBAAoBC,UAAU,CAAC,OAAQ,KAAQ7F,YAAY,MAAMC,MAAM,CAAC,KAAO,KAAK,MAAQ,qBAAqBC,GAAG,CAAC,MAAQP,EAAI+J,WAAW,CAAC5J,EAAG,IAAI,CAACE,YAAY,kBAAkB,IAAI,GAAGF,EAAG,WAAW,CAACW,IAAI,eAAeT,YAAY,6BAC/pL,EAAkB,G,iCCIP,MAAM2J,EAArB,cACE,KAAAC,MAAa,GACb,KAAAC,KAAO,EAEP,UAAY,OAAOvN,KAAKuN,IAAM,EAC9B,OACE,OAAKvN,KAAKwN,UAEHxN,KAAKsN,QAAQtN,KAAKuN,KADhBvN,KAAKsN,MAAMtN,KAAKuN,KAI3B,aAAe,OAAOvN,KAAKuN,IAAMvN,KAAKsN,MAAMpT,OAAS,EACrD,UACE,OAAK8F,KAAKyN,aAEHzN,KAAKsN,QAAQtN,KAAKuN,KADhBvN,KAAKsN,MAAMtN,KAAKuN,KAI3B,OAAOG,GACL1N,KAAKsN,MAAMpT,SAAW8F,KAAKuN,IAC3BvN,KAAKsN,MAAM9S,KAAKkT,I,ICrBRC,E,aAAZ,SAAYA,GACV,4BACA,sBACA,yBAHF,CAAYA,MAAW,KAMhB,MAAMC,EAAb,cAEE,KAAAC,OAASF,EAAYG,QACrB,KAAAC,QAAU,IAcG,MAAM,EAArB,cAWE,KAAAC,gBAAqC,CAGnCC,SAAU,iBACVC,gBAAiB,CAAC,EAAG,GAAI,GAAI,IAAK,IAAK,KACvC1M,QAAS,GACT9H,KAAM,GACNmE,aAAc,GAEdC,QAAS,GACTa,MAAO,EACPX,MAAO,IAAI,OACXmQ,OAAQ,CAAEzC,OAAQ,OAGpB,WAAW0C,GAET,OADApO,KAAKoO,QAAUA,EACRpO,M,qCClCI,MAAM,EAInB,YACSlE,EAAO,MACNuS,EAAmC,WACnCC,GAAmB,GAFpB,KAAAxS,OACC,KAAAuS,WACA,KAAAC,UANV,KAAAC,OAA0B,GAC1B,KAAA3B,OAAS,MAOT,UAAU3K,GACR,OAAOD,EAAA,KAAKwM,mBAAmBvM,EAAK,CAAC,OAASD,EAAA,KAAKyM,iBAAiBxM,EAAK,CAAC,MAG5E,MAAMA,GACJ,MAAMlH,EAAS,IAAI6S,EACnB,IACE,MAAMc,GAAM,IAAIC,WAAYC,gBAAgB3M,EAAI4M,OAAQ7O,KAAKqO,UACvDS,EAAOJ,EAAIK,WAAW7U,OAAS,EAAIwU,EAAIK,WAAW,GAAKL,EAC7D,IAAIM,EAAgBhP,KAAKiP,SAASH,GAMlC,OALI9O,KAAKsO,UACPU,EAAS,CAAE,CAACA,EAAOE,KAAOF,EAAOlT,MAASkE,KAAKmP,gBAAgBH,KAEjEjU,EAAOA,OAAS,mBAAcoB,MAAM0F,OAAOmN,GAC3CjU,EAAOgT,QAAU,gCACVhT,EACP,MAAOwD,GAGP,OAFAxD,EAAOgT,QAAU,SAAUxP,EAAUwP,QACrCvP,QAAQC,MAAMF,GACPxD,GAIX,SAASqU,GACP,MAAMrU,EAAgB,GA8BtB,OA5BAA,EAAOuM,KAAO8H,EAAKC,YAAYvT,KAC3BsT,aAAgBE,SAClBvU,EAAOmU,IAAME,EAAKG,QACdH,EAAKI,mBACPJ,EAAKI,oBAAoBhP,QAAQU,IAC/BnG,EAAO0U,KAAO1U,EAAO0U,MAAQ,GAC7B1U,EAAO0U,KAAKvO,GAAKkO,EAAKM,aAAaxO,OAOvCnG,EAAOe,KAAOsT,EAAKO,SACnB5U,EAAOwB,MAAQ6S,EAAKQ,WAGlBR,EAAKL,YACPK,EAAKL,WAAWvO,QAAQ5E,IAClBA,aAAaiU,KACXjU,EAAEkU,aAAelU,EAAEkU,YAAYjB,SACjC9T,EAAO4H,MAAQ5H,EAAO4H,MAAQ,IAAM/G,EAAEkU,cAExC/U,EAAOyL,SAAWzL,EAAOyL,UAAY,GACrCzL,EAAOyL,SAAShM,KAAKwF,KAAKiP,SAASrT,OAIlCb,EAGD,SAASkF,EAAUpD,EAAaqD,GACtC,IAAIW,EAAOZ,EAAIpD,GACVgE,IACHA,EAAO,GACPZ,EAAIpD,GAAOgE,GAEbA,EAAKrG,KAAK0F,GAGZ,gBAAgBnD,GACd,IAAKA,EAAE0S,OAAS1S,EAAEyJ,SAChB,OAAOzJ,EAAE4F,KAEX,MAAM1C,EAA8B,GAChClD,EAAE0S,MACJtV,OAAOkH,KAAKtE,EAAE0S,MAAMjP,QAAQ3D,IAC1BmD,KAAK+P,SAAS9P,EAAKpD,EAAKE,EAAE0S,KAAM5S,MAGpC,MAAMmT,EAAqB,GACvBjT,EAAEyJ,UACJzJ,EAAEyJ,SAAShG,QAAQ5E,IACjB,IAAKA,EAAEsT,IASL,OARA1Q,QAAQmC,IAAI,UAAU/E,EAAE0L,iBAAiB1L,EAAEW,iBAAiBX,EAAEE,aAC/C,0BAAXF,EAAE0L,KACJtH,KAAK+P,SAAS9P,EAAK,IAAIrE,EAAEE,KAAQF,EAAEW,OAC5BX,EAAEW,MACTyT,EAASxV,KAAKoB,EAAEW,OAEhBiC,QAAQC,MAAM,iBAAmB7C,IAKrC,IAAIqU,EAAajQ,KAAKmP,gBAAgBvT,GAClCoU,EAAS9V,OAAS,IAChB,IAAEgW,SAASD,GAGZA,EAAc,aAAe,IAAID,GAElCC,EAAQ,CAAC,YAAa,IAAID,GAAW,OAAQC,GAE/CD,EAAS9V,OAAS,GAEpB8F,KAAK+P,SAAS9P,EAAKrE,EAAEsT,IAAKe,KAI9B,MAAME,EAA4B,GAUlC,OATAhW,OAAOkH,KAAKpB,GAAKO,QAAQ4P,IACvBD,EAAIC,GAAuB,IAAlBnQ,EAAImQ,GAAGlW,OAAe+F,EAAImQ,GAAG,GAAKnQ,EAAImQ,KAE7CrT,EAAE4F,OACJwN,EAAI,QAAUpT,EAAE4F,MAEdqN,EAAS9V,OAAS,IACpBiW,EAAI,aAAe,IAAIH,IAElBG,EAGT,UAAUvO,GACR,MAAO,I,IC9ICyO,E,YCLG,MAAM,EAEnB,YAAoB1N,GAAA,KAAAA,OADpB,KAAA2N,YAAwB,GAEtB,IAAIC,GAAU,EACd,IAAK,IAAIvW,EAAI,EAAGA,EAAI2I,EAAKzI,OAAQF,IAC3BuW,GACFvQ,KAAKsQ,YAAY9V,KAAKR,GACxBuW,GAAU,EACa,OAAnB5N,EAAK6N,OAAOxW,KACduW,GAAU,GAIhB,YAAY3R,GACV,IAAI6R,EAAO,IAAEC,YAAY1Q,KAAKsQ,YAAa1R,GACvC+R,EAAS,EAKb,OAJI/R,IAAWoB,KAAKsQ,YAAYpW,QAAU0E,EAASoB,KAAKsQ,YAAYG,MAClEA,IACAE,EAAS/R,EAASoB,KAAKsQ,YAAYG,IAE9B,IAAI,cAASA,EAAME,EAAQ/R,ICXvB,MAAM,EAArB,cACE,KAAA9C,KAAO,OACP,KAAA8Q,OAAS,OACT,KAAA2B,OAA0B,GAE1B,UAAUtM,GACR,IAAI,IAAI,GAAkB2O,UAAU3O,GAClC,OAAO,EAET,GAAID,EAAA,KAAKwM,mBAAmBvM,EAAK,CAAC,IAAK,IAAK,MAC1C,OAAO,EAIT,MAAM4O,EAAW7O,EAAA,KAAK6O,SAAS5O,EAAK,KACpC,GAAI4O,EAASrO,UAAY,EACvB,OAAO,EAET,IAEE,OADA,IAAKsO,kBAAkB7O,EAAIY,UAAU,EAAGgO,EAAS3W,UAC1C,EACP,MAAOqE,GACP,OAAO,GAIX,MAAM0D,GACJ,MAAMlH,EAAS,IAAI6S,EACnB,IAOE,OAFA7S,EAAOA,OAAQiF,KAAK+Q,UAAU9O,GAC9BlH,EAAOgT,QAAU,eACVhT,EACP,MAAOwD,GAGP,OAFAxD,EAAOgT,QAAU,SAAUxP,EAAUwP,QACrCvP,QAAQC,MAAMF,GACPxD,GAMX,UAAUkH,GACRjC,KAAKgR,SAAW,IAAI,EAAS/O,GAC7B,MAAMgP,EAAO,IAAKH,kBAAkB7O,GAC/BgP,EAAKA,EAAK/W,OAAO,GAAGgX,UACvBD,EAAK7V,OAAO6V,EAAK/W,OAAS,EAAG,GAE/B,MAAMwU,EAAM,IAAI,aAQhB,OANoB,IAAhBuC,EAAK/W,OACP8F,KAAKmR,SAASF,EAAK,GAAGC,SAAWxC,EAAII,OAErCJ,EAAII,KAAKxH,KAAQ,gBAAW8J,MAC5B1C,EAAII,KAAKtI,SAAWyK,EAAKhR,IAAIoR,GAAKrR,KAAKmR,SAASE,EAAEH,SAAWxC,EAAII,KAAKwC,iBAEjE5C,EAAII,KAGb,SAASmC,EAAwB7B,GAG/B,IAAK6B,EACH,OAAO7B,EAET,OAAW,OAAJ6B,QAAI,IAAJA,OAAI,EAAJA,EAAM3J,MACX,KAAK,OAAKiK,SACV,KAAK,OAAKC,IACRxR,KAAKyR,YAAYR,EAAiB7B,GAAO,MAC3C,KAAK,OAAKsC,SACV,KAAK,OAAKC,IACR3R,KAAK4R,aAAaX,EAAiB7B,GAAO,MAE5C,KAAK,OAAKyC,MACV,KAAK,OAAKC,aACV,KAAK,OAAKC,cACV,KAAK,OAAKF,MACV,KAAK,OAAKG,aACV,KAAK,OAAKC,aACP7C,EAAK7S,MAAS0U,EAAgB1U,MAAO,MACxC,QAASiC,QAAQ0T,KAAK,qBAAyB,OAAJjB,QAAI,IAAJA,OAAI,EAAJA,EAAM3J,SAAS,QAAGtG,UAAUiQ,cAAiBA,MAAS9W,OAAOkH,KAAK4P,MAK/G,OAHA7B,EAAKvH,MAAQ7H,KAAKgR,SAAUmB,YAAYlB,EAAKmB,MAAO,IACpDhD,EAAK7P,IAAMS,KAAKgR,SAAUmB,YAAYlB,EAAKmB,MAAO,IAE3ChD,EAGT,YAAY6B,EAAe7B,GACzBA,EAAK9H,KAAO,gBAAWkK,IACvB,IAAK,MAAMzJ,KAAQkJ,EAAK3D,MAAiB,CACvC,MAAM+E,EAAQjD,EAAKkC,YAAYvJ,EAAKlL,IAAIN,OACxCyD,KAAKmR,SAASpJ,EAAKxL,MAAO8V,GAE5B,OAAOjD,EAGT,aAAa6B,EAAe7B,GAC1BA,EAAK9H,KAAO,gBAAW8J,MACvB,IAAK,MAAMrJ,KAAQkJ,EAAK3D,MAAO,CAC7B,MAAM+E,EAAQjD,EAAKkC,cACnBtR,KAAKmR,SAASpJ,EAAMsK,GAEtB,OAAOjD,EAGT,UAAUxN,GACR,OAAO,IAAKZ,UAAUY,KFlH1B,SAAYyO,GACV,0BACA,kDACA,+CAHF,CAAYA,MAAc,KAMX,MAAM,EAInB,YACSvU,EAAO,cACPwL,EAAO+I,EAAeiC,QADtB,KAAAxW,OACA,KAAAwL,OALT,KAAAsF,OAAS,OACT,KAAA2B,OAA2B,GAO3B,UAAUtM,GACR,IAAI,IAAI,GAAmB2O,UAAU3O,GACnC,OAAO,EACT,GAAIA,EAAI/H,OAAS,KAAW8F,KAAKuS,MAAMtQ,GAAK4L,SAAWF,EAAYG,QACjE,OAAO,EACT,MAAMlQ,EAAMoC,KAAKwS,sBAAsBxS,KAAKsH,MAC5C,IAAMtF,EAAA,KAAKyM,iBAAiBxM,EAAK,CAACrE,EAAI6U,qBAAsB7U,EAAI8U,sBAC9D,OAAO,EACT,IAAIC,EAAS1Q,EAAIM,QAAQ,KACrBqQ,EAAS3Q,EAAIM,QAAQ,KAGzB,OAFAoQ,EAASA,EAAS,EAAIxN,OAAO0N,iBAAmBF,EAChDC,EAASA,EAAS,EAAIzN,OAAO0N,iBAAmBD,IAC5CD,EAASC,KACJ5S,KAAKsH,OAAS+I,EAAeyC,oBAAsB9S,KAAKsH,OAAS+I,EAAe0C,kBAI3F,MAAM9Q,GACJ,MAAMlH,EAAS,IAAI6S,EACnB,IACE,MAAMoF,EAAM,IAAI,sBAAiB/Q,GAC3BgR,EAAkB,GAClBrV,EAAMoC,KAAKwS,sBAAsBxS,KAAKsH,MAC5C1J,EAAIsV,mBAAmB,gBAAW1B,KAClC,MAAOwB,EAAIG,gCACTF,EAAMzY,KAAK,kBAAa2B,MAAMoW,MAAMS,EAAKpV,IAG3C,OAFA7C,EAAOA,OAA0B,IAAjBkY,EAAM/Y,OAAe+Y,EAAM,GAAK,aAAQG,MAAMH,GAAOnE,KACrE/T,EAAOgT,QAAU,uBACVhT,EACP,MAAOsY,GAIP,OAHAtY,EAAOgT,QAAU,SAAUsF,EAAWtF,QACtChT,EAAO8S,OAASF,EAAY2F,MAC5B9U,QAAQC,MAAM4U,GACPtY,GAIH,sBAAsBuM,GAC5B,OAAOA,GACL,KAAK+I,EAAeyC,mBAAoB,OAAO,wBAAmBS,gBAClE,KAAKlD,EAAe0C,iBAAkB,OAAO,IAAI,yBAAqBS,kBAAkB,KAAKC,qBAAqB,IAAK,KACvH,QAAS,OAAO,IAAI,yBAKxB,UAAU7R,GACR,OAAO,kBAAazF,MAAM4F,cAAcH,GAAK,IAAI,yBAAqB8R,gBAAgB,KG/D1F,MAAM,YAAEC,GAAgB,cAQxB,MAAMC,EAEJ,YAAmB5N,EAA0B,MAA1B,KAAAA,WADnB,KAAA6G,UAAuB,IAIlB,MAAMgH,EACX,YACS7V,EACA8V,EACAtS,EACAuS,GAHA,KAAA/V,QACA,KAAA8V,gBACA,KAAAtS,UACA,KAAAuS,oBAGI,MAAM,EAqBnB,YAAYC,EACDC,EAAkC,IAAI,EAC7CC,EAAY,OACZC,EAAyB,IAFlB,KAAAF,eArBX,KAAA9H,YAAc,SACd,KAAAiI,QAAU,IAAI/G,EAEd,KAAAgH,gBAA+C,IAAIC,IAKnD,KAAAC,gBAAiB,EAEjB,KAAAC,SAAW,IAAIZ,EAEf,KAAAxH,QAAU,GACV,KAAAK,OAAS,GACT,KAAAjH,UAAW,EACX,KAAAqG,WAAa,EAAC,GACd,KAAAC,SAAW,EAAC,GACZ,KAAAC,UAAY,EAAC,GACb,KAAAJ,SAAW,EAAC,GAMV3L,KAAKyU,KAAOzU,KAAK0U,UAAUV,EAAUE,GACjClU,KAAKyU,OACPzU,KAAKyU,KAAK3F,KAAKjS,IAAMqX,EACrBlU,KAAKyU,KAAK3F,KAAK6F,SACf3U,KAAK4U,OAAOT,GAAc,IAI9B,UAAUU,GACR7U,KAAKyM,OAASoI,EACdrW,QAAQmC,IAAI,YAAakU,GAG3B,YAAYjX,GAMV,OALA+V,EAAe,OAAH/V,QAAG,IAAHA,OAAG,EAAHA,EAAKwO,QAAS0I,GAAK9U,KAAKoM,QAAU0I,GAC9CnB,EAAe,OAAH/V,QAAG,IAAHA,OAAG,EAAHA,EAAK4H,SAAUsP,GAAK9U,KAAKwF,SAAWsP,GAChDnB,EAAe,OAAH/V,QAAG,IAAHA,OAAG,EAAHA,EAAKiO,WAAYiJ,GAAK9U,KAAK6L,WAAW,GAAKiJ,GACvDnB,EAAe,OAAH/V,QAAG,IAAHA,OAAG,EAAHA,EAAKkO,SAAUgJ,GAAK9U,KAAK8L,SAAS,GAAKgJ,GACnDnB,EAAe,OAAH/V,QAAG,IAAHA,OAAG,EAAHA,EAAKmO,UAAW+I,GAAK9U,KAAK+L,UAAU,GAAK+I,GAC9C9U,KAGT,YAAY+U,GACV,OAAgB,MAAZA,IAEJ/U,KAAKoM,QAAU2I,EAAS3I,QACxBpM,KAAKwF,SAAWuP,EAASvP,SACzBxF,KAAK6L,WAAakJ,EAASlJ,WAC3B7L,KAAK8L,SAAWiJ,EAASjJ,SACzB9L,KAAK+L,UAAYgJ,EAAShJ,UAC1B/L,KAAK2L,SAAWoJ,EAASpJ,UANhB3L,KAUX,UAAUgU,EAAiCE,GACzC,IAAKF,GAA0C,WAA9BA,EAAS3E,YAAYvT,KAEpC,OADAkE,KAAKmM,YAAc,UACX6H,EAAoBtF,IAE9B,MAAMsG,EAA8B,kBAAf,EAA0BhV,KAAKuS,MAAMyB,GAAY,mBAAc7X,MAAM0F,OAAOmS,GACjG,OAAOgB,GAAUA,EAAOtG,IAGnB,OAAOU,EAAkC6F,GAAU,GACxD,GAAiB,MAAbjV,KAAKyU,KACP,OAEF,IAAIS,EAA8B,KAMhCA,EALI9F,aAAgB,YAKLA,EAFApP,KAAKmV,eAAe/F,EAAM6F,GAIvCA,IACFjV,KAAKoV,YAAcF,GACjBlV,KAAKwU,SAASxO,WAAakP,IAE/BlV,KAAKwU,SAAW,IAAIZ,EAASsB,GAC7BlV,KAAKwU,SAASxO,SAAWkP,EACrBA,GACFlV,KAAKoU,QAAQiB,OAAOrV,KAAKwU,UAItBS,IACHjV,KAAKwU,SAAS3H,UAAY7M,KAAKwU,SAASxO,WAGrC,eAAeoJ,EAAcjH,GAClCnI,KAAKqU,gBAAgBiB,IAAIlG,EAAK7J,aAAc4C,GAGvC,cAAciH,GACnB,OAAOpP,KAAKqU,gBAAgBlY,IAAIiT,EAAK7J,cAGvC,eAAiB,OAAOvF,KAAKwU,SAASxO,SACtC,gBAAkB,OAAOhG,KAAKwU,SAAS3H,UAEhC,eAAe1G,EAAyBoP,GAAS,GACtD,MAAMlD,EAAgBrS,KAAKwU,SAASxO,UAAYhG,KAAKyU,KAAK3F,KAC1D,IAAIM,EAAOiD,EAAMmD,UAAUrP,GAC3B,GAAIiJ,EACF,OAAOA,EAET,GAAqB,kBAAX,EACR,OAAOiD,EAIT,GADAjD,EAAOiD,EAAMmD,UAAU,YAAcrP,GACjCiJ,EACF,OAAOA,EAGT,MAAMqG,EAAc,iBAAYtZ,MAAMoW,MAAMpM,GAC5C,OAAIsP,EAAYC,SACdlX,QAAQ0T,KAAK,8CAA8C/L,GACpDkM,IAETjD,EAAOiD,EAAMmD,UAAUC,GACnBrG,GAEGiD,GAGT,iBAAmB,OAAoB,MAAbrS,KAAKyU,MAAgBzU,KAAKgG,WAAahG,KAAKyU,KAAK3F,KAC3E,wBAA0B,OAAoB,MAAb9O,KAAKyU,MAAgBzU,KAAKgG,WAAahG,KAAKoV,YAC7E,UAAY,OAAOpV,KAAKoU,QAAQ5G,UAChC,aAAe,OAAOxN,KAAKoU,QAAQ3G,aACnC,OAASzN,KAAKwU,SAAWxU,KAAKoU,QAAQuB,OACtC,UAAY3V,KAAKwU,SAAWxU,KAAKoU,QAAQwB,UAEzC,MAAMrK,GACJ,MAAMxQ,EAASiF,KAAKiU,aAAa1B,MAAMhH,GAEvC,OADAvL,KAAKmM,YAAcpR,EAAOgT,QACnBhT,EAAOA,OAGhB,cAAc8a,GACR7V,KAAKoM,QACPpM,KAAKoM,QAAU,GAEfpM,KAAKoM,QAAUyJ,GCjLrB,IAAI,EAAS,WAAa,IAAIxS,EAAIrD,KAASsD,EAAGD,EAAIE,eAAmBC,EAAGH,EAAII,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAACuD,YAAY,CAAC,OAAS,OAAO,SAAW,UAAUnD,GAAG,CAAC,MAAQ,SAASC,GAAQR,EAAIqI,OAAOe,OAAO,YAAY,CAAEpJ,EAAIyS,YAAY,GAAItS,EAAG,aAAa,CAACW,IAAI,WAAWT,YAAY,WAAWqD,YAAY,CAAC,OAAS,QAAQpD,MAAM,CAAC,QAAUN,EAAI0S,SAASlL,MAAM,CAACtO,MAAO8G,EAAO,IAAEyH,SAAS,SAAUC,GAAM1H,EAAInD,IAAI6K,GAAKC,WAAW,SAAS3H,EAAIwD,KAAOxD,EAAIyS,YAAY,IAAOzS,EAAI2S,SAAwW3S,EAAIwD,KAAlWrD,EAAG,WAAW,CAAC6F,WAAW,CAAC,CAACvN,KAAK,QAAQwN,QAAQ,UAAU/M,MAAO8G,EAAO,IAAE2H,WAAW,QAAQ7G,IAAI,WAAWE,MAAM,CAAChB,EAAIyS,YAAY,GAAK,iBAAmB,YAAY/O,YAAY,CAAC,YAAY,QAAQ,SAAW,UAAUkP,SAAS,CAAC,MAAS5S,EAAO,KAAGO,GAAG,CAAC,MAAQ,SAASC,GAAWA,EAAOgF,OAAOqN,YAAqB7S,EAAInD,IAAI2D,EAAOgF,OAAOtM,YAAqB8G,EAAIyS,YAAY,IAAMzS,EAAI2S,SAAUxS,EAAG,MAAM,CAACuD,YAAY,CAAC,OAAS,SAAS,CAACvD,EAAG,MAAM,CAACuD,YAAY,CAAC,YAAY,UAAU,MAAQ,UAAU,CAAC1D,EAAIY,GAAG,2BAA2BZ,EAAIa,GAAGb,EAAI9G,MAAMrC,QAAQ,8DAA8DsJ,EAAG,WAAW,CAAC6F,WAAW,CAAC,CAACvN,KAAK,QAAQwN,QAAQ,UAAU/M,MAAO8G,EAAiB,cAAE2H,WAAW,kBAAkB7G,IAAI,oBAAoBE,MAAM,WAAW0C,YAAY,CAAC,YAAY,QAAQ,SAAW,SAAS,mBAAmB,aAAapD,MAAM,CAAC,SAAW,IAAIsS,SAAS,CAAC,MAAS5S,EAAiB,eAAGO,GAAG,CAAC,MAAQ,SAASC,GAAWA,EAAOgF,OAAOqN,YAAqB7S,EAAI8S,cAActS,EAAOgF,OAAOtM,aAAY8G,EAAIwD,MAAM,IACn/C,EAAkB,G,8ICkCtB,MAAMuP,EAA0B,IAOhC,IAAqB,EAArB,cAAwC,OAAxC,c,oBAOE,KAAAlW,IAAMF,KAAKzD,MAEX,eACE,OAAOyD,KAAKE,IAAIhG,OAAS,KAAS8F,KAAKE,IAAImW,OAAO,IAAM,KAAM9T,QAAQ,MAAQ,EAGhF,eACE,OAAOvC,KAAKgI,MAAMsO,SAGpB,eACE,OAAOtW,KAAKgI,MAAM2D,SAGpB,eACE,OAAO3L,KAAKzD,MAAMrC,OAASkc,EAG7B,oBACE,OAAO,IAAEG,SAASvW,KAAKzD,MAAO,CAACrC,OAAQkc,IAGzC,cACE,MAAMI,EAAiB,CACrBC,IAAK,MACLxF,KAAM,OACNyF,KAAM,CAAE5a,KAAM,aAAc4a,MAAM,IAG9Bja,EAAO+Z,EAAUxW,KAAK4M,SAAW4J,EAAUE,KAEjD,MAAO,CACLja,OACAka,QAAS,EACTC,aAAa,EACbC,aAAc7W,KAAK8W,SACnBC,eAAgB,GAChBC,UAAW,CAAC,aAAc,gBAC1BC,YAAY,EACZC,QAAS,CAAC,yBAA0B,0BAKxC,WAAalX,KAAK+D,MAAM,QAAS/D,KAAKE,KAGtC,WAAWf,GAAaa,KAAKE,IAAMf,EAGnC,eAAeA,GACRa,KAAKmX,MAAShY,GAAMA,EAAE0I,OAAU1I,EAAEI,MAEnCS,KAAKE,IAAIhG,OAAS,MAElB8F,KAAK8V,YAAY,GACnB9V,KAAK2L,SAASyL,OAAO1I,IAAI2I,aAAaC,EAAMnY,EAAE0I,OAAQyP,EAAMnY,EAAEI,KAAM,CAACgY,QAAQ,KAE7EC,EAASxX,KAAKsW,SAAUnX,EAAE0I,MAAM0F,KAChCvN,KAAKsW,SAAS1B,SACd5U,KAAKsW,SAASmB,kBAAkBtY,EAAE0I,MAAM0F,IAAKpO,EAAEI,IAAIgO,UAlE/C,gBAAP,kB,6BACO,gBAAP,kB,4BACO,gBAAP,kB,6BACO,gBAAP,kB,kCACwB,gBAAxB,eAAK,CAAC9H,UAAU,K,gCACT,gBAAP,kB,2BA6CD,gBADC,eAAM,Q,6BAIP,gBADC,eAAM,QAAS,CAACwD,WAAW,K,+BAI5B,gBADC,eAAM,YAAa,CAAEC,MAAM,K,mCAxDT,EAAU,gBAL9B,eAAU,CACTC,WAAY,CACVuO,WAAA,oBAGiB,WAwErB,SAASJ,EAAMK,GACb,MAAO,CACLlH,KAAMkH,EAAGlH,KACTmH,GAAID,EAAGjX,KAIX,SAAS8W,EAASK,EAA+BjZ,GAC7C,MAAMkZ,EAAMD,EAAStb,MACrB,GAAIqC,GAAUkZ,EAAI5d,QAAU0E,EAAS,EACnC,OACFiZ,EAASE,UAAY,EACrBF,EAAStb,MAAQub,EAAIjV,UAAU,EAAGjE,GAClC,MAAMoZ,EAASH,EAASI,aACxBJ,EAAStb,MAAQub,EACjBD,EAASE,UAAYC,EAAS,GCjIkN,QCQhP,G,UAAY,eACd,EACA,EACA,GACA,EACA,KACA,KACA,OAIa,I,QCnBX,GAAS,WAAa,IAAI3U,EAAIrD,KAASsD,EAAGD,EAAIE,eAAmBC,EAAGH,EAAII,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAACE,YAAY,UAAUC,MAAM,CAAC,SAAW,KAAKC,GAAG,CAAC,MAAQ,SAASC,GAAQR,EAAIqI,OAAOe,OAAO,QAAQ,SAAWpJ,EAAIqJ,aAAa,CAAClJ,EAAG,MAAM,CAACE,YAAY,eAAe,CAACF,EAAG,iBAAiB,CAACW,IAAI,gBAAgB4C,YAAY,CAAC,MAAQ,SAASpD,MAAM,CAAC,MAAQN,EAAIuD,YAAY,OAA6B,SAApBvD,EAAIqI,OAAOe,WAAoB,GAAGjJ,EAAG,iBAAiB,CAACW,IAAI,OAAOT,YAAY,YAAYC,MAAM,CAAC,MAAQN,EAAIqI,OAAO+I,KAAK3F,KAAK,aAAe,EAAE,YAAczL,EAAIuD,aAAahD,GAAG,CAAC,eAAeP,EAAI0J,eAAevJ,EAAG,OAAO,IAC1lB,GAAkB,G,0BC4BtB,IAAqB,GAArB,cAAsC,OAAtC,c,oBAIE,KAAAoD,YAAc,IAAI,QAAY5G,KAAKqI,aAGnC,cAAclJ,EAAkB+Y,GACnB,MAAPA,GACFlY,KAAK+H,KAAKE,WAAWiQ,EAAI/R,KAAM,EAAIiJ,GAASA,EAAKpJ,UAAW,GAC1D7G,GACFa,KAAK+H,KAAKE,WAAW9I,EAAEgH,KAAM,EAAIiJ,GAASA,EAAKpJ,UAAW,GAG9D,WAAa,OAAOhG,KAAKgI,MAAMD,KAM/B,YACE/H,KAAK4G,YAAc,IAAI,QAAY5G,KAAK4G,YAAYyB,aAGtD,YAAY3O,GAAkBsG,KAAK0L,OAAOkJ,OAAOlb,GAEjD,WAAW6E,GACRyB,KAAKgI,MAAMmQ,cAAgCzL,WAAWnO,KA1BjD,gBAAP,kB,8BACwB,gBAAxB,eAAK,CAACZ,QAAS,U,qCACM,gBAArB,eAAK,CAACA,QAAS,O,mCAIhB,gBADC,eAAM,oB,mCAcP,gBADC,eAAM,W,+BAnBY,GAAQ,gBAN5B,eAAU,CACTwL,WAAY,CACViP,gBAAA,KACAC,iBAAA,SAGiB,cC7B6N,MCQ9O,I,UAAY,eACd,GACA,GACA,IACA,EACA,KACA,WACA,OAIa,M,QCnBX,GAAS,WAAa,IAAIhV,EAAIrD,KAASsD,EAAGD,EAAIE,eAAmBC,EAAGH,EAAII,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAACE,YAAY,YAAYC,MAAM,CAAC,SAAW,KAAKC,GAAG,CAAC,SAAWP,EAAIqJ,aAAa,CAAClJ,EAAG,YAAYH,EAAIiV,GAAG,GAAG,YAAYjV,EAAI9C,UAAS,GAAO,CAACiD,EAAG,MAAM,CAACuD,YAAY,CAAC,QAAU,gBAAgB,CAACvD,EAAG,MAAM,CAACE,YAAY,eAAe,CAAEL,EAAqB,kBAAEA,EAAI4H,GAAG,cAAc5H,EAAIwD,KAAKrD,EAAG,YAAY,CAACG,MAAM,CAAC,YAAYN,EAAIqI,OAASrI,EAAIqI,OAAO1F,SAAW,MAAMpC,GAAG,CAAC,eAAeP,EAAI0J,eAAevJ,EAAG,MAAM,CAACE,YAAY,mBAAmB,CAAEL,EAAIqI,OAAqB,eAAElI,EAAG,iBAAiB,CAACW,IAAI,gBAAgBR,MAAM,CAAC,MAAQN,EAAIuD,YAAY,OAA6B,UAApBvD,EAAIqI,OAAOe,UAAoBpJ,EAAIwD,KAAMxD,EAAgB,aAAEG,EAAG,OAAO,CAAC6F,WAAW,CAAC,CAACvN,KAAK,YAAYwN,QAAQ,oBAAoBC,UAAU,CAAC,OAAQ,KAAQ5F,MAAM,CAAC,MAAQ,0BAA0B,CAACH,EAAG,QAAQ,CAACG,MAAM,CAAC,KAAO,KAAK,QAAU,oBAAoB,QAA+B,UAArBN,EAAIqI,OAAOU,SAAmBxI,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOR,EAAIqI,OAAO6M,cAAc,YAAY,CAAC/U,EAAG,IAAI,CAACE,YAAY,oBAAoB,GAAGL,EAAIwD,KAAKrD,EAAG,OAAO,CAAC6F,WAAW,CAAC,CAACvN,KAAK,YAAYwN,QAAQ,oBAAoBC,UAAU,CAAC,OAAQ,KAAQ5F,MAAM,CAAC,MAAQ,+BAA+B,CAACH,EAAG,QAAQ,CAACG,MAAM,CAAC,KAAO,KAAK,QAAU,oBAAoB,QAAUN,EAAI0Q,kBAAkBnQ,GAAG,CAAC,iBAAiB,SAASC,GAAQR,EAAI0Q,iBAAiBlQ,KAAU,CAACL,EAAG,IAAI,CAACE,YAAY,sBAAsB,GAAGF,EAAG,OAAO,CAAC6F,WAAW,CAAC,CAACvN,KAAK,YAAYwN,QAAQ,oBAAoBC,UAAU,CAAC,OAAQ,KAAQ5F,MAAM,CAAC,MAAQ,uBAAuB,CAACH,EAAG,QAAQ,CAACG,MAAM,CAAC,KAAO,KAAK,QAAU,sBAAsB,CAACH,EAAG,IAAI,CAACE,YAAY,aAAaE,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOR,EAAImV,MAAK,UAAc,GAAGhV,EAAG,OAAO,CAAC6F,WAAW,CAAC,CAACvN,KAAK,YAAYwN,QAAQ,oBAAoBC,UAAU,CAAC,OAAQ,KAAQ5F,MAAM,CAAC,MAAQ,sBAAsB,CAACH,EAAG,QAAQ,CAACG,MAAM,CAAC,KAAO,KAAK,QAAU,sBAAsB,CAACH,EAAG,IAAI,CAACE,YAAY,aAAaE,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOR,EAAImV,MAAK,UAAa,GAAGhV,EAAG,OAAO,CAAC6F,WAAW,CAAC,CAACvN,KAAK,YAAYwN,QAAQ,oBAAoBC,UAAU,CAAC,OAAQ,KAAQ5F,MAAM,CAAC,MAAQ,kBAAkB,CAACH,EAAG,QAAQ,CAACG,MAAM,CAAC,KAAO,KAAK,QAAU,oBAAoB,QAAUN,EAAIqI,OAAOlG,UAAU5B,GAAG,CAAC,MAAQ,SAASC,GAAQR,EAAIqI,OAAOlG,UAAYnC,EAAIqI,OAAOlG,YAAY,CAAChC,EAAG,IAAI,CAACE,YAAY,wBAAwB,GAAGF,EAAG,OAAO,CAAC6F,WAAW,CAAC,CAACvN,KAAK,YAAYwN,QAAQ,oBAAoBC,UAAU,CAAC,OAAQ,KAAQ5F,MAAM,CAAC,MAAQ,mBAAmB,CAACH,EAAG,QAAQ,CAACG,MAAM,CAAC,KAAO,KAAK,QAAU,oBAAoB,QAAUN,EAAIoV,mBAAmB7U,GAAG,CAAC,MAAQ,SAASC,GAAQR,EAAIoV,mBAAqBpV,EAAIoV,qBAAqB,CAACjV,EAAG,IAAI,CAACE,YAAY,oBAAoB,GAAGF,EAAG,iBAAiB,CAACE,YAAY,QAAQ,CAACF,EAAG,OAAO,CAAC6F,WAAW,CAAC,CAACvN,KAAK,YAAYwN,QAAQ,oBAAoBC,UAAU,CAAC,OAAQ,KAAQ5F,MAAM,CAAC,MAAQ,gBAAgB,CAACH,EAAG,QAAQ,CAACG,MAAM,CAAC,KAAO,KAAK,UAAYN,EAAIqI,OAAO8B,WAAW5J,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOR,EAAIqI,OAAOiK,UAAU,CAACnS,EAAG,IAAI,CAACE,YAAY,wBAAwB,GAAGF,EAAG,OAAO,CAAC6F,WAAW,CAAC,CAACvN,KAAK,YAAYwN,QAAQ,oBAAoBC,UAAU,CAAC,OAAQ,KAAQ5F,MAAM,CAAC,MAAQ,mBAAmB,CAACH,EAAG,QAAQ,CAACG,MAAM,CAAC,KAAO,KAAK,UAAYN,EAAIqI,OAAO+B,cAAc7J,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOR,EAAIqI,OAAOkK,aAAa,CAACpS,EAAG,IAAI,CAACE,YAAY,yBAAyB,MAAM,IAAI,GAAIL,EAAqB,kBAAE,CAACG,EAAG,MAAM,CAAC6F,WAAW,CAAC,CAACvN,KAAK,YAAYwN,QAAQ,oBAAoBC,UAAU,CAAC,OAAQ,KAAQxC,YAAY,CAAC,QAAU,QAAQpD,MAAM,CAAC,MAAQ,kCAAkCC,GAAG,CAAC,SAAWP,EAAIqV,4BAA4B,CAACrV,EAAIY,GAAG,aAAaT,EAAG,eAAe,CAACuD,YAAY,CAAC,QAAU,SAAS,MAAQ,QAAQpD,MAAM,CAAC,KAAO,KAAK,YAAc,8CAA8C,SAAW,OAAOkH,MAAM,CAACtO,MAAO8G,EAAI9C,SAASvC,MAAa,QAAE8M,SAAS,SAAUC,GAAM1H,EAAIyG,KAAKzG,EAAI9C,SAASvC,MAAO,UAAW+M,IAAMC,WAAW,6BAA6B,GAAGxH,EAAG,MAAM,CAAC6F,WAAW,CAAC,CAACvN,KAAK,YAAYwN,QAAQ,oBAAoBC,UAAU,CAAC,OAAQ,KAAQxC,YAAY,CAAC,QAAU,QAAQpD,MAAM,CAAC,MAAQ,mBAAmBC,GAAG,CAAC,SAAWP,EAAIqV,4BAA4B,CAACrV,EAAIY,GAAG,oBAAoBT,EAAG,eAAe,CAACuD,YAAY,CAAC,QAAU,SAAS,MAAQ,QAAQpD,MAAM,CAAC,KAAO,KAAK,KAAO,iBAAiB,YAAc,iHAAiHC,GAAG,CAAC,KAAO,SAASC,GAAQ,OAAOR,EAAIsV,mBAAmBtV,EAAI2C,YAAY6E,MAAM,CAACtO,MAAO8G,EAAI9C,SAASvC,MAAoB,eAAE8M,SAAS,SAAUC,GAAM1H,EAAIyG,KAAKzG,EAAI9C,SAASvC,MAAO,iBAAkB+M,IAAMC,WAAW,oCAAoC,IAAI3H,EAAIwD,MAAM,KAAKrD,EAAG,WAAW,CAAC6F,WAAW,CAAC,CAACvN,KAAK,QAAQwN,QAAQ,UAAU/M,MAAO8G,EAAc,WAAE2H,WAAW,eAAe7G,IAAI,qBAAqBT,YAAY,wBAAwBuS,SAAS,CAAC,MAAS5S,EAAc,YAAGO,GAAG,CAAC,MAAQ,SAASC,GAAWA,EAAOgF,OAAOqN,YAAqB7S,EAAIuV,WAAW/U,EAAOgF,OAAOtM,YAAW,IACt4J,GAAkB,G,aCDlB,GAAS,WAAa,IAAI8G,EAAIrD,KAASsD,EAAGD,EAAIE,eAAmBC,EAAGH,EAAII,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAACE,YAAY,iBAAiB,CAACF,EAAG,WAAW,CAACuD,YAAY,CAAC,QAAU,OAAOpD,MAAM,CAAC,SAAW,IAAI,QAAU,OAAO,GAAKN,EAAIwV,cAAc,CAACrV,EAAG,IAAI,CAACE,YAAY,iBAAiBW,MAAM,CAAC,cAAehB,EAAIyV,WAAW9a,QAAQ,CAACqF,EAAIY,GAAGZ,EAAIa,GAAGb,EAAImH,YAAYhH,EAAG,YAAY,CAACG,MAAM,CAAC,OAASN,EAAIwV,YAAY,SAAW,cAAc,UAAY,MAAM,qBAAqB,YAAY,SAAW,WAAW,MAAQ,MAAM,WAAU,EAAK,mBAAmB,KAAKjV,GAAG,CAAC,KAAOP,EAAI0V,gBAAgB,CAACvV,EAAG,MAAM,CAACE,YAAY,8BAA8B,CAACF,EAAG,eAAe,CAACW,IAAI,QAAQT,YAAY,eAAeC,MAAM,CAAC,KAAO,SAAS,YAAe,UAAYN,EAAI5B,MAAQ,MAAO,SAAW,OAAOmC,GAAG,CAAC,QAAU,CAAC,SAASC,GAAQ,OAAIA,EAAOyD,KAAK/E,QAAQ,QAAQc,EAAI2V,GAAGnV,EAAOoV,QAAQ,MAAM,GAAGpV,EAAOhH,IAAI,CAAC,MAAM,WAAoB,MAAOgH,EAAOmF,iBAAwB3F,EAAI6V,MAAMrV,KAAS,SAASA,GAAQ,OAAIA,EAAOyD,KAAK/E,QAAQ,QAAQc,EAAI2V,GAAGnV,EAAOoV,QAAQ,QAAQ,GAAGpV,EAAOhH,IAAI,SAAkB,KAAcwG,EAAI6V,MAAMrV,MAAWgH,MAAM,CAACtO,MAAO8G,EAAIyV,WAAgB,MAAEhO,SAAS,SAAUC,GAAM1H,EAAIyG,KAAKzG,EAAIyV,WAAY,QAAS/N,IAAMC,WAAW,sBAAsBxH,EAAG,WAAW,CAACE,YAAY,WAAWW,MAAM,CAAC,YAAehB,EAAIyV,WAAWK,UAAUxV,MAAM,CAAC,KAAO,KAAK,QAAU,QAAQ,MAAQ,WAAW,QAAUN,EAAIyV,WAAWK,UAAUvV,GAAG,CAAC,iBAAiB,SAASC,GAAQ,OAAOR,EAAIyG,KAAKzG,EAAIyV,WAAY,WAAYjV,MAAW,CAACR,EAAIY,GAAG,QAAQT,EAAG,WAAW,CAACE,YAAY,WAAWW,MAAM,CAAC,YAAehB,EAAIyV,WAAWM,SAASzV,MAAM,CAAC,KAAO,KAAK,QAAU,QAAQ,MAAQ,iBAAiB,QAAUN,EAAIyV,WAAWM,SAASxV,GAAG,CAAC,iBAAiB,SAASC,GAAQ,OAAOR,EAAIyG,KAAKzG,EAAIyV,WAAY,UAAWjV,MAAW,CAACR,EAAIY,GAAG,QAAQT,EAAG,WAAW,CAACE,YAAY,WAAWW,MAAM,CAAC,YAAehB,EAAIyV,WAAWO,SAAS1V,MAAM,CAAC,KAAO,KAAK,QAAU,QAAQ,MAAQ,0BAA0B,QAAUN,EAAIyV,WAAWO,SAASzV,GAAG,CAAC,iBAAiB,SAASC,GAAQ,OAAOR,EAAIyG,KAAKzG,EAAIyV,WAAY,UAAWjV,MAAW,CAACR,EAAIY,GAAG,OAAOT,EAAG,WAAW,CAAC6F,WAAW,CAAC,CAACvN,KAAK,WAAWwN,QAAQ,yBAAyBgQ,IAAI,gBAAgB5V,YAAY,WAAWC,MAAM,CAAC,KAAO,KAAK,QAAU,QAAQ,MAAQ,2BAA2B,CAACH,EAAG,OAAO,CAACE,YAAY,aAAa,CAACF,EAAG,IAAI,CAACH,EAAIY,GAAG,SAAST,EAAG,OAAO,CAACE,YAAY,eAAe,CAACL,EAAIY,GAAG,UAAU,GAAGT,EAAG,MAAM,CAACA,EAAG,aAAa,CAACuD,YAAY,CAAC,YAAY,SAASpD,MAAM,CAAC,GAAK,eAAeC,GAAG,CAAC,KAAO,SAASC,GAAQR,EAAIkW,WAAY,KAAQ,CAAElW,EAAa,UAAEG,EAAG,MAAM,CAACA,EAAG,MAAM,CAACuD,YAAY,CAAC,QAAU,OAAO,YAAY,OAAO,iBAAiB,MAAM,SAAW,YAAY,CAACvD,EAAG,MAAM,CAACuD,YAAY,CAAC,cAAc,WAAW,CAACvD,EAAG,IAAI,CAACH,EAAIY,GAAG,OAAOZ,EAAIY,GAAG,IAAIZ,EAAIa,GAAGb,EAAImW,gBAAgB7a,UAAU6E,EAAG,MAAM,CAACuD,YAAY,CAAC,eAAe,QAAQ,cAAc,WAAW,CAACvD,EAAG,IAAI,CAACH,EAAIY,GAAG,WAAWZ,EAAIY,GAAG,IAAIZ,EAAIa,GAAGb,EAAImW,gBAAgBzZ,oBAAoB7F,WAAYmJ,EAAImW,gBAAmB,IAAEhW,EAAG,MAAM,CAACuD,YAAY,CAAC,eAAe,QAAQ,cAAc,WAAW,CAACvD,EAAG,IAAI,CAACH,EAAIY,GAAG,SAASZ,EAAIY,GAAG,IAAIZ,EAAIa,GAAGb,EAAIoW,GAAG,UAAPpW,CAAkBA,EAAImW,gBAAgB/Z,IAAI,OAAO4D,EAAIwD,KAAMxD,EAAImW,gBAAmB,IAAEhW,EAAG,MAAM,CAACuD,YAAY,CAAC,eAAe,QAAQ,cAAc,WAAW,CAACvD,EAAG,IAAI,CAACH,EAAIY,GAAG,SAASZ,EAAIY,GAAG,IAAIZ,EAAIa,GAAGb,EAAIoW,GAAG,UAAPpW,CAAkBA,EAAImW,gBAAgB9Z,IAAI,OAAO2D,EAAIwD,KAAMxD,EAAImW,gBAAmB,IAAEhW,EAAG,MAAM,CAACuD,YAAY,CAAC,eAAe,QAAQ,cAAc,WAAW,CAACvD,EAAG,IAAI,CAACH,EAAIY,GAAG,SAASZ,EAAIY,GAAG,IAAIZ,EAAIa,GAAGb,EAAIoW,GAAG,UAAPpW,CAAkBA,EAAImW,gBAAgB7Z,IAAI,OAAO0D,EAAIwD,KAAMxD,EAAImW,gBAAmB,IAAEhW,EAAG,MAAM,CAACuD,YAAY,CAAC,eAAe,QAAQ,cAAc,WAAW,CAACvD,EAAG,IAAI,CAACH,EAAIY,GAAG,SAASZ,EAAIY,GAAG,IAAIZ,EAAIa,GAAGb,EAAIoW,GAAG,UAAPpW,CAAkBA,EAAImW,gBAAgB5Z,IAAI,OAAOyD,EAAIwD,KAAMxD,EAAImW,gBAAmB,IAAEhW,EAAG,MAAM,CAACuD,YAAY,CAAC,eAAe,QAAQ,cAAc,WAAW,CAACvD,EAAG,IAAI,CAACH,EAAIY,GAAG,SAASZ,EAAIY,GAAG,IAAIZ,EAAIa,GAAGb,EAAIoW,GAAG,UAAPpW,CAAkBA,EAAImW,gBAAgB3Z,IAAI,OAAOwD,EAAIwD,KAAMxD,EAAImW,gBAAmB,IAAEhW,EAAG,MAAM,CAACuD,YAAY,CAAC,eAAe,QAAQ,cAAc,WAAW,CAACvD,EAAG,IAAI,CAACH,EAAIY,GAAG,SAASZ,EAAIY,GAAG,IAAIZ,EAAIa,GAAGb,EAAImW,gBAAgBvY,QAAQoC,EAAIwD,KAAMxD,EAAImW,gBAAmB,IAAEhW,EAAG,MAAM,CAACuD,YAAY,CAAC,eAAe,QAAQ,cAAc,WAAW,CAACvD,EAAG,IAAI,CAACH,EAAIY,GAAG,SAASZ,EAAIY,GAAG,IAAIZ,EAAIa,GAAGb,EAAImW,gBAAgB1a,QAAQuE,EAAIwD,OAAOrD,EAAG,MAAM,CAACA,EAAG,IAAI,CAACH,EAAIY,GAAG,gBAAgBT,EAAG,OAAO,CAAC6F,WAAW,CAAC,CAACvN,KAAK,YAAYwN,QAAQ,oBAAoBC,UAAU,CAAC,OAAQ,KAAQ5F,MAAM,CAAC,MAAQ,SAAS,CAACH,EAAG,QAAQ,CAACuD,YAAY,CAAC,cAAc,MAAM,iBAAiB,OAAOpD,MAAM,CAAC,KAAO,KAAK,QAAU,UAAU,CAACH,EAAG,IAAI,CAACE,YAAY,aAAaE,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOR,EAAImV,cAAc,KAAKhV,EAAG,MAAMH,EAAIkD,GAAIlD,EAAImW,gBAAgBE,kBAAkBpc,MAAM,EAAG,KAAK,SAAS4B,GAAK,OAAOsE,EAAG,MAAM,CAACuD,YAAY,CAAC,OAAS,OAAO,YAAY,UAAU,CAACvD,EAAG,MAAM,CAACuD,YAAY,CAAC,QAAU,OAAO,iBAAiB,MAAM,SAAW,YAAY,CAACvD,EAAG,MAAM,CAACE,YAAY,iBAAiBqD,YAAY,CAAC,YAAY,MAAM,CAAC1D,EAAIY,GAAGZ,EAAIa,GAAGb,EAAIoW,GAAG,YAAPpW,CAAoBnE,EAAIgB,IAAI,SAASsD,EAAG,MAAM,CAACuD,YAAY,CAAC,YAAY,IAAI,mBAAmB,QAAQ,YAAY,OAAO,aAAa,QAAQ,MAAQ,SAAS,CAAC1D,EAAIY,GAAGZ,EAAIa,GAAGhF,EAAIiB,UAAUqD,EAAG,MAAM,CAACuD,YAAY,CAAC,YAAY,IAAI,mBAAmB,QAAQ,YAAY,SAAS,aAAa,QAAQ,MAAQ,UAAU,CAAC1D,EAAIY,GAAGZ,EAAIa,GAAGrF,KAAKqE,MAAoB,IAAdhE,EAAIkB,SAAkB,IAAI,SAASoD,EAAG,WAAW,CAACuD,YAAY,CAAC,SAAW,WAAW,IAAM,SAAS,OAAS,SAAS,MAAQ,QAAQpD,MAAM,CAAC,IAAMN,EAAImW,gBAAgB7a,OAAOsX,SAAS,CAAC,MAAQ/W,EAAIiB,cAAa,KAAKkD,EAAIwD,QAAQ,KAAKrD,EAAG,WAAW,CAAC6F,WAAW,CAAC,CAACvN,KAAK,QAAQwN,QAAQ,UAAU/M,MAAO8G,EAAc,WAAE2H,WAAW,eAAe7G,IAAI,qBAAqBT,YAAY,wBAAwBuS,SAAS,CAAC,MAAS5S,EAAc,YAAGO,GAAG,CAAC,MAAQ,SAASC,GAAWA,EAAOgF,OAAOqN,YAAqB7S,EAAIuV,WAAW/U,EAAOgF,OAAOtM,YAAW,IACtxL,GAAkB,G,aC+DP,IACbod,MAAO,CAAC,QAAS,QAAS,QAAS,UACnC,OACE,MAAO,CACLf,WAAY,GAEZW,WAAW,IAGfK,QAAS,CACP,gBACE,aAAIC,SAAS,IAAM7Z,KAAKgI,MAAM8R,MAAMtN,MAAM,CAAEuN,eAAe,MAE7D,QACE/Z,KAAKga,MAAMjW,MAAM,sBAEnB,OACE/D,KAAK4Y,WAAavY,GAAA,KAAU4Z,MAAMja,KAAKwZ,gBAAgBE,mBAGvD1Z,KAAK8H,UAAU,KACb,MAAMwO,EAAWtW,KAAKgI,MAAMkS,mBAC5B5D,EAAS1B,SACT0B,EAASmB,kBAAkB,EAAG,WAElB0C,SAASC,YAAY,QACjCpa,KAAKqa,SAASC,MAAM,8BAA+B,CAAEC,cAAe,IAAMC,aAAa,EAAMC,QAAS,+BAI5GC,SAAU,CACR,cACE,MAAO,aAAa1a,KAAKyB,OAE3B,kBACE,OAAOpB,GAAA,KAAUsa,uBAAuB3a,KAAKmO,OAAOtQ,aAAcmC,KAAKyB,QAEzE,aACE,OAAOzB,KAAKhC,MAAM4c,aAAa5a,KAAKyB,UCtGwJ,MCQ9L,I,UAAY,eACd,GACA,GACA,IACA,EACA,KACA,KACA,OAIa,M,QCnBX,GAAS,WAAa,IAAI4B,EAAIrD,KAASsD,EAAGD,EAAIE,eAAmBC,EAAGH,EAAII,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAACE,YAAY,WAAWW,MAAM,CAAC,sBAAuB,EAAM,uBAAuB,IAAQ,CAAGhB,EAAI9G,MAAkB8G,EAAQ,KAAEG,EAAG,MAAM,CAACyS,SAAS,CAAC,UAAY5S,EAAIa,GAAGb,EAAIwX,SAAUxX,EAAc,WAAEG,EAAG,MAAM,CAACH,EAAIY,GAAGZ,EAAIa,GAAGb,EAAI9G,UAAY8G,EAAIsC,aAAmPnC,EAAG,MAAM,CAACA,EAAG,eAAe,CAACG,MAAM,CAAC,MAAQN,EAAI9G,MAAM,WAAY,EAAK,SAAW8G,EAAI8K,OAAOzC,OAAOlG,UAAU5B,GAAG,CAAC,eAAeP,EAAI0J,gBAAgB,GAA1XvJ,EAAG,MAAM,CAACA,EAAG,iBAAiB,CAACE,YAAY,sBAAsBqD,YAAY,CAAC,cAAc,eAAepD,MAAM,CAAC,MAAQN,EAAI9G,MAAM,YAAc8G,EAAI8K,OAAOvH,YAAY,aAAe,GAAGhD,GAAG,CAAC,eAAeP,EAAI0J,gBAAgB,GAAtXvJ,EAAG,UACjN,GAAkB,G,aCD2K,WCQ7L,I,UAAY,eACd,GACA,GACA,IACA,EACA,KACA,KACA,OAIa,M,QCnBX,GAAS,WAAa,IAAIH,EAAIrD,KAASsD,EAAGD,EAAIE,eAAmBC,EAAGH,EAAII,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAAEH,EAAY,SAAEG,EAAG,MAAM,CAACE,YAAY,WAAW,CAACF,EAAG,IAAI,CAACG,MAAM,CAAC,KAAO,KAAKC,GAAG,CAAC,MAAQ,SAASC,GAAiC,OAAzBA,EAAOC,kBAAyBT,EAAI0J,YAAY1J,EAAInE,IAAI,cAAc,CAACmE,EAAIY,GAAGZ,EAAIa,GAAGb,EAAI9G,YAAYiH,EAAG,MAAM,CAACE,YAAY,WAAW,CAACL,EAAIY,GAAGZ,EAAIa,GAAGb,EAAI9G,aACxW,GAAkB,GCYP,IACbod,MAAO,CAAC,QAAS,MAAO,UACxBC,QAAS,CACP,YAAYlgB,GAAQsG,KAAKmO,OAAOzC,OAAOkJ,OAAOlb,KAEhDghB,SAAU,CACR,WACE,OAAO1a,KAAKd,IAAI,UAAUoI,OAAS,gBAAWC,UCpB4I,MCQ5L,I,UAAY,eACd,GACA,GACA,IACA,EACA,KACA,WACA,OAIa,M,QCnBX,GAAS,WAAa,IAAIlE,EAAIrD,KAASsD,EAAGD,EAAIE,eAAmBC,EAAGH,EAAII,MAAMD,IAAIF,EAAG,OAAOE,EAAG,KAAK,CAACE,YAAY,uBAAuB,CAAEL,EAAS,MAAEA,EAAIkD,GAAIlD,EAAS,OAAE,SAAS0E,EAAK+S,GAAK,OAAOtX,EAAG,KAAK,CAAC3G,IAAIkL,EAAKpF,KAAKmY,EAAIzW,MAAM,CAAC,kBAAmB0D,EAAKgT,OAAS,SAAW,OAAO,CAAEhT,EAAW,OAAEvE,EAAG,OAAO,CAACyS,SAAS,CAAC,UAAY5S,EAAIa,GAAG6D,EAAKpF,SAASa,EAAG,SAAS,CAACG,MAAM,CAAC,GAAKoE,EAAKiT,IAAIjT,EAAKkT,MAAMlT,EAAKmT,MAAMjF,SAAS,CAAC,UAAY5S,EAAIa,GAAG6D,EAAKpF,OAAOiB,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOR,EAAI8X,QAAQpT,QAAW,MAAK1E,EAAIwD,KAAKxD,EAAI4H,GAAG,YAAY,IACzhB,GAAkB,GCwBtB,IAAqB,GAArB,cAAsC,OAGpC,QAAQlD,GACN/H,KAAK+D,MAAM,eAAgB,CAAC,MAAOgE,EAAKqH,KAAMjJ,OAGhD,YACE,MAAMiV,EAAQ,IAAIC,MAClB,IAAKrb,KAAKsb,SACR,OAAOF,EAETA,EAAMG,QAAQ,CAAE5Y,KAAM3C,KAAKsb,SAASze,IAAMke,QAAQ,IAClD,IAAK,IAAIS,EAAQxb,KAAKsb,SAAShW,OAAQkW,EAAOA,EAAQA,EAAOlW,OAC3D8V,EAAMG,QAAQ,CAAE5Y,KAAM6Y,EAAO3e,IAAMoe,KAAM,GAAI7L,KAAMoM,IAErD,OAAOJ,IAfD,gBAAP,kB,gCADkB,GAAQ,gBAD5B,QACoB,cCzB6N,MCQ9O,I,UAAY,eACd,GACA,GACA,IACA,EACA,KACA,KACA,OAIa,M,QCoEf,MAAMK,GAAY,SACZC,GAAS,IACTC,GAAU,OAQhB,IAAqB,GAArB,cAAuC,OAAvC,c,oBACE,KAAApb,SAA6B,CAG3B0N,SAAU,iBACVC,gBAAiB,CAAC,EAAG,GAAI,GAAI,IAAK,IAAK,KACvC1M,QAAS,GACT9H,KAAM,GACNmE,aAAc,GACdC,QAAS,GACTa,MAAO,EAEPX,MAAO,IAAI,OAEXmQ,OAAQ,CAAEzC,OAAQ,KAAM7N,aAAa,KAKvC,KAAA6N,OAAoB,IAAI,EAAU,IAClC,KAAAqI,kBAAmB,EACnB,KAAA6H,uBAAwB,EACxB,KAAAhV,YAAc,IAAI,QAAY,EAAG,GAAG,GACpC,KAAAgS,WAAa,GACb,KAAAH,mBAAoB,EAOpB,aAAavY,EAAoB2b,EAAqC,MAE/D7b,KAAK8b,cACR9b,KAAK8b,YAAc9b,KAAKO,UAE1BP,KAAK8b,YAAYta,QAAU,GAC3BxB,KAAKO,SAAW,OAAH,wBAAQP,KAAK8b,aAAiB9b,KAAK+b,iBAAmB/b,KAAK+V,SACpE8F,IACF7b,KAAKO,SAASvC,MAAQ6d,EAAY7d,MAClCgC,KAAKO,SAASiB,QAAUqa,EAAYra,QACpCxB,KAAK+T,iBAAmB8H,EAAY9H,kBAEtC/T,KAAK2Y,mBAAmBzY,GACxBF,KAAK0L,OAAO6I,gBAAiB,EAE7BvU,KAAKO,SAAS4N,OAAOzC,OAAS1L,KAAK0L,OACnC1L,KAAKO,SAAS4N,OAAOvH,YAAc5G,KAAK4G,YACxC5G,KAAK4b,sBAAwB5b,KAAK+T,iBAGpC,mBAAmB7T,GACjBF,KAAKgc,WAAW9b,GAChBF,KAAKic,YAGP,WAAW/b,GAGT,GAFAF,KAAKO,SAASzC,QAAU,IAEnBoC,EACH,OAEF,IAAIgc,EAAU,KACd,GAAIlc,KAAKhC,MAAMme,eAAgB,CAC7B,MAAMC,EAAM,yIAGEpc,KAAKhC,MAAMme,qCAGzB,IACED,EAAU,IAAIG,SAAS,IAAKD,GAC5B,MAAM7d,GACNC,QAAQC,MAAM,gCAAgC2d,GAC9C5d,QAAQC,MAAMF,IAIlB,MAAM+d,EAAKpc,EAAIoH,OAAS,gBAAW8J,MAC7BmL,EAASD,EAAKZ,GAASC,GAE7B,GADA3b,KAAKwc,UAAUD,EAAQ,GACnBrc,EAAIsG,SACN,IAAK,MAAMrH,KAAKe,EAAIsG,SAAU,CAC5B,MAAMtH,EAAM,CACV,CAACqd,GAASD,EAAKnX,OAAOhG,EAAEtC,KAAOsC,EAAEtC,IACjC,CAAC4e,IAAYtc,GAGf,GADAa,KAAKO,SAASzC,QAAQtD,KAAK0E,GACvBc,KAAK+T,kBAAoB5U,GAAKA,EAAEqH,SAClC,IAAK,MAAMiW,KAAMtd,EAAEqH,SACjBxG,KAAKwc,UAAUC,EAAG5f,KAClBqC,EAAIud,EAAG5f,KAAQ4f,OAGjBzc,KAAKwc,UAAUf,GAAW,GAE5B,GAAIS,EACF,IACE,MAAMQ,EAAMR,EAAQ/c,EAAEwC,UAAS,GAAM,IACrC,IAAK,MAAMyO,KAAKsM,EAEZ1c,KAAK2c,aAAavM,EAAGsM,EAAItM,GAAIlR,GACjC,MAAMX,GACNC,QAAQC,MAAM,6BAA6BuB,KAAKhC,MAAMme,gBACtD3d,QAAQC,MAAMF,KAOxB,aAAa1B,EAAaqD,EAAUhB,G,QAClC,GAAIrC,EAAIyF,SAAS,MAAQpC,EAAK,CAC5B,GAAImb,MAAMhC,QAAQnZ,GAAM,CACtB,IAAK,IAAIlG,EAAI,EAAGA,EAAIkG,EAAIhG,OAAQF,IAC9BgG,KAAKwc,UAAU3f,EAAM7C,GACrBkF,EAAIrC,EAAI7C,IAAW,QAAN,EAAAkG,EAAIlG,UAAE,eAAE4iB,WAAY1c,EAAIlG,GAEvC,OACK,GAAmB,kBAARkG,EAAkB,CAMlC,IAAK,MAAMkQ,KAAKjW,OAAOkH,KAAKnB,GACvBkQ,EAAE/N,WAAW,QAChBrC,KAAKwc,UAAU3f,EAAMuT,GACrBlR,EAAIrC,EAAIuT,IAAW,QAAN,EAAAlQ,EAAIkQ,UAAE,eAAEwM,WAAY1c,EAAIkQ,IAEvC,QAGJpQ,KAAKwc,UAAU3f,GACfqC,EAAIrC,IAAU,OAAHqD,QAAG,IAAHA,OAAG,EAAHA,EAAK0c,WAAY1c,EAG9B,UAAUuB,EAAeqZ,EAAM9a,KAAKO,SAASiB,QAAQtH,QACnD,MAAM2iB,EAAmB,IAAR/B,EACXgC,EAAO9c,KAAKO,SAASiB,QAC3B,IAAId,EAAMoc,EAAKC,KAAKnhB,GAAKA,EAAE6F,QAAUA,GAChCf,IACHA,EAAM,CACJe,QACAC,QAASmb,KAAc7c,KAAK+b,iBAAmB/b,KAAK+V,QAASvU,UAE/Dsb,EAAK1hB,OAAO0f,EAAK,EAAGpa,IAElBA,EAAIsc,YAGRtc,EAAI8J,MAAQ9J,EAAI8J,OAAS/I,EACzBf,EAAIuc,UAAW,EACfvc,EAAIwc,OAASxc,EAAIwc,QAAU,GAC3Bxc,EAAIyc,OAASzc,EAAIyc,SAAWN,EAAW,GAAQ,IAC/Cnc,EAAIsc,WAAY,EAIhBhd,KAAK8J,KAAK9J,KAAKO,SAASvC,MAAOyD,OAAOrC,GACtCY,KAAK8J,KAAK9J,KAAKO,SAASvC,MAAM4c,aAAcnZ,EAAO,IAAI,QAEvDf,EAAI0c,QAAU,SACd1c,EAAI2c,QAAU,SACVR,IACFnc,EAAI0c,SAAW,kBACf1c,EAAI2c,QAAU,mBAIlB,cAAcnd,GACZ,IAAKA,EACH,OAAO,EACT,MAAM4c,EAAO,IAAIQ,IACjB,IAAIC,EAAU,EACd,IAAKrd,EAAIsG,UAAoC,IAAxBtG,EAAIsG,SAAStM,OAChC,OAAO,EAET,IAAK,MAAMiF,KAAKe,EAAIsG,SAClB,GAAIrH,GAAKA,EAAEqH,SACT,IAAK,MAAMgX,KAASre,EAAEqH,SACpBsW,EAAKpf,IAAI8f,EAAM3gB,KACf0gB,IAQN,MAAMnN,EAAI,GACJhU,EAAI8D,EAAIsG,SAAStM,OACjB0B,EAAIkhB,EAAKW,KAAO,EAGtB,OAFAF,GAAWnhB,EAEJ0gB,EAAKW,KAAO,KAAOF,GAAW3hB,GAAKQ,GAAKA,EAAI,GAAKgU,GAG1D,YAAY1W,GAAgBsG,KAAK0L,OAAOkJ,OAAOlb,GAE/C,YACEgkB,GAAA,KAAW3f,OAAOiC,KAAKO,UACvBP,KAAKO,SAAS4N,OAAOtQ,aAAemC,KAAKO,SAAS1C,aAGpD,KAAK8f,GAAQ,GAIX,MAAMjkB,EAAOsG,KAAKO,SAAS1C,aACrB+f,EAAgD,SAAnC5d,KAAKO,SAASiB,QAAQ,GAAGC,MACxCpB,GAAA,KAAUwd,aAAankB,EAAMsG,KAAKO,UAAY7G,EAAKuG,IAAI7D,GAAKiE,GAAA,KAAUI,YAAYrE,EAAG4D,KAAKO,WAG9FP,KAAK4Y,WAAa+E,EAAQtd,GAAA,KAAU4Z,MAAM2D,GAAc,QAAG5c,UAAU4c,GACrEpf,QAAQmC,IAAI,mBAAmBX,KAAK4Y,YACpC5Y,KAAK8H,UAAU,KACb,MAAMwO,EAAWtW,KAAKgI,MAAMkS,mBAC5B5D,EAAS1B,SACT0B,EAASmB,kBAAkB,EAAG,WAElB0C,SAASC,YAAY,QACjCpa,KAAKqa,SAASC,MAAM,8BAA+B,CAAEC,cAAe,IAAMC,aAAa,EAAMC,QAAS,6BAM1G,aACEjc,QAAQmC,IAAI,kBAAoBI,KAAKC,UAAUhB,KAAKhC,QACpDgC,KAAKic,YAIP,wBACMjc,KAAK+T,mBAAqB/T,KAAK4b,uBACjC5b,KAAK8d,aAAa9d,KAAKgG,UAI3B,iBACEhG,KAAK0L,OAAS1L,KAAK+d,WAAa/d,KAAK+d,qBAAqB,EAAY/d,KAAK+d,UAAY,IAAI,EAAU/d,KAAK+d,UAAW,IAAI,GAI3H,cAAc3O,EAAc4O,GAC1Bxf,QAAQmC,IAAI,oBAA2B,OAAPqd,QAAO,IAAPA,OAAO,EAAPA,EAASzY,mBAAuB,OAAJ6J,QAAI,IAAJA,OAAI,EAAJA,EAAM7J,gBAC9DyY,GAAWA,EAAQtP,MAAQU,EAAKV,KAClC1O,KAAK0L,OAAOuS,eAAeD,EAAS,IAAInK,EAAe,IAAEqK,UACvDle,KAAKO,SAASvC,OAAQgC,KAAK4G,YAAYyB,YAAarI,KAAKO,SAASiB,QAASxB,KAAK+T,mBAEpF,MAAM8H,EAAc7b,KAAK0L,OAAOyS,cAAc/O,GAC3B,MAAfyM,EACF7b,KAAK+T,iBAAmB8H,EAAY9H,kBAEpC/T,KAAK+T,iBAAmB/T,KAAKoe,cAAchP,GAC3CpP,KAAKO,SAASvC,MAAMme,eAAiB,GACrCnc,KAAKO,SAASvC,MAAME,QAAU,KAMhC8B,KAAK4G,YAAc,IAAI,QAAYiV,EAAcA,EAAY/H,cAAgB,EAAG,EAAG9T,KAAK4G,YAAYa,qBACpGzH,KAAK8d,aAAa1O,EAAMyM,GAI1B,iBAAmB7b,KAAK8d,aAAa9d,KAAKgG,UAE1C,eACE,OAAOhG,KAAK0L,OAAS1L,KAAK0L,OAAO1F,SAAW,KAG9C,sBACE,OAAOhG,KAAK0L,OAAO2S,yBAA2Bre,KAAK+T,kBAAoB/T,KAAK+V,QAG9E,YAAc,OAAO/V,KAAKO,SAASvC,MAEnC,wBAA0B,QAASgC,KAAKse,OAAOC,WAE/C,WAAWhgB,G,MACkC,QAA1C,EAAAyB,KAAKgI,MAAMmQ,qBAA+B,SAAEzL,WAAWnO,GAG1D,0BAA0BA,GAGxBA,EAAEuF,oBAvQI,gBAAP,kB,iCACO,gBAAP,kB,+BACO,gBAAP,kB,oCAwMD,gBADC,eAAM,QAAS,CAACoF,MAAM,K,gCAOvB,gBADC,eAAM,qB,2CAOP,gBADC,eAAM,YAAa,CAACD,WAAW,K,oCAMhC,gBADC,eAAM,kBAAmB,CAACA,WAAW,K,mCAwBtC,gBADC,eAAM,UAAW,CAACA,WAAW,K,oCA3QX,GAAS,gBAN7B,eAAU,CACTE,WAAY,CACVqV,SAAA,GACAnG,iBAAA,SAGiB,cCjG8N,MCQ/O,I,UAAY,eACd,GACA,GACA,IACA,EACA,KACA,KACA,OAIa,M,QC2Ef,IAAqB,GAArB,cAA2C,OAA3C,c,oBAOE,KAAAoG,cAAmC,IAAI,EACvC,KAAAxS,eAAoCjM,KAAKye,cACzC,KAAA/S,OAAS,IAAI,EAAU,GAAI1L,KAAKiM,gBAAgByS,YAAY1e,KAAK+V,SACjE,KAAAxK,QAAU,GAEV,KAAAY,YAAc,GACd,KAAAwS,eAAgB,EAChB,KAAAlgB,MAAQ,CACNmgB,MAAO,OAKT,KAAAxa,IAAM,qEAEN,KAAAkH,SAAW,GAEX,KAAAuT,oBAAsB,GACtB,KAAAC,gBAA8C,KAC9C,KAAAC,0BAA2B,EAC3B,KAAA9R,kBAAmB,EACnB,KAAAD,aAAc,EAyEN,KAAAuF,MAAQ,IAAEyM,SAAS,CAAC/c,EAAagd,EAAqBC,GAAe,KAE3E,GAAIA,EAAc,CAChBD,EAAKhT,eAAiBjM,KAAKgM,oBAAoB,GAAGzP,MAClD,IAAK,MAAM4iB,KAAUnf,KAAKgM,oBACxB,GAAImT,EAAO5iB,MAAMqU,UAAU3O,GAAM,CAC/Bgd,EAAKhT,eAAiBkT,EAAO5iB,MAC7B,OAKN,MAAM4X,EAAe8K,EAAKvT,OAAO1F,SAAWiZ,EAAKvT,OAAO1F,SAASG,KAAO,GACxE8Y,EAAKvT,OAAS,IAAI,EAAU1L,KAAK2e,cAAgBM,EAAKvlB,KAAOuI,EAAKgd,EAAKhT,eAAgBgT,EAAKnS,cAAeqH,GAAciL,YAAYH,EAAKvT,QAC1IuT,EAAKN,eAAgB,EACrBM,EAAK9S,YAAc8S,EAAKvT,OAAOS,YAEH,IAAxBgI,EAAaja,QAAgB+kB,EAAKI,YAAcJ,EAAKvT,OAAO+I,MAC9DwK,EAAKvT,OAAOkJ,OAAOqK,EAAKI,YAAY,IACrC,KA1FH,YAAYlY,GACVnH,KAAK0L,OAAOkJ,OAAOzN,GAGrB,SACEnH,KAAKuL,QAAU,kBAAapP,MAAM4F,cAAc/B,KAAK0L,OAAO+I,KAAK3F,MAAM,IAAI,yBAAqB4E,gBAAgB,IAGlH,UAEGtW,OAAekiB,IAAMtf,KAGxB,WAAWzB,EAAkBsX,GAId,WAATA,IAEU,MAAVtX,EAAE1B,IACJmD,KAAK0L,OAAO6M,cAAc1C,GAEP,MAAVtX,EAAE1B,IACXmD,KAAK0L,OAAOlG,UAAYxF,KAAK0L,OAAOlG,SAEjB,MAAVjH,EAAE1B,IACXmD,KAAK0L,OAAOiK,OAEO,MAAVpX,EAAE1B,KACXmD,KAAK0L,OAAOkK,WAMhB,cAAczX,GACZ6B,KAAKuL,QAAUxK,KAAKC,UAAU7C,EAAK6B,KAAK0L,OAAO+I,KAAK3F,KAAKnN,UAAS,IAAQ,KAAM,GAI1E,UAAU9F,GACZ,IAAE0jB,SAAS1jB,GACbmE,KAAKuL,QAAU1P,GAEfmE,KAAKuL,QAAUxK,KAAKC,UAAUnF,EAAG,KAAM,MACvCmE,KAAK2e,eAAgB,GAKjB,MAAMxf,GACZa,KAAKuS,MAAMvS,KAAKuL,QAASvL,MAInB,aAAaiC,EAAaiW,GAC3BjW,IACHA,EAAM,IAEJA,EAAI/H,OAAS,MACf8F,KAAK0L,OAAOC,SAAS,IAAK,GACxB1J,EAAI/H,OAAS,MACf8F,KAAK0L,OAAOC,SAAS,IAAK,GAE5B,MAAM6T,EAAStH,EAAMA,EAAIhe,OAAS,EAC5BulB,EAAe5gB,KAAK6gB,IAAIF,EAASvd,EAAI/H,QAAU,GAAK+H,EAAI/H,OAAS,IACvE8F,KAAKuS,MAAMtQ,EAAKjC,KAAMyf,GA0BxB,eACE,OAAOzf,KAAKmM,YAAY9J,WAAW,SAGrC,e,MACE,OAAmB,QAAZ,EAAArC,KAAK+V,eAAO,eAAE/H,gBAGvB,0BACE,MAAMpQ,EAAM,IAAIyd,MAIhB,OAHAzd,EAAIpD,KAAK,CAAEmI,KAAM3C,KAAKye,cAAc3iB,KAAMS,MAAOyD,KAAKye,gBAClDze,KAAK+V,SAAW/V,KAAK+V,QAAQ3H,SAC/BpO,KAAK+V,QAAQ3H,QAAQ5N,QAAQtD,GAAKU,EAAIpD,KAAK,CAACmI,KAAMzF,EAAEpB,KAAMS,MAAOW,KAC5DU,EAGT,mBAAqB,OAAOoC,KAAKgI,MAAM2X,aACvC,iBAAmB,OAAO3f,KAAKgI,MAAM4X,WAErC,SAASC,GACP,MAAMC,EAAYD,EAAGhX,OAA4BkX,MAAO,GACxD,IAAKD,EACH,OACF,MAAME,EAAS,IAAIC,WACnBD,EAAOE,OAAU3hB,IACXyhB,EAAOjlB,SACTiF,KAAKuL,QAAUyU,EAAOjlB,SAE1BilB,EAAOG,WAAWL,GAGpB,QAAQnV,GACN3K,KAAKoE,IAAMuG,EACXvN,OAAOgjB,MAAMpgB,KAAKoE,IAAI,IAInBic,KAAKlQ,GAAOA,EAAIxN,QAChB0d,KAAK3mB,GAAQsG,KAAKuL,QAAU7R,GAC5B4mB,MAAOC,GAAQvgB,KAAKuL,QAAUgV,GACjCvgB,KAAKuL,QAAUxK,KAAKC,UAAU,CAC5B0B,OAAQ,aACR0B,IAAKpE,KAAKoE,KACT,KAAM,GAGX,qBAAuB,IAAL,EAAK,SAA6B,QAApB,EAAS,OAAToc,gBAAS,IAATA,eAAS,EAATA,UAAWC,iBAAS,eAAEC,UAEtD,QAQEF,UAAUC,UAAUC,WAAWL,KAAMvI,IAClC9X,KAAKuL,QAAUuM,IAKpB,SAASnV,GAEP3C,KAAK2f,aAAapjB,MAAQoG,EAC1B3C,KAAK2f,aAAa/K,SAClB5U,KAAK2f,aAAalI,kBAAkB,EAAG,WAEvC,MAAMtH,EAAMgK,SAASC,YAAY,QACjC5b,QAAQmC,IAAI,gBAAgBwP,GAM9B,oBAAsB,OAAOnQ,KAAK0L,OAAOyJ,eAAenV,KAAK8e,gBAAiB3X,UAE9E,WACE,MAAMiI,EAAOpP,KAAK2gB,cACdvR,EAAKvH,OAASuH,EAAK7P,IACrBS,KAAKwL,SAASxL,KAAKuL,QAAQ1I,UAAUuM,EAAKvH,MAAM0F,IAAK6B,EAAK7P,IAAIgO,MAE9DvN,KAAKwL,SAAS,kBAAazJ,cAAcqN,GAAM,IAAI,yBAAqBsE,gBAAgB,KAG5F,eAAenV,GACbyB,KAAK8e,gBAAkBvgB,EAAEqK,OACzB5I,KAAKgN,aAAc,EACnB,MAAMO,EAAMvN,KAAK8e,gBAAiB1X,OAAOwZ,wBACzC5gB,KAAK6e,oBAAsB,CAACgC,SAAU,QAASC,IAAQvT,EAAIuT,IAAP,KAAgBC,KAASxT,EAAIyT,MAAP,MAG5E,eAAeziB,G,OACW,QAApB,EAAAyB,KAAK8e,uBAAe,eAAE1X,UAAW7I,EAAEqK,OAAOxB,SAC5CpH,KAAKgN,aAAc,GAGvB,sBACEhN,KAAK+e,0BAA2B,EAChCvW,WAAW,IAAMxI,KAAKiN,kBAAmB,EAAM,KAGjD,sBACEjN,KAAK+e,0BAA2B,EAChCvW,WAAW,KACJxI,KAAK+e,2BACR/e,KAAKiN,kBAAmB,IACzB,OApOG,gBAAP,kB,6BACO,gBAAP,kB,4BACO,gBAAP,kB,+BACO,gBAAP,kB,kCACO,gBAAP,kB,qCAiED,gBADC,eAAM,OAAQ,CAAEhE,WAAW,K,+BAW5B,gBADC,eAAM,mB,2BAMP,gBADC,eAAM,UAAW,CAAEA,WAAW,K,kCApFZ,GAAa,gBAPjC,eAAU,CACTE,WAAY,CACV8X,SAAA,GACAC,UAAA,GACAC,WAAA,MAGiB,cC9FkO,MCQnP,I,UAAY,eACd,GACA,EACA,GACA,EACA,KACA,KACA,OAIa,M,QCnBf,MAAM5V,GAAU,ssBAgCV6V,GAAU,mPAiBVC,GACN,gEAOMC,GAAS,slDAmDTC,GAAO,8bAcPC,GAAS,6FAQTC,GAAiB,wDACjBC,GAAiB,+LAEVC,GAAgB1e,OAAO2e,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA4DxB,QACbrW,WACA6V,WACAE,UACAE,UACAC,kBACAE,iBACAjoB,KAAM,CACJ,CAACiJ,KAAM,QAASpG,MAAO,IACvB,CACEoG,KAAM,UACNpG,MAAOgP,IAET,CACE5I,KAAM,SACNpG,MAAO,CACLslB,UAAW,CAAC,qBAAsB,kBAAmB,EAAG,GAAG,GAAM,GACjEnc,UAAW,qBACXoc,WAAY,mCACZC,KAAM,CAAC,CAAEjmB,KAAM,UAAY,CAAEA,KAAM,SACnCkmB,MAAO,CACL,gBACA,iBACA,iBACA,CACE,uBAAwB,CAAC,oBAAqB,mBAAoB,qBAEpE,UACA,gBACA,oBAEFpgB,IAAK,CAAEqgB,KAAM,OAAQC,KAAM,UAG/B,CACEvf,KAAM,QACNpG,MAAO,CACL,CACE4lB,KAAM,UACNC,KAAM,WAER,CACED,KAAM,UACNE,KAAM,WAER,QACA,CACEF,KAAM,UACNC,KAAM,UACNC,KAAM,WAER,CACE,MACA,MACA,CAAEnhB,EAAG,EAAGC,EAAG,MAIjB,CACEwB,KAAM,YACNpG,MACN,4dA0BI,CACEoG,KAAM,QACNpG,MACN,sYAeI,CACEoG,KAAM,SACNpG,MACN,+kBA6BI,CACEoG,KAAM,QACNpG,MACN,qbA0BI,CACEoG,KAAM,OACNpG,MAAO6kB,IAET,CACEze,KAAM,iBACNpG,MAAO8kB,IAET,CACE1e,KAAM,MACNpG,MAAO+kB,IAET,CACE3e,KAAM,gBACNpG,MAAOglB,IAET,CACE5e,KAAM,MACNpG,MAAOilB,IAET,CACE7e,KAAM,eACNpG,MAAOklB,IAET,CACE9e,KAAM,kBACNpG,MAAOmlB,IAGT,CACE/e,KAAM,aACNpG,MAAOolB,MC/XE,MAAM,GAInB,YAAmB7lB,EAAO,MAAcwmB,EAAW,KAAhC,KAAAxmB,OAAqB,KAAAwmB,WAHxC,KAAA1V,OAAS,MACT,KAAA2B,OAA0B,GAI1B,UAAUtM,GACR,MAAM4O,EAAW7O,EAAA,KAAK6O,SAAS5O,EAAK,KACpC,GAAI4O,EAASrO,UAAY,EACvB,OAAO,EACT,IACE,MAAM4M,EAAO,eAAUjT,MAAMoW,MAAMtQ,EAAIoU,OAAO,EAAGxF,EAAS3W,QAAS8F,KAAKuiB,WAClEC,EAAapT,EAAK5I,SAAU,GAAGM,kBACrC,GAAI0b,EAAa,EACf,OAAO,EACT,IAAK,IAAItjB,EAAM,EAAGA,EAAMkQ,EAAKtI,kBAAmB5H,IAC9C,GAAIkQ,EAAK5I,SAAUtH,GAAK4H,oBAAsB0b,EAC5C,OAAO,EAEX,OAAO,EACP,MAAOjkB,GACP,OAAO,EAET,OAAO,EAGT,gBACE,OAAO,IAAI,gBAAYkkB,YAAYziB,KAAKsiB,UAG1C,MAAMrgB,GACJ,MAAMlH,EAAS,IAAI6S,EACnB,IAGE,OAFA7S,EAAOA,OAAS,eAAUoB,MAAMoW,MAAMtQ,EAAKjC,KAAKuiB,WAChDxnB,EAAOgT,QAAU,oBACVhT,EACP,MAAOsY,GAGP,OAFAtY,EAAOgT,QAAU,SAAUsF,EAAWtF,QACtCvP,QAAQC,MAAM4U,GACPtY,GAIX,UAAU6G,GACR,OAAO,eAAUzF,MAAM4F,cAAcH,EAAK5B,KAAKuiB,YC9CpC,MAAM,GASnB,cACE,MAAMne,EAAM,IAAIse,IAAItlB,OAAOulB,SAAS1H,MACpCjb,KAAK2K,QAAUvG,EAAIwe,aAAazmB,IAAI,WACpC6D,KAAKtG,KAAO0K,EAAIwe,aAAazmB,IAAI,QACjC6D,KAAK0K,WAAatG,EAAIwe,aAAazmB,IAAI,cACvC6D,KAAKmK,YAAc/F,EAAIwe,aAAazmB,IAAI,eACxC6D,KAAKwK,MAAQpG,EAAIwe,aAAazmB,IAAI,UAAY,iBAE9C,MAAM0mB,EAAiBze,EAAIwe,aAAazmB,IAAI,eACxC0mB,IACF7iB,KAAK8iB,YAAc,QAAGvQ,MAAMsQ,IAE9B,MAAME,EAAS3e,EAAIwe,aAAazmB,IAAI,UAChC4mB,IACF/iB,KAAKuO,OAAS,QAAGgE,MAAMwQ,KCzB7B,MAAMC,GAAO,OACPC,GAAO,OAKN,MAAMC,GAAb,cACE,KAAAC,KAAe,GACf,KAAA7b,KAAe,GACf,KAAA8b,cAA+B,GAE/B,iBAAiBC,GACf,IAAK,MAAM1nB,KAAKqE,KAAKojB,cACnB,GAAIznB,EAAE2nB,YAAYD,GAChB,OAAO1nB,EAEX,MAAM4nB,EAAmB,IAAIC,GAG7B,OAFArpB,OAAOspB,OAAOF,EAAKF,GACnBrjB,KAAKojB,cAAc5oB,KAAK+oB,GACjBA,GAIJ,MAAMC,GASX,YAAY3mB,EAAaN,GAClByD,KAAK0jB,YAAW1jB,KAAK0jB,UAAY,IACtC1jB,KAAK0jB,UAAU7mB,GAAON,EAExB,UAAUM,EAAaN,GAChByD,KAAK2jB,WAAU3jB,KAAK2jB,SAAW,IACpC3jB,KAAK2jB,SAAS9mB,GAAON,EAGvB,YAAY8mB,GACV,IAAI,MAAOxmB,EAAKN,KAAUpC,OAAOypB,QAAQP,GACvC,GAAIrjB,KAAKnD,KAASN,EAChB,OAAO,EAEX,OAAO,GAKJ,MAAMsnB,GACX,YAAmB/nB,GAAA,KAAAA,OACnB,KAAAunB,OAAkC,GAClC,KAAA9mB,MAAgB,GAIH,MAAM,GAArB,cACE,KAAAxB,OAAkB,GAClB,KAAA+oB,cAAwB,IAAIZ,GAC5B,KAAAa,iBAA2B,GAE3B,MAAM9hB,GACJ,MAAM+Q,EAAM,IAAI,sBAAiB/Q,GACjC,MAAM+Q,EAAIgR,uBACR,GAAmB,MAAfhR,EAAIiR,OACNjR,EAAIkR,KAAK,GACTlkB,KAAKmkB,aAAanR,OACb,CACL,MAAMoR,EAAapkB,KAAKqkB,gBAAgBrR,GACxChT,KAAKskB,oBAAoBF,GAG7B,OAAOpkB,KAAKjF,OAGd,aAAaiY,GACX,IAAKA,EAAIgR,uBACP,OACF,MAAMb,EAAOnjB,KAAKukB,kBAAkBvR,EAAKgQ,IACzC,GAAIG,EACHnjB,KAAKwkB,kBAAkBrB,EAAKrnB,MAAMqnB,KAAOA,EAAK5mB,UAC1C,CACH,MAAM+K,EAAOtH,KAAKukB,kBAAkBvR,EAAKiQ,IACrC3b,IACFtH,KAAKwkB,kBAAkBld,EAAKxL,MAAMwL,KAAOA,EAAK/K,OAElDyW,EAAIyR,oBAAoB,QAAQ,GAGlC,kBAAkBzR,EAAiBnW,GACjC,GAAImW,EAAI3Q,WAAWxF,GAAM,CACvBmW,EAAIkR,KAAKrnB,EAAI3C,QACb8Y,EAAI0R,UAAU,KACd,MAAM5oB,EAAOkX,EAAI2R,oBAAoB,KAErC,OADA3R,EAAI0R,UAAU,KACP,CAAC5oB,OAAMS,MAAOyW,EAAI2R,oBAAoB,SAE/C,OAAO,KAGT,gBAAgB3R,GACd,MAAMuQ,EAAkB,IAAIM,GAAW7Q,EAAI2R,oBAAoB,OAC/D,GAAmB,MAAf3R,EAAIiR,OAAgB,CACtBjR,EAAIkR,KAAK,GACT,MAAM,EAAM,CACV,MAAMrnB,EAAMmW,EAAI2R,oBAAoB,MACpC,GAAmB,MAAf3R,EAAI4R,OAAgB,MACxB,MAAMC,EAAQ7R,EAAI4R,OAClB,GAAc,MAAVC,GAA2B,MAAVA,EAAgB,MAAM7R,EAAI8R,4BAA4B,oDAC3E,MAAM5kB,EAAM8S,EAAI+R,iBAAiBF,GACjCtB,EAAIF,OAAOxmB,GAAOqD,EAClB,MAAM8kB,EAAMhS,EAAI4R,OAChB,GAAY,MAARI,EAAa,MACjB,GAAY,MAARA,EAAa,MAAMhS,EAAI8R,4BAA4B,2BAA2BjoB,KAAOqD,MAK7F,OAFA8S,EAAI0R,UAAU,OACdnB,EAAIhnB,MAAQ4I,OAAO8f,WAAWjS,EAAI2R,oBAAoB,UAClD3R,EAAIkS,SAEW,MAAflS,EAAIiR,SACRV,EAAI4B,UAAYhgB,OAAO8f,WAAWjS,EAAI2R,oBAAoB,UAFjDpB,EAMX,oBAAoBa,GAClB,GAAIA,EAAWtoB,OAASkE,KAAK+jB,iBAAkB,CAC7C,MAAMqB,EAAWhB,EAAWf,OAAO+B,SACnC,OAAIA,UACKhB,EAAWf,OAAO+B,cACzBplB,KAAK8jB,cAAcuB,iBAAiBjB,EAAWf,QAAQiC,YAAYF,EAAUhB,EAAW7nB,aAG1FyD,KAAK8jB,cAAcuB,iBAAiBjB,EAAWf,QAAQ9mB,MAAQ6nB,EAAW7nB,OAI5E,GAAI6nB,EAAWtoB,OAASkE,KAAK+jB,iBAAmB,SAE9C,YADA/jB,KAAK8jB,cAAcuB,iBAAiBjB,EAAWf,QAAQljB,MAAQikB,EAAW7nB,OAI5E,GAAI6nB,EAAWtoB,OAASkE,KAAK+jB,iBAAmB,OAE9C,YADA/jB,KAAK8jB,cAAcuB,iBAAiBjB,EAAWf,QAAQ5jB,IAAM2kB,EAAW7nB,OAI1E,GAAI6nB,EAAWtoB,OAASkE,KAAK+jB,iBAAmB,UAAW,CACzD,MAAMwB,EAASnB,EAAWf,OAAOmC,GACjC,IAAKD,EACH,MAAM,IAAIE,MAAM,yBAAyB1kB,KAAKC,UAAUojB,IAG1D,cAFOA,EAAWf,OAAOmC,QACzBxlB,KAAK8jB,cAAcuB,iBAAiBjB,EAAWf,QAAQqC,UAAUH,EAAQnB,EAAW7nB,OAKtF,MAAMopB,EAAS3lB,KAAKwkB,kBAAkBJ,EAAWtoB,MACjD6pB,EAAOre,KAAO,QACdqe,EAAON,iBAAiB,IAAI9oB,MAAQ6nB,EAAW7nB,MAGjD,kBAAkBT,GAChB,IAAIynB,EAAMvjB,KAAKjF,OAAOe,GACtB,OAAIynB,IAEJA,EAAM,IAAIL,GACVljB,KAAKjF,OAAOe,GAAQynB,EACpBvjB,KAAK8jB,cAAgBP,EACrBvjB,KAAK+jB,iBAAmBjoB,EACjBynB,ICxKI,MAAM,GAInB,YAAmBznB,EAAO,aAAqBwmB,EAAW,KAAvC,KAAAxmB,OAA4B,KAAAwmB,WAH/C,KAAA1V,OAAS,MACT,KAAA2B,OAAiC,GAIjC,UAAUtM,GACR,OAAOA,EAAIM,QAAQ,cAAgB,GAAKN,EAAIM,QAAQ,cAAgB,EAGtE,gBACE,OAAO,IAAI,gBAAYkgB,YAAYziB,KAAKsiB,UAG1C,MAAMrgB,GACJ,MAAMlH,EAAS,IAAI6S,EACnB,IAGE,OAFA7S,EAAOA,OAAS,mBAAcoB,MAAM0F,QAAO,IAAI,IAAmB0Q,MAAMtQ,IACxElH,EAAOgT,QAAU,2BACVhT,EACP,MAAOsY,GAGP,OAFAtY,EAAOgT,QAAU,SAAUsF,EAAWtF,QACtCvP,QAAQC,MAAM4U,GACPtY,GAIX,UAAU6G,GACR,OAAOA,EAAIgkB,UCWf,IAAqB,GAArB,cAAkC,OAAlC,c,oBACE,KAAA1b,MAAQ,IAAI,GACZ,KAAAU,WAAaA,GAAWlR,KACxB,KAAAuQ,SAAgBW,GAAWlR,KAAK,GAAG6C,MAEnC,KAAA6N,WAAwB,IAAI,GAAayb,WAAW,CAChD,IAAI,EAAiB,kBAAmBxV,EAAe0C,kBACvD,IAAI,EAAiB,eAAgB1C,EAAeyC,oBACpD,IAAI,EAAgB,cAAe,YAAY,GAC/C,IAAI,EACJ,IAAI,EAAgB,OAAQ,aAC5B,IAAI,GACJ,IAAI,GAAgB,MAAO,MAC3B,IAAI,GAAgB,MAAO,KAC3B,IAAI,GACJ,IAAI,IAGR,oBACE,OAAO9S,KAAKgI,MAAM8d,cAKpB,cACM9lB,KAAKkK,MAAMxQ,OACbsG,KAAKiK,SAAWjK,KAAKkK,MAAMxQ,MAEzBsG,KAAKkK,MAAMqE,QACbpU,OAAOspB,OAAOzjB,KAAKoK,UAAWpK,KAAKkK,MAAMqE,QAGvCvO,KAAKkK,MAAM4Y,aACb3oB,OAAOspB,OAAOzjB,KAAKoK,UAAU4D,gBAAkBhO,KAAKkK,MAAM4Y,aAG/B,MAAzB9iB,KAAKkK,MAAMQ,aACbtN,OAAOkI,OAAOygB,YAAY,CAAEze,KAAM,YAAa0e,GAAIhmB,KAAKkK,MAAMQ,YAAc,KACxEtN,OAAO6oB,QACT7oB,OAAO6oB,OAAOF,YAAY,CAAEze,KAAM,YAAa0e,GAAIhmB,KAAKkK,MAAMQ,YAAc,KAE9EtN,OAAO8oB,iBAAiB,UAAWC,IACX,gBAAlBA,EAAIzsB,KAAK4N,OAEbtH,KAAKiK,SAAWkc,EAAIzsB,KAAKA,QACxB,IAIP,UACMsG,KAAKkK,MAAMS,SACb3K,KAAK8lB,cAAcza,QAAQrL,KAAKkK,MAAMS,WAnDvB,GAAI,gBANxB,eAAU,CACTxB,WAAY,CACVid,cAAA,GACAlF,UAAA,OAGiB,cC9CgN,MCQjO,I,UAAY,eACd,GACA,EACA,GACA,EACA,KACA,KACA,OAIa,M,QCnBX,GAAS,WAAa,IAAI7d,EAAIrD,KAASsD,EAAGD,EAAIE,eAAmBC,EAAGH,EAAII,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAACE,YAAY,uBAAuBC,MAAM,CAAC,GAAK,QAAQ,CAACH,EAAG,aAAa,CAACG,MAAM,CAAC,aAAaN,EAAIgjB,YAAY,QAAUhjB,EAAIijB,WAAWxD,cAAc,CAACtf,EAAG,MAAM,CAACG,MAAM,CAAC,KAAO,cAAcgJ,KAAK,cAAc,CAACnJ,EAAG,KAAK,CAACuD,YAAY,CAAC,aAAa,MAAM,eAAe,QAAQ,CAAC1D,EAAIY,GAAGZ,EAAIa,GAAGb,EAAIijB,WAAW9b,OAAO,YAAY,IACta,GAAkB,GCDlB,GAAS,SAAUlH,EAAGD,GAAM,IAAIG,EAAGH,EAAIG,GAAG,OAAOA,EAAG,IAAI,CAACH,EAAIY,GAAGZ,EAAIa,GAAGb,EAAIsW,MAAMpd,MAAMA,WACvF,GAAkB,GCGP,MCJ0N,MCOrO,GAAY,eACd,GACA,GACA,IACA,EACA,KACA,KACA,MAIa,M,QCIf,MAAM,GAAc,cAASoX,YAO7B,IAAqB,GAArB,cAAuC,OAAvC,c,oBACE,KAAAzJ,MAAQ,IAAI,GACZ,KAAAoc,WAAyB,CACvB9b,MAAO,mBACPP,SAAUW,GAAWW,QACrBpB,YAAa,mBACb2Y,YAAa,CACXyD,YAAY,EACZ/kB,QAAS,CACP,CAAEC,MAAO,gBACT,CACEA,MAAO,eACP0b,OAAQ,IAEV,CACE1b,MAAO,QACPoZ,KAAM,qEAER,CACEpZ,MAAO,eACPoZ,KAAM,CAACte,EAAY2C,IAAa,2BAA2BA,EAAIsnB,eAAejqB,UAAUA,EAAMA,gBAMtG,kBACE,MAAM4L,EAAQ,IAAI,EAAUnI,KAAKsmB,WAAWrc,UACtClN,EAAIoL,EAAMsM,KAAK3F,KAAK0G,UAAUxV,KAAKsmB,WAAWnc,aAAe,IAGnE,OAFIpN,GACFoL,EAAMyM,OAAO7X,GAAG,GACXoL,EAKT,UACE,GAAYnI,KAAKkK,MAAMM,MAAOsK,GAAK9U,KAAKsmB,WAAW9b,MAAQsK,GAC3D,GAAY9U,KAAKkK,MAAM4Y,YAAahO,GAAK9U,KAAKsmB,WAAWxD,YAAchO,GACvE,GAAY9U,KAAKkK,MAAMxQ,KAAMob,GAAK9U,KAAKsmB,WAAWrc,SAAW6K,GAC7D,GAAY9U,KAAKkK,MAAMC,YAAa2K,GAAK9U,KAAKsmB,WAAWnc,YAAc2K,KAxCtD,GAAS,gBAL7B,eAAU,CACT3L,WAAY,CACV+X,UAAA,OAGiB,cC7BqN,MCOtO,GAAY,eACd,GACA,GACA,IACA,EACA,KACA,KACA,MAIa,M,QCFf,aAAIuF,OAAOC,eAAgB,EAC3B,aAAIC,IAAI,QACR,aAAIA,IAAI,QACR,aAAIA,IAAI,KACR,aAAIA,IAAI,QACR,aAAIjhB,UAAU,iBAAkB0S,GAAA,MAChC,aAAI1S,UAAU,aAAc,iBAC5B,aAAI3H,OAAO,YAAaiE,EAAA,KAAK4kB,WAC7B,aAAI7oB,OAAO,UAAWiE,EAAA,KAAK6kB,SAE3B,MAAMC,GAAS,IAAI,OAAU,CAC3BC,OAAQ,CACN,CAAE5gB,KAAM,IAAKT,UAAa,IAC1B,CAAES,KAAM,SAAUT,UAAW,OAIjC,IAAI,aAAI,CACNohB,UACA1jB,OAAQ4jB,GAAKA,EAAE,KACdC,OAAO,S,qBCjCV,IAAIzpB,EAAU,EAAQ,QACA,kBAAZA,IAAsBA,EAAU,CAAC,CAAC/B,EAAOzB,EAAIwD,EAAS,MAC7DA,EAAQC,SAAQhC,EAAOD,QAAUgC,EAAQC,QAE5C,IAAIC,EAAM,EAAQ,QAA+DC,QACpED,EAAI,WAAYF,GAAS,EAAM,CAAC,WAAY,EAAM,YAAa,K,koBCkB7D,0BACb2L,WAAY,CACViP,aAAA,oDACAhP,YAAA,oDAEFuQ,MAAO,CAAC,QAAS,QAAS,MAAO,SAAU,WAC3Ce,SAAU,CACR,OACE,MAAMha,IAAMV,KAAKU,IACXma,KAAO7a,KAAKU,KAAOA,IAAIma,KAC7B,MAAqB,oBAAX,KACDA,KAAK7a,KAAKzD,MAAOyD,KAAKd,KAEtB,EAAE3C,MAAO2C,MAEPb,KAAKwc,MAFP,CAGJ7a,KAAKzD,MAAOyD,KAAKd,MAGxB,MAAQ,OAAO,8CAAE6d,KAAK/c,KAAKwB,QAAS,CAAEC,MAAOzB,KAAKyB,SAClD,YAAc,OAAOzB,KAAKU,MAAQV,KAAKwB,QAAQxB,KAAKwB,QAAQtH,OAAS,IACrE,eAAiB,OAAO8F,KAAKzD,MAAM+K,OAAS,mDAAWC,QACvD,aAAe,OAAQvH,KAAKzD,MAAMlC,eAAe,UAAY2F,KAAKzD,MAAMlC,eAAe,YAEzFuf,QAAS,CACP,YAAYlgB,GACVsG,KAAKmO,OAAOzC,OAAOkJ,OAAOlb,KAG9BwtB,MAAO,CACL3qB,MAAO,CACL0M,WAAW,EACX,QAAQ/I,IAEFA,GAAQF,KAAK6a,MAAS7a,KAAK2F,eAE7B3F,KAAKmO,OAAOzC,OAAO6I,gBAAiB,Q,qBC3D9C,IAAI/W,EAAU,EAAQ,QACA,kBAAZA,IAAsBA,EAAU,CAAC,CAAC/B,EAAOzB,EAAIwD,EAAS,MAC7DA,EAAQC,SAAQhC,EAAOD,QAAUgC,EAAQC,QAE5C,IAAIC,EAAM,EAAQ,QAA+DC,QACpED,EAAI,WAAYF,GAAS,EAAM,CAAC,WAAY,EAAM,YAAa,K,kCCP5E,sHASO,MAAM2pB,EAAb,cACE,KAAAnpB,MAAgB,GAChB,KAAAopB,cAAwB,GACxB,KAAAhO,SAAmB,EAGnB,KAAAC,SAAmB,EACnB,KAAAF,UAAoB,EAIpB,UAEE,GAAInZ,KAAKhC,QAAUgC,KAAKonB,cACtB,OAGF,GAFApnB,KAAKonB,cAAgBpnB,KAAKhC,OAErBgC,KAAKhC,MAER,YADAgC,KAAKqnB,cAAgB,IAGvB,MAAMC,EAAmBtnB,KAAKqZ,QAAU,QAAG9G,MAAMvS,KAAKhC,MAAO,CAACupB,gBAAiB,gBAAWnW,QAAU,CAACpR,KAAKhC,OAE1GgC,KAAKqnB,cAAgBC,EAAOrnB,IAAIvB,GAEvBsB,KAAKoZ,QAAU,IAAIoO,OAAO9oB,EAAG,KAAOA,EAAE+oB,WAAWC,eAI5D,MAAMnrB,GACJ,IAAKyD,KAAKhC,MACR,OAAO,EACT,IAAIjD,GAAS,EACb,IAAK,MAAM2D,KAAKsB,KAAKqnB,cACnB,GAAI3oB,aAAa8oB,QACf,GAAI9oB,EAAEipB,KAAKprB,GAAQ,CACjBxB,GAAS,EACT,YAGF,GAAIwB,EAAMqrB,oBAAoBrlB,QAAQ7D,IAAM,EAAG,CAC7C3D,GAAS,EACT,MAIN,OAAOiF,KAAKmZ,WAAape,GAItB,MAAM8sB,EAAmB,IACzB,MAAMC,EAWX,cARA,KAAAlpB,OAAiB,EACjB,KAAAG,MAAgB,IAChB,KAAAb,QAAW2pB,EAGX,KAAAjN,aAA2C,GAIzC5a,KAAK4a,aAAe,GAGtB,MAAM1b,GACJ/E,OAAOmtB,OAAOtnB,KAAK4a,cAAcpa,QAAQunB,GAAMA,EAAGC,WAClD,IAAK,MAAMC,KAAK9tB,OAAOkH,KAAKrB,KAAK4a,cAAe,CAC9C,MAAMmN,EAAK/nB,KAAK4a,aAAaqN,GAC7B,IAAKF,EAAG9pB,MAAM,GAAGiB,EAAI+oB,IACnB,OAAO,EAEX,OAAO,K,kCCnFX,kDAEe,MAAMhjB,EAKnB,yBAAyBijB,GACvB,MAAMhrB,EAAIgrB,EAAS3lB,QAAQ,KACvBrF,EAAI,IACNgrB,EAAWA,EAAS7R,OAAO,EAAGnZ,IAChC,MAAMirB,EAAKD,EAASE,YAAY,KAChC,OAAOD,EAAK,EAAID,EAAWA,EAASrlB,UAAUslB,EAAK,GAGrD,oBAAoB/Y,GAClB,IAAI5S,EAAI,KACR,MAAM8K,EAAO8H,EAAKiZ,cAAcpjB,EAASqjB,UAGzC,OAFIhhB,GAAyB,kBAAX,IAChB9K,EAAI8K,GACD9K,EAEEyI,EAASsjB,kBAAkB/rB,GADzB,GAIX,wBAAwB4S,EAAcoZ,GAAiB,GACrD,IAAIliB,EAAQ8I,EAAK9H,OAAS,gBAAW8J,MAAQ,IAAIhC,EAAKtI,qBAAuB,IAAIsI,EAAKtI,qBAClF2hB,EAAKzoB,KAAK0oB,aAAatZ,GAC3B,MAAM4W,EAAK5W,EAAKiZ,cAAcpjB,EAAS0jB,QAUvC,OATI3C,IACFyC,GAAM,IAAIzC,GAERyC,EAAGvuB,OAAS,IACdoM,GAAS,KAAKmiB,MAEZD,IACFliB,EAAQ8I,EAAKwZ,iBAAiBtiB,GAAO,GAAO,EAAO,MAE9CA,GAnCO,EAAAgiB,SAAW,QACX,EAAAK,OAAS,MACT,EAAAzjB,QAAU,Q,qBCJ5B,IAAI3H,EAA8B,EAAQ,QAC1C/B,EAAU+B,GAA4B,GAEtC/B,EAAQhB,KAAK,CAACiB,EAAOzB,EAAI,29BAA49B,KAEr/ByB,EAAOD,QAAUA,G,qBCLjB,IAAI+B,EAA8B,EAAQ,QAC1C/B,EAAU+B,GAA4B,GAEtC/B,EAAQhB,KAAK,CAACiB,EAAOzB,EAAI,gGAAiG,KAE1HyB,EAAOD,QAAUA,G,qBCHjB,IAAIgC,EAAU,EAAQ,QACA,kBAAZA,IAAsBA,EAAU,CAAC,CAAC/B,EAAOzB,EAAIwD,EAAS,MAC7DA,EAAQC,SAAQhC,EAAOD,QAAUgC,EAAQC,QAE5C,IAAIC,EAAM,EAAQ,QAA+DC,QACpED,EAAI,WAAYF,GAAS,EAAM,CAAC,WAAY,EAAM,YAAa,K,qBCL5E,IAAIA,EAAU,EAAQ,QACA,kBAAZA,IAAsBA,EAAU,CAAC,CAAC/B,EAAOzB,EAAIwD,EAAS,MAC7DA,EAAQC,SAAQhC,EAAOD,QAAUgC,EAAQC,QAE5C,IAAIC,EAAM,EAAQ,QAA+DC,QACpED,EAAI,WAAYF,GAAS,EAAM,CAAC,WAAY,EAAM,YAAa","file":"js/app.cc952238.js","sourcesContent":[" \t// install a JSONP callback for chunk loading\n \tfunction webpackJsonpCallback(data) {\n \t\tvar chunkIds = data[0];\n \t\tvar moreModules = data[1];\n \t\tvar executeModules = data[2];\n\n \t\t// add \"moreModules\" to the modules object,\n \t\t// then flag all \"chunkIds\" as loaded and fire callback\n \t\tvar moduleId, chunkId, i = 0, resolves = [];\n \t\tfor(;i < chunkIds.length; i++) {\n \t\t\tchunkId = chunkIds[i];\n \t\t\tif(Object.prototype.hasOwnProperty.call(installedChunks, chunkId) && installedChunks[chunkId]) {\n \t\t\t\tresolves.push(installedChunks[chunkId][0]);\n \t\t\t}\n \t\t\tinstalledChunks[chunkId] = 0;\n \t\t}\n \t\tfor(moduleId in moreModules) {\n \t\t\tif(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\n \t\t\t\tmodules[moduleId] = moreModules[moduleId];\n \t\t\t}\n \t\t}\n \t\tif(parentJsonpFunction) parentJsonpFunction(data);\n\n \t\twhile(resolves.length) {\n \t\t\tresolves.shift()();\n \t\t}\n\n \t\t// add entry modules from loaded chunk to deferred list\n \t\tdeferredModules.push.apply(deferredModules, executeModules || []);\n\n \t\t// run deferred modules when all chunks ready\n \t\treturn checkDeferredModules();\n \t};\n \tfunction checkDeferredModules() {\n \t\tvar result;\n \t\tfor(var i = 0; i < deferredModules.length; i++) {\n \t\t\tvar deferredModule = deferredModules[i];\n \t\t\tvar fulfilled = true;\n \t\t\tfor(var j = 1; j < deferredModule.length; j++) {\n \t\t\t\tvar depId = deferredModule[j];\n \t\t\t\tif(installedChunks[depId] !== 0) fulfilled = false;\n \t\t\t}\n \t\t\tif(fulfilled) {\n \t\t\t\tdeferredModules.splice(i--, 1);\n \t\t\t\tresult = __webpack_require__(__webpack_require__.s = deferredModule[0]);\n \t\t\t}\n \t\t}\n\n \t\treturn result;\n \t}\n\n \t// The module cache\n \tvar installedModules = {};\n\n \t// object to store loaded and loading chunks\n \t// undefined = chunk not loaded, null = chunk preloaded/prefetched\n \t// Promise = chunk loading, 0 = chunk loaded\n \tvar installedChunks = {\n \t\t\"app\": 0\n \t};\n\n \tvar deferredModules = [];\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \tvar jsonpArray = window[\"webpackJsonp\"] = window[\"webpackJsonp\"] || [];\n \tvar oldJsonpFunction = jsonpArray.push.bind(jsonpArray);\n \tjsonpArray.push = webpackJsonpCallback;\n \tjsonpArray = jsonpArray.slice();\n \tfor(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]);\n \tvar parentJsonpFunction = oldJsonpFunction;\n\n\n \t// add entry module to deferred list\n \tdeferredModules.push([0,\"chunk-vendors\"]);\n \t// run deferred modules when ready\n \treturn checkDeferredModules();\n","export * from \"-!../../node_modules/vue-style-loader/index.js??ref--7-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./JsonTable.vue?vue&type=style&index=0&lang=css&\"","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.id, \".td-value{overflow-x:auto}.td-value-max-width{width:100%;max-width:95vw}.td-value-max-height{max-height:50vh}\", \"\"]);\n// Exports\nmodule.exports = exports;\n","// style-loader: Adds some css to the DOM by adding a \n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./th-Filter.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./th-Filter.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./th-Filter.vue?vue&type=template&id=0cc864ec&\"\nimport script from \"./th-Filter.vue?vue&type=script&lang=js&\"\nexport * from \"./th-Filter.vue?vue&type=script&lang=js&\"\nimport style0 from \"./th-Filter.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"td-value\",class:{'td-value-max-width' : true, 'td-value-max-height': true }},[(!_vm.value)?_c('div'):(_vm.html)?_c('div',{domProps:{\"innerHTML\":_vm._s(_vm.html)}}):(_vm.isRawValue)?_c('div',[_vm._v(_vm._s(_vm.value))]):(!_vm.isSimpleType)?_c('div',[_c('tree-view-item',{staticClass:\"tree-view-item-root\",staticStyle:{\"margin-left\":\"0!important\"},attrs:{\"tnode\":_vm.value,\"expandState\":_vm.xprops.expandState,\"currentLevel\":0},on:{\"node-clicked\":_vm.nodeClicked}})],1):_c('div',[_c('simple-value',{attrs:{\"tnode\":_vm.value,\"isInTable\":true,\"textWrap\":_vm.xprops.tstate.textWrap},on:{\"node-clicked\":_vm.nodeClicked}})],1)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./td-Value.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./td-Value.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./td-Value.vue?vue&type=template&id=ce980872&\"\nimport script from \"./td-Value.vue?vue&type=script&lang=js&\"\nexport * from \"./td-Value.vue?vue&type=script&lang=js&\"\nimport style0 from \"./td-Value.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[(_vm.isObject)?_c('div',{staticClass:\"tdv_key\"},[_c('a',{attrs:{\"href\":\"#\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.nodeClicked(_vm.row['@value'])}}},[_vm._v(_vm._s(_vm.value))])]):_c('div',{staticClass:\"tdv_key\"},[_vm._v(_vm._s(_vm.value))])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./td-Key1.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./td-Key1.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./td-Key1.vue?vue&type=template&id=d93b97b2&scoped=true&\"\nimport script from \"./td-Key1.vue?vue&type=script&lang=js&\"\nexport * from \"./td-Key1.vue?vue&type=script&lang=js&\"\nimport style0 from \"./td-Key1.vue?vue&type=style&index=0&id=d93b97b2&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"d93b97b2\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('ol',{staticClass:\"breadcrumb jsonpath\"},[(_vm.items)?_vm._l((_vm.items),function(item,idx){return _c('li',{key:item.text+idx,class:['breadcrumb-item', item.active ? 'active' : null]},[(item.active)?_c('span',{domProps:{\"innerHTML\":_vm._s(item.text)}}):_c('b-link',{attrs:{\"to\":item.to||item.href||item.link},domProps:{\"innerHTML\":_vm._s(item.text)},on:{\"click\":function($event){return _vm.onclick(item)}}})],1)}):_vm._e(),_vm._t(\"default\")],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { Component, Prop, Vue } from 'vue-property-decorator';\nimport { TDNode } from 'treedoc';\n\ninterface Item {\n text: string;\n active?: boolean;\n href?: string;\n node?: TDNode;\n}\n\n@Component\nexport default class JsonPath extends Vue {\n @Prop() private treeNode!: TDNode;\n\n onclick(item: Item) {\n this.$emit('node-clicked', ['', ...item.node!.path]);\n }\n\n get items() {\n const paths = new Array();\n if (!this.treeNode)\n return paths;\n\n paths.unshift({ text: this.treeNode.key!, active: true });\n for (let pNode = this.treeNode.parent; pNode; pNode = pNode!.parent) {\n paths.unshift({ text: pNode!.key!, href: '', node: pNode });\n }\n return paths;\n }\n}\n","import mod from \"-!../../node_modules/ts-loader/index.js??ref--13-0!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./JsonPath.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/ts-loader/index.js??ref--13-0!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./JsonPath.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./JsonPath.vue?vue&type=template&id=4e46a4d5&\"\nimport script from \"./JsonPath.vue?vue&type=script&lang=ts&\"\nexport * from \"./JsonPath.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./JsonPath.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { Component, Prop, Vue, Watch } from 'vue-property-decorator';\nimport _ from 'lodash';\nimport { DataTableOptions, FieldQuery, JS_QUERY_DEFAULT, Query } from './Vue2DataTable';\nimport DataFilter from './DataFilter';\nimport thFilter from './th-Filter.vue';\nimport tdValue from './td-Value.vue';\nimport tdKey from './td-Key1.vue';\nimport JsonPath from './JsonPath.vue';\nimport TreeState, { TableNodeState } from '../models/TreeState';\nimport JSONParserPlugin from '../parsers/JSONParserPlugin';\nimport ExpandControl, { ExpandState } from './ExpandControl.vue';\nimport { identity, ListUtil, TD, TDNode, TDNodeType } from 'treedoc';\nimport { TableUtil } from '../models/TableUtil';\nimport { createVerify } from 'crypto';\n\nconst COL_VALUE = '@value';\nconst COL_NO = '#';\nconst COL_KEY = '@key';\n\n@Component({\n components: {\n JsonPath,\n ExpandControl,\n },\n})\nexport default class JsonTable extends Vue {\n tableOpt: DataTableOptions = {\n // fixHeaderAndSetBodyMaxHeight: 200,\n // tblStyle: 'table-layout: fixed', // must\n tblClass: 'table-bordered',\n pageSizeOptions: [5, 20, 50, 100, 200, 500],\n columns: [],\n data: [],\n filteredData: [],\n rawData: [],\n total: 0,\n // Have to initialize all the fields to make them able to be persisted in cache. (reactivity problem by proxy?)\n query: new Query(),\n // !!!Have to initialize xprops.filteredData to make it reactive\n xprops: { tstate: null, filteredData:[] },\n };\n defTableOpt!: any;\n // !! class based component, we have to initialized the data field, \"undefined\" won't be reactive. !!\n // https://github.com/vuejs/vue-class-component#undefined-will-not-be-reactive\n tstate: TreeState = new TreeState({});\n isColumnExpanded = false;\n isColumnExpandedBuild = false; // Flag to avoid duplicated rebuild()\n expandState = new ExpandState(0, 0, false);\n copyBuffer = '';\n showAdvancedQuery = false;\n\n @Prop() tableData!: TreeState | TDNode | object | string;\n @Prop() options?: DataTableOptions;\n @Prop() isInMuliPane?: boolean; // TODO: Move to TDVTableOption\n\n\n rebuildTable(val: TDNode | null, cachedState: TableNodeState | null = null) {\n // use defTableOpt to get rid of this.options for non-initial node\n if (!this.defTableOpt) // backup for the first time, we have to intialize tableOpt attributes to make them reactive\n this.defTableOpt = this.tableOpt;\n\n this.defTableOpt.columns = [];\n this.tableOpt = { ...this.defTableOpt, ...(this.applyCustomOpts && this.options) };\n if (cachedState) {\n this.tableOpt.query = cachedState.query;\n this.tableOpt.columns = cachedState.columns;\n this.isColumnExpanded = cachedState.isColumnExpanded;\n }\n this.buildTableAndQuery(val);\n this.tstate.hasTreeInTable = false;\n // console.log('clear hasTreeInTable');\n this.tableOpt.xprops.tstate = this.tstate;\n this.tableOpt.xprops.expandState = this.expandState;\n this.isColumnExpandedBuild = this.isColumnExpanded;\n }\n\n buildTableAndQuery(val: TDNode | null) {\n this.buildTable(val);\n this.queryData();\n }\n\n buildTable(val: TDNode | null) {\n this.tableOpt.rawData = [];\n\n if (!val)\n return;\n \n let extFunc = null;\n if (this.query.extendedFields) {\n const exp = `\n with($) { // With doesn't work with Proxy (not sure why)\n // console.log(JSON.stringify($));\n return {${this.query.extendedFields}}\n }\n `;\n try { \n extFunc = new Function('$', exp);\n } catch(e) {\n console.error(`Error parsing extend fields: ${exp}`);\n console.error(e);\n }\n }\n\n const ia = val.type === TDNodeType.ARRAY;\n const keyCol = ia ? COL_NO : COL_KEY;\n this.addColumn(keyCol, 0);\n if (val.children) {\n for (const v of val.children) {\n const row = {\n [keyCol]: ia ? Number(v.key) : v.key,\n [COL_VALUE]: v,\n };\n this.tableOpt.rawData.push(row);\n if (this.isColumnExpanded && v && v.children) {\n for (const cv of v.children) {\n this.addColumn(cv.key!);\n row[cv.key!] = cv;\n }\n } else {\n this.addColumn(COL_VALUE, 1);\n }\n if (extFunc) {\n try {\n const ext = extFunc(v.toObject(true, true));\n for (const k in ext)\n // if(!k.startsWith('$$')) // internal fields (e.g. $$tdNode)\n this.addExtObject(k, ext[k], row);\n } catch(e) {\n console.error(`Error evalute ext fields: ${this.query.extendedFields}`);\n console.error(e);\n }\n }\n }\n }\n }\n\n addExtObject(key: string, val: any, row: any) {\n if (key.endsWith('_') && val) { // spread the children\n if (Array.isArray(val)) {\n for (let i = 0; i < val.length; i++) {\n this.addColumn(key + i);\n row[key+i] = val[i]?.$$tdNode || val[i];\n }\n return;\n } else if (typeof val === 'object') {\n // for (const cv of val.children) {\n // const ck = key + cv.key\n // this.addColumn(ck);\n // row[ck] = cv;\n // }\n for (const k of Object.keys(val)) {\n if(k.startsWith('$$')) continue;\n this.addColumn(key + k);\n row[key+k] = val[k]?.$$tdNode || val[k];\n }\n return;\n }\n }\n this.addColumn(key);\n row[key] = val?.$$tdNode || val;\n }\n\n addColumn(field: string, idx = this.tableOpt.columns.length) {\n const isKeyCol = idx === 0;\n const cols = this.tableOpt.columns;\n let col = cols.find(c => c.field === field);\n if (!col) {\n col = {\n field,\n visible: isKeyCol || !(this.applyCustomOpts && this.options!.columns),\n };\n cols.splice(idx, 0, col);\n }\n if (col.processed)\n return;\n\n col.title = col.title || field;\n col.sortable = true;\n col.thComp = col.thComp || thFilter;\n col.tdComp = col.tdComp || (isKeyCol ? tdKey : tdValue);\n col.processed = true;\n // VUETIP: we have to use Vue.$set, otherwise, once it's assigned with array syntax. this field will no longer\n // be reactive\n // this.tableOpt.query[field] = '';\n this.$set(this.tableOpt.query, field, undefined);\n this.$set(this.tableOpt.query.fieldQueries, field, new FieldQuery());\n\n col.thClass = 'tdv-th';\n col.tdClass = 'tdv-td';\n if (isKeyCol) {\n col.thClass += ' tdv-min tdv-td';\n col.tdClass = 'tdv-min tdv-td';\n }\n }\n\n defaultExpand(val: TDNode) {\n if (!val)\n return false;\n const cols = new Set();\n let cellCnt = 0;\n if (!val.children || val.children.length === 0)\n return false;\n\n for (const v of val.children) {\n if (v && v.children) {\n for (const child of v.children) {\n cols.add(child.key!);\n cellCnt++;\n }\n }\n }\n // k: threshold (blank cell / Total possible blank cells)\n // k = (r * c - cellCnt) / (r * c - c) => cellCnt = r * c - k * r * c + k * c = c (r - r * k + k) = c (r - (r-1)k)\n // When row = 2: 2c(1-k) + ck = 2c - kc = (2-k)c <= cellcnt\n // When row = 3: 3c(1-k) + ck = 3c - 2ck = (3-2k)c\n const k = 0.8;\n const r = val.children.length;\n const c = cols.size - 1; // ignore the first column, as the key column is always there\n cellCnt -= r;\n // Limited number of cols due to performance reason\n return cols.size < 100 && cellCnt >= c * (r - (r - 1) * k);\n }\n\n nodeClicked(data: TDNode) { this.tstate.select(data); }\n\n queryData() {\n DataFilter.filter(this.tableOpt);\n this.tableOpt.xprops.filteredData = this.tableOpt.filteredData;\n }\n\n copy(asCSV = false) {\n // console.log(this.tableOpt.filteredData);\n // console.log('coloumns:');\n // console.log(this.tableOpt.columns, null, ' ');\n const data = this.tableOpt.filteredData;\n const exportData = this.tableOpt.columns[0].field === '@key' ? \n TableUtil.rowsToObject(data, this.tableOpt) : data.map(r => TableUtil.rowToObject(r, this.tableOpt));\n\n // Array to object if there's \"@key\"\n this.copyBuffer = asCSV ? TableUtil.toCSV(exportData) : TD.stringify(exportData);\n console.log(`this.copyBuffer=${this.copyBuffer}`);\n this.$nextTick(() => {\n const textView = this.$refs.textViewCopyBuffer as HTMLTextAreaElement;\n textView.select();\n textView.setSelectionRange(0, 999999999);\n // document.execCommand('selectAll');\n const res = document.execCommand('copy');\n this.$bvToast.toast('Data is copied successfully', { autoHideDelay: 2000, appendToast: true, toaster: 'b-toaster-bottom-right' });\n });\n }\n\n\n @Watch('query', {deep: true})\n watchQuery() {\n console.log(\"query changed: \" + JSON.stringify(this.query));\n this.queryData(); \n }\n\n @Watch('isColumnExpanded')\n watchisColumnExpanded() {\n if (this.isColumnExpanded !== this.isColumnExpandedBuild)\n this.rebuildTable(this.selected!);\n }\n\n @Watch('tableData', {immediate: true})\n watchTableData() {\n this.tstate = this.tableData && this.tableData instanceof TreeState ? this.tableData : new TreeState(this.tableData, new JSONParserPlugin());\n }\n\n @Watch('tstate.selected', {immediate: true})\n watchSelected(node: TDNode, oldNode: TDNode) {\n console.log(`tstate.selected: ${oldNode?.pathAsString} -> ${node?.pathAsString}`)\n if (oldNode && oldNode.doc === node.doc)\n this.tstate.saveTableState(oldNode, new TableNodeState(_.cloneDeep(\n this.tableOpt.query), this.expandState.expandLevel, this.tableOpt.columns, this.isColumnExpanded));\n\n const cachedState = this.tstate.getTableState(node);\n if (cachedState != null) {\n this.isColumnExpanded = cachedState.isColumnExpanded;\n } else {\n this.isColumnExpanded = this.defaultExpand(node);\n this.tableOpt.query.extendedFields = '';\n this.tableOpt.query.jsQuery = '$';\n }\n\n // this.tableOpt.query.offset = 0;\n // if (this.defTableOpt)\n // this.defTableOpt.query = { limit: 100, offset: 0 };\n this.expandState = new ExpandState(cachedState ? cachedState.expandedLevel : 0, 0, this.expandState.showChildrenSummary);\n this.rebuildTable(node, cachedState);\n }\n\n @Watch('options', {immediate: true})\n optionsUpdated() { this.rebuildTable(this.selected!); }\n\n get selected(): TDNode | null {\n return this.tstate ? this.tstate.selected : null;\n }\n\n get applyCustomOpts() {\n return this.tstate.isInitialNodeSelected() && this.isColumnExpanded && this.options;\n }\n\n get query() { return this.tableOpt.query; }\n\n get hasTableTitleSlot() { return !!this.$slots.tableTitle; }\n\n onKeyPress(e: KeyboardEvent) {\n (this.$refs.expandControl as ExpandControl)?.onKeyPress(e);\n }\n\n onkeypressStopPropagation(e: KeyboardEvent) {\n // block keypress event from propagating to parent (trigger the full screen mode etc\n // console.log(`onkeypressStopPropagation: ${e.key}`);\n e.stopPropagation();\n }\n}\n","import mod from \"-!../../node_modules/ts-loader/index.js??ref--13-0!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./JsonTable.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/ts-loader/index.js??ref--13-0!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./JsonTable.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./JsonTable.vue?vue&type=template&id=b45c2414&\"\nimport script from \"./JsonTable.vue?vue&type=script&lang=ts&\"\nexport * from \"./JsonTable.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./JsonTable.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { Component, Prop, Vue, Watch } from 'vue-property-decorator';\nimport _ from 'lodash';\nimport TreeState from '../models/TreeState';\nimport SourceView from './SourceView.vue';\nimport TDVOptions, { ParserPlugin } from '../models/TDVOption';\nimport TreeView from './TreeView.vue';\nimport JsonTable from './JsonTable.vue';\nimport JSONParserPlugin from '../parsers/JSONParserPlugin';\n\nimport { TDNode, TDJSONWriter, TDJSONWriterOption } from 'treedoc';\nimport { NodeMouseEnterEvent } from './TreeViewItem.vue';\nimport { nextTick } from 'vue/types/umd';\n\n@Component({\n components: {\n TreeView,\n JsonTable,\n SourceView,\n },\n})\nexport default class JsonTreeTable extends Vue {\n @Prop() title?: string;\n @Prop() data!: object | any[] | string;\n @Prop() options?: TDVOptions;\n @Prop() initalPath!: string;\n @Prop() rootObjectKey!: string;\n\n defaultParser: ParserPlugin = new JSONParserPlugin();\n selectedParser: ParserPlugin = this.defaultParser;\n tstate = new TreeState({}, this.selectedParser).setInitSOpt(this.options);\n jsonStr = '';\n\n parseResult = '';\n strDataSynced = false;\n error = {\n color: 'red',\n };\n\n // url = https://maps.sensor.community/data/v2/data.24h.json\n // url = 'https://jsonplaceholder.typicode.com/posts';\n url = 'https://www.googleapis.com/discovery/v1/apis/vision/v1p1beta1/rest';\n // url = \"https://www.googleapis.com/discovery/v1/apis\"\n urlInput = '';\n\n treeItemActionStyle = {};\n mouseEnterEvent: NodeMouseEnterEvent | null = null;\n mouseInActionBarRealtime = false;\n mouseInActionBar = false;\n mouseInNode = false;\n\n nodeClicked(nodePath: string[]) {\n this.tstate.select(nodePath);\n }\n\n format() {\n this.jsonStr = TDJSONWriter.get().writeAsString(this.tstate.tree.root, new TDJSONWriterOption().setIndentFactor(2));\n }\n\n mounted() {\n // for devtool interaction\n (window as any).tdv = this;\n }\n\n onKeyPress(e: KeyboardEvent, pane: string) {\n // console.log(e);\n // Very strange: In source page, for 'f' key it will send to div first, then to editor. But for ctrl-f, \n // it will send to editor first and it preventDefault(), so the hot key won't work. We disable hot key for source page for now.\n if (pane === 'source')\n return; // The source pane the key event won't reach editor before the div\n if (e.key === 'f') {\n this.tstate.toggleMaxPane(pane);\n // e.preventDefault();\n } else if (e.key === 'w') {\n this.tstate.textWrap = !this.tstate.textWrap\n // e.preventDefault();\n } else if (e.key === '[') {\n this.tstate.back()\n // e.preventDefault();\n } else if (e.key === ']') {\n this.tstate.forward()\n // e.preventDefault();\n }\n }\n\n // for devtool interaction only\n transformJson(func: (obj: any) => any) {\n this.jsonStr = JSON.stringify(func(this.tstate.tree.root.toObject(true)), null, 2);\n }\n\n @Watch('data', { immediate: true })\n private watchData(d: string | object | any[]) {\n if (_.isString(d))\n this.jsonStr = d;\n else {\n this.jsonStr = JSON.stringify(d, null, ' ');\n this.strDataSynced = true;\n }\n }\n\n @Watch('selectedParser')\n private watch(v: ParserPlugin) {\n this.parse(this.jsonStr, this);\n }\n\n @Watch('jsonStr', { immediate: true })\n private watchJsonStr(str: string, old: string) {\n if (!str)\n str = '';\n\n if (str.length > 200_000)\n this.tstate.codeView[0] = false;\n if (str.length < 100_000)\n this.tstate.codeView[0] = true;\n // Need detected only if significant changes happens. Not accurate.\n const oldLen = old ? old.length : 0;\n const detectNeeded = Math.abs(oldLen - str.length) > 7 && str.length < 1000_000;\n this.parse(str, this, detectNeeded);\n }\n\n // Have to pass THIS as Vue framework will generate a different instance\n // of this during runtime.\n private parse = _.debounce((str: string, THIS: JsonTreeTable, detectParser = false) => {\n // Auto detect parser\n if (detectParser) {\n THIS.selectedParser = this.parserSelectOptions[0].value; // Default to first parser\n for (const parser of this.parserSelectOptions) {\n if (parser.value.looksLike(str)) {\n THIS.selectedParser = parser.value;\n break;\n }\n }\n }\n\n const selectedPath = THIS.tstate.selected ? THIS.tstate.selected.path : [];\n THIS.tstate = new TreeState(this.strDataSynced ? THIS.data : str, THIS.selectedParser, THIS.rootObjectKey, selectedPath).retainState(THIS.tstate);\n THIS.strDataSynced = false;\n THIS.parseResult = THIS.tstate.parseResult;\n\n if (selectedPath.length === 0 && THIS.initalPath && THIS.tstate.tree)\n THIS.tstate.select(THIS.initalPath, true);\n }, 300);\n\n get hasError() {\n return this.parseResult.startsWith('Error');\n }\n\n get tableOpt() {\n return this.options?.defaultTableOpt;\n }\n\n get parserSelectOptions() {\n const opt = new Array<{text: string, value: ParserPlugin}>();\n opt.push({ text: this.defaultParser.name, value: this.defaultParser });\n if (this.options && this.options.parsers)\n this.options.parsers.forEach(p => opt.push({text: p.name, value: p}));\n return opt;\n }\n \n get copyTextArea() { return this.$refs.copyTextArea as HTMLTextAreaElement; }\n get sourceView() { return this.$refs.sourceView as SourceView; }\n\n readFile(ef: Event) {\n const fileName = (ef.target as HTMLInputElement).files![0];\n if (!fileName)\n return;\n const reader = new FileReader();\n reader.onload = (e: Event) => {\n if (reader.result)\n this.jsonStr = reader.result as string;\n };\n reader.readAsText(fileName);\n }\n\n openUrl(dataUrl: string) {\n this.url = dataUrl;\n window.fetch(this.url,{\n // mode: 'navigate' \n }\n )\n .then(res => res.text())\n .then(data => this.jsonStr = data)\n .catch((err) => this.jsonStr = err);\n this.jsonStr = JSON.stringify({\n action: 'loading...',\n url: this.url,\n }, null, 2);\n }\n\n get pasteSupported() { return !!navigator?.clipboard?.readText; }\n\n paste() {\n // this.copyTextArea.select();\n // this.copyTextArea.focus();\n // // Doesn't work both in firefox and chrome\n // const res = document.execCommand('paste');\n // console.log(`paste result: ${res}`);\n\n // Only works for chrome\n navigator.clipboard.readText().then((txt: string) => {\n this.jsonStr = txt;\n });\n }\n\n\n copyText(text: string) {\n // code mirror doesn't support copy command, we have to use a hidden textarea to do the copy\n this.copyTextArea.value = text;\n this.copyTextArea.select();\n this.copyTextArea.setSelectionRange(0, 999999999);\n // document.execCommand('selectAll');\n const res = document.execCommand('copy');\n console.log(`copy result: ${res}`);\n // this.codeView.editor.getTextArea().select();\n // this.codeView.editor.execCommand('selectAll');\n // this.codeView.editor.execCommand('copy');\n }\n\n get mouseOverNode() { return this.tstate.findNodeByPath(this.mouseEnterEvent!.nodePath); }\n \n copyNode() { \n const node = this.mouseOverNode;\n if (node.start && node.end)\n this.copyText(this.jsonStr.substring(node.start.pos, node.end.pos));\n else \n this.copyText(TDJSONWriter.writeAsString(node, new TDJSONWriterOption().setIndentFactor(2)));\n }\n\n nodeMouseEnter(e: CustomEvent) { \n this.mouseEnterEvent = e.detail; \n this.mouseInNode = true;\n const pos = this.mouseEnterEvent!.source.getBoundingClientRect();\n this.treeItemActionStyle = {position: 'fixed', top: `${pos.top}px`, left: `${pos.right}px`};\n }\n\n nodeMouseLeave(e: CustomEvent) {\n if (this.mouseEnterEvent?.source === e.detail.source)\n this.mouseInNode = false;\n }\n\n mouseEnterActionBar() {\n this.mouseInActionBarRealtime = true;\n setTimeout(() => this.mouseInActionBar = true, 500);\n }\n\n mouseLeaveActionBar() {\n this.mouseInActionBarRealtime = false;\n setTimeout(() => {\n if (!this.mouseInActionBarRealtime)\n this.mouseInActionBar = false;\n }, 500);\n }\n}\n","import mod from \"-!../../node_modules/ts-loader/index.js??ref--13-0!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./JsonTreeTable.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/ts-loader/index.js??ref--13-0!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./JsonTreeTable.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./JsonTreeTable.vue?vue&type=template&id=73b0e274&\"\nimport script from \"./JsonTreeTable.vue?vue&type=script&lang=ts&\"\nexport * from \"./JsonTreeTable.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./JsonTreeTable.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","const jsonStr = `\n{\n refundAmtMoney:\"USD 15.32\",\n activityHistory:[\n {\n $type:\"ActivityHist\",\n $id:1234,\n creationDate:\"2014/10/02 10:20:37\",\n lastModifiedDate:\"2014/10/02 10:20:37\",\n timeStamp: 1599461650448,\n runtimeContext:\"t=118\",\n partitionKey:0,\n activityType:\"1-buyerCreateCancel\",\n log:\"http://www.google.com\",\n },\n {\n $type:\"ActivityHistBoImpl\",\n creationDate:\"2014/10/02 11:15:13\",\n lastModifiedDate:\"2014/10/02 11:15:13\",\n timeStamp: 1599481650448,\n runtimeContext:\"m=t=148\\nline2\",\n partitionKey:0,\n activityType:\"6-sellerApprove\",\n }],\n current: {\n $ref: '#/activityHistory/1',\n },\n first: {\n $ref: '#1234',\n },\n}`;\n\nconst yamlStr = `\n- martin:\n name: Martin D'vloper\n job: Developer\n skills:\n - python\n - perl\n - pascal\n- tabitha:\n name: Tabitha Bitumen\n job: Developer\n skills:\n - lisp\n - fortran\n - erlang\n`;\n\nconst yamlMultiDocStr = \n`document: 1\nname: 'John'\n---\ndocument: 2\nname: 'config'\n`;\n\nconst xmlStr = `\n\n 4.0.0\n com.jsonex\n jcParent\n 0.0.1-SNAPSHOT\n pom\n JSONCoder Parent\n JSONCoder Parent\n https://github.com/eBay/jsonex.git\n\n \n \n jianwu\n Jianwu Chen\n jianchen@ebay.com\n eBay\n http://www.ebay.com\n \n architect\n developer\n \n America/San_Francisco\n \n \n\n \n \n \n \\${project.groupId}\n core\n \\${project.version}\n \n \n org.projectlombok\n lombok\n 1.18.8\n provided\n \n \n junit\n junit\n test\n 4.8.1\n \n \n \n\n`;\n\nconst fxml = `\n\n\n\n \n \n \n \n \n \n \n\n`;\n\nconst csvStr = `\nfield1,field2,field3\nv11,v12,v13\nv21, \"v2l1\nV2l2\" ,v23\n\"v31\"\"v31\",\"v32\"\"\"\"v32\",v33\n`;\n\nconst mapToStringStr = '{K1=v1, k2=123, k3={c=Test with ,in}, k4=[ab,c, def]}';\nconst lombokToString = \"TestBean(treeMap={key1=value1}, linkedList1=[value1], intField=100, floatField=1.4, dateField=Wed Dec 31 19:23:32 PST 1969, bean2=TestBean2(strField=it's a string value, enumField=value2))\"\n\nexport const prometheusStr = String.raw`\n# Sample from: https://prometheus.io/docs/instrumenting/exposition_formats/#text-based-format\n# HELP http_requests_total The total number of HTTP requests.\n# TYPE http_requests_total counter\nhttp_requests_total{method=\"post\",code=\"200\"} 1027 1395066363000\nhttp_requests_total{method=\"post\",code=\"400\"} 3 1395066363000\n\n# Escaping in label values:\nmsdos_file_access_time_seconds{path=\"C:\\\\DIR\\\\FILE.TXT\",error=\"Cannot find file:\\n\\\"FILE.TXT\\\"\"} 1.458255915e9\n\n# Minimalistic line:\nmetric_without_timestamp_and_labels 12.47\n\n# Minimalistic line:\n# HELP metric_without_timestamp_and_labels The total number of HTTP requests.\n# TYPE metric_without_timestamp_and_labels counter\nmetric_without_timestamp_and_labels{} 12.47\n\n# A weird metric from before the epoch:\nsomething_weird{problem=\"division by zero\"} +Inf -3982045\n\n# A histogram, which has a pretty complex representation in the text format:\n# HELP http_request_duration_seconds A histogram of the request duration.\n# TYPE http_request_duration_seconds histogram\nhttp_request_duration_seconds_bucket{le=\"0.05\"} 24054\nhttp_request_duration_seconds_bucket{le=\"0.1\"} 33444\nhttp_request_duration_seconds_bucket{le=\"0.2\"} 100392\nhttp_request_duration_seconds_bucket{le=\"0.5\"} 129389\nhttp_request_duration_seconds_bucket{le=\"1\"} 133988\nhttp_request_duration_seconds_bucket{le=\"+Inf\"} 144320\nhttp_request_duration_seconds_sum 53423\nhttp_request_duration_seconds_count 144320\n\n# HELP thanos_objstore_bucket_operation_duration_seconds Duration of successful operations against the bucket\n# TYPE thanos_objstore_bucket_operation_duration_seconds histogram\nthanos_objstore_bucket_operation_duration_seconds_bucket{bucket=\"thanos\",operation=\"attributes\",le=\"0.01\"} 0\nthanos_objstore_bucket_operation_duration_seconds_bucket{bucket=\"thanos\",operation=\"attributes\",le=\"0.1\"} 0\n\n# HELP go_gc_duration_seconds A summary of the pause duration of garbage collection cycles.\n# TYPE go_gc_duration_seconds summary\ngo_gc_duration_seconds{quantile=\"0\"} 0\ngo_gc_duration_seconds{quantile=\"0.25\"} 0\ngo_gc_duration_seconds{quantile=\"0.5\"} 0\ngo_gc_duration_seconds{quantile=\"0.75\"} 0\ngo_gc_duration_seconds{quantile=\"1\"} 0\ngo_gc_duration_seconds_sum 0\ngo_gc_duration_seconds_count 0\n\n# Finally a summary, which has a complex representation, too:\n# HELP rpc_duration_seconds A summary of the RPC duration in seconds.\n# TYPE rpc_duration_seconds summary\nrpc_duration_seconds{quantile=\"0.01\"} 3102\nrpc_duration_seconds{quantile=\"0.05\"} 3272\nrpc_duration_seconds{quantile=\"0.5\"} 4773\nrpc_duration_seconds{quantile=\"0.9\"} 9001\nrpc_duration_seconds{quantile=\"0.99\"} 76656\nrpc_duration_seconds_sum 1.7560473e+07\nrpc_duration_seconds_count 2693\n`;\n\nexport default {\n jsonStr,\n yamlStr,\n xmlStr,\n csvStr,\n mapToStringStr,\n prometheusStr,\n data: [\n {text: 'empty', value: {}},\n {\n text: 'jsonStr',\n value: jsonStr,\n },\n {\n text: 'object',\n value: {\n testArray: ['Just a Test String', 'in a Test Array', 0, 1, true, false],\n component: 'vue-json-tree-view',\n descripton: 'A JSON Tree View built in Vue.js',\n tags: [{ name: 'vue.js' }, { name: 'JSON' }],\n steps: [\n 'HTML Template',\n 'Root Component',\n 'View Component',\n {\n 'Transformation Logic': ['Transform Objects', 'Transform Arrays', 'Transform Values'],\n },\n 'Animate',\n 'Allow Options',\n 'Blog about it...',\n ],\n obj: { key1: 'val1', key2: 'val2' },\n },\n },\n {\n text: 'array',\n value: [\n {\n col1: 'value11',\n col2: 'value12',\n },\n {\n col1: 'value21',\n col3: 'value23',\n },\n 'value',\n {\n col1: 'value31',\n col2: 'value32',\n col3: 'value33',\n },\n [\n 'abc',\n 'def',\n { a: 1, b: 2 },\n ],\n ],\n },\n {\n text: 'textproto',\n value:\n`n: {\n n1: {\n n11: 1\n # Duplicated key; ':' is emitted before '{'\n n11 {\n n111: false\n }\n n12: \"2\"\n }\n # Multi-line comments\n # Line2\n ########\n n1: {\n n11: \"abcd\"\n # Extension keys\n [d.e.f]: 4\n n11: \"multiline 1\\n\"\n 'line2'\n }\n escapeStr: \"a\\\\tb\\\\nc\\\\vd\\\\u0020e\\\\vf\",\n htmlStr: \"\\nThis is a link\\n\"\n n2: [1,2,3]\n n2 [3,4,5] # ':' is emitted before '['\n \"n3\" [6, 7, 8, 9]\n}`,\n },\n {\n text: 'json5',\n value:\n`// https://spec.json5.org/\n{\n // comments\n unquoted: 'and you can quote me on that',\n singleQuotes: 'I can use \"double quotes\" here',\n lineBreaks: \"Look, Mom! \\\nNo \\\\n's!\",\n hexadecimal: 0xdecaf,\n leadingDecimalPoint: .8675309, andTrailing: 8675309.,\n positiveSign: +1,\n trailingComma: 'in objects', andIn: ['arrays',],\n \"backwardsCompatible\": \"with JSON\",\n}\n`,\n },\n {\n text: 'jsonex',\n value:\n`// Some comments\n{\n \"total\": 100000000000000000000,\n \"longNum\": 10000000000,\n \"limit\": 10,\n /* block comments */\n \"data\": [\n {\n \"name\": \"Some Name 1\", // More line comments\n \"address\": {\n \"streetLine\": \"1st st\",\n city: \"san jose\",\n },\n \"createdAt\": \"2017-07-14T17:17:33.010Z\",\n },\n {\n \"name\": \"Some Name 2\",\n \"address\": /*comments*/ {\n \"streetLine\": \"2nd st\",\n city: \"san jose\",\n },\n \"createdAt\": \"2017-07-14T17:17:33.010Z\",\n },\n \\`Multiple line literal\n Line2\\`\n ],\n}\n`,\n },\n {\n text: 'hjson',\n value:\n`{\n // use #, // or /**/ comments,\n // omit quotes for keys\n key: 1\n // omit quotes for strings\n contains: everything on this line\n // omit commas at the end of a line\n cool: {\n foo: 1\n bar: 2\n }\n // allow trailing commas\n list: [\n 1,\n 2,\n ]\n // and use multiline strings\n realist:\n '''\n My half empty glass,\n I will fill your empty half.\n Now you are half full.\n '''\n}\n`,\n },\n {\n text: 'yaml',\n value: yamlStr,\n },\n {\n text: 'yaml-Multi-Doc',\n value: yamlMultiDocStr,\n },\n {\n text: 'xml',\n value: xmlStr,\n },\n {\n text: 'fxml (JavaFx)',\n value: fxml,\n },\n {\n text: 'csv',\n value: csvStr,\n },\n {\n text: 'map.toString',\n value: mapToStringStr,\n },\n {\n text: 'lombok.toString',\n value: lombokToString,\n },\n\n {\n text: 'prometheus',\n value: prometheusStr,\n },\n ] as {text: string, value: any}[],\n};\n","import { ParserPlugin, ParseResult } from '../models/TDVOption';\nimport { CSVParser, CSVOption, CSVWriter, TDNode } from 'treedoc';\nimport Util from '../util/Util';\n\nexport class CSVParserOption {\n}\n\nexport default class CSVParserPlugin implements ParserPlugin {\n syntax = 'csv';\n option: CSVParserOption = {};\n\n constructor(public name = 'CSV', public fieldSep = ',') {}\n\n looksLike(str: string): boolean {\n const topLines = Util.topLines(str, 5000);\n if (topLines.numLines <= 1)\n return false; // Single line \n try { \n const node = CSVParser.get().parse(str.substr(0, topLines.length), this.csvOption);\n const columnSize = node.children![0].getChildrenSize();\n if (columnSize < 2)\n return false;\n for (let row = 1; row < node.getChildrenSize(); row++) {\n if (node.children![row].getChildrenSize() !== columnSize)\n return false;\n }\n return true;\n } catch (e) {\n return false;\n }\n return false;\n }\n\n get csvOption(): CSVOption {\n return new CSVOption().setFieldSep(this.fieldSep);\n }\n\n parse(str: string): ParseResult {\n const result = new ParseResult();\n try {\n result.result = CSVParser.get().parse(str, this.csvOption);\n result.message = 'CSVParser.parse()';\n return result;\n } catch (e2) {\n result.message = `Error:${(e2 as any).message}`;\n console.error(e2);\n return result;\n }\n }\n\n stringify(obj: TDNode): string {\n return CSVWriter.get().writeAsString(obj, this.csvOption);\n }\n}\n","import { TD, TDJSONParser } from 'treedoc';\nimport { TableConfig } from './components/Vue2DataTable';\nimport { TDVOption } from './lib';\nimport TableParam from './models/TableParam';\n\nexport default class UrlParam {\n data: string | null;\n dataUrl: string | null;\n embeddedId: string | null;\n title: string;\n initialPath?: string | null;\n tableConfig?: TableConfig;\n option?: TDVOption;\n\n constructor() {\n const url = new URL(window.location.href);\n this.dataUrl = url.searchParams.get('dataUrl');\n this.data = url.searchParams.get('data');\n this.embeddedId = url.searchParams.get('embeddedId');\n this.initialPath = url.searchParams.get('initialPath');\n this.title = url.searchParams.get('title') || 'Treedoc Viewer';\n\n const tableConfigStr = url.searchParams.get('tableConfig');\n if (tableConfigStr)\n this.tableConfig = TD.parse(tableConfigStr);\n\n const optStr = url.searchParams.get('option');\n if (optStr)\n this.option = TD.parse(optStr);\n \n }\n}\n","import { CharSource, LangUtil, ListUtil, StringCharSource } from 'treedoc'\nimport _ from 'lodash';\n\nconst HELP = 'HELP';\nconst TYPE = 'TYPE';\nexport class Metrics {\n [key: string]: Metric;\n}\n\nexport class Metric {\n help: string = '';\n type: string = '';\n metricsValues: MetricValue[] = [];\n\n getOrCreateValue(labels: {[key: string]: string}): MetricValue {\n for (const m of this.metricsValues) {\n if (m.matchLabels(labels))\n return m;\n }\n const ret: MetricValue = new MetricValue();\n Object.assign(ret, labels)\n this.metricsValues.push(ret);\n return ret;\n }\n}\n\nexport class MetricValue {\n [key: string]: any;\n value?: number;\n quantiles?: {[key: string]: number};\n // Use $$ prefix to avoid name conflict with a label of bucket\n $$bucket?: {[key: string]: number}; \n count?: number;\n sum?: number;\n\n addQuantile(key: string, value: number) {\n if (!this.quantiles) this.quantiles = {};\n this.quantiles[key] = value\n }\n addBucket(key: string, value: number) {\n if (!this.$$bucket) this.$$bucket = {};\n this.$$bucket[key] = value\n }\n\n matchLabels(labels: {[key: string]: string}): boolean {\n for(const [key, value] of Object.entries(labels)) {\n if (this[key] !== value)\n return false;\n }\n return true;\n }\n \n}\n\nexport class MetricLine {\n constructor(public name: string) {};\n labels: {[key: string]: string} = {};\n value: number = 0;\n timestamp?: number;\n}\n\nexport default class PrometheusParser {\n result: Metrics = {};\n currentMetric: Metric = new Metric();\n currentMetricKey: string = '';\n \n parse(str: string) : Metrics {\n const src = new StringCharSource(str);\n while(src.skipSpacesAndReturns()) {\n if (src.peek() === '#') {\n src.skip(1);\n this.parseComment(src);\n } else {\n const metricLine = this.parseMetricLine(src);\n this.updateCurrentMetric(metricLine);\n }\n }\n return this.result;\n }\n\n parseComment(src: CharSource) {\n if (!src.skipSpacesAndReturns())\n return;\n const help = this.parseCommentOfKey(src, HELP);\n if (help)\n this.getOrCreateMetric(help.name).help = help.value;\n else {\n const type = this.parseCommentOfKey(src, TYPE);\n if (type) \n this.getOrCreateMetric(type.name).type = type.value;\n }\n src.skipUntilTerminator('\\n\\r', true);\n }\n\n parseCommentOfKey(src: CharSource, key: string): {name: string, value: string} | null {\n if (src.startsWith(key)) {\n src.skip(key.length);\n src.skipChars(' ');\n const name = src.readUntilTerminator(' ');\n src.skipChars(' ');\n return {name, value: src.readUntilTerminator('\\n\\r')};\n } \n return null;\n }\n\n parseMetricLine(src: CharSource): MetricLine {\n const ret: MetricLine = new MetricLine(src.readUntilTerminator('{ '));\n if (src.peek() === '{') {\n src.skip(1);\n while(true) {\n const key = src.readUntilTerminator('=}');\n if (src.read() === '}') break; // either = or }\n const quote = src.read();\n if (quote !== '\"' && quote !== '\\'') throw src.createParseRuntimeException('missing quote when expecting a string label vale');\n const val = src.readQuotedString(quote);\n ret.labels[key] = val;\n const sep = src.read();\n if (sep === '}') break;\n if (sep !== ',') throw src.createParseRuntimeException(`expect ',' after label: ${key}=${val}`);\n }\n }\n src.skipChars(' \\t');\n ret.value = Number.parseFloat(src.readUntilTerminator(' \\n\\r'));\n if (src.isEof())\n return ret;\n if (src.peek() === ' ')\n ret.timestamp = Number.parseFloat(src.readUntilTerminator('\\n\\r'));\n return ret;\n }\n \n updateCurrentMetric(metricLine: MetricLine) {\n if (metricLine.name === this.currentMetricKey) {\n const quantile = metricLine.labels.quantile;\n if (quantile) {\n delete metricLine.labels.quantile;\n this.currentMetric.getOrCreateValue(metricLine.labels).addQuantile(quantile, metricLine.value);\n return;\n }\n this.currentMetric.getOrCreateValue(metricLine.labels).value = metricLine.value;\n return;\n }\n\n if (metricLine.name === this.currentMetricKey + '_count') {\n this.currentMetric.getOrCreateValue(metricLine.labels).count = metricLine.value;\n return;\n }\n\n if (metricLine.name === this.currentMetricKey + '_sum') {\n this.currentMetric.getOrCreateValue(metricLine.labels).sum = metricLine.value;\n return;\n }\n\n if (metricLine.name === this.currentMetricKey + '_bucket') {\n const bucket = metricLine.labels.le;\n if (!bucket)\n throw new Error(`missing bucket label: ${JSON.stringify(metricLine)}`);\n delete metricLine.labels.le;\n this.currentMetric.getOrCreateValue(metricLine.labels).addBucket(bucket, metricLine.value);\n return;\n }\n \n // No matching, will assume it's an `count` without a type and help definition \n const metric = this.getOrCreateMetric(metricLine.name);\n metric.type = 'count';\n metric.getOrCreateValue({}).value = metricLine.value;\n }\n\n getOrCreateMetric(name: string): Metric {\n let ret = this.result[name];\n if (ret)\n return ret;\n ret = new Metric();\n this.result[name] = ret;\n this.currentMetric = ret;\n this.currentMetricKey = name;\n return ret;\n }\n}","import { ParserPlugin, ParseResult } from '../models/TDVOption';\nimport { CSVOption, TDNode, TDObjectCoder } from 'treedoc';\nimport PrometheusParser from './PrometheusParser';\n\nexport class PrometheusParserOption {\n}\n\nexport default class PrometheusParserPlugin implements ParserPlugin {\n syntax = 'csv';\n option: PrometheusParserOption = {};\n\n constructor(public name = 'Prometheus', public fieldSep = ',') {}\n\n looksLike(str: string): boolean {\n return str.indexOf('\\n# HELP ') >= 0 && str.indexOf('\\n# TYPE ') >= 0\n }\n\n get csvOption(): CSVOption {\n return new CSVOption().setFieldSep(this.fieldSep);\n }\n\n parse(str: string): ParseResult {\n const result = new ParseResult();\n try {\n result.result = TDObjectCoder.get().encode(new PrometheusParser().parse(str));\n result.message = 'PrometheusParser.parse()';\n return result;\n } catch (e2) {\n result.message = `Error:${(e2 as any).message}`;\n console.error(e2);\n return result;\n }\n }\n\n stringify(obj: TDNode): string {\n return obj.toJSON();\n }\n}\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { Component, Prop, Vue, Watch } from 'vue-property-decorator';\n\nimport JsonTreeTable from './components/JsonTreeTable.vue';\nimport JsonTable from './components/JsonTable.vue';\nimport sampleData from './sampleData';\nimport TDVOptions from './models/TDVOption';\nimport YAMLParserPlugin from './parsers/YAMLParserPlugin';\nimport XMLParserPlugin from './parsers/XMLParserPlugin';\nimport CSVParserPlugin from './parsers/CSVParserPlugin';\nimport UrlParam from './UrlParam';\nimport JSONParserPlugin, { JSONParserOption, JSONParserType } from './parsers/JSONParserPlugin';\nimport PrometheusParserPlugin from './parsers/PrometheusParserPlugin';\n\n@Component({\n components: {\n JsonTreeTable,\n JsonTable,\n },\n})\nexport default class Home extends Vue {\n param = new UrlParam();\n sampleData = sampleData.data;\n jsonData: any = sampleData.data[0].value;\n\n tdvOption: TDVOptions = new TDVOptions().setParsers([\n new JSONParserPlugin('Lombok.toString', JSONParserType.LOMBOK_TO_STRING),\n new JSONParserPlugin('Map.toString', JSONParserType.JAVA_MAP_TO_STRING),\n new XMLParserPlugin('XML compact', 'text/xml', true),\n new XMLParserPlugin(),\n new XMLParserPlugin('html', 'text/html'),\n new CSVParserPlugin(),\n new CSVParserPlugin('TSV', '\\t'),\n new CSVParserPlugin('SSV', ' '),\n new PrometheusParserPlugin(),\n new YAMLParserPlugin(),\n ]);\n\n private get jsonTreeTable() {\n return this.$refs.jsonTreeTable as JsonTreeTable;\n }\n\n // tslint:disable-next-line:max-line-length\n // Example url: http://localhost:8081/?data={a:1,b:[{b1:2,b2:3},%20{b1:4,b2:5}],c:3}&initialPath=/b&tableConfig={Pagination:false,columns:[{field:b1}]}&title=tableTest&option={maxPane:table,parsers:[]}#/\n beforeMount() {\n if (this.param.data)\n this.jsonData = this.param.data;\n\n if (this.param.option) {\n Object.assign(this.tdvOption, this.param.option);\n }\n\n if (this.param.tableConfig) {\n Object.assign(this.tdvOption.defaultTableOpt!, this.param.tableConfig);\n }\n\n if (this.param.embeddedId != null) {\n window.parent.postMessage({ type: 'tdv-ready', id: this.param.embeddedId }, '*');\n if (window.opener)\n window.opener.postMessage({ type: 'tdv-ready', id: this.param.embeddedId }, '*');\n\n window.addEventListener('message', evt => {\n if (evt.data.type !== 'tdv-setData')\n return;\n this.jsonData = evt.data.data;\n }, false);\n }\n }\n\n mounted() { \n if (this.param.dataUrl)\n this.jsonTreeTable.openUrl(this.param.dataUrl);\n }\n}\n","import mod from \"-!../node_modules/ts-loader/index.js??ref--13-0!../node_modules/cache-loader/dist/cjs.js??ref--1-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./Home.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../node_modules/ts-loader/index.js??ref--13-0!../node_modules/cache-loader/dist/cjs.js??ref--1-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./Home.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./Home.vue?vue&type=template&id=00a13b6c&\"\nimport script from \"./Home.vue?vue&type=script&lang=ts&\"\nexport * from \"./Home.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./Home.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"components-container\",attrs:{\"id\":\"app\"}},[_c('json-table',{attrs:{\"table-data\":_vm.tstateTable,\"options\":_vm.tableParam.tableConfig}},[_c('div',{attrs:{\"slot\":\"tableTitle\"},slot:\"tableTitle\"},[_c('h5',{staticStyle:{\"margin-top\":\"6px\",\"margin-right\":\"5px\"}},[_vm._v(_vm._s(_vm.tableParam.title)+\" \")])])])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function (_h,_vm) {var _c=_vm._c;return _c('b',[_vm._v(_vm._s(_vm.props.value.value))])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\nexport default {};\n","import mod from \"-!../node_modules/ts-loader/index.js??ref--13-0!../node_modules/cache-loader/dist/cjs.js??ref--1-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./tdSample.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../node_modules/ts-loader/index.js??ref--13-0!../node_modules/cache-loader/dist/cjs.js??ref--1-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./tdSample.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./tdSample.vue?vue&type=template&id=41f2a93e&functional=true&\"\nimport script from \"./tdSample.vue?vue&type=script&lang=ts&\"\nexport * from \"./tdSample.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n true,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n\n\n\n\n\n\nimport { Component, Vue } from 'vue-property-decorator';\n\nimport JsonTable from './components/JsonTable.vue';\nimport sampleData from './sampleData';\nimport TreeState from './models/TreeState';\nimport TDSample from './tdSample.vue';\nimport UrlParam from './UrlParam';\nimport TableParam from './models/TableParam';\nimport { table } from 'console';\nimport { LangUtil } from 'treedoc';\n\nconst doIfNotNull = LangUtil.doIfNotNull;\n\n@Component({\n components: {\n JsonTable,\n },\n})\nexport default class TableTest extends Vue {\n param = new UrlParam();\n tableParam: TableParam = {\n title: 'Test Table Title',\n jsonData: sampleData.jsonStr,\n initialPath: '/activityHistory',\n tableConfig: {\n Pagination: false,\n columns: [\n { field: 'activityType' },\n {\n field: 'partitionKey',\n tdComp: TDSample,\n },\n {\n field: '$type',\n html: '`${value.value}`',\n },\n {\n field: 'creationDate',\n html: (value: any, row: any) => `${value.value}`,\n },\n ],\n },\n };\n\n get tstateTable() {\n const state = new TreeState(this.tableParam.jsonData);\n const n = state.tree.root.getByPath(this.tableParam.initialPath || '');\n if (n)\n state.select(n, true);\n return state;\n }\n\n // tslint:disable-next-line:max-line-length\n // Sample URL: http://localhost:8081/?data={a:1,b:[{b1:2,b2:3},%20{b1:4,b2:5}],c:3}&initialPath=/b&tableConfig={Pagination:false,columns:[{field:b1}]}&title=tableTest&#/table\n mounted() {\n doIfNotNull(this.param.title, $ => this.tableParam.title = $) \n doIfNotNull(this.param.tableConfig, $ => this.tableParam.tableConfig = $) \n doIfNotNull(this.param.data, $ => this.tableParam.jsonData = $)\n doIfNotNull(this.param.initialPath, $ => this.tableParam.initialPath = $);\n }\n}\n","import mod from \"-!../node_modules/ts-loader/index.js??ref--13-0!../node_modules/cache-loader/dist/cjs.js??ref--1-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./TableTest.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../node_modules/ts-loader/index.js??ref--13-0!../node_modules/cache-loader/dist/cjs.js??ref--1-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./TableTest.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./TableTest.vue?vue&type=template&id=df871614&\"\nimport script from \"./TableTest.vue?vue&type=script&lang=ts&\"\nexport * from \"./TableTest.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import 'bootstrap/dist/css/bootstrap.css';\nimport 'bootstrap-vue/dist/bootstrap-vue.css';\nimport 'font-awesome/css/font-awesome.css';\n\nimport Vue from 'vue';\nimport VueRouter from 'vue-router';\nimport Datatable from 'vue2-datatable-component';\nimport BootstrapVue from 'bootstrap-vue';\nimport msplit from 'msplit';\nimport App from './App.vue';\nimport Home from './Home.vue';\nimport TableTest from './TableTest.vue';\nimport TreeViewItem from './components/TreeViewItem.vue';\nimport { codemirror } from 'vue-codemirror-lite';\nimport Util from './util/Util';\n\nVue.config.productionTip = false;\nVue.use(Datatable);\nVue.use(BootstrapVue);\nVue.use(msplit);\nVue.use(VueRouter);\nVue.component('tree-view-item', TreeViewItem);\nVue.component('codemirror', codemirror);\nVue.filter('textLimit', Util.textLimit);\nVue.filter('toFixed', Util.toFixed);\n\nconst router = new VueRouter({\n routes: [\n { path: '/', component: Home },\n { path: '/table', component: TableTest },\n ],\n});\n\nnew Vue({\n router,\n render: h => h(App),\n}).$mount('#app');\n","// style-loader: Adds some css to the DOM by adding a >\n","// style-loader: Adds some css to the DOM by adding a \n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./th-Filter.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./th-Filter.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./th-Filter.vue?vue&type=template&id=2bce5951&\"\nimport script from \"./th-Filter.vue?vue&type=script&lang=js&\"\nexport * from \"./th-Filter.vue?vue&type=script&lang=js&\"\nimport style0 from \"./th-Filter.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"td-value\",class:{'td-value-max-width' : true, 'td-value-max-height': true }},[(!_vm.value)?_c('div'):(_vm.html)?_c('div',{domProps:{\"innerHTML\":_vm._s(_vm.html)}}):(_vm.isRawValue)?_c('div',[_vm._v(_vm._s(_vm.value))]):(!_vm.isSimpleType)?_c('div',[_c('tree-view-item',{staticClass:\"tree-view-item-root\",staticStyle:{\"margin-left\":\"0!important\"},attrs:{\"tnode\":_vm.value,\"expandState\":_vm.xprops.expandState,\"currentLevel\":0},on:{\"node-clicked\":_vm.nodeClicked}})],1):_c('div',[_c('simple-value',{attrs:{\"tnode\":_vm.value,\"isInTable\":true,\"textWrap\":_vm.xprops.tstate.textWrap},on:{\"node-clicked\":_vm.nodeClicked}})],1)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./td-Value.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./td-Value.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./td-Value.vue?vue&type=template&id=068e411f&\"\nimport script from \"./td-Value.vue?vue&type=script&lang=js&\"\nexport * from \"./td-Value.vue?vue&type=script&lang=js&\"\nimport style0 from \"./td-Value.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[(_vm.isObject)?_c('div',{staticClass:\"tdv_key\"},[_c('a',{attrs:{\"href\":\"#\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.nodeClicked(_vm.row['@value'])}}},[_vm._v(_vm._s(_vm.value))])]):_c('div',{staticClass:\"tdv_key\"},[_vm._v(_vm._s(_vm.value))])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./td-Key1.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./td-Key1.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./td-Key1.vue?vue&type=template&id=d93b97b2&scoped=true&\"\nimport script from \"./td-Key1.vue?vue&type=script&lang=js&\"\nexport * from \"./td-Key1.vue?vue&type=script&lang=js&\"\nimport style0 from \"./td-Key1.vue?vue&type=style&index=0&id=d93b97b2&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"d93b97b2\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('ol',{staticClass:\"breadcrumb jsonpath\"},[(_vm.items)?_vm._l((_vm.items),function(item,idx){return _c('li',{key:item.text+idx,class:['breadcrumb-item', item.active ? 'active' : null]},[(item.active)?_c('span',{domProps:{\"innerHTML\":_vm._s(item.text)}}):_c('b-link',{attrs:{\"to\":item.to||item.href||item.link},domProps:{\"innerHTML\":_vm._s(item.text)},on:{\"click\":function($event){return _vm.onclick(item)}}})],1)}):_vm._e(),_vm._t(\"default\")],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { Component, Prop, Vue } from 'vue-property-decorator';\nimport { TDNode } from 'treedoc';\n\ninterface Item {\n text: string;\n active?: boolean;\n href?: string;\n node?: TDNode;\n}\n\n@Component\nexport default class JsonPath extends Vue {\n @Prop() private treeNode!: TDNode;\n\n onclick(item: Item) {\n this.$emit('node-clicked', ['', ...item.node!.path]);\n }\n\n get items() {\n const paths = new Array();\n if (!this.treeNode)\n return paths;\n\n paths.unshift({ text: this.treeNode.key!, active: true });\n for (let pNode = this.treeNode.parent; pNode; pNode = pNode!.parent) {\n paths.unshift({ text: pNode!.key!, href: '', node: pNode });\n }\n return paths;\n }\n}\n","import mod from \"-!../../node_modules/ts-loader/index.js??ref--13-0!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./JsonPath.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/ts-loader/index.js??ref--13-0!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./JsonPath.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./JsonPath.vue?vue&type=template&id=4e46a4d5&\"\nimport script from \"./JsonPath.vue?vue&type=script&lang=ts&\"\nexport * from \"./JsonPath.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./JsonPath.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { Component, Prop, Vue, Watch } from 'vue-property-decorator';\nimport _ from 'lodash';\nimport { DataTableOptions, JS_QUERY_DEFAULT } from './Vue2DataTable';\nimport DataFilter from './DataFilter';\nimport thFilter from './th-Filter.vue';\nimport tdValue from './td-Value.vue';\nimport tdKey from './td-Key1.vue';\nimport JsonPath from './JsonPath.vue';\nimport TreeState, { TableNodeState } from '../models/TreeState';\nimport JSONParserPlugin from '../parsers/JSONParserPlugin';\nimport ExpandControl, { ExpandState } from './ExpandControl.vue';\nimport { identity, ListUtil, TD, TDNode, TDNodeType } from 'treedoc';\nimport { TableUtil } from '../models/TableUtil';\nimport { createVerify } from 'crypto';\n\nconst COL_VALUE = '@value';\nconst COL_NO = '#';\nconst COL_KEY = '@key';\n\n@Component({\n components: {\n JsonPath,\n ExpandControl,\n },\n})\nexport default class JsonTable extends Vue {\n tableOpt: DataTableOptions = {\n // fixHeaderAndSetBodyMaxHeight: 200,\n // tblStyle: 'table-layout: fixed', // must\n tblClass: 'table-bordered',\n pageSizeOptions: [5, 20, 50, 100, 200, 500],\n columns: [],\n data: [],\n filteredData: [],\n filteredDataAsObjectArray: [],\n rawData: [],\n total: 0,\n // Have to initialize all the fields to make them able to be persisted in cache. (reactivity problem by proxy?)\n query: { limit: 100, offset: 0, jsQuery: JS_QUERY_DEFAULT, extendedFields:'' },\n xprops: { tstate: null, columnStatistic: {} },\n columnStatistic: {},\n };\n defTableOpt!: any;\n // !! class based component, we have to initialized the data field, \"undefined\" won't be reactive. !!\n // https://github.com/vuejs/vue-class-component#undefined-will-not-be-reactive\n tstate: TreeState = new TreeState({});\n isColumnExpanded = false;\n isColumnExpandedBuild = false; // Flag to avoid duplicated rebuild()\n expandState = new ExpandState(0, 0, false);\n copyBuffer = '';\n showAdvancedQuery = false;\n\n @Prop() tableData!: TreeState | TDNode | object | string;\n @Prop() options?: DataTableOptions;\n @Prop() isInMuliPane?: boolean; // TODO: Move to TDVTableOption\n\n\n rebuildTable(val: TDNode | null, cachedState: TableNodeState | null = null) {\n // use defTableOpt to get rid of this.options for non-initial node\n if (!this.defTableOpt) // backup for the first time, we have to intialize tableOpt attributes to make them reactive\n this.defTableOpt = this.tableOpt;\n\n this.defTableOpt.columns = [];\n this.tableOpt = { ...this.defTableOpt, ...(this.applyCustomOpts && this.options) };\n if (cachedState) {\n this.tableOpt.query = cachedState.query;\n this.tableOpt.columns = cachedState.columns;\n this.isColumnExpanded = cachedState.isColumnExpanded;\n }\n this.buildTableAndQuery(val);\n this.tstate.hasTreeInTable = false;\n // console.log('clear hasTreeInTable');\n this.tableOpt.xprops.tstate = this.tstate;\n this.tableOpt.xprops.expandState = this.expandState;\n this.isColumnExpandedBuild = this.isColumnExpanded;\n }\n\n buildTableAndQuery(val: TDNode | null) {\n this.buildTable(val);\n this.queryData();\n }\n\n buildTable(val: TDNode | null) {\n this.tableOpt.rawData = [];\n\n if (!val)\n return;\n \n let extFunc = null;\n if (this.query.extendedFields) {\n const exp = `\n with($) { // With doesn't work with Proxy (not sure why)\n // console.log(JSON.stringify($));\n return {${this.query.extendedFields}}\n }\n `;\n try { \n extFunc = new Function('$', exp);\n } catch(e) {\n console.error(`Error parsing extend fields: ${exp}`);\n console.error(e);\n }\n }\n\n const ia = val.type === TDNodeType.ARRAY;\n const keyCol = ia ? COL_NO : COL_KEY;\n this.addColumn(keyCol, 0);\n if (val.children) {\n for (const v of val.children) {\n const row = {\n [keyCol]: ia ? Number(v.key) : v.key,\n [COL_VALUE]: v,\n };\n this.tableOpt.rawData.push(row);\n if (this.isColumnExpanded && v && v.children) {\n for (const cv of v.children) {\n this.addColumn(cv.key!);\n row[cv.key!] = cv;\n }\n } else {\n this.addColumn(COL_VALUE, 1);\n }\n if (extFunc) {\n try {\n const ext = extFunc(v.toObject(true, true));\n for (const k in ext)\n // if(!k.startsWith('$$')) // internal fields (e.g. $$tdNode)\n this.addExtObject(k, ext[k], row);\n } catch(e) {\n console.error(`Error evalute ext fields: ${this.query.extendedFields}`);\n console.error(e);\n }\n }\n }\n }\n }\n\n addExtObject(key: string, val: any, row: any) {\n if (key.endsWith('_') && val) { // spread the children\n if (Array.isArray(val)) {\n for (let i = 0; i < val.length; i++) {\n this.addColumn(key + i);\n row[key+i] = val[i]?.$$tdNode || val[i];\n }\n return;\n } else if (typeof val === 'object') {\n // for (const cv of val.children) {\n // const ck = key + cv.key\n // this.addColumn(ck);\n // row[ck] = cv;\n // }\n for (const k of Object.keys(val)) {\n if(k.startsWith('$$')) continue;\n this.addColumn(key + k);\n row[key+k] = val[k]?.$$tdNode || val[k];\n }\n return;\n }\n }\n this.addColumn(key);\n row[key] = val?.$$tdNode || val;\n }\n\n addColumn(field: string, idx = this.tableOpt.columns.length) {\n const isKeyCol = idx === 0;\n const cols = this.tableOpt.columns;\n let col = cols.find(c => c.field === field);\n if (!col) {\n col = {\n field,\n visible: isKeyCol || !(this.applyCustomOpts && this.options!.columns),\n };\n cols.splice(idx, 0, col);\n }\n if (col.processed)\n return;\n\n col.title = col.title || field;\n col.sortable = true;\n col.thComp = col.thComp || thFilter;\n col.tdComp = col.tdComp || (isKeyCol ? tdKey : tdValue);\n col.processed = true;\n // VUETIP: we have to use Vue.$set, otherwise, once it's assigned with array syntax. this field will no longer\n // be reactive\n // this.tableOpt.query[field] = '';\n this.$set(this.tableOpt.query, field, undefined);\n\n col.thClass = 'tdv-th';\n col.tdClass = 'tdv-td';\n if (isKeyCol) {\n col.thClass += ' tdv-min tdv-td';\n col.tdClass = 'tdv-min tdv-td';\n }\n }\n\n defaultExpand(val: TDNode) {\n if (!val)\n return false;\n const cols = new Set();\n let cellCnt = 0;\n if (!val.children || val.children.length === 0)\n return false;\n\n for (const v of val.children) {\n if (v && v.children) {\n for (const child of v.children) {\n cols.add(child.key!);\n cellCnt++;\n }\n }\n }\n // k: threshold (blank cell / Total possible blank cells)\n // k = (r * c - cellCnt) / (r * c - c) => cellCnt = r * c - k * r * c + k * c = c (r - r * k + k) = c (r - (r-1)k)\n // When row = 2: 2c(1-k) + ck = 2c - kc = (2-k)c <= cellcnt\n // When row = 3: 3c(1-k) + ck = 3c - 2ck = (3-2k)c\n const k = 0.8;\n const r = val.children.length;\n const c = cols.size - 1; // ignore the first column, as the key column is always there\n cellCnt -= r;\n // Limited number of cols due to performance reason\n return cols.size < 100 && cellCnt >= c * (r - (r - 1) * k);\n }\n\n nodeClicked(data: TDNode) { this.tstate.select(data); }\n\n queryData() {\n DataFilter.filter(this.tableOpt);\n this.tableOpt.xprops.columnStatistic = this.tableOpt.columnStatistic;\n }\n\n copy(asCSV = false) {\n // console.log(this.tableOpt.filteredData);\n // console.log('coloumns:');\n // console.log(this.tableOpt.columns, null, ' ');\n const data = this.tableOpt.filteredData;\n const exportData = this.tableOpt.columns[0].field === '@key' ? \n TableUtil.rowsToObject(data, this.tableOpt) : data.map(r => TableUtil.rowToObject(r, this.tableOpt));\n\n // Array to object if there's \"@key\"\n this.copyBuffer = asCSV ? TableUtil.toCSV(exportData) : TD.stringify(exportData);\n console.log(`this.copyBuffer=${this.copyBuffer}`);\n this.$nextTick(() => {\n const textView = this.$refs.textViewCopyBuffer as HTMLTextAreaElement;\n textView.select();\n textView.setSelectionRange(0, 999999999);\n // document.execCommand('selectAll');\n const res = document.execCommand('copy');\n this.$bvToast.toast('Data is copied successfully', { autoHideDelay: 2000, appendToast: true, toaster: 'b-toaster-bottom-right' });\n });\n }\n\n\n @Watch('query', {deep: true})\n watchQuery() { this.queryData(); }\n\n @Watch('isColumnExpanded')\n watchisColumnExpanded() {\n if (this.isColumnExpanded !== this.isColumnExpandedBuild)\n this.rebuildTable(this.selected!);\n }\n\n @Watch('tableData', {immediate: true})\n watchTableData() {\n this.tstate = this.tableData && this.tableData instanceof TreeState ? this.tableData : new TreeState(this.tableData, new JSONParserPlugin());\n }\n\n @Watch('tstate.selected', {immediate: true})\n watchSelected(node: TDNode, oldNode: TDNode) {\n console.log(`tstate.selected: ${oldNode?.pathAsString} -> ${node?.pathAsString}`)\n if (oldNode && oldNode.doc === node.doc)\n this.tstate.saveTableState(oldNode, new TableNodeState(_.cloneDeep(\n this.tableOpt.query), this.expandState.expandLevel, this.tableOpt.columns, this.isColumnExpanded));\n\n const cachedState = this.tstate.getTableState(node);\n if (cachedState != null) {\n this.isColumnExpanded = cachedState.isColumnExpanded;\n } else {\n this.isColumnExpanded = this.defaultExpand(node);\n this.tableOpt.query.extendedFields = '';\n this.tableOpt.query.jsQuery = '$';\n }\n\n // this.tableOpt.query.offset = 0;\n // if (this.defTableOpt)\n // this.defTableOpt.query = { limit: 100, offset: 0 };\n this.expandState = new ExpandState(cachedState ? cachedState.expandedLevel : 0, 0, this.expandState.showChildrenSummary);\n this.rebuildTable(node, cachedState);\n }\n\n @Watch('options', {immediate: true})\n optionsUpdated() { this.rebuildTable(this.selected!); }\n\n get selected(): TDNode | null {\n return this.tstate ? this.tstate.selected : null;\n }\n\n get applyCustomOpts() {\n return this.tstate.isInitialNodeSelected() && this.isColumnExpanded && this.options;\n }\n\n get query() { return this.tableOpt.query; }\n\n get hasTableTitleSlot() { return !!this.$slots.tableTitle; }\n\n onKeyPress(e: KeyboardEvent) {\n (this.$refs.expandControl as ExpandControl)?.onKeyPress(e);\n }\n\n onkeypressStopPropagation(e: KeyboardEvent) {\n // block keypress event from propagating to parent (trigger the full screen mode etc\n // console.log(`onkeypressStopPropagation: ${e.key}`);\n e.stopPropagation();\n }\n}\n","import mod from \"-!../../node_modules/ts-loader/index.js??ref--13-0!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./JsonTable.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/ts-loader/index.js??ref--13-0!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./JsonTable.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./JsonTable.vue?vue&type=template&id=92cea3f8&\"\nimport script from \"./JsonTable.vue?vue&type=script&lang=ts&\"\nexport * from \"./JsonTable.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./JsonTable.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { Component, Prop, Vue, Watch } from 'vue-property-decorator';\nimport _ from 'lodash';\nimport TreeState from '../models/TreeState';\nimport SourceView from './SourceView.vue';\nimport TDVOptions, { ParserPlugin } from '../models/TDVOption';\nimport TreeView from './TreeView.vue';\nimport JsonTable from './JsonTable.vue';\nimport JSONParserPlugin from '../parsers/JSONParserPlugin';\n\nimport { TDNode, TDJSONWriter, TDJSONWriterOption } from 'treedoc';\nimport { NodeMouseEnterEvent } from './TreeViewItem.vue';\nimport { nextTick } from 'vue/types/umd';\n\n@Component({\n components: {\n TreeView,\n JsonTable,\n SourceView,\n },\n})\nexport default class JsonTreeTable extends Vue {\n @Prop() title?: string;\n @Prop() data!: object | any[] | string;\n @Prop() options?: TDVOptions;\n @Prop() initalPath!: string;\n @Prop() rootObjectKey!: string;\n\n defaultParser: ParserPlugin = new JSONParserPlugin();\n selectedParser: ParserPlugin = this.defaultParser;\n tstate = new TreeState({}, this.selectedParser).setInitSOpt(this.options);\n jsonStr = '';\n\n parseResult = '';\n strDataSynced = false;\n error = {\n color: 'red',\n };\n\n // url = https://maps.sensor.community/data/v2/data.24h.json\n // url = 'https://jsonplaceholder.typicode.com/posts';\n url = 'https://www.googleapis.com/discovery/v1/apis/vision/v1p1beta1/rest';\n // url = \"https://www.googleapis.com/discovery/v1/apis\"\n urlInput = '';\n\n treeItemActionStyle = {};\n mouseEnterEvent: NodeMouseEnterEvent | null = null;\n mouseInActionBarRealtime = false;\n mouseInActionBar = false;\n mouseInNode = false;\n\n nodeClicked(nodePath: string[]) {\n this.tstate.select(nodePath);\n }\n\n format() {\n this.jsonStr = TDJSONWriter.get().writeAsString(this.tstate.tree.root, new TDJSONWriterOption().setIndentFactor(2));\n }\n\n mounted() {\n // for devtool interaction\n (window as any).tdv = this;\n }\n\n onKeyPress(e: KeyboardEvent, pane: string) {\n // console.log(e);\n // Very strange: In source page, for 'f' key it will send to div first, then to editor. But for ctrl-f, \n // it will send to editor first and it preventDefault(), so the hot key won't work. We disable hot key for source page for now.\n if (pane === 'source')\n return; // The source pane the key event won't reach editor before the div\n if (e.key === 'f') {\n this.tstate.toggleMaxPane(pane);\n // e.preventDefault();\n } else if (e.key === 'w') {\n this.tstate.textWrap = !this.tstate.textWrap\n // e.preventDefault();\n } else if (e.key === '[') {\n this.tstate.back()\n // e.preventDefault();\n } else if (e.key === ']') {\n this.tstate.forward()\n // e.preventDefault();\n }\n }\n\n // for devtool interaction only\n transformJson(func: (obj: any) => any) {\n this.jsonStr = JSON.stringify(func(this.tstate.tree.root.toObject(true)), null, 2);\n }\n\n @Watch('data', { immediate: true })\n private watchData(d: string | object | any[]) {\n if (_.isString(d))\n this.jsonStr = d;\n else {\n this.jsonStr = JSON.stringify(d, null, ' ');\n this.strDataSynced = true;\n }\n }\n\n @Watch('selectedParser')\n private watch(v: ParserPlugin) {\n this.parse(this.jsonStr, this);\n }\n\n @Watch('jsonStr', { immediate: true })\n private watchJsonStr(str: string, old: string) {\n if (!str)\n str = '';\n\n if (str.length > 200_000)\n this.tstate.codeView[0] = false;\n if (str.length < 100_000)\n this.tstate.codeView[0] = true;\n // Need detected only if significant changes happens. Not accurate.\n const oldLen = old ? old.length : 0;\n const detectNeeded = Math.abs(oldLen - str.length) > 7;\n this.parse(str, this, detectNeeded);\n }\n\n // Have to pass THIS as Vue framework will generate a different instance\n // of this during runtime.\n private parse = _.debounce((str: string, THIS: JsonTreeTable, detectParser = false) => {\n // Auto detect parser\n if (detectParser) {\n THIS.selectedParser = this.parserSelectOptions[0].value; // Default to first parser\n for (const parser of this.parserSelectOptions) {\n if (parser.value.looksLike(str)) {\n THIS.selectedParser = parser.value;\n break;\n }\n }\n }\n\n const selectedPath = THIS.tstate.selected ? THIS.tstate.selected.path : [];\n THIS.tstate = new TreeState(this.strDataSynced ? THIS.data : str, THIS.selectedParser, THIS.rootObjectKey, selectedPath).retainState(THIS.tstate);\n THIS.strDataSynced = false;\n THIS.parseResult = THIS.tstate.parseResult;\n\n if (selectedPath.length === 0 && THIS.initalPath && THIS.tstate.tree)\n THIS.tstate.select(THIS.initalPath, true);\n }, 300);\n\n get hasError() {\n return this.parseResult.startsWith('Error');\n }\n\n get tableOpt() {\n return this.options?.defaultTableOpt;\n }\n\n get parserSelectOptions() {\n const opt = new Array<{text: string, value: ParserPlugin}>();\n opt.push({ text: this.defaultParser.name, value: this.defaultParser });\n if (this.options && this.options.parsers)\n this.options.parsers.forEach(p => opt.push({text: p.name, value: p}));\n return opt;\n }\n \n get copyTextArea() { return this.$refs.copyTextArea as HTMLTextAreaElement; }\n get sourceView() { return this.$refs.sourceView as SourceView; }\n\n readFile(ef: Event) {\n const fileName = (ef.target as HTMLInputElement).files![0];\n if (!fileName)\n return;\n const reader = new FileReader();\n reader.onload = (e: Event) => {\n if (reader.result)\n this.jsonStr = reader.result as string;\n };\n reader.readAsText(fileName);\n }\n\n openUrl(dataUrl: string) {\n this.url = dataUrl;\n window.fetch(this.url,{\n // mode: 'navigate' \n }\n )\n .then(res => res.text())\n .then(data => this.jsonStr = data)\n .catch((err) => this.jsonStr = err);\n this.jsonStr = JSON.stringify({\n action: 'loading...',\n url: this.url,\n }, null, 2);\n }\n\n get pasteSupported() { return !!navigator?.clipboard?.readText; }\n\n paste() {\n // this.copyTextArea.select();\n // this.copyTextArea.focus();\n // // Doesn't work both in firefox and chrome\n // const res = document.execCommand('paste');\n // console.log(`paste result: ${res}`);\n\n // Only works for chrome\n navigator.clipboard.readText().then((txt: string) => {\n this.jsonStr = txt;\n });\n }\n\n\n copyText(text: string) {\n // code mirror doesn't support copy command, we have to use a hidden textarea to do the copy\n this.copyTextArea.value = text;\n this.copyTextArea.select();\n this.copyTextArea.setSelectionRange(0, 999999999);\n // document.execCommand('selectAll');\n const res = document.execCommand('copy');\n console.log(`copy result: ${res}`);\n // this.codeView.editor.getTextArea().select();\n // this.codeView.editor.execCommand('selectAll');\n // this.codeView.editor.execCommand('copy');\n }\n\n get mouseOverNode() { return this.tstate.findNodeByPath(this.mouseEnterEvent!.nodePath); }\n \n copyNode() { \n const node = this.mouseOverNode;\n if (node.start && node.end)\n this.copyText(this.jsonStr.substring(node.start.pos, node.end.pos));\n else \n this.copyText(TDJSONWriter.writeAsString(node, new TDJSONWriterOption().setIndentFactor(2)));\n }\n\n nodeMouseEnter(e: CustomEvent) { \n this.mouseEnterEvent = e.detail; \n this.mouseInNode = true;\n const pos = this.mouseEnterEvent!.source.getBoundingClientRect();\n this.treeItemActionStyle = {position: 'fixed', top: `${pos.top}px`, left: `${pos.right}px`};\n }\n\n nodeMouseLeave(e: CustomEvent) {\n if (this.mouseEnterEvent?.source === e.detail.source)\n this.mouseInNode = false;\n }\n\n mouseEnterActionBar() {\n this.mouseInActionBarRealtime = true;\n setTimeout(() => this.mouseInActionBar = true, 500);\n }\n\n mouseLeaveActionBar() {\n this.mouseInActionBarRealtime = false;\n setTimeout(() => {\n if (!this.mouseInActionBarRealtime)\n this.mouseInActionBar = false;\n }, 500);\n }\n}\n","import mod from \"-!../../node_modules/ts-loader/index.js??ref--13-0!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./JsonTreeTable.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/ts-loader/index.js??ref--13-0!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./JsonTreeTable.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./JsonTreeTable.vue?vue&type=template&id=9338eb66&\"\nimport script from \"./JsonTreeTable.vue?vue&type=script&lang=ts&\"\nexport * from \"./JsonTreeTable.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./JsonTreeTable.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","const jsonStr = `\n{\n refundAmtMoney:\"USD 15.32\",\n activityHistory:[\n {\n $type:\"ActivityHist\",\n $id:1234,\n creationDate:\"2014/10/02 10:20:37\",\n lastModifiedDate:\"2014/10/02 10:20:37\",\n timeStamp: 1599461650448,\n runtimeContext:\"t=118\",\n partitionKey:0,\n activityType:\"1-buyerCreateCancel\",\n log:\"http://www.google.com\",\n },\n {\n $type:\"ActivityHistBoImpl\",\n creationDate:\"2014/10/02 11:15:13\",\n lastModifiedDate:\"2014/10/02 11:15:13\",\n timeStamp: 1599481650448,\n runtimeContext:\"m=t=148\\nline2\",\n partitionKey:0,\n activityType:\"6-sellerApprove\",\n }],\n current: {\n $ref: '#/activityHistory/1',\n },\n first: {\n $ref: '#1234',\n },\n}`;\n\nconst yamlStr = `\n- martin:\n name: Martin D'vloper\n job: Developer\n skills:\n - python\n - perl\n - pascal\n- tabitha:\n name: Tabitha Bitumen\n job: Developer\n skills:\n - lisp\n - fortran\n - erlang\n`;\n\nconst yamlMultiDocStr = \n`document: 1\nname: 'John'\n---\ndocument: 2\nname: 'config'\n`;\n\nconst xmlStr = `\n\n 4.0.0\n com.jsonex\n jcParent\n 0.0.1-SNAPSHOT\n pom\n JSONCoder Parent\n JSONCoder Parent\n https://github.com/eBay/jsonex.git\n\n \n \n jianwu\n Jianwu Chen\n jianchen@ebay.com\n eBay\n http://www.ebay.com\n \n architect\n developer\n \n America/San_Francisco\n \n \n\n \n \n \n \\${project.groupId}\n core\n \\${project.version}\n \n \n org.projectlombok\n lombok\n 1.18.8\n provided\n \n \n junit\n junit\n test\n 4.8.1\n \n \n \n\n`;\n\nconst fxml = `\n\n\n\n \n \n \n \n \n \n \n\n`;\n\nconst csvStr = `\nfield1,field2,field3\nv11,v12,v13\nv21, \"v2l1\nV2l2\" ,v23\n\"v31\"\"v31\",\"v32\"\"\"\"v32\",v33\n`;\n\nconst mapToStringStr = '{K1=v1, k2=123, k3={c=Test with ,in}, k4=[ab,c, def]}';\nconst lombokToString = \"TestBean(treeMap={key1=value1}, linkedList1=[value1], intField=100, floatField=1.4, dateField=Wed Dec 31 19:23:32 PST 1969, bean2=TestBean2(strField=it's a string value, enumField=value2))\"\n\nexport const prometheusStr = String.raw`\n# Sample from: https://prometheus.io/docs/instrumenting/exposition_formats/#text-based-format\n# HELP http_requests_total The total number of HTTP requests.\n# TYPE http_requests_total counter\nhttp_requests_total{method=\"post\",code=\"200\"} 1027 1395066363000\nhttp_requests_total{method=\"post\",code=\"400\"} 3 1395066363000\n\n# Escaping in label values:\nmsdos_file_access_time_seconds{path=\"C:\\\\DIR\\\\FILE.TXT\",error=\"Cannot find file:\\n\\\"FILE.TXT\\\"\"} 1.458255915e9\n\n# Minimalistic line:\nmetric_without_timestamp_and_labels 12.47\n\n# Minimalistic line:\n# HELP metric_without_timestamp_and_labels The total number of HTTP requests.\n# TYPE metric_without_timestamp_and_labels counter\nmetric_without_timestamp_and_labels{} 12.47\n\n# A weird metric from before the epoch:\nsomething_weird{problem=\"division by zero\"} +Inf -3982045\n\n# A histogram, which has a pretty complex representation in the text format:\n# HELP http_request_duration_seconds A histogram of the request duration.\n# TYPE http_request_duration_seconds histogram\nhttp_request_duration_seconds_bucket{le=\"0.05\"} 24054\nhttp_request_duration_seconds_bucket{le=\"0.1\"} 33444\nhttp_request_duration_seconds_bucket{le=\"0.2\"} 100392\nhttp_request_duration_seconds_bucket{le=\"0.5\"} 129389\nhttp_request_duration_seconds_bucket{le=\"1\"} 133988\nhttp_request_duration_seconds_bucket{le=\"+Inf\"} 144320\nhttp_request_duration_seconds_sum 53423\nhttp_request_duration_seconds_count 144320\n\n# HELP thanos_objstore_bucket_operation_duration_seconds Duration of successful operations against the bucket\n# TYPE thanos_objstore_bucket_operation_duration_seconds histogram\nthanos_objstore_bucket_operation_duration_seconds_bucket{bucket=\"thanos\",operation=\"attributes\",le=\"0.01\"} 0\nthanos_objstore_bucket_operation_duration_seconds_bucket{bucket=\"thanos\",operation=\"attributes\",le=\"0.1\"} 0\n\n# HELP go_gc_duration_seconds A summary of the pause duration of garbage collection cycles.\n# TYPE go_gc_duration_seconds summary\ngo_gc_duration_seconds{quantile=\"0\"} 0\ngo_gc_duration_seconds{quantile=\"0.25\"} 0\ngo_gc_duration_seconds{quantile=\"0.5\"} 0\ngo_gc_duration_seconds{quantile=\"0.75\"} 0\ngo_gc_duration_seconds{quantile=\"1\"} 0\ngo_gc_duration_seconds_sum 0\ngo_gc_duration_seconds_count 0\n\n# Finally a summary, which has a complex representation, too:\n# HELP rpc_duration_seconds A summary of the RPC duration in seconds.\n# TYPE rpc_duration_seconds summary\nrpc_duration_seconds{quantile=\"0.01\"} 3102\nrpc_duration_seconds{quantile=\"0.05\"} 3272\nrpc_duration_seconds{quantile=\"0.5\"} 4773\nrpc_duration_seconds{quantile=\"0.9\"} 9001\nrpc_duration_seconds{quantile=\"0.99\"} 76656\nrpc_duration_seconds_sum 1.7560473e+07\nrpc_duration_seconds_count 2693\n`;\n\nexport default {\n jsonStr,\n yamlStr,\n xmlStr,\n csvStr,\n mapToStringStr,\n prometheusStr,\n data: [\n {text: 'empty', value: {}},\n {\n text: 'jsonStr',\n value: jsonStr,\n },\n {\n text: 'object',\n value: {\n testArray: ['Just a Test String', 'in a Test Array', 0, 1, true, false],\n component: 'vue-json-tree-view',\n descripton: 'A JSON Tree View built in Vue.js',\n tags: [{ name: 'vue.js' }, { name: 'JSON' }],\n steps: [\n 'HTML Template',\n 'Root Component',\n 'View Component',\n {\n 'Transformation Logic': ['Transform Objects', 'Transform Arrays', 'Transform Values'],\n },\n 'Animate',\n 'Allow Options',\n 'Blog about it...',\n ],\n obj: { key1: 'val1', key2: 'val2' },\n },\n },\n {\n text: 'array',\n value: [\n {\n col1: 'value11',\n col2: 'value12',\n },\n {\n col1: 'value21',\n col3: 'value23',\n },\n 'value',\n {\n col1: 'value31',\n col2: 'value32',\n col3: 'value33',\n },\n [\n 'abc',\n 'def',\n { a: 1, b: 2 },\n ],\n ],\n },\n {\n text: 'textproto',\n value:\n`n: {\n n1: {\n n11: 1\n # Duplicated key; ':' is emitted before '{'\n n11 {\n n111: false\n }\n n12: \"2\"\n }\n # Multi-line comments\n # Line2\n ########\n n1: {\n n11: \"abcd\"\n # Extension keys\n [d.e.f]: 4\n n11: \"multiline 1\\n\"\n 'line2'\n }\n escapeStr: \"a\\\\tb\\\\nc\\\\vd\\\\u0020e\\\\vf\",\n htmlStr: \"\\nThis is a link\\n\"\n n2: [1,2,3]\n n2 [3,4,5] # ':' is emitted before '['\n \"n3\" [6, 7, 8, 9]\n}`,\n },\n {\n text: 'json5',\n value:\n`// https://spec.json5.org/\n{\n // comments\n unquoted: 'and you can quote me on that',\n singleQuotes: 'I can use \"double quotes\" here',\n lineBreaks: \"Look, Mom! \\\nNo \\\\n's!\",\n hexadecimal: 0xdecaf,\n leadingDecimalPoint: .8675309, andTrailing: 8675309.,\n positiveSign: +1,\n trailingComma: 'in objects', andIn: ['arrays',],\n \"backwardsCompatible\": \"with JSON\",\n}\n`,\n },\n {\n text: 'jsonex',\n value:\n`// Some comments\n{\n \"total\": 100000000000000000000,\n \"longNum\": 10000000000,\n \"limit\": 10,\n /* block comments */\n \"data\": [\n {\n \"name\": \"Some Name 1\", // More line comments\n \"address\": {\n \"streetLine\": \"1st st\",\n city: \"san jose\",\n },\n \"createdAt\": \"2017-07-14T17:17:33.010Z\",\n },\n {\n \"name\": \"Some Name 2\",\n \"address\": /*comments*/ {\n \"streetLine\": \"2nd st\",\n city: \"san jose\",\n },\n \"createdAt\": \"2017-07-14T17:17:33.010Z\",\n },\n \\`Multiple line literal\n Line2\\`\n ],\n}\n`,\n },\n {\n text: 'hjson',\n value:\n`{\n // use #, // or /**/ comments,\n // omit quotes for keys\n key: 1\n // omit quotes for strings\n contains: everything on this line\n // omit commas at the end of a line\n cool: {\n foo: 1\n bar: 2\n }\n // allow trailing commas\n list: [\n 1,\n 2,\n ]\n // and use multiline strings\n realist:\n '''\n My half empty glass,\n I will fill your empty half.\n Now you are half full.\n '''\n}\n`,\n },\n {\n text: 'yaml',\n value: yamlStr,\n },\n {\n text: 'yaml-Multi-Doc',\n value: yamlMultiDocStr,\n },\n {\n text: 'xml',\n value: xmlStr,\n },\n {\n text: 'fxml (JavaFx)',\n value: fxml,\n },\n {\n text: 'csv',\n value: csvStr,\n },\n {\n text: 'map.toString',\n value: mapToStringStr,\n },\n {\n text: 'lombok.toString',\n value: lombokToString,\n },\n\n {\n text: 'prometheus',\n value: prometheusStr,\n },\n ] as {text: string, value: any}[],\n};\n","import { ParserPlugin, ParseResult } from '../models/TDVOption';\nimport { CSVParser, CSVOption, CSVWriter, TDNode } from 'treedoc';\nimport Util from '../util/Util';\n\nexport class CSVParserOption {\n}\n\nexport default class CSVParserPlugin implements ParserPlugin {\n syntax = 'csv';\n option: CSVParserOption = {};\n\n constructor(public name = 'CSV', public fieldSep = ',') {}\n\n looksLike(str: string): boolean {\n const topLines = Util.topLines(str, 5000);\n if (topLines.numLines <= 1)\n return false; // Single line \n try { \n const node = CSVParser.get().parse(str.substr(0, topLines.length), this.csvOption);\n const columnSize = node.children![0].getChildrenSize();\n if (columnSize < 2)\n return false;\n for (let row = 1; row < node.getChildrenSize(); row++) {\n if (node.children![row].getChildrenSize() !== columnSize)\n return false;\n }\n return true;\n } catch (e) {\n return false;\n }\n return false;\n }\n\n get csvOption(): CSVOption {\n return new CSVOption().setFieldSep(this.fieldSep);\n }\n\n parse(str: string): ParseResult {\n const result = new ParseResult();\n try {\n result.result = CSVParser.get().parse(str, this.csvOption);\n result.message = 'CSVParser.parse()';\n return result;\n } catch (e2) {\n result.message = `Error:${(e2 as any).message}`;\n console.error(e2);\n return result;\n }\n }\n\n stringify(obj: TDNode): string {\n return CSVWriter.get().writeAsString(obj, this.csvOption);\n }\n}\n","import { TD, TDJSONParser } from 'treedoc';\nimport { TableConfig } from './components/Vue2DataTable';\nimport { TDVOption } from './lib';\nimport TableParam from './models/TableParam';\n\nexport default class UrlParam {\n data: string | null;\n dataUrl: string | null;\n embeddedId: string | null;\n title: string;\n initialPath?: string | null;\n tableConfig?: TableConfig;\n option?: TDVOption;\n\n constructor() {\n const url = new URL(window.location.href);\n this.dataUrl = url.searchParams.get('dataUrl');\n this.data = url.searchParams.get('data');\n this.embeddedId = url.searchParams.get('embeddedId');\n this.initialPath = url.searchParams.get('initialPath');\n this.title = url.searchParams.get('title') || 'Treedoc Viewer';\n\n const tableConfigStr = url.searchParams.get('tableConfig');\n if (tableConfigStr)\n this.tableConfig = TD.parse(tableConfigStr);\n\n const optStr = url.searchParams.get('option');\n if (optStr)\n this.option = TD.parse(optStr);\n \n }\n}\n","import { CharSource, LangUtil, ListUtil, StringCharSource } from 'treedoc'\nimport _ from 'lodash';\n\nconst HELP = 'HELP';\nconst TYPE = 'TYPE';\nexport class Metrics {\n [key: string]: Metric;\n}\n\nexport class Metric {\n help: string = '';\n type: string = '';\n metricsValues: MetricValue[] = [];\n\n getOrCreateValue(labels: {[key: string]: string}): MetricValue {\n for (const m of this.metricsValues) {\n if (m.matchLabels(labels))\n return m;\n }\n const ret: MetricValue = new MetricValue();\n Object.assign(ret, labels)\n this.metricsValues.push(ret);\n return ret;\n }\n}\n\nexport class MetricValue {\n [key: string]: any;\n value?: number;\n quantiles?: {[key: string]: number};\n // Use $$ prefix to avoid name conflict with a label of bucket\n $$bucket?: {[key: string]: number}; \n count?: number;\n sum?: number;\n\n addQuantile(key: string, value: number) {\n if (!this.quantiles) this.quantiles = {};\n this.quantiles[key] = value\n }\n addBucket(key: string, value: number) {\n if (!this.$$bucket) this.$$bucket = {};\n this.$$bucket[key] = value\n }\n\n matchLabels(labels: {[key: string]: string}): boolean {\n for(const [key, value] of Object.entries(labels)) {\n if (this[key] !== value)\n return false;\n }\n return true;\n }\n \n}\n\nexport class MetricLine {\n constructor(public name: string) {};\n labels: {[key: string]: string} = {};\n value: number = 0;\n timestamp?: number;\n}\n\nexport default class PrometheusParser {\n result: Metrics = {};\n currentMetric: Metric = new Metric();\n currentMetricKey: string = '';\n \n parse(str: string) : Metrics {\n const src = new StringCharSource(str);\n while(src.skipSpacesAndReturns()) {\n if (src.peek() === '#') {\n src.skip(1);\n this.parseComment(src);\n } else {\n const metricLine = this.parseMetricLine(src);\n this.updateCurrentMetric(metricLine);\n }\n }\n return this.result;\n }\n\n parseComment(src: CharSource) {\n if (!src.skipSpacesAndReturns())\n return;\n const help = this.parseCommentOfKey(src, HELP);\n if (help)\n this.getOrCreateMetric(help.name).help = help.value;\n else {\n const type = this.parseCommentOfKey(src, TYPE);\n if (type) \n this.getOrCreateMetric(type.name).type = type.value;\n }\n src.skipUntilTerminator('\\n\\r', true);\n }\n\n parseCommentOfKey(src: CharSource, key: string): {name: string, value: string} | null {\n if (src.startsWith(key)) {\n src.skip(key.length);\n src.skipChars(' ');\n const name = src.readUntilTerminator(' ');\n src.skipChars(' ');\n return {name, value: src.readUntilTerminator('\\n\\r')};\n } \n return null;\n }\n\n parseMetricLine(src: CharSource): MetricLine {\n const ret: MetricLine = new MetricLine(src.readUntilTerminator('{ '));\n if (src.peek() === '{') {\n src.skip(1);\n while(true) {\n const key = src.readUntilTerminator('=}');\n if (src.read() === '}') break; // either = or }\n const quote = src.read();\n if (quote !== '\"' && quote !== '\\'') throw src.createParseRuntimeException('missing quote when expecting a string label vale');\n const val = src.readQuotedString(quote);\n ret.labels[key] = val;\n const sep = src.read();\n if (sep === '}') break;\n if (sep !== ',') throw src.createParseRuntimeException(`expect ',' after label: ${key}=${val}`);\n }\n }\n src.skipChars(' \\t');\n ret.value = Number.parseFloat(src.readUntilTerminator(' \\n\\r'));\n if (src.isEof())\n return ret;\n if (src.peek() === ' ')\n ret.timestamp = Number.parseFloat(src.readUntilTerminator('\\n\\r'));\n return ret;\n }\n \n updateCurrentMetric(metricLine: MetricLine) {\n if (metricLine.name === this.currentMetricKey) {\n const quantile = metricLine.labels.quantile;\n if (quantile) {\n delete metricLine.labels.quantile;\n this.currentMetric.getOrCreateValue(metricLine.labels).addQuantile(quantile, metricLine.value);\n return;\n }\n this.currentMetric.getOrCreateValue(metricLine.labels).value = metricLine.value;\n return;\n }\n\n if (metricLine.name === this.currentMetricKey + '_count') {\n this.currentMetric.getOrCreateValue(metricLine.labels).count = metricLine.value;\n return;\n }\n\n if (metricLine.name === this.currentMetricKey + '_sum') {\n this.currentMetric.getOrCreateValue(metricLine.labels).sum = metricLine.value;\n return;\n }\n\n if (metricLine.name === this.currentMetricKey + '_bucket') {\n const bucket = metricLine.labels.le;\n if (!bucket)\n throw new Error(`missing bucket label: ${JSON.stringify(metricLine)}`);\n delete metricLine.labels.le;\n this.currentMetric.getOrCreateValue(metricLine.labels).addBucket(bucket, metricLine.value);\n return;\n }\n \n // No matching, will assume it's an `count` without a type and help definition \n const metric = this.getOrCreateMetric(metricLine.name);\n metric.type = 'count';\n metric.getOrCreateValue({}).value = metricLine.value;\n }\n\n getOrCreateMetric(name: string): Metric {\n let ret = this.result[name];\n if (ret)\n return ret;\n ret = new Metric();\n this.result[name] = ret;\n this.currentMetric = ret;\n this.currentMetricKey = name;\n return ret;\n }\n}","import { ParserPlugin, ParseResult } from '../models/TDVOption';\nimport { CSVOption, TDNode, TDObjectCoder } from 'treedoc';\nimport PrometheusParser from './PrometheusParser';\n\nexport class PrometheusParserOption {\n}\n\nexport default class PrometheusParserPlugin implements ParserPlugin {\n syntax = 'csv';\n option: PrometheusParserOption = {};\n\n constructor(public name = 'Prometheus', public fieldSep = ',') {}\n\n looksLike(str: string): boolean {\n return str.indexOf('\\n# HELP ') >= 0 && str.indexOf('\\n# TYPE ') >= 0\n }\n\n get csvOption(): CSVOption {\n return new CSVOption().setFieldSep(this.fieldSep);\n }\n\n parse(str: string): ParseResult {\n const result = new ParseResult();\n try {\n result.result = TDObjectCoder.get().encode(new PrometheusParser().parse(str));\n result.message = 'PrometheusParser.parse()';\n return result;\n } catch (e2) {\n result.message = `Error:${(e2 as any).message}`;\n console.error(e2);\n return result;\n }\n }\n\n stringify(obj: TDNode): string {\n return obj.toJSON();\n }\n}\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { Component, Prop, Vue, Watch } from 'vue-property-decorator';\n\nimport JsonTreeTable from './components/JsonTreeTable.vue';\nimport JsonTable from './components/JsonTable.vue';\nimport sampleData from './sampleData';\nimport TDVOptions from './models/TDVOption';\nimport YAMLParserPlugin from './parsers/YAMLParserPlugin';\nimport XMLParserPlugin from './parsers/XMLParserPlugin';\nimport CSVParserPlugin from './parsers/CSVParserPlugin';\nimport UrlParam from './UrlParam';\nimport JSONParserPlugin, { JSONParserOption, JSONParserType } from './parsers/JSONParserPlugin';\nimport PrometheusParserPlugin from './parsers/PrometheusParserPlugin';\n\n@Component({\n components: {\n JsonTreeTable,\n JsonTable,\n },\n})\nexport default class Home extends Vue {\n param = new UrlParam();\n sampleData = sampleData.data;\n jsonData: any = sampleData.data[0].value;\n\n tdvOption: TDVOptions = new TDVOptions().setParsers([\n new JSONParserPlugin('Lombok.toString', JSONParserType.LOMBOK_TO_STRING),\n new JSONParserPlugin('Map.toString', JSONParserType.JAVA_MAP_TO_STRING),\n new XMLParserPlugin('XML compact', 'text/xml', true),\n new XMLParserPlugin(),\n new XMLParserPlugin('html', 'text/html'),\n new CSVParserPlugin(),\n new CSVParserPlugin('TSV', '\\t'),\n new CSVParserPlugin('SSV', ' '),\n new PrometheusParserPlugin(),\n new YAMLParserPlugin(),\n ]);\n\n private get jsonTreeTable() {\n return this.$refs.jsonTreeTable as JsonTreeTable;\n }\n\n // tslint:disable-next-line:max-line-length\n // Example url: http://localhost:8081/?data={a:1,b:[{b1:2,b2:3},%20{b1:4,b2:5}],c:3}&initialPath=/b&tableConfig={Pagination:false,columns:[{field:b1}]}&title=tableTest&option={maxPane:table,parsers:[]}#/\n beforeMount() {\n if (this.param.data)\n this.jsonData = this.param.data;\n\n if (this.param.option) {\n Object.assign(this.tdvOption, this.param.option);\n }\n\n if (this.param.tableConfig) {\n Object.assign(this.tdvOption.defaultTableOpt!, this.param.tableConfig);\n }\n\n if (this.param.embeddedId != null) {\n window.parent.postMessage({ type: 'tdv-ready', id: this.param.embeddedId }, '*');\n if (window.opener)\n window.opener.postMessage({ type: 'tdv-ready', id: this.param.embeddedId }, '*');\n\n window.addEventListener('message', evt => {\n if (evt.data.type !== 'tdv-setData')\n return;\n this.jsonData = evt.data.data;\n }, false);\n }\n }\n\n mounted() { \n if (this.param.dataUrl)\n this.jsonTreeTable.openUrl(this.param.dataUrl);\n }\n}\n","import mod from \"-!../node_modules/ts-loader/index.js??ref--13-0!../node_modules/cache-loader/dist/cjs.js??ref--1-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./Home.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../node_modules/ts-loader/index.js??ref--13-0!../node_modules/cache-loader/dist/cjs.js??ref--1-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./Home.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./Home.vue?vue&type=template&id=00a13b6c&\"\nimport script from \"./Home.vue?vue&type=script&lang=ts&\"\nexport * from \"./Home.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./Home.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"components-container\",attrs:{\"id\":\"app\"}},[_c('json-table',{attrs:{\"table-data\":_vm.tstateTable,\"options\":_vm.tableParam.tableConfig}},[_c('div',{attrs:{\"slot\":\"tableTitle\"},slot:\"tableTitle\"},[_c('h5',{staticStyle:{\"margin-top\":\"6px\",\"margin-right\":\"5px\"}},[_vm._v(_vm._s(_vm.tableParam.title)+\" \")])])])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function (_h,_vm) {var _c=_vm._c;return _c('b',[_vm._v(_vm._s(_vm.props.value.value))])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\nexport default {};\n","import mod from \"-!../node_modules/ts-loader/index.js??ref--13-0!../node_modules/cache-loader/dist/cjs.js??ref--1-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./tdSample.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../node_modules/ts-loader/index.js??ref--13-0!../node_modules/cache-loader/dist/cjs.js??ref--1-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./tdSample.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./tdSample.vue?vue&type=template&id=41f2a93e&functional=true&\"\nimport script from \"./tdSample.vue?vue&type=script&lang=ts&\"\nexport * from \"./tdSample.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n true,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n\n\n\n\n\n\nimport { Component, Vue } from 'vue-property-decorator';\n\nimport JsonTable from './components/JsonTable.vue';\nimport sampleData from './sampleData';\nimport TreeState from './models/TreeState';\nimport TDSample from './tdSample.vue';\nimport UrlParam from './UrlParam';\nimport TableParam from './models/TableParam';\nimport { table } from 'console';\nimport { LangUtil } from 'treedoc';\n\nconst doIfNotNull = LangUtil.doIfNotNull;\n\n@Component({\n components: {\n JsonTable,\n },\n})\nexport default class TableTest extends Vue {\n param = new UrlParam();\n tableParam: TableParam = {\n title: 'Test Table Title',\n jsonData: sampleData.jsonStr,\n initialPath: '/activityHistory',\n tableConfig: {\n Pagination: false,\n columns: [\n { field: 'activityType' },\n {\n field: 'partitionKey',\n tdComp: TDSample,\n },\n {\n field: '$type',\n html: '`${value.value}`',\n },\n {\n field: 'creationDate',\n html: (value: any, row: any) => `${value.value}`,\n },\n ],\n },\n };\n\n get tstateTable() {\n const state = new TreeState(this.tableParam.jsonData);\n const n = state.tree.root.getByPath(this.tableParam.initialPath || '');\n if (n)\n state.select(n, true);\n return state;\n }\n\n // tslint:disable-next-line:max-line-length\n // Sample URL: http://localhost:8081/?data={a:1,b:[{b1:2,b2:3},%20{b1:4,b2:5}],c:3}&initialPath=/b&tableConfig={Pagination:false,columns:[{field:b1}]}&title=tableTest&#/table\n mounted() {\n doIfNotNull(this.param.title, $ => this.tableParam.title = $) \n doIfNotNull(this.param.tableConfig, $ => this.tableParam.tableConfig = $) \n doIfNotNull(this.param.data, $ => this.tableParam.jsonData = $)\n doIfNotNull(this.param.initialPath, $ => this.tableParam.initialPath = $);\n }\n}\n","import mod from \"-!../node_modules/ts-loader/index.js??ref--13-0!../node_modules/cache-loader/dist/cjs.js??ref--1-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./TableTest.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../node_modules/ts-loader/index.js??ref--13-0!../node_modules/cache-loader/dist/cjs.js??ref--1-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./TableTest.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./TableTest.vue?vue&type=template&id=df871614&\"\nimport script from \"./TableTest.vue?vue&type=script&lang=ts&\"\nexport * from \"./TableTest.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import 'bootstrap/dist/css/bootstrap.css';\nimport 'bootstrap-vue/dist/bootstrap-vue.css';\nimport 'font-awesome/css/font-awesome.css';\n\nimport Vue from 'vue';\nimport VueRouter from 'vue-router';\nimport Datatable from 'vue2-datatable-component';\nimport BootstrapVue from 'bootstrap-vue';\nimport msplit from 'msplit';\nimport App from './App.vue';\nimport Home from './Home.vue';\nimport TableTest from './TableTest.vue';\nimport TreeViewItem from './components/TreeViewItem.vue';\nimport { codemirror } from 'vue-codemirror-lite';\nimport Util from './util/Util';\n\nVue.config.productionTip = false;\nVue.use(Datatable);\nVue.use(BootstrapVue);\nVue.use(msplit);\nVue.use(VueRouter);\nVue.component('tree-view-item', TreeViewItem);\nVue.component('codemirror', codemirror);\nVue.filter('textLimit', Util.textLimit);\nVue.filter('toFixed', Util.toFixed);\n\nconst router = new VueRouter({\n routes: [\n { path: '/', component: Home },\n { path: '/table', component: TableTest },\n ],\n});\n\nnew Vue({\n router,\n render: h => h(App),\n}).$mount('#app');\n","// style-loader: Adds some css to the DOM by adding a >\n","// style-loader: Adds some css to the DOM by adding a